diff --git a/.github/workflows/split_monorepo.yml b/.github/workflows/split_monorepo.yml index c02b00173a..14bfcfa7cb 100644 --- a/.github/workflows/split_monorepo.yml +++ b/.github/workflows/split_monorepo.yml @@ -1,95 +1,95 @@ name: 'Packages Split' on: - push: - branches: - - master - tags: - - '*' + push: + branches: + - 5.0.x + - 5.1.x + tags: + - '*' jobs: - packages_split: - runs-on: ubuntu-latest - environment: develop - strategy: - fail-fast: false - matrix: - package: - - - local_path: 'baser-core' - split_repository: 'baser-core' - - - local_path: 'bc-admin-third' - split_repository: 'bc-admin-third' - - - local_path: 'bc-blog' - split_repository: 'bc-blog' - - - local_path: 'BcColumn' - split_repository: 'bc-column' - - - local_path: 'bc-content-link' - split_repository: 'bc-content-link' - - - local_path: 'bc-custom-content' - split_repository: 'bc-custom-content' - - - local_path: 'bc-editor-template' - split_repository: 'bc-editor-template' - - - local_path: 'bc-favorite' - split_repository: 'bc-favorite' - - - local_path: 'bc-front' - split_repository: 'bc-front' - - - local_path: 'bc-installer' - split_repository: 'bc-installer' - - - local_path: 'bc-mail' - split_repository: 'bc-mail' - - - local_path: 'bc-search-index' - split_repository: 'bc-search-index' - - - local_path: 'bc-theme-config' - split_repository: 'bc-theme-config' - - - local_path: 'bc-theme-file' - split_repository: 'bc-theme-file' - - - local_path: 'bc-uploader' - split_repository: 'bc-uploader' - - - local_path: 'bc-widget-area' - split_repository: 'bc-widget-area' - steps: - - uses: actions/checkout@v3 - # no tag - - - if: "!startsWith(github.ref, 'refs/tags/')" - name: Monorepo Split of ${{ matrix.package }} - uses: "symplify/monorepo-split-github-action@v2.3.0" - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - package_directory: 'plugins/${{ matrix.package.local_path }}' - repository_organization: 'baserproject' - repository_name: '${{ matrix.package.split_repository }}' - branch: "master" - user_name: "ryuring" - user_email: "ryuring55@gmail.com" - # with tag - - - if: "startsWith(github.ref, 'refs/tags/')" - name: Monorepo Tagged Split of ${{ matrix.package }} - uses: "symplify/monorepo-split-github-action@v2.3.0" - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - tag: ${GITHUB_REF#refs/tags/} - package_directory: 'plugins/${{ matrix.package.local_path }}' - repository_organization: 'baserproject' - repository_name: '${{ matrix.package.split_repository }}' - branch: "master" - user_name: "ryuring" - user_email: "ryuring55@gmail.com" + packages_split: + runs-on: ubuntu-latest + environment: develop + strategy: + fail-fast: false + matrix: + package: + - local_path: 'baser-core' + split_repository: 'baser-core' + - local_path: 'bc-admin-third' + split_repository: 'bc-admin-third' + - local_path: 'bc-blog' + split_repository: 'bc-blog' + - local_path: 'BcColumn' + split_repository: 'bc-column' + - local_path: 'bc-content-link' + split_repository: 'bc-content-link' + - local_path: 'bc-custom-content' + split_repository: 'bc-custom-content' + - local_path: 'bc-editor-template' + split_repository: 'bc-editor-template' + - local_path: 'bc-favorite' + split_repository: 'bc-favorite' + - local_path: 'bc-front' + split_repository: 'bc-front' + - local_path: 'bc-installer' + split_repository: 'bc-installer' + - local_path: 'bc-mail' + split_repository: 'bc-mail' + - local_path: 'bc-search-index' + split_repository: 'bc-search-index' + - local_path: 'bc-theme-config' + split_repository: 'bc-theme-config' + - local_path: 'bc-theme-file' + split_repository: 'bc-theme-file' + - local_path: 'bc-uploader' + split_repository: 'bc-uploader' + - local_path: 'bc-widget-area' + split_repository: 'bc-widget-area' + steps: + - uses: actions/checkout@v3 + + - name: Monorepo Tagged Split Stable + # タグと安定版のブランチを分割する + if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') + uses: symplify/monorepo-split-github-action@v2.3.0 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + tag: ${GITHUB_REF#refs/tags/} + package_directory: 'plugins/${{ matrix.package.local_path }}' + repository_organization: 'baserproject' + repository_name: '${{ matrix.package.split_repository }}' + branch: "master" + user_name: "ryuring" + user_email: "ryuring55@gmail.com" + + - name: Monorepo Tagged Split Alpha or Beta or Rc + # タグと開発版のブランチを分割する + if: startsWith(github.ref, 'refs/tags/') && contains(github.ref, '-') + uses: symplify/monorepo-split-github-action@v2.3.0 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + tag: ${GITHUB_REF#refs/tags/} + package_directory: 'plugins/${{ matrix.package.local_path }}' + repository_organization: 'baserproject' + repository_name: '${{ matrix.package.split_repository }}' + branch: "dev-5" + user_name: "ryuring" + user_email: "ryuring55@gmail.com" + + - name: Monorepo Split Develop + # 開発版のブランチのみを分割する + if: "!startsWith(github.ref, 'refs/tags/')" + uses: symplify/monorepo-split-github-action@v2.3.0 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + package_directory: 'plugins/${{ matrix.package.local_path }}' + repository_organization: 'baserproject' + repository_name: '${{ matrix.package.split_repository }}' + branch: ${{ github.ref_name }} + user_name: "ryuring" + user_email: "ryuring55@gmail.com" diff --git a/composer.json b/composer.json index 1a4bbfff7b..2bc221554b 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ "cakephp/cakephp-codesniffer": "^5.0", "cakephp/debug_kit": "^5.0.0", "phpunit/phpunit": "^10.1.0", - "symplify/monorepo-builder": "^10.2", + "symplify/monorepo-builder": "^11.2", "vierge-noire/cakephp-fixture-factories": "^3.0", "vierge-noire/cakephp-test-suite-light": "^3.0" }, @@ -51,13 +51,11 @@ "BcInstaller\\": "plugins/bc-installer/src/", "BcMail\\": "plugins/bc-mail/src/", "BcSearchIndex\\": "plugins/bc-search-index/src/", - "BcSpaSample\\": "plugins/BcSpaSample/src/", "BcThemeConfig\\": "plugins/bc-theme-config/src/", "BcThemeFile\\": "plugins/bc-theme-file/src/", "BcUploader\\": "plugins/bc-uploader/src/", "BcWidgetArea\\": "plugins/bc-widget-area/src/", - "Cake\\Routing\\": "plugins/baser-core/src/Routing", - "SoftDelete\\": "plugins/cakephp-soft-delete/src" + "Cake\\Routing\\": "plugins/baser-core/src/Routing" } }, "autoload-dev": { @@ -74,26 +72,25 @@ "BcThemeConfig\\Test\\": "plugins/bc-theme-config/tests/", "BcThemeFile\\Test\\": "plugins/bc-theme-file/tests/", "BcUploader\\Test\\": "plugins/bc-uploader/tests/", - "BcWidgetArea\\Test\\": "plugins/bc-widget-area/tests/", - "SoftDelete\\Test\\": "plugins/cakephp-soft-delete/tests" + "BcWidgetArea\\Test\\": "plugins/bc-widget-area/tests/" } }, "replace": { - "baserproject/baser-core": "5.0.8", - "baserproject/bc-admin-third": "5.0.8", - "baserproject/bc-blog": "5.0.8", - "baserproject/bc-content-link": "5.0.8", - "baserproject/bc-custom-content": "5.0.8", - "baserproject/bc-editor-template": "5.0.8", - "baserproject/bc-favorite": "5.0.8", - "baserproject/bc-front": "5.0.8", - "baserproject/bc-installer": "5.0.8", - "baserproject/bc-mail": "5.0.8", - "baserproject/bc-search-index": "5.0.8", - "baserproject/bc-theme-config": "5.0.8", - "baserproject/bc-theme-file": "5.0.8", - "baserproject/bc-uploader": "5.0.8", - "baserproject/bc-widget-area": "5.0.8" + "baserproject/baser-core": "5.0.19", + "baserproject/bc-admin-third": "5.0.19", + "baserproject/bc-blog": "5.0.19", + "baserproject/bc-content-link": "5.0.19", + "baserproject/bc-custom-content": "5.0.19", + "baserproject/bc-editor-template": "5.0.19", + "baserproject/bc-favorite": "5.0.19", + "baserproject/bc-front": "5.0.19", + "baserproject/bc-installer": "5.0.19", + "baserproject/bc-mail": "5.0.19", + "baserproject/bc-search-index": "5.0.19", + "baserproject/bc-theme-config": "5.0.19", + "baserproject/bc-theme-file": "5.0.19", + "baserproject/bc-uploader": "5.0.19", + "baserproject/bc-widget-area": "5.0.19" }, "scripts": { "post-install-cmd": "App\\Console\\Installer::postInstall", @@ -123,7 +120,5 @@ "cakephp/plugin-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true } - }, - "minimum-stability": "dev", - "prefer-stable": true + } } diff --git a/composer.lock b/composer.lock index 575cfabeab..a776d7e895 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "fcf92a897ab19a065529bd8518c4275d", + "content-hash": "cdf6bae9f605f177c1eb7d1b7da875b0", "packages": [ { "name": "cakephp/authentication", @@ -76,16 +76,16 @@ }, { "name": "cakephp/cakephp", - "version": "5.0.6", + "version": "5.0.8", "source": { "type": "git", "url": "https://github.com/cakephp/cakephp.git", - "reference": "3f26c5bbbae99164852ba9607d11ff1b36fda1c9" + "reference": "160652e0b2c824c52b9a5bddbb7f84e7e1325927" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp/zipball/3f26c5bbbae99164852ba9607d11ff1b36fda1c9", - "reference": "3f26c5bbbae99164852ba9607d11ff1b36fda1c9", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/160652e0b2c824c52b9a5bddbb7f84e7e1325927", + "reference": "160652e0b2c824c52b9a5bddbb7f84e7e1325927", "shasum": "" }, "require": { @@ -193,7 +193,7 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/cakephp" }, - "time": "2024-03-09T03:36:26+00:00" + "time": "2024-05-11T02:52:43+00:00" }, { "name": "cakephp/chronos", @@ -252,23 +252,23 @@ }, { "name": "cakephp/migrations", - "version": "4.2.0", + "version": "4.3.1", "source": { "type": "git", "url": "https://github.com/cakephp/migrations.git", - "reference": "2a5f996fb2accabf0635eb4125f369b542f2b943" + "reference": "c3eef97e5d214e7a859cce51f631cc50dd4e635d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/migrations/zipball/2a5f996fb2accabf0635eb4125f369b542f2b943", - "reference": "2a5f996fb2accabf0635eb4125f369b542f2b943", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/c3eef97e5d214e7a859cce51f631cc50dd4e635d", + "reference": "c3eef97e5d214e7a859cce51f631cc50dd4e635d", "shasum": "" }, "require": { "cakephp/cache": "^5.0", "cakephp/orm": "^5.0", "php": ">=8.1", - "robmorgan/phinx": "^0.15.3 || ^0.16.0" + "robmorgan/phinx": "^0.16.0" }, "require-dev": { "cakephp/bake": "^3.0", @@ -308,7 +308,7 @@ "issues": "https://github.com/cakephp/migrations/issues", "source": "https://github.com/cakephp/migrations" }, - "time": "2024-02-20T23:13:52+00:00" + "time": "2024-05-13T15:47:20+00:00" }, { "name": "cakephp/plugin-installer", @@ -1266,20 +1266,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -1303,7 +1303,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1315,9 +1315,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -1588,16 +1588,16 @@ }, { "name": "robmorgan/phinx", - "version": "0.16.0", + "version": "0.16.1", "source": { "type": "git", "url": "https://github.com/cakephp/phinx.git", - "reference": "e039a723e9fe33e406102ac1c3dc0a54c031152f" + "reference": "6e522d638413bb20e42b17a65508784201bbc83e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/e039a723e9fe33e406102ac1c3dc0a54c031152f", - "reference": "e039a723e9fe33e406102ac1c3dc0a54c031152f", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/6e522d638413bb20e42b17a65508784201bbc83e", + "reference": "6e522d638413bb20e42b17a65508784201bbc83e", "shasum": "" }, "require": { @@ -1668,22 +1668,22 @@ ], "support": { "issues": "https://github.com/cakephp/phinx/issues", - "source": "https://github.com/cakephp/phinx/tree/0.16.0" + "source": "https://github.com/cakephp/phinx/tree/0.16.1" }, - "time": "2024-01-24T05:06:44+00:00" + "time": "2024-06-03T14:23:41+00:00" }, { "name": "symfony/config", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047" + "reference": "12e7e52515ce37191b193cf3365903c4f3951e35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6ea4affc27f2086c9d16b92ab5429ce1e3c38047", - "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047", + "url": "https://api.github.com/repos/symfony/config/zipball/12e7e52515ce37191b193cf3365903c4f3951e35", + "reference": "12e7e52515ce37191b193cf3365903c4f3951e35", "shasum": "" }, "require": { @@ -1729,7 +1729,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.4" + "source": "https://github.com/symfony/config/tree/v6.4.8" }, "funding": [ { @@ -1745,20 +1745,20 @@ "type": "tidelift" } ], - "time": "2024-02-26T07:52:26+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/console", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0d9e4eb5ad413075624378f474c4167ea202de78" + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0d9e4eb5ad413075624378f474c4167ea202de78", - "reference": "0d9e4eb5ad413075624378f474c4167ea202de78", + "url": "https://api.github.com/repos/symfony/console/zipball/be5854cee0e8c7b110f00d695d11debdfa1a2a91", + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91", "shasum": "" }, "require": { @@ -1823,7 +1823,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.4" + "source": "https://github.com/symfony/console/tree/v6.4.8" }, "funding": [ { @@ -1839,20 +1839,20 @@ "type": "tidelift" } ], - "time": "2024-02-22T20:27:10+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -1861,7 +1861,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -1890,7 +1890,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -1906,20 +1906,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.3", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" + "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4d37529150e7081c51b3c5d5718c55a04a9503f3", + "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3", "shasum": "" }, "require": { @@ -1927,6 +1927,9 @@ "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, + "require-dev": { + "symfony/process": "^5.4|^6.4|^7.0" + }, "type": "library", "autoload": { "psr-4": { @@ -1953,7 +1956,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.3" + "source": "https://github.com/symfony/filesystem/tree/v6.4.8" }, "funding": [ { @@ -1969,20 +1972,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "reference": "0424dff1c58f028c451efff2045f5d92410bd540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540", "shasum": "" }, "require": { @@ -2032,7 +2035,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, "funding": [ { @@ -2048,20 +2051,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { @@ -2110,7 +2113,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -2126,20 +2129,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { @@ -2191,7 +2194,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -2207,20 +2210,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -2271,7 +2274,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -2287,25 +2290,26 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.1", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -2313,7 +2317,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2353,7 +2357,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -2369,20 +2373,20 @@ "type": "tidelift" } ], - "time": "2023-12-26T14:02:43+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" + "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", - "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "url": "https://api.github.com/repos/symfony/string/zipball/a147c0f826c4a1f3afb763ab8e009e37c877a44d", + "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d", "shasum": "" }, "require": { @@ -2439,7 +2443,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.4" + "source": "https://github.com/symfony/string/tree/v6.4.8" }, "funding": [ { @@ -2455,7 +2459,7 @@ "type": "tidelift" } ], - "time": "2024-02-01T13:16:41+00:00" + "time": "2024-05-31T14:49:08+00:00" } ], "packages-dev": [ @@ -2745,16 +2749,16 @@ }, { "name": "composer/class-map-generator", - "version": "1.1.1", + "version": "1.3.4", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311" + "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8286a62d243312ed99b3eee20d5005c961adb311", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3", + "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3", "shasum": "" }, "require": { @@ -2798,7 +2802,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.1" + "source": "https://github.com/composer/class-map-generator/tree/1.3.4" }, "funding": [ { @@ -2814,28 +2818,28 @@ "type": "tidelift" } ], - "time": "2024-03-15T12:53:41+00:00" + "time": "2024-06-12T14:13:04+00:00" }, { "name": "composer/composer", - "version": "2.7.2", + "version": "2.7.7", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "b826edb791571ab1eaf281eb1bd6e181a1192adc" + "reference": "291942978f39435cf904d33739f98d7d4eca7b23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/b826edb791571ab1eaf281eb1bd6e181a1192adc", - "reference": "b826edb791571ab1eaf281eb1bd6e181a1192adc", + "url": "https://api.github.com/repos/composer/composer/zipball/291942978f39435cf904d33739f98d7d4eca7b23", + "reference": "291942978f39435cf904d33739f98d7d4eca7b23", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", - "composer/class-map-generator": "^1.0", + "composer/class-map-generator": "^1.3.3", "composer/metadata-minifier": "^1.0", "composer/pcre": "^2.1 || ^3.1", - "composer/semver": "^3.2.5", + "composer/semver": "^3.3", "composer/spdx-licenses": "^1.5.7", "composer/xdebug-handler": "^2.0.2 || ^3.0.3", "justinrainbow/json-schema": "^5.2.11", @@ -2854,11 +2858,11 @@ "symfony/process": "^5.4 || ^6.0 || ^7" }, "require-dev": { - "phpstan/phpstan": "^1.9.3", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10", + "phpstan/phpstan": "^1.11.0", + "phpstan/phpstan-deprecation-rules": "^1.2.0", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "phpstan/phpstan-symfony": "^1.4.0", "symfony/phpunit-bridge": "^6.4.1 || ^7.0.1" }, "suggest": { @@ -2912,7 +2916,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.7.2" + "source": "https://github.com/composer/composer/tree/2.7.7" }, "funding": [ { @@ -2928,7 +2932,7 @@ "type": "tidelift" } ], - "time": "2024-03-11T16:12:18+00:00" + "time": "2024-06-10T20:11:12+00:00" }, { "name": "composer/metadata-minifier", @@ -3001,16 +3005,16 @@ }, { "name": "composer/pcre", - "version": "3.1.3", + "version": "3.1.4", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" + "reference": "04229f163664973f68f38f6f73d917799168ef24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", + "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", + "reference": "04229f163664973f68f38f6f73d917799168ef24", "shasum": "" }, "require": { @@ -3052,7 +3056,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.3" + "source": "https://github.com/composer/pcre/tree/3.1.4" }, "funding": [ { @@ -3068,7 +3072,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:26:25+00:00" + "time": "2024-05-27T13:40:54+00:00" }, { "name": "composer/semver", @@ -3233,16 +3237,16 @@ }, { "name": "composer/xdebug-handler", - "version": "3.0.3", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { @@ -3253,7 +3257,7 @@ "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", "autoload": { @@ -3277,9 +3281,9 @@ "performance" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { @@ -3295,7 +3299,7 @@ "type": "tidelift" } ], - "time": "2022-02-25T21:32:43+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { "name": "dealerdirect/phpcodesniffer-composer-installer", @@ -3377,23 +3381,26 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.2.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "a321d114e0a18e6497f8a2cd6f890e000cc17ecc" + "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/a321d114e0a18e6497f8a2cd6f890e000cc17ecc", - "reference": "a321d114e0a18e6497f8a2cd6f890e000cc17ecc", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d1ac84aef745c69ea034929eb6d65a6908b675cc", + "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "bin": [ "bin/sql-formatter" @@ -3423,9 +3430,9 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.2.0" + "source": "https://github.com/doctrine/sql-formatter/tree/1.4.0" }, - "time": "2023-08-16T21:49:04+00:00" + "time": "2024-05-08T08:12:09+00:00" }, { "name": "fakerphp/faker", @@ -3559,12 +3566,12 @@ "version": "v5.2.13", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", + "url": "https://github.com/jsonrainbow/json-schema.git", "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", "shasum": "" }, @@ -3619,23 +3626,23 @@ "schema" ], "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13" + "issues": "https://github.com/jsonrainbow/json-schema/issues", + "source": "https://github.com/jsonrainbow/json-schema/tree/v5.2.13" }, "time": "2023-09-26T02:20:38+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", "shasum": "" }, "require": { @@ -3643,11 +3650,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -3673,7 +3681,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" }, "funding": [ { @@ -3681,7 +3689,7 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2024-06-12T14:39:25+00:00" }, { "name": "nikic/php-parser", @@ -3859,16 +3867,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.27.0", + "version": "1.29.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757" + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757", - "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", "shasum": "" }, "require": { @@ -3900,9 +3908,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" }, - "time": "2024-03-21T13:14:53+00:00" + "time": "2024-05-31T08:52:43+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4227,16 +4235,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.15", + "version": "10.5.23", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "86376e05e8745ed81d88232ff92fee868247b07b" + "reference": "12826591cc32fa0959b7e7577a90c3f527e377b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86376e05e8745ed81d88232ff92fee868247b07b", - "reference": "86376e05e8745ed81d88232ff92fee868247b07b", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12826591cc32fa0959b7e7577a90c3f527e377b2", + "reference": "12826591cc32fa0959b7e7577a90c3f527e377b2", "shasum": "" }, "require": { @@ -4308,7 +4316,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.23" }, "funding": [ { @@ -4324,20 +4332,20 @@ "type": "tidelift" } ], - "time": "2024-03-22T04:17:47+00:00" + "time": "2024-06-20T07:29:28+00:00" }, { "name": "react/promise", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c" + "reference": "8a164643313c71354582dc850b42b33fa12a4b63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", + "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63", "shasum": "" }, "require": { @@ -4389,7 +4397,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.1.0" + "source": "https://github.com/reactphp/promise/tree/v3.2.0" }, "funding": [ { @@ -4397,7 +4405,7 @@ "type": "open_collective" } ], - "time": "2023-11-16T16:21:57+00:00" + "time": "2024-05-24T10:39:05+00:00" }, { "name": "sebastian/cli-parser", @@ -5555,16 +5563,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.9.0", + "version": "3.10.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b" + "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b", - "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877", + "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877", "shasum": "" }, "require": { @@ -5631,20 +5639,20 @@ "type": "open_collective" } ], - "time": "2024-02-16T15:06:51+00:00" + "time": "2024-05-22T21:24:41+00:00" }, { "name": "symfony/finder", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", "shasum": "" }, "require": { @@ -5679,7 +5687,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.0" + "source": "https://github.com/symfony/finder/tree/v6.4.8" }, "funding": [ { @@ -5695,20 +5703,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:30:12+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1", + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", "shasum": "" }, "require": { @@ -5755,7 +5763,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0" }, "funding": [ { @@ -5771,20 +5779,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { @@ -5835,7 +5843,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -5851,20 +5859,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", "shasum": "" }, "require": { @@ -5911,7 +5919,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" }, "funding": [ { @@ -5927,20 +5935,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/process", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "710e27879e9be3395de2b98da3f52a946039f297" + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", - "reference": "710e27879e9be3395de2b98da3f52a946039f297", + "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", "shasum": "" }, "require": { @@ -5972,7 +5980,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.4" + "source": "https://github.com/symfony/process/tree/v6.4.8" }, "funding": [ { @@ -5988,20 +5996,20 @@ "type": "tidelift" } ], - "time": "2024-02-20T12:31:00+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symplify/monorepo-builder", - "version": "10.3.3", + "version": "11.2.20", "source": { "type": "git", "url": "https://github.com/symplify/monorepo-builder.git", - "reference": "5f97613a2015b74aa86a7330b47a88c283877fd4" + "reference": "444efe08701776cb1a03b9f3600e715697519aa6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symplify/monorepo-builder/zipball/5f97613a2015b74aa86a7330b47a88c283877fd4", - "reference": "5f97613a2015b74aa86a7330b47a88c283877fd4", + "url": "https://api.github.com/repos/symplify/monorepo-builder/zipball/444efe08701776cb1a03b9f3600e715697519aa6", + "reference": "444efe08701776cb1a03b9f3600e715697519aa6", "shasum": "" }, "require": { @@ -6016,13 +6024,19 @@ "dev-main": "10.3-dev" } }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "Prefixed version of Not only Composer tools to build a Monorepo.", "support": { - "source": "https://github.com/symplify/monorepo-builder/tree/10.3.3" + "issues": "https://github.com/symplify/monorepo-builder/issues", + "source": "https://github.com/symplify/monorepo-builder/tree/11.2.20" }, "funding": [ { @@ -6034,7 +6048,7 @@ "type": "github" } ], - "time": "2022-06-13T14:01:16+00:00" + "time": "2023-11-17T08:30:16+00:00" }, { "name": "theseer/tokenizer", @@ -6088,20 +6102,21 @@ }, { "name": "twig/markdown-extra", - "version": "v3.8.0", + "version": "v3.10.0", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "b6e4954ab60030233df5d293886b5404558daac8" + "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/b6e4954ab60030233df5d293886b5404558daac8", - "reference": "b6e4954ab60030233df5d293886b5404558daac8", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", + "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", "twig/twig": "^3.0" }, "require-dev": { @@ -6113,6 +6128,9 @@ }, "type": "library", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { "Twig\\Extra\\Markdown\\": "" }, @@ -6140,7 +6158,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.8.0" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.10.0" }, "funding": [ { @@ -6152,34 +6170,41 @@ "type": "tidelift" } ], - "time": "2023-11-21T14:02:01+00:00" + "time": "2024-05-11T07:35:57+00:00" }, { "name": "twig/twig", - "version": "v3.8.0", + "version": "v3.10.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d" + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-php80": "^1.22" }, "require-dev": { "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0" + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, "type": "library", "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], "psr-4": { "Twig\\": "src/" } @@ -6212,7 +6237,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.8.0" + "source": "https://github.com/twigphp/Twig/tree/v3.10.3" }, "funding": [ { @@ -6224,7 +6249,7 @@ "type": "tidelift" } ], - "time": "2023-11-21T18:54:41+00:00" + "time": "2024-05-16T10:04:27+00:00" }, { "name": "vierge-noire/cakephp-fixture-factories", @@ -6345,9 +6370,9 @@ } ], "aliases": [], - "minimum-stability": "dev", + "minimum-stability": "stable", "stability-flags": [], - "prefer-stable": true, + "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=8.1", diff --git a/config/bootstrap.php b/config/bootstrap.php index 48a880120f..8bf0f4aa6a 100644 --- a/config/bootstrap.php +++ b/config/bootstrap.php @@ -49,8 +49,11 @@ /** * Load global functions. */ -require CAKE . 'functions.php'; - +if(file_exists(CAKE . 'functions.php')) { + require CAKE . 'functions.php'; +} else { + trigger_error('フレームワーク「CakePHP」がインストールされていないか、古いバージョンを利用しています。処理を終了します。', E_USER_ERROR); +} /* * See https://github.com/josegonzalez/php-dotenv for API details. * diff --git a/monorepo-builder.php b/monorepo-builder.php index 7fe8b55173..e553068a8b 100644 --- a/monorepo-builder.php +++ b/monorepo-builder.php @@ -2,47 +2,43 @@ declare(strict_types=1); -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; -use Symplify\ComposerJsonManipulator\ValueObject\ComposerJsonSection; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\AddTagToChangelogReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushNextDevReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushTagReleaseWorker; +use Symplify\MonorepoBuilder\ComposerJsonManipulator\ValueObject\ComposerJsonSection; +use Symplify\MonorepoBuilder\Config\MBConfig; use Symplify\MonorepoBuilder\Release\ReleaseWorker\SetCurrentMutualDependenciesReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\SetNextMutualDependenciesReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\TagVersionReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\UpdateBranchAliasReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\UpdateReplaceReleaseWorker; -use Symplify\MonorepoBuilder\ValueObject\Option; -return static function (ContainerConfigurator $containerConfigurator): void { - $parameters = $containerConfigurator->parameters(); - - $parameters->set(Option::PACKAGE_DIRECTORIES, [ - // custom - __DIR__ . '/plugins', - ]); - - $parameters->set(Option::PACKAGE_DIRECTORIES_EXCLUDES, [ +return static function (MBConfig $mbConfig): void { + $mbConfig->packageDirectories([__DIR__ . '/plugins']); + $version = (!empty($_SERVER['argv'][2]))? $_SERVER['argv'][2] : ''; + if(!$version) return; + $mbConfig->packageDirectoriesExcludes([ __DIR__ . '/plugins/BcThemeSample', __DIR__ . '/plugins/BcPluginSample', + __DIR__ . '/plugins/BcColumn', ]); - // for "merge" command - $parameters->set(Option::DATA_TO_APPEND, [ + $mbConfig->dataToAppend([ ComposerJsonSection::REQUIRE_DEV => [ 'phpunit/phpunit' => '^10.1.0', + 'symplify/monorepo-builder' => '^11.2', ], ]); - $services = $containerConfigurator->services(); - - # release workers - in order to execute - $services->set(UpdateReplaceReleaseWorker::class); - $services->set(SetCurrentMutualDependenciesReleaseWorker::class); - $services->set(AddTagToChangelogReleaseWorker::class); - $services->set(TagVersionReleaseWorker::class); - $services->set(PushTagReleaseWorker::class); - $services->set(SetNextMutualDependenciesReleaseWorker::class); - $services->set(UpdateBranchAliasReleaseWorker::class); - $services->set(PushNextDevReleaseWorker::class); + if(preg_match('/^([0-9]+\.[0-9]+\.[0-9]+|patch)$/', $version)) { + /** + * 正式リリース + * タグの送信とマスタの送信 + */ + $mbConfig->defaultBranch('master'); + $mbConfig->workers([ + UpdateReplaceReleaseWorker::class, + SetCurrentMutualDependenciesReleaseWorker::class, + ]); + } elseif(preg_match('/^[0-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)/', $version)) { + /** + * alpha / beta / rc + * タグの送信のみ + */ + $mbConfig->defaultBranch('dev-5'); + } }; diff --git a/plugins/BcColumn/composer.json b/plugins/BcColumn/composer.json deleted file mode 100755 index 1de2387731..0000000000 --- a/plugins/BcColumn/composer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "baserproject/bc-column", - "description": "BcContentLink plugin for baserCMS", - "homepage": "https://basercms.net", - "type": "cakephp-plugin", - "license": "MIT", - "vendor-dir": "../../vendor", - "autoload": { - "psr-4": { - "BcColumn\\": "src/" - } - } -} diff --git a/plugins/BcColumn/config/data/default/BaserCore/pages.csv b/plugins/BcColumn/config/data/default/BaserCore/pages.csv index c17f90cbd6..2154f8e8f5 100755 --- a/plugins/BcColumn/config/data/default/BaserCore/pages.csv +++ b/plugins/BcColumn/config/data/default/BaserCore/pages.csv @@ -88,6 +88,12 @@ id,contents,draft,page_template,modified,created

そして、基本的なパーツレイアウトが揃っているので、簡単にブログや固定ページを追加することができます。
パーツデザインのページをご参考ください。

+ +

 

+ +

コピーライトの変更について

+ +

フッターに記載しているコピーライトについては自由に変更が可能です。

",,,, 3,"

見出し2

diff --git a/plugins/BcColumn/config/data/default/BcThemeConfig/theme_configs.csv b/plugins/BcColumn/config/data/default/BcThemeConfig/theme_configs.csv index adde17dd74..49b4df85d8 100755 --- a/plugins/BcColumn/config/data/default/BcThemeConfig/theme_configs.csv +++ b/plugins/BcColumn/config/data/default/BcThemeConfig/theme_configs.csv @@ -1,24 +1,24 @@ id,name,value,created,modified -1,logo,logo.png,, +1,logo,,, 2,logo_alt,baserCMS,, 3,logo_link,/,, -4,main_image_1,main_image_1.jpg,, +4,main_image_1,,, 5,main_image_alt_1,コーポレートサイトにちょうどいい国産CMS,, 6,main_image_link_1,/,, -7,main_image_2,main_image_2.jpg,, +7,main_image_2,,, 8,main_image_alt_2,全て日本語の国産CMSだから、設置も更新も簡単、わかりやすい。,, 9,main_image_link_2,/,, -10,main_image_3,main_image_3.jpg,, +10,main_image_3,,, 11,main_image_alt_3,標準的なWebサイトに必要な基本機能を全て装備,, 12,main_image_link_3,/,, -13,main_image_4,main_image_4.jpg,, +13,main_image_4,,, 14,main_image_alt_4,デザインも自由自在にカスタマイズ可能!,, 15,main_image_link_4,/,, 16,main_image_5,,, 17,main_image_alt_5,質問・ご相談はユーザーズフォーラムへ,, 18,main_image_link_5,/,, -19,color_main,0,, +19,color_main,000000,, 20,color_sub,95979e,, -21,color_link,,, -22,color_hover,,, +21,color_link,000000,, +22,color_hover,666666,, 23,logo_delete,0,, diff --git a/plugins/BcColumn/src/Plugin.php b/plugins/BcColumn/src/BcColumnPlugin.php similarity index 91% rename from plugins/BcColumn/src/Plugin.php rename to plugins/BcColumn/src/BcColumnPlugin.php index 29a55b57a1..084c6f176d 100644 --- a/plugins/BcColumn/src/Plugin.php +++ b/plugins/BcColumn/src/BcColumnPlugin.php @@ -17,4 +17,4 @@ /** * plugin for BcColumn */ -class Plugin extends BcPlugin {} +class BcColumnPlugin extends BcPlugin {} diff --git a/plugins/BcColumn/templates/element/blog_comments.php b/plugins/BcColumn/templates/element/blog_comments.php index cf5fb05d0d..d6b0035505 100644 --- a/plugins/BcColumn/templates/element/blog_comments.php +++ b/plugins/BcColumn/templates/element/blog_comments.php @@ -1,6 +1,8 @@ comment_use) return; $captchaId = mt_rand(0, 99999999); @@ -27,7 +29,6 @@ ?> -comment_use): ?>
@@ -40,31 +41,33 @@

コメント送信フォーム

- BcForm->create(null, ['url' => '/blog/blog_comments/add/' . $blogContent->id . '/' . $post->id, 'id' => 'BlogCommentAddForm']) ?> - BcForm->control('BlogComment.captcha_id', ['type' => 'hidden', 'value' => $captchaId]) ?> + BcForm->create(null, ['id' => 'BlogCommentAddForm']) ?> + BcForm->control('blog_content_id', ['type' => 'hidden', 'value' => $blogContent->id]) ?> + BcForm->control('captcha_id', ['type' => 'hidden', 'value' => $captchaId]) ?> + BcForm->control('blog_post_id', ['type' => 'hidden', 'value' => $post->id]) ?> - - + - + - - + + - - + +
BcForm->label('BlogComment.name', __d('baser_core', 'お名前') . '・' . __d('baser_core', 'ニックネーム')) ?> + BcForm->label('name', __d('baser_core', 'お名前') . '・' . __d('baser_core', 'ニックネーム')) ?> BcForm->control('BlogComment.name', ['type' => 'text', 'class' => 'form-m']) ?>BcForm->control('name', ['type' => 'text', 'class' => 'form-m']) ?>
BcForm->label('BlogComment.email', __d('baser_core', 'Eメール')) ?>BcForm->label('email', __d('baser_core', 'Eメール')) ?> - BcForm->control('BlogComment.email', ['type' => 'text', 'size' => 30, 'class' => 'form-m']) ?> + BcForm->control('email', ['type' => 'text', 'size' => 30, 'class' => 'form-m']) ?>
BcForm->label('BlogComment.url', 'URL') ?>BcForm->control('BlogComment.url', ['type' => 'text', 'size' => 30, 'class' => 'form-l']) ?>BcForm->label('url', 'URL') ?>BcForm->control('url', ['type' => 'text', 'size' => 30, 'class' => 'form-l']) ?>
BcForm->label('BlogComment.message', __d('baser_core', 'コメント')) ?>BcForm->control('BlogComment.message', ['type' => 'textarea', 'rows' => 10, 'cols' => 52, 'class' => 'form-l']) ?>BcForm->label('message', __d('baser_core', 'コメント')) ?>BcForm->control('message', ['type' => 'textarea', 'rows' => 10, 'cols' => 52, 'class' => 'form-l']) ?>
@@ -73,13 +76,17 @@
BcBaser->img('admin/captcha_loader.gif', ['alt' => 'Loading...', 'class' => 'auth-captcha-image', 'id' => 'CaptchaLoader']) ?> - BcForm->text('BlogComment.auth_captcha') ?>
+ BcForm->control('auth_captcha', ['type' => 'text', 'size' => 25]) ?>
 
- BcForm->end(['label' => __d('baser_core', '送信する'), 'id' => 'BlogCommentAddButton', 'class' => 'button']) ?> +
+ BcForm->button(__d('baser_core', '送信する'), ['id' => 'BlogCommentAddButton', 'class' => 'bs-button']) ?> +
+ + BcForm->end() ?> +
- diff --git a/plugins/BcColumn/templates/layout/default.php b/plugins/BcColumn/templates/layout/default.php index 963833b397..325adfe0a5 100755 --- a/plugins/BcColumn/templates/layout/default.php +++ b/plugins/BcColumn/templates/layout/default.php @@ -2,6 +2,9 @@ /** * デフォルトレイアウト */ +$request = $this->getRequest(); +$attributes = $request->getAttributes(); +$base = $attributes['base']; ?> @@ -28,6 +31,7 @@ BcBaser->css('responsive') ?> +BcBaser->declarationI18n() ?> BcBaser->js(array( 'jquery-1.7.2.min', 'jquery.bxSlider.min', @@ -35,6 +39,11 @@ 'baser.min', 'startup' )) ?> +BcBaser->js('common.bundle', true, [ + 'id' => 'AdminScript', + 'data-baseUrl' => h($base), + 'data-baserCorePrefix' => \Cake\Utility\Inflector::underscore(\BaserCore\Utility\BcUtil::getBaserCorePrefix()), +]) ?> BcBaser->isHome()): ?> \n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=25b6d697\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\nimport Modal from '../../../../js/common/modal.vue';\nimport axios from '../../../../../../../node_modules/axios'\n\n/**\n * Custom Links Vue\n *\n * @type {Vue}\n */\nlet customLinks = new Vue({\n\n /**\n * Element\n */\n el: '#AdminCustomTable',\n\n /**\n * data\n * @returns Object\n */\n data: function () {\n const script = $(\"#AdminCustomTablesFormScript\");\n return {\n settings: JSON.parse(script.attr('data-setting')),\n links: JSON.parse(script.attr('data-links')),\n link: {},\n field: {},\n showPreview: {},\n parentList: {},\n enabledUseLoop: true,\n enabledGroupValid: true,\n currentParentId: null,\n tableId: script.attr('data-tableId'),\n displayPreview: true,\n isAdd: script.attr('data-isAdd')\n }\n },\n\n /**\n * Components\n */\n components: {\n Modal\n },\n\n /**\n * Mounted\n */\n mounted: function () {\n // テンプレート内のツールチップがリセットされてしまうため再度ヘルプのツールチップを設定\n if(!this.isAdd) {\n $.bcUtil.initTooltip();\n }\n },\n\n /**\n * Computed\n */\n computed: {\n /**\n * 現在の関連フィールドがグループかどうか\n *\n * @returns {boolean}\n */\n isGroupLink: function () {\n if (this.link.custom_field === undefined) return false;\n return this.link.custom_field.type === 'group'\n },\n\n /**\n * 現在の関連フィールドのタイプのタイトルを取得\n *\n * @returns {boolean|*}\n */\n linkTypeTitle: function () {\n if (this.link.custom_field === undefined) return false;\n return this.settings[this.link.custom_field.type].label\n },\n\n /**\n * 現在の関連フィールドのフィールドタイトルを取得\n *\n * @returns {boolean|*}\n */\n linkFieldTitle: function () {\n if (this.link.custom_field === undefined) return false;\n return this.link.custom_field.title\n },\n\n /**\n * 配列の選択リストを取得\n *\n * @returns {{length}|*|*[]}\n */\n arraySource: function () {\n if (!this.field.source) return [];\n let arraySource = this.field.source.split(\"\\n\").map(function (v) {\n return v.replace('\\r', '');\n });\n if (arraySource.length && arraySource[0] === '') {\n return [];\n }\n return arraySource;\n },\n\n /**\n * 関連リンクの説明文にて改行タグに変換したものを取得\n *\n * @returns {string|*}\n */\n linkHtmlDescription: function () {\n if (!this.link.description) return '';\n return this.link.description.replace('\\n', '
');\n },\n\n /**\n * カスタムフィールドの編集画面へのリンクを取得\n *\n * @returns {string}\n */\n editFieldLinkUrl: function () {\n if (!this.field) return '';\n return $.bcUtil.adminBaseUrl + 'bc-custom-content/custom_fields/edit/' + this.field.id;\n },\n\n /**\n * 関連フィールドの ID より関連フィールドのタイトルを取得する\n *\n * @returns {(function(*): (*|string))|*}\n */\n linkTitleById() {\n return (id) => {\n if (this.links[id]) {\n return this.links[id].title;\n } else {\n return '';\n }\n }\n },\n\n /**\n * 関連フィールドの ID よりカスタムフィールドのタイトルを取得する\n *\n * @returns {(function(*): (*|string))|*}\n */\n linkFieldTitleById() {\n return (id) => {\n if (this.links[id]) {\n return this.links[id].custom_field.title;\n } else {\n return '';\n }\n }\n },\n\n /**\n * グループが利用可能かどうか\n *\n * @returns {boolean}\n */\n isEnabledParent: function() {\n if(!Object.keys(this.parentList).length) return false;\n return this.field.type !== 'group';\n }\n },\n\n /**\n * Methods\n */\n methods: {\n\n /**\n * 関連リンク詳細を開く\n *\n * @param index\n * @returns {boolean}\n */\n openLinkDetail: function (index) {\n this.$refs.modalCustomLinkDetail.openModal(index);\n return false;\n },\n\n /**\n * 関連リンク詳細を開いた時\n *\n * @param index\n */\n linkDetailOpened: function (index) {\n this.link = Object.assign({}, this.links[index]);\n this.field = this.link.custom_field;\n this.currentParentId = this.link.parent_id;\n this.initPreview(this.link.id);\n this.loadParentList();\n this.changeGroupFunction();\n\n $.bcUtil.initTooltip({\n target: '.modal-content .bca-help',\n content: '.modal-content .bca-helptext',\n });\n\n let $preview = $(\"#CustomLinkPreview\");\n let $modelWindow = $(\".modal-window\");\n let $modalFooter = $(\".modal-footer\");\n\n // modal-window の幅が確定するまで少し待ってから フッターとプレビューの横幅を設定する\n $modalFooter.hide();\n $preview.hide();\n this.hideError();\n\n // wysiwygエディタが modal の中だと 正常動作しないという理由で、プレビューは外でレンダリングさせているため、\n // レンダリングが終わってから modal の中に移動させる\n $preview.appendTo(\".modal-content\");\n\n setTimeout(function () {\n $(\".modal-footer\")\n .css('position', 'fixed')\n .css('bottom', 0)\n .css('width', $modelWindow.width());\n $preview.css('width', $modelWindow.width());\n $modalFooter.show();\n $preview.show();\n }, 500);\n\n // 一番下までスクロールしたらプレビューを非表示にする\n $modelWindow.on('scroll', function () {\n var bottom = $('.modal-content').innerHeight() - $modelWindow.innerHeight();\n if (bottom <= $modelWindow.scrollTop()) {\n $preview.fadeOut(500);\n } else {\n if (customLinks.displayPreview && $preview.css('display') === 'none') {\n $preview.fadeIn(500);\n }\n }\n });\n },\n\n hidePreview() {\n this.displayPreview = false;\n $(\"#CustomLinkPreview\").fadeOut(500);\n },\n\n loadParentList: function() {\n let url = $.bcUtil.apiAdminBaseUrl + 'bc-custom-content/custom_links/get_parent_list/' + this.link.custom_table_id + '.json';\n axios.get(url)\n .then(response => {\n if(response.data.parentList) {\n this.parentList = response.data.parentList;\n } else {\n this.parentList = {};\n }\n });\n },\n\n /**\n * 関連リンクモーダルを閉じる\n */\n closeLinkDetail: function () {\n this.displayPreview = false;\n // プレビューを modal の外から持ってきているため、 modal を閉じるとなくなってしまうので、一旦、外部に退避\n $(\"#CustomLinkPreview\").hide().appendTo('body');\n },\n\n /**\n * プレビューを初期化する\n *\n * @param id\n */\n initPreview: function (id) {\n this.displayPreview = true;\n this.showPreview['NonSupport'] = false;\n Object.keys(this.showPreview).forEach(function (key) {\n this.showPreview[key] = false;\n }, this);\n if (id && this.links[id].custom_field.type !== 'group') {\n this.showPreview[id] = true;\n } else {\n this.showPreview['NonSupport'] = true;\n }\n },\n\n /**\n * 関連リンクを保存する\n */\n saveLink: function () {\n if(this.currentParentId !== this.link.parent_id) {\n const message = bcI18n.confirmMessageOnSaveLink;\n if(!confirm(message)) {\n return;\n }\n }\n this.hideError();\n $.bcUtil.showLoader();\n let url = $.bcUtil.apiAdminBaseUrl + 'bc-custom-content/custom_links/edit/' + this.link.id + '.json';\n const $this = this;\n $.bcToken.check(function(){\n axios.post(url, $this.link, {\n headers: {\n 'X-CSRF-Token': $.bcToken.key\n }\n })\n .then(response => {\n $.bcUtil.hideLoader();\n $this.links[$this.link.id] = $this.link;\n $this.$refs.modalCustomLinkDetail.closeModal();\n })\n .catch(error => {\n $.bcUtil.hideLoader();\n const errors = error.response.data.errors;\n if (error.response.status === 400) {\n $('.modal-content #MessageBox .alert-message').html(error.response.data.message);\n Object.keys(errors).forEach(function (name) {\n Object.keys(errors[name]).forEach(function (detail) {\n $('.error-' + name).append(errors[name][detail]).show();\n });\n });\n } else if (error.response.status === 500) {\n $('.modal-content #MessageBox .alert-message').html(error.response.data.message);\n } else {\n $('.modal-content #MessageBox .alert-message').html('予期せぬエラーが発生しました。システム管理者に連絡してください。');\n }\n $('.modal-content #MessageBox').show();\n });\n });\n },\n\n /**\n * エラーを非表示にする\n */\n hideError: function () {\n $('.modal-content .error-message').html('').hide();\n $('.modal-content #MessageBox').hide();\n },\n\n /**\n * グループ機能の状態を変更する\n */\n changeGroupFunction()\n {\n if(this.link.group_valid) {\n this.enabledUseLoop = false;\n this.link.use_loop = false;\n } else {\n this.enabledUseLoop = true;\n }\n if(this.link.use_loop) {\n this.enabledGroupValid = false;\n this.link.group_valid = false;\n } else {\n this.enabledGroupValid = true;\n }\n // right - lft が 1を超える場合は、子がいるとみなし、強制的にループ機能の変更を不可とする\n if((this.link.rght - this.link.lft) > 1) {\n this.enabledUseLoop = false;\n }\n },\n\n /**\n * 削除する\n *\n * レイアウト上の問題にて、vue.js のアプリケーション内に削除ボタンを配置する必要があるが、\n * アプリケーション内では、FormHelper::postLink() の JS が無効化されてしまうため、vue.js 内で実装。\n * API を利用していない理由は次の課題をクリアするため\n * - 削除してそのまま一覧に画面遷移する\n * - 遷移後、フラッシュメッセージを表示する\n * _Token フィールドの生成が JS上で難しいため、コントローラーにて validatePost を false にしている\n * @see Admin/CustomTablesController::beforeFilter\n */\n deleteTable() {\n if(!confirm(bcI18n.confirmDeleteMessage)) return;\n $.bcUtil.showLoader();\n const $form = $('
');\n const $input = $('');\n $form.attr('action', $.bcUtil.adminBaseUrl + 'bc-custom-content/custom_tables/delete/' + this.tableId);\n $form.append($input);\n $.bcToken.check(function (){\n $input.val($.bcToken.key);\n $(\"body\").append($form);\n $form.submit();\n }, {hideLoader: false});\n }\n\n }\n\n});\n\n$(function () {\n\n init();\n changeType();\n registerEventToInUseField();\n\n /**\n * 初期化\n */\n function init() {\n\n // 階層構造を持つの表示切り替え\n $(\"input[name='type']\").click(changeType);\n\n // 利用できるフィールドを利用中のフィールドへドラッグ\n $(\"#CustomFieldSettingSource .draggable\").draggable({\n scroll: true,\n helper: 'clone',\n opacity: 0.80,\n revert: 'invalid',\n cursor: 'move',\n connectToSortable: '#CustomFieldSettingTarget',\n containment: '#CustomFieldSetting',\n start: function (event, ui) {\n jQuery(ui.helper).css({\n 'width': jQuery(this).width()\n });\n },\n });\n // 利用中のフィールドを並べ替える\n $(\"#CustomFieldSettingTarget\").sortable({\n placeholder: 'custom-field-content placeholder',\n cursor: 'move',\n revert: true,\n distance: 5,\n containment: '#CustomFieldSetting',\n zIndex: 55,\n scroll: true,\n // items を除外すると、update 実行時に、prevObject を参照できないくなるので注意\n // items: 'div.sortable',\n update: function (event, ui) {\n if ($(ui.item).attr(\"id\") !== undefined && $(ui.item).attr(\"id\").match(/^InUseField/i)) {\n updateSort();\n return;\n }\n\n let templateId = 'template-field-' + $(ui.item).attr('class').split(' ').filter(value => {\n return (value.indexOf('available-field-') !== -1);\n })[0].replace('available-field-', '');\n\n let baseId = getNewBaseId();\n let inUseFieldId = 'InUseField' + (baseId);\n let tmpId = 'Tmp' + (baseId);\n ui.item.attr('id', tmpId);\n\n $(`#${tmpId}`).after($(`.${templateId}`).clone().attr('id', inUseFieldId).addClass('in-use-field').removeClass('template')).remove();\n\n $(`#${inUseFieldId} input[name='template[name]']`).attr('name', `custom_links[new-${baseId}][name]`);\n $(`#${inUseFieldId} input[name='template[custom_field_id]']`).attr('name', `custom_links[new-${baseId}][custom_field_id]`);\n $(`#${inUseFieldId} input[name='template[sort]']`).attr('name', `custom_links[new-${baseId}][sort]`);\n $(`#${inUseFieldId} input[name='template[title]']`).attr('name', `custom_links[new-${baseId}][title]`);\n $(`#${inUseFieldId} input[name='template[display_front]']`).attr('name', `custom_links[new-${baseId}][display_front]`);\n $(`#${inUseFieldId} input[name='template[use_api]']`).attr('name', `custom_links[new-${baseId}][use_api]`);\n $(`#${inUseFieldId} input[name='template[status]']`).attr('name', `custom_links[new-${baseId}][status]`);\n\n const $nameInput = $(`#${inUseFieldId} input[name='custom_links[new-${baseId}][name]']`);\n if($nameInput.val() === 'group') {\n $nameInput.val('group_field');\n }\n\n registerEventToInUseField(inUseFieldId);\n updateSort();\n },\n });\n // 利用中のフィールドを並べ替える\n $(\".custom-field-group__inner\").sortable({\n placeholder: 'custom-field-content placeholder',\n cursor: 'move',\n revert: true,\n distance: 5,\n containment: '#CustomFieldSetting',\n zIndex: 55,\n scroll: true,\n update: function (event, ui) {\n updateSort();\n },\n });\n }\n\n /**\n * テーブルタイプに伴う表示調整\n */\n function changeType() {\n if ($(\"input[name='type']:checked\").val() === '1') {\n $('#SpanHasChild').hide();\n $('#has-child').prop('checked', false);\n $('#RowDisplayField').show();\n } else {\n $('#SpanHasChild').show();\n $('#RowDisplayField').hide();\n $('#display-field').val('title');\n }\n }\n\n /**\n * 利用中のフィールドにイベントを登録する\n *\n * @param id\n */\n function registerEventToInUseField(id) {\n if (id !== undefined) {\n id = '#' + id + ' ';\n } else {\n id = '';\n }\n // 見出し名変更\n $(id + \".custom-field-setting__name\").keyup(function () {\n $(this).parent().parent().prev().find('.custom-field-content__head-text').html($(this).val());\n });\n\n // 利用中のフィールドのボックスの開閉\n $(id + \".custom-field-content__head-setting\").click(function () {\n let $next = $(this).parent().next();\n if ($next.is(':hidden')) {\n $next.slideDown('fast');\n } else {\n $next.slideUp('fast');\n }\n });\n\n $(id + \".custom-field-content__head-delete\").click(function () {\n $(this).parent().parent().slideUp('fast', function () {\n $(this).remove();\n updateSort();\n })\n });\n }\n\n /**\n * 新しいベースIDを取得する\n *\n * @returns {number}\n */\n function getNewBaseId() {\n let max = 0;\n $(\"#CustomFieldSettingTarget .custom-field-sort\").each(function () {\n const sort = Number($(this).val());\n if (sort > max) max = sort;\n });\n return max + 1;\n }\n\n /**\n * 並び順を更新する\n *\n * グループが存在する場合は各グループごとに採番する\n */\n function updateSort() {\n let i = 1;\n $(\"#CustomFieldSettingTarget .custom-field-sort\").each(function () {\n $(this).val(i);\n i++;\n });\n $(\".custom-field-group\").each(function () {\n i = 1;\n $(this).find('.custom-field-child-sort').each(function () {\n $(this).val(i);\n i++;\n });\n });\n }\n\n});\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 7472;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7472: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(9021)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","render","_vm","this","_c","_self","showModal","attrs","name","appear","staticClass","on","click","$event","target","currentTarget","closeModal","apply","arguments","_t","_v","type","_e","_withStripped","props","scrollable","Boolean","data","methods","openModal","index","$nextTick","$","css","$emit","customLinks","Vue","el","script","settings","JSON","parse","attr","links","link","field","showPreview","parentList","enabledUseLoop","enabledGroupValid","currentParentId","tableId","displayPreview","isAdd","components","Modal","mounted","bcUtil","initTooltip","computed","isGroupLink","undefined","custom_field","linkTypeTitle","label","linkFieldTitle","title","arraySource","source","split","map","v","replace","length","linkHtmlDescription","description","editFieldLinkUrl","adminBaseUrl","id","linkTitleById","_this","linkFieldTitleById","_this2","isEnabledParent","Object","keys","openLinkDetail","$refs","modalCustomLinkDetail","linkDetailOpened","assign","parent_id","initPreview","loadParentList","changeGroupFunction","content","$preview","$modelWindow","$modalFooter","hide","hideError","appendTo","setTimeout","width","show","innerHeight","scrollTop","fadeOut","fadeIn","hidePreview","_this3","url","apiAdminBaseUrl","custom_table_id","axios","get","then","response","closeLinkDetail","forEach","key","saveLink","message","bcI18n","confirmMessageOnSaveLink","confirm","showLoader","$this","bcToken","check","post","headers","hideLoader","error","errors","status","html","detail","append","group_valid","use_loop","rght","lft","deleteTable","confirmDeleteMessage","$form","$input","val","submit","changeType","prop","registerEventToInUseField","keyup","parent","prev","find","$next","next","is","slideDown","slideUp","remove","updateSort","i","each","draggable","scroll","helper","opacity","revert","cursor","connectToSortable","containment","start","event","ui","jQuery","sortable","placeholder","distance","zIndex","update","item","match","max","templateId","filter","value","indexOf","baseId","sort","Number","inUseFieldId","tmpId","concat","after","clone","addClass","removeClass","$nameInput","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","e","window","obj","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bc_custom_content/js/admin/custom_tables/form.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/webpack/runtime/chunk loaded","webpack://bc-admin-third/./src/js/common/modal.vue","webpack://bc-admin-third/src/js/common/modal.vue","webpack://bc-admin-third/./src/js/common/modal.vue?c67e","webpack://bc-admin-third/./src/js/common/modal.vue?4869","webpack://bc-admin-third/./src/bc_custom_content/js/admin/custom_tables/form.js","webpack://bc-admin-third/webpack/bootstrap","webpack://bc-admin-third/webpack/runtime/define property getters","webpack://bc-admin-third/webpack/runtime/global","webpack://bc-admin-third/webpack/runtime/hasOwnProperty shorthand","webpack://bc-admin-third/webpack/runtime/make namespace object","webpack://bc-admin-third/webpack/runtime/runtimeId","webpack://bc-admin-third/webpack/runtime/jsonp chunk loading","webpack://bc-admin-third/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _vm.showModal\n ? _c(\"transition\", { attrs: { name: \"modal\", appear: \"\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"modal modal-overlay\",\n on: {\n click: function ($event) {\n if ($event.target !== $event.currentTarget) return null\n return _vm.closeModal.apply(null, arguments)\n },\n },\n },\n [\n _c(\"div\", { staticClass: \"modal-window\" }, [\n _c(\n \"div\",\n { staticClass: \"modal-content\" },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"footer\",\n { staticClass: \"modal-footer\" },\n [\n _vm._t(\"footer\", function () {\n return [\n _c(\n \"button\",\n {\n attrs: { type: \"button\" },\n on: { click: _vm.closeModal },\n },\n [_vm._v(\"Close\")]\n ),\n ]\n }),\n ],\n 2\n ),\n ]),\n ]\n ),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=25b6d697\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\nimport Modal from '../../../../js/common/modal.vue';\nimport axios from '../../../../../../../node_modules/axios'\n\n/**\n * Custom Links Vue\n *\n * @type {Vue}\n */\nlet customLinks = new Vue({\n\n /**\n * Element\n */\n el: '#AdminCustomTable',\n\n /**\n * data\n * @returns Object\n */\n data: function () {\n const script = $(\"#AdminCustomTablesFormScript\");\n return {\n settings: JSON.parse(script.attr('data-setting')),\n links: JSON.parse(script.attr('data-links')),\n link: {},\n field: {},\n showPreview: {},\n parentList: {},\n enabledUseLoop: true,\n enabledGroupValid: true,\n currentParentId: null,\n tableId: script.attr('data-tableId'),\n displayPreview: true,\n isAdd: script.attr('data-isAdd')\n }\n },\n\n /**\n * Components\n */\n components: {\n Modal\n },\n\n /**\n * Mounted\n */\n mounted: function () {\n // テンプレート内のツールチップがリセットされてしまうため再度ヘルプのツールチップを設定\n if(!this.isAdd) {\n $.bcUtil.initTooltip();\n }\n },\n\n /**\n * Computed\n */\n computed: {\n /**\n * 現在の関連フィールドがグループかどうか\n *\n * @returns {boolean}\n */\n isGroupLink: function () {\n if (this.link.custom_field === undefined) return false;\n return this.link.custom_field.type === 'group'\n },\n\n /**\n * 現在の関連フィールドのタイプのタイトルを取得\n *\n * @returns {boolean|*}\n */\n linkTypeTitle: function () {\n if (this.link.custom_field === undefined) return false;\n return this.settings[this.link.custom_field.type].label\n },\n\n /**\n * 現在の関連フィールドのフィールドタイトルを取得\n *\n * @returns {boolean|*}\n */\n linkFieldTitle: function () {\n if (this.link.custom_field === undefined) return false;\n return this.link.custom_field.title\n },\n\n /**\n * 配列の選択リストを取得\n *\n * @returns {{length}|*|*[]}\n */\n arraySource: function () {\n if (!this.field.source) return [];\n let arraySource = this.field.source.split(\"\\n\").map(function (v) {\n return v.replace('\\r', '');\n });\n if (arraySource.length && arraySource[0] === '') {\n return [];\n }\n return arraySource;\n },\n\n /**\n * 関連リンクの説明文にて改行タグに変換したものを取得\n *\n * @returns {string|*}\n */\n linkHtmlDescription: function () {\n if (!this.link.description) return '';\n return this.link.description.replace('\\n', '
');\n },\n\n /**\n * カスタムフィールドの編集画面へのリンクを取得\n *\n * @returns {string}\n */\n editFieldLinkUrl: function () {\n if (!this.field) return '';\n return $.bcUtil.adminBaseUrl + 'bc-custom-content/custom_fields/edit/' + this.field.id;\n },\n\n /**\n * 関連フィールドの ID より関連フィールドのタイトルを取得する\n *\n * @returns {(function(*): (*|string))|*}\n */\n linkTitleById() {\n return (id) => {\n if (this.links[id]) {\n return this.links[id].title;\n } else {\n return '';\n }\n }\n },\n\n /**\n * 関連フィールドの ID よりカスタムフィールドのタイトルを取得する\n *\n * @returns {(function(*): (*|string))|*}\n */\n linkFieldTitleById() {\n return (id) => {\n if (this.links[id]) {\n return this.links[id].custom_field.title;\n } else {\n return '';\n }\n }\n },\n\n /**\n * グループが利用可能かどうか\n *\n * @returns {boolean}\n */\n isEnabledParent: function() {\n if(!Object.keys(this.parentList).length) return false;\n return this.field.type !== 'group';\n }\n },\n\n /**\n * Methods\n */\n methods: {\n\n /**\n * テーブルを保存する\n * 保存ボタン部分が Vue.js で制御されていないため、ここで制御\n */\n saveTable: function () {\n $.bcUtil.showLoader();\n },\n\n /**\n * 関連リンク詳細を開く\n *\n * @param index\n * @returns {boolean}\n */\n openLinkDetail: function (index) {\n this.$refs.modalCustomLinkDetail.openModal(index);\n return false;\n },\n\n /**\n * 関連リンク詳細を開いた時\n *\n * @param index\n */\n linkDetailOpened: function (index) {\n this.link = Object.assign({}, this.links[index]);\n this.field = this.link.custom_field;\n this.currentParentId = this.link.parent_id;\n this.initPreview(this.link.id);\n this.loadParentList();\n this.changeGroupFunction();\n\n $.bcUtil.initTooltip({\n target: '.modal-content .bca-help',\n content: '.modal-content .bca-helptext',\n });\n\n let $preview = $(\"#CustomLinkPreview\");\n let $modelWindow = $(\".modal-window\");\n let $modalFooter = $(\".modal-footer\");\n\n // modal-window の幅が確定するまで少し待ってから フッターとプレビューの横幅を設定する\n $modalFooter.hide();\n $preview.hide();\n this.hideError();\n\n // wysiwygエディタが modal の中だと 正常動作しないという理由で、プレビューは外でレンダリングさせているため、\n // レンダリングが終わってから modal の中に移動させる\n $preview.appendTo(\".modal-content\");\n\n setTimeout(function () {\n $(\".modal-footer\")\n .css('position', 'fixed')\n .css('bottom', 0)\n .css('width', $modelWindow.width());\n $preview.css('width', $modelWindow.width());\n $modalFooter.show();\n $preview.show();\n }, 500);\n\n // 一番下までスクロールしたらプレビューを非表示にする\n $modelWindow.on('scroll', function () {\n var bottom = $('.modal-content').innerHeight() - $modelWindow.innerHeight();\n if (bottom <= $modelWindow.scrollTop()) {\n $preview.fadeOut(500);\n } else {\n if (customLinks.displayPreview && $preview.css('display') === 'none') {\n $preview.fadeIn(500);\n }\n }\n });\n },\n\n hidePreview() {\n this.displayPreview = false;\n $(\"#CustomLinkPreview\").fadeOut(500);\n },\n\n loadParentList: function() {\n let url = $.bcUtil.apiAdminBaseUrl + 'bc-custom-content/custom_links/get_parent_list/' + this.link.custom_table_id + '.json';\n axios.get(url)\n .then(response => {\n if(response.data.parentList) {\n this.parentList = response.data.parentList;\n } else {\n this.parentList = {};\n }\n });\n },\n\n /**\n * 関連リンクモーダルを閉じる\n */\n closeLinkDetail: function () {\n this.displayPreview = false;\n // プレビューを modal の外から持ってきているため、 modal を閉じるとなくなってしまうので、一旦、外部に退避\n $(\"#CustomLinkPreview\").hide().appendTo('body');\n },\n\n /**\n * プレビューを初期化する\n *\n * @param id\n */\n initPreview: function (id) {\n this.displayPreview = true;\n this.showPreview['NonSupport'] = false;\n Object.keys(this.showPreview).forEach(function (key) {\n this.showPreview[key] = false;\n }, this);\n if (id && this.links[id].custom_field.type !== 'group') {\n this.showPreview[id] = true;\n } else {\n this.showPreview['NonSupport'] = true;\n }\n },\n\n /**\n * 関連リンクを保存する\n */\n saveLink: function () {\n if(this.currentParentId !== this.link.parent_id) {\n const message = bcI18n.confirmMessageOnSaveLink;\n if(!confirm(message)) {\n return;\n }\n }\n this.hideError();\n $.bcUtil.showLoader();\n let url = $.bcUtil.apiAdminBaseUrl + 'bc-custom-content/custom_links/edit/' + this.link.id + '.json';\n const $this = this;\n $.bcToken.check(function(){\n axios.post(url, $this.link, {\n headers: {\n 'X-CSRF-Token': $.bcToken.key\n }\n })\n .then(response => {\n $.bcUtil.hideLoader();\n $this.links[$this.link.id] = $this.link;\n $this.$refs.modalCustomLinkDetail.closeModal();\n })\n .catch(error => {\n $.bcUtil.hideLoader();\n const errors = error.response.data.errors;\n if (error.response.status === 400) {\n $('.modal-content #MessageBox .alert-message').html(error.response.data.message);\n Object.keys(errors).forEach(function (name) {\n Object.keys(errors[name]).forEach(function (detail) {\n $('.error-' + name).append(errors[name][detail]).show();\n });\n });\n } else if (error.response.status === 500) {\n $('.modal-content #MessageBox .alert-message').html(error.response.data.message);\n } else {\n $('.modal-content #MessageBox .alert-message').html('予期せぬエラーが発生しました。システム管理者に連絡してください。');\n }\n $('.modal-content #MessageBox').show();\n });\n });\n },\n\n /**\n * エラーを非表示にする\n */\n hideError: function () {\n $('.modal-content .error-message').html('').hide();\n $('.modal-content #MessageBox').hide();\n },\n\n /**\n * グループ機能の状態を変更する\n */\n changeGroupFunction()\n {\n if(this.link.group_valid) {\n this.enabledUseLoop = false;\n this.link.use_loop = false;\n } else {\n this.enabledUseLoop = true;\n }\n if(this.link.use_loop) {\n this.enabledGroupValid = false;\n this.link.group_valid = false;\n } else {\n this.enabledGroupValid = true;\n }\n // right - lft が 1を超える場合は、子がいるとみなし、強制的にループ機能の変更を不可とする\n if((this.link.rght - this.link.lft) > 1) {\n this.enabledUseLoop = false;\n }\n },\n\n /**\n * 削除する\n *\n * レイアウト上の問題にて、vue.js のアプリケーション内に削除ボタンを配置する必要があるが、\n * アプリケーション内では、FormHelper::postLink() の JS が無効化されてしまうため、vue.js 内で実装。\n * API を利用していない理由は次の課題をクリアするため\n * - 削除してそのまま一覧に画面遷移する\n * - 遷移後、フラッシュメッセージを表示する\n * _Token フィールドの生成が JS上で難しいため、コントローラーにて validatePost を false にしている\n * @see Admin/CustomTablesController::beforeFilter\n */\n deleteTable() {\n if(!confirm(bcI18n.confirmDeleteMessage)) return;\n $.bcUtil.showLoader();\n const $form = $('');\n const $input = $('');\n $form.attr('action', $.bcUtil.adminBaseUrl + 'bc-custom-content/custom_tables/delete/' + this.tableId);\n $form.append($input);\n $.bcToken.check(function (){\n $input.val($.bcToken.key);\n $(\"body\").append($form);\n $form.submit();\n }, {hideLoader: false});\n }\n\n }\n\n});\n\n$(function () {\n\n init();\n changeType();\n registerEventToInUseField();\n\n /**\n * 初期化\n */\n function init() {\n\n // 階層構造を持つの表示切り替え\n $(\"input[name='type']\").click(changeType);\n\n // 利用できるフィールドを利用中のフィールドへドラッグ\n $(\"#CustomFieldSettingSource .draggable\").draggable({\n scroll: true,\n helper: 'clone',\n opacity: 0.80,\n revert: 'invalid',\n cursor: 'move',\n connectToSortable: '#CustomFieldSettingTarget',\n containment: '#CustomFieldSetting',\n start: function (event, ui) {\n jQuery(ui.helper).css({\n 'width': jQuery(this).width()\n });\n },\n });\n // 利用中のフィールドを並べ替える\n $(\"#CustomFieldSettingTarget\").sortable({\n placeholder: 'custom-field-content placeholder',\n cursor: 'move',\n revert: true,\n distance: 5,\n containment: '#CustomFieldSetting',\n zIndex: 55,\n scroll: true,\n // items を除外すると、update 実行時に、prevObject を参照できないくなるので注意\n // items: 'div.sortable',\n update: function (event, ui) {\n if ($(ui.item).attr(\"id\") !== undefined && $(ui.item).attr(\"id\").match(/^InUseField/i)) {\n updateSort();\n return;\n }\n\n // テンプレートのクラスを取得\n // \"template-field-recruit_category\" のようなクラス名\n let templateClass = 'template-field-' + $(ui.item).attr('class').split(' ').filter(value => {\n return (value.indexOf('available-field-') !== -1);\n })[0].replace('available-field-', '');\n\n let baseId = getNewBaseId();\n let inUseFieldId = 'InUseField' + (baseId);\n\n // テンプレートをクローンし、id を付与してクラスを処理\n let template = $(`.${templateClass}`).clone()\n .attr('id', inUseFieldId)\n .addClass('in-use-field')\n .removeClass('template ' + templateClass);\n // ドロップ対象の後に追加しドロップ対象は削除\n ui.item.after(template).remove();\n\n $(`#${inUseFieldId} input[name='template[name]']`).attr('name', `custom_links[new-${baseId}][name]`);\n $(`#${inUseFieldId} input[name='template[custom_field_id]']`).attr('name', `custom_links[new-${baseId}][custom_field_id]`);\n $(`#${inUseFieldId} input[name='template[sort]']`).attr('name', `custom_links[new-${baseId}][sort]`);\n $(`#${inUseFieldId} input[name='template[title]']`).attr('name', `custom_links[new-${baseId}][title]`);\n $(`#${inUseFieldId} input[name='template[display_front]']`).attr('name', `custom_links[new-${baseId}][display_front]`);\n $(`#${inUseFieldId} input[name='template[use_api]']`).attr('name', `custom_links[new-${baseId}][use_api]`);\n $(`#${inUseFieldId} input[name='template[status]']`).attr('name', `custom_links[new-${baseId}][status]`);\n\n const $nameInput = $(`#${inUseFieldId} input[name='custom_links[new-${baseId}][name]']`);\n if($nameInput.val() === 'group') {\n $nameInput.val('group_field');\n }\n\n registerEventToInUseField(inUseFieldId);\n updateSort();\n },\n });\n // 利用中のフィールドを並べ替える\n $(\".custom-field-group__inner\").sortable({\n placeholder: 'custom-field-content placeholder',\n cursor: 'move',\n revert: true,\n distance: 5,\n containment: '#CustomFieldSetting',\n zIndex: 55,\n scroll: true,\n update: function (event, ui) {\n updateSort();\n },\n });\n }\n\n /**\n * テーブルタイプに伴う表示調整\n */\n function changeType() {\n if ($(\"input[name='type']:checked\").val() === '1') {\n $('#SpanHasChild').hide();\n $('#has-child').prop('checked', false);\n $('#RowDisplayField').show();\n } else {\n $('#SpanHasChild').show();\n $('#RowDisplayField').hide();\n $('#display-field').val('title');\n }\n }\n\n /**\n * 利用中のフィールドにイベントを登録する\n *\n * @param id\n */\n function registerEventToInUseField(id) {\n if (id !== undefined) {\n id = '#' + id + ' ';\n } else {\n id = '';\n }\n // 見出し名変更\n $(id + \".custom-field-setting__name\").keyup(function () {\n $(this).parent().parent().prev().find('.custom-field-content__head-text').html($(this).val());\n });\n\n // 利用中のフィールドのボックスの開閉\n $(id + \".custom-field-content__head-setting\").click(function () {\n let $next = $(this).parent().next();\n if ($next.is(':hidden')) {\n $next.slideDown('fast');\n } else {\n $next.slideUp('fast');\n }\n });\n\n $(id + \".custom-field-content__head-delete\").click(function () {\n $(this).parent().parent().slideUp('fast', function () {\n $(this).remove();\n updateSort();\n })\n });\n }\n\n /**\n * 新しいベースIDを取得する\n *\n * @returns {number}\n */\n function getNewBaseId() {\n let max = 0;\n $(\"#CustomFieldSettingTarget .custom-field-sort\").each(function () {\n const sort = Number($(this).val());\n if (sort > max) max = sort;\n });\n return max + 1;\n }\n\n /**\n * 並び順を更新する\n *\n * グループが存在する場合は各グループごとに採番する\n */\n function updateSort() {\n let i = 1;\n $(\"#CustomFieldSettingTarget .custom-field-sort\").each(function () {\n $(this).val(i);\n i++;\n });\n $(\".custom-field-group\").each(function () {\n i = 1;\n $(this).find('.custom-field-child-sort').each(function () {\n $(this).val(i);\n i++;\n });\n });\n }\n\n});\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 7472;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7472: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(9021)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","render","_vm","this","_c","_self","showModal","attrs","name","appear","staticClass","on","click","$event","target","currentTarget","closeModal","apply","arguments","_t","_v","type","_e","_withStripped","props","scrollable","Boolean","data","methods","openModal","index","$nextTick","$","css","$emit","customLinks","Vue","el","script","settings","JSON","parse","attr","links","link","field","showPreview","parentList","enabledUseLoop","enabledGroupValid","currentParentId","tableId","displayPreview","isAdd","components","Modal","mounted","bcUtil","initTooltip","computed","isGroupLink","undefined","custom_field","linkTypeTitle","label","linkFieldTitle","title","arraySource","source","split","map","v","replace","length","linkHtmlDescription","description","editFieldLinkUrl","adminBaseUrl","id","linkTitleById","_this","linkFieldTitleById","_this2","isEnabledParent","Object","keys","saveTable","showLoader","openLinkDetail","$refs","modalCustomLinkDetail","linkDetailOpened","assign","parent_id","initPreview","loadParentList","changeGroupFunction","content","$preview","$modelWindow","$modalFooter","hide","hideError","appendTo","setTimeout","width","show","innerHeight","scrollTop","fadeOut","fadeIn","hidePreview","_this3","url","apiAdminBaseUrl","custom_table_id","axios","get","then","response","closeLinkDetail","forEach","key","saveLink","message","bcI18n","confirmMessageOnSaveLink","confirm","$this","bcToken","check","post","headers","hideLoader","error","errors","status","html","detail","append","group_valid","use_loop","rght","lft","deleteTable","confirmDeleteMessage","$form","$input","val","submit","changeType","prop","registerEventToInUseField","keyup","parent","prev","find","$next","next","is","slideDown","slideUp","remove","updateSort","i","each","draggable","scroll","helper","opacity","revert","cursor","connectToSortable","containment","start","event","ui","jQuery","sortable","placeholder","distance","zIndex","update","item","match","max","templateClass","filter","value","indexOf","baseId","sort","Number","inUseFieldId","template","concat","clone","addClass","removeClass","after","$nameInput","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","e","window","obj","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js b/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js index ca112e9f49..01036ae5ca 100644 --- a/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js +++ b/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var t,e={4959:(t,e,i)=>{var a=i(1608),r=i.n(a),o=function(){var t=this,e=t._self._c;return e("div",{attrs:{id:"FavoriteListWrap"}},[e("h2",{staticClass:"bca-nav-favorite-title"},[e("button",{staticClass:"bca-collapse__btn bca-nav-favorite-title-button",attrs:{type:"button",id:"btn-favorite-expand","data-bca-collapse":"favorite-collapse","data-bca-target":"#favoriteBody","aria-expanded":t.ariaExpanded,"aria-controls":"favoriteBody"},on:{click:t.changeOpenFavorite}},[t._v("\n "+t._s(t.i18nFavorite)+"\n "),e("i",{staticClass:"bca-icon--chevron-down bca-nav-favorite-title-icon"})])]),t._v(" "),t.favorites.length?e("ul",{staticClass:"favorite-menu-list bca-nav-favorite-list bca-collapse",style:"display:"+t.favoriteBoxOpened,attrs:{id:"favoriteBody"}},t._l(t.favorites,(function(i,a){return e("li",{key:a,staticClass:"bca-nav-favorite-list-item",attrs:{id:"FavoriteRow"+i.id,"data-id":i.id},on:{mousedown:function(e){return t.changeSelected(i)}}},[e("a",{attrs:{href:t.baseUrl+i.url,title:i.url}},[e("span",{staticClass:"bca-nav-favorite-list-item-label"},[t._v(t._s(i.name))])])])})),0):e("ul",{staticClass:"favorite-menu-list bca-nav-favorite-list bca-collapse",style:"display:"+t.favoriteBoxOpened,attrs:{id:"favoriteBody"}},[e("li",{staticClass:"no-data"},[e("small",[t._v(t._s(t.i18nNoData))])])]),t._v(" "),e("div",{staticClass:"ui-widget",attrs:{id:"FavoriteDialog"}},[e("modal",{ref:"modalFavoriteForm",attrs:{scrollable:!1,hidden:""}},[e("favorite-form",{ref:"FavoriteForm",attrs:{"user-id":t.userId,"current-page-url":t.currentPageUrl,"current-page-name":t.currentPageName,"current-favorite":t.currentFavorite},on:{formUpdated:t.formUpdated,formSubmitted:t.formSubmitted}}),t._v(" "),e("template",{slot:"footer"},[e("button",{staticClass:"bca-btn",attrs:{type:"button"},on:{click:function(e){return t.$refs.modalFavoriteForm.closeModal()}}},[t._v(t._s(t.buttonCancel))]),t._v(" \n "),e("button",{staticClass:"bca-btn",attrs:{type:"button",disabled:t.formError},on:{click:function(e){return t.$refs.FavoriteForm.formSubmit()}}},[t._v("\n "+t._s(t.buttonSubmit)+"\n ")])])],2)],1)])};o._withStripped=!0;var n=i(8071),s=function(){var t=this,e=t._self._c;return e("form",{attrs:{method:"POST",id:"FavoriteAjaxForm"}},[e("h2",{staticClass:"bca-main__header-title"},[t._v(t._s(t.windowTitle))]),t._v(" "),e("input",{attrs:{type:"hidden",name:"id"},domProps:{value:t.id}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"user_id"},domProps:{value:t.userId}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"_csrfToken"}}),t._v(" "),e("dl",[e("dt",[e("label",{attrs:{for:"FavoriteName"}},[t._v(t._s(t.labelTitle))])]),t._v(" "),e("dd",[e("span",{staticClass:"bca-textbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"name"}],staticClass:"required",attrs:{type:"text",id:"FavoriteName",placeholder:t.labelTitle,size:"30",name:"name",autofocus:""},domProps:{value:t.name},on:{input:[function(e){e.target.composing||(t.name=e.target.value)},t.formUpdated]}})]),e("br"),t._v(" "),t.$v.name.$invalid?e("div",{staticClass:"invalid-feedback"},[t._v(t._s(t.alertRequire))]):t._e()]),t._v(" "),e("dt",[e("label",{attrs:{for:"FavoriteUrl"}}),t._v(t._s(t.labelUrl))]),t._v(" "),e("dd",[e("span",{staticClass:"bca-textbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.url,expression:"url"}],staticClass:"required",attrs:{type:"text",id:"FavoriteUrl",placeholder:t.labelUrl,size:"30",name:"url"},domProps:{value:t.url},on:{input:[function(e){e.target.composing||(t.url=e.target.value)},t.formUpdated]}})]),e("br"),t._v(" "),t.$v.url.$invalid?e("div",{staticClass:"invalid-feedback"},[t._v(t._s(t.alertRequire))]):t._e()])])])};s._withStripped=!0;var l=i(9285),d=(l.validationMixin,l.default,i(8836).required);const c={name:"FavoriteForm",data:function(){return{alertRequire:bcI18n.alertRequire,windowTitle:null,addTitle:bcI18n.addTitle,editTitle:bcI18n.editTitle,labelTitle:bcI18n.labelTitle,labelUrl:bcI18n.labelUrl,name:"",url:"",id:""}},validations:{name:{required:d},url:{required:d}},props:["userId","currentPageName","currentPageUrl","currentFavorite"],mounted:function(){this.currentFavorite?(this.id=this.currentFavorite.id,this.name=this.currentFavorite.name,this.url=this.currentFavorite.url,this.windowTitle=this.editTitle):(this.name=this.currentPageName,this.url=this.currentPageUrl,this.windowTitle=this.addTitle)},methods:{formUpdated:function(){this.$emit("formUpdated",this.$v.$invalid)},formSubmit:function(){var t;t=this.id?$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/edit/"+this.id+".json":$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/add.json";var e=this.userId,i=this.name,a=this.url,r=this;$.bcToken.check((function(){n.Z.post(t,{user_id:e,name:i,url:a,_csrfToken:$.bcToken.key}).then(function(t){t.data&&($("#Waiting").hide(),$.bcToken.key=null,r.$emit("formSubmitted"))}.bind(this)).catch((function(t){if(t.response){var e=t.response.data.message+"\n",i=t.response.data.errors;Object.keys(i).forEach((function(t){Object.keys(i[t]).forEach((function(a){e=e+"\n"+i[t][a]}))})),alert(e)}else console.log("Error",t.message);$("#Waiting").hide(),$.bcToken.key=null,r.$emit("formSubmitted")}))}),{useUpdate:!1,hideLoader:!1})}}};var u=i(5440);const v=(0,u.Z)(c,s,[],!1,null,null,null).exports;var f=function(){var t=this,e=t._self._c;return t.showModal?e("transition",{attrs:{name:"modal",appear:""}},[e("div",{staticClass:"modal modal-overlay",on:{click:function(e){return e.target!==e.currentTarget?null:t.closeModal.apply(null,arguments)}}},[e("div",{staticClass:"modal-window"},[e("div",{staticClass:"modal-content"},[t._t("default")],2),t._v(" "),e("footer",{staticClass:"modal-footer"},[t._t("footer",(function(){return[e("button",{attrs:{type:"button"},on:{click:t.closeModal}},[t._v("Close")])]}))],2)])])]):t._e()};f._withStripped=!0;const h={props:{scrollable:Boolean},data:function(){return{showModal:!1}},methods:{openModal:function(t){this.showModal=!0,this.$nextTick((function(){this.scrollable?($(".modal-overlay").css("align-items","normal"),$(".modal-window").css("overflow","scroll").css("display","grid")):($(".modal-overlay").css("align-items","center"),$(".modal-window").css("overflow","hidden")),this.$emit("modal-opened",t)}))},closeModal:function(){this.$emit("modal-closed"),this.showModal=!1}}};const m={data:function(){return{favoriteBoxOpened:"none",buttonSubmit:bcI18n.buttonSubmit,buttonCancel:bcI18n.buttonCancel,i18nFavorite:bcI18n.i18nFavorite,i18nNoData:bcI18n.i18nNoData,i18nEdit:bcI18n.i18nEdit,i18nDelete:bcI18n.i18nDelete,favorites:[],ariaExpanded:"true",baseUrl:$.bcUtil.baseUrl,formError:!1,favorite:{},currentFavorite:null}},props:["userId","currentPageName","currentPageUrl"],components:{FavoriteForm:v,Modal:(0,u.Z)(h,f,[],!1,null,null,null).exports},mounted:function(){this.initFavorite()},methods:{formUpdated:function(t){this.formError=t},initFavorite:function(){this.refresh();var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/get_favorite_box_opened.json";n.Z.get(t).then(function(t){"1"===t.data.result?(this.favoriteBoxOpened="block",this.ariaExpanded="false"):(this.favoriteBoxOpened="none",this.ariaExpanded="true")}.bind(this)),$.contextMenu({selector:".favorite-menu-list li",items:{FavoriteEdit:{name:bcI18n.i18nEdit,icon:"edit"},FavoriteDelete:{name:bcI18n.i18nDelete,icon:"delete"}},callback:this.contextMenuClickHandler})},changeSelected:function(t){this.currentFavorite=t},changeOpenFavorite:function(){var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/save_favorite_box";"block"===this.favoriteBoxOpened?(this.favoriteBoxOpened="none",this.ariaExpanded="true",$.bcToken.check((function(){n.Z.post(t+".json",{},{headers:{"X-CSRF-Token":$.bcToken.key}})}),{loaderType:"none"})):(this.favoriteBoxOpened="block",this.ariaExpanded="false",$.bcToken.check((function(){n.Z.post(t+"/1.json",{},{headers:{"X-CSRF-Token":$.bcToken.key}})}),{loaderType:"none"}))},refresh:function(){var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/index.json";n.Z.get(t).then(function(t){this.favorites=t.data.favorites}.bind(this))},openModal:function(t){this.$refs.modalFavoriteForm.openModal(t)},formSubmitted:function(){this.refresh(),this.$refs.modalFavoriteForm.closeModal()},contextMenuClickHandler:function(t,e,i){switch(t){case"FavoriteEdit":this.openModal();break;case"FavoriteDelete":if(!confirm(bcI18n.commonConfirmDeleteMessage))return!1;var a=this.currentFavorite.id;$.bcToken.check((function(){$("#Waiting").show(),n.Z.post($.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/delete/"+a+".json",{},{headers:{"X-CSRF-Token":$.bcToken.key}}).then(function(t){200===t.status?$("#FavoriteRow"+a).fadeOut(300,(function(){$(this).remove()})):alert(bcI18n.alertServerError),$("#Waiting").hide()}.bind(this)).catch((function(t){alert(bcI18n.alertServerError),$("#Waiting").hide()}))}),{hideLoader:!1})}}}};const p=(0,u.Z)(m,o,[],!1,null,null,null).exports;var b=i(9285);({mounted:function(){this.initView(),this.registerEvents()},initView:function(){$("body").append($("#FavoritesMenu")),r().use(b.default),new(r())({el:"#FavoriteMenu",components:{FavoriteIndex:p}}),$("#BtnFavoriteHelp").bt({trigger:"click",positions:"top",shadow:!0,shadowOffsetX:3,shadowOffsetY:3,shadowBlur:8,shadowColor:"rgba(0,0,0,.8)",shadowOverlap:!1,noShadowOpts:{strokeStyle:"#999",strokeWidth:3},width:"360px",spikeLength:12,spikeGirth:18,padding:15,cornerRadius:0,strokeWidth:6,strokeStyle:"#690",fill:"rgba(255, 255, 255, 1.00)",cssStyles:{fontSize:"12px"},showTip:function(t){$(t).fadeIn(200)},hideTip:function(t,e){$(t).animate({opacity:0},100,e)},contentSelector:"$(this).next('.helptext').html()"}),this.initFavoriteList(),$("#FavoriteAjaxForm").validate()},registerEvents:function(){$("#BtnFavoriteAdd").click((function(){document.querySelector("#FavoriteListWrap").__vue__.openModal()})),$("#FavoriteAjaxForm").submit((function(){return!1}))},favoriteSortStartHandler:function(t,e){$("ul.favorite-menu-list .placeholder").css("height",e.item.height()),e.item.startIndex=e.item.index()},favoriteSortUpdateHandler:function(t,e){var i=$(".favorite-menu-list"),a=e.item.index()-e.item.startIndex,r=e.item.attr("data-id");$.bcToken.check((function(){var t={id:r,offset:a,_csrfToken:$.bcToken.key};return $.ajax({url:$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/change_sort.json",type:"POST",data:t,dataType:"text",beforeSend:function(){$("#Waiting").show()},success:function(t){i.find("li").each((function(t){$(this).attr("id","FavoriteRow"+t)}))},error:function(){i.sortable("cancel"),alert(bcI18n.favoriteAlertMessage1)},complete:function(){$("#Waiting").hide()}})}),{hideLoader:!1})},initFavoriteList:function(){var t=$(".favorite-menu-list"),e=$(".favorite-menu-list li");e.unbind();try{t.sortable("destroy")}catch(t){}t.sortable({scroll:!0,opacity:.8,zIndex:55,containment:"body",tolerance:"pointer",distance:5,cursor:"pointer",placeholder:"ui-widget-content placeholder",revert:100,start:this.favoriteSortStartHandler,update:this.favoriteSortUpdateHandler});var i=1;e.each((function(){$(this).attr("class").match(/no-data/)||null!=$(this).find("a").html()?($(this).attr("id","FavoriteRow"+i),i++):$(this).remove()}))}}).mounted()}},i={};function a(t){var r=i[t];if(void 0!==r)return r.exports;var o=i[t]={exports:{}};return e[t].call(o.exports,o,o.exports,a),o.exports}a.m=e,t=[],a.O=(e,i,r,o)=>{if(!i){var n=1/0;for(c=0;c=o)&&Object.keys(a.O).every((t=>a.O[t](i[l])))?i.splice(l--,1):(s=!1,o0&&t[c-1][2]>o;c--)t[c]=t[c-1];t[c]=[i,r,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.j=7689,(()=>{var t={7689:0};a.O.j=e=>0===t[e];var e=(e,i)=>{var r,o,[n,s,l]=i,d=0;if(n.some((e=>0!==t[e]))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(l)var c=l(a)}for(e&&e(i);da(4959)));r=a.O(r)})(); +(()=>{"use strict";var t,e={1754:(t,e,i)=>{var a=i(1608),r=i.n(a),o=function(){var t=this,e=t._self._c;return e("div",{attrs:{id:"FavoriteListWrap"}},[e("h2",{staticClass:"bca-nav-favorite-title"},[e("button",{staticClass:"bca-collapse__btn bca-nav-favorite-title-button",attrs:{type:"button",id:"btn-favorite-expand","data-bca-collapse":"favorite-collapse","data-bca-target":"#favoriteBody","aria-expanded":t.ariaExpanded,"aria-controls":"favoriteBody"},on:{click:t.changeOpenFavorite}},[t._v("\n "+t._s(t.i18nFavorite)+"\n "),e("i",{staticClass:"bca-icon--chevron-down bca-nav-favorite-title-icon"})])]),t._v(" "),t.favorites.length?e("ul",{staticClass:"favorite-menu-list bca-nav-favorite-list bca-collapse",style:"display:"+t.favoriteBoxOpened,attrs:{id:"favoriteBody"}},t._l(t.favorites,(function(i,a){return e("li",{key:a,staticClass:"bca-nav-favorite-list-item",attrs:{id:"FavoriteRow"+i.id,"data-id":i.id},on:{mousedown:function(e){return t.changeSelected(i)}}},[e("a",{attrs:{href:t.baseUrl+i.url,title:i.url}},[e("span",{staticClass:"bca-nav-favorite-list-item-label"},[t._v(t._s(i.name))])])])})),0):e("ul",{staticClass:"favorite-menu-list bca-nav-favorite-list bca-collapse",style:"display:"+t.favoriteBoxOpened,attrs:{id:"favoriteBody"}},[e("li",{staticClass:"no-data"},[e("small",[t._v(t._s(t.i18nNoData))])])]),t._v(" "),e("div",{staticClass:"ui-widget",attrs:{id:"FavoriteDialog"}},[e("modal",{ref:"modalFavoriteForm",attrs:{scrollable:!1,hidden:""}},[e("favorite-form",{ref:"FavoriteForm",attrs:{"user-id":t.userId,"current-page-url":t.currentPageUrl,"current-page-name":t.currentPageName,"current-favorite":t.currentFavorite},on:{formUpdated:t.formUpdated,formSubmitted:t.formSubmitted}}),t._v(" "),e("template",{slot:"footer"},[e("button",{staticClass:"bca-btn",attrs:{type:"button"},on:{click:function(e){return t.$refs.modalFavoriteForm.closeModal()}}},[t._v(t._s(t.buttonCancel))]),t._v(" \n "),e("button",{staticClass:"bca-btn",attrs:{type:"button",disabled:t.formError},on:{click:function(e){return t.$refs.FavoriteForm.formSubmit()}}},[t._v("\n "+t._s(t.buttonSubmit)+"\n ")])])],2)],1)])};o._withStripped=!0;var n=i(8071),s=function(){var t=this,e=t._self._c;return e("form",{attrs:{method:"POST",id:"FavoriteAjaxForm"}},[e("h2",{staticClass:"bca-main__header-title"},[t._v(t._s(t.windowTitle))]),t._v(" "),e("input",{attrs:{type:"hidden",name:"id"},domProps:{value:t.id}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"user_id"},domProps:{value:t.userId}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"_csrfToken"}}),t._v(" "),e("dl",[e("dt",[e("label",{attrs:{for:"FavoriteName"}},[t._v(t._s(t.labelTitle))])]),t._v(" "),e("dd",[e("span",{staticClass:"bca-textbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"name"}],staticClass:"required",attrs:{type:"text",id:"FavoriteName",placeholder:t.labelTitle,size:"30",name:"name",autofocus:""},domProps:{value:t.name},on:{input:[function(e){e.target.composing||(t.name=e.target.value)},t.formUpdated]}})]),e("br"),t._v(" "),t.$v.name.$invalid?e("div",{staticClass:"invalid-feedback"},[t._v(t._s(t.alertRequire))]):t._e()]),t._v(" "),e("dt",[e("label",{attrs:{for:"FavoriteUrl"}}),t._v(t._s(t.labelUrl))]),t._v(" "),e("dd",[e("span",{staticClass:"bca-textbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.url,expression:"url"}],staticClass:"required",attrs:{type:"text",id:"FavoriteUrl",placeholder:t.labelUrl,size:"30",name:"url"},domProps:{value:t.url},on:{input:[function(e){e.target.composing||(t.url=e.target.value)},t.formUpdated]}})]),e("br"),t._v(" "),t.$v.url.$invalid?e("div",{staticClass:"invalid-feedback"},[t._v(t._s(t.alertRequire))]):t._e()])])])};s._withStripped=!0;var l=i(9285),d=(l.validationMixin,l.default,i(8836).required);const c={name:"FavoriteForm",data:function(){return{alertRequire:bcI18n.alertRequire,windowTitle:null,addTitle:bcI18n.addTitle,editTitle:bcI18n.editTitle,labelTitle:bcI18n.labelTitle,labelUrl:bcI18n.labelUrl,name:"",url:"",id:""}},validations:{name:{required:d},url:{required:d}},props:["userId","currentPageName","currentPageUrl","currentFavorite"],mounted:function(){this.currentFavorite?(this.id=this.currentFavorite.id,this.name=this.currentFavorite.name,this.url=this.currentFavorite.url,this.windowTitle=this.editTitle):(this.name=this.currentPageName,this.url=this.currentPageUrl,this.windowTitle=this.addTitle)},methods:{formUpdated:function(){this.$emit("formUpdated",this.$v.$invalid)},formSubmit:function(){var t;t=this.id?$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/edit/"+this.id+".json":$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/add.json";var e=this.userId,i=this.name,a=this.url,r=this;$.bcToken.check((function(){n.Z.post(t,{user_id:e,name:i,url:a,_csrfToken:$.bcToken.key}).then(function(t){t.data&&($("#Waiting").hide(),$.bcToken.key=null,r.$emit("formSubmitted"))}.bind(this)).catch((function(t){if(t.response){var e=t.response.data.message+"\n",i=t.response.data.errors;Object.keys(i).forEach((function(t){Object.keys(i[t]).forEach((function(a){e=e+"\n"+i[t][a]}))})),alert(e)}else console.log("Error",t.message);$("#Waiting").hide(),$.bcToken.key=null,r.$emit("formSubmitted")}))}),{useUpdate:!1,hideLoader:!1})}}};var u=i(5440);const v=(0,u.Z)(c,s,[],!1,null,null,null).exports;var f=function(){var t=this,e=t._self._c;return t.showModal?e("transition",{attrs:{name:"modal",appear:""}},[e("div",{staticClass:"modal modal-overlay",on:{click:function(e){return e.target!==e.currentTarget?null:t.closeModal.apply(null,arguments)}}},[e("div",{staticClass:"modal-window"},[e("div",{staticClass:"modal-content"},[t._t("default")],2),t._v(" "),e("footer",{staticClass:"modal-footer"},[t._t("footer",(function(){return[e("button",{attrs:{type:"button"},on:{click:t.closeModal}},[t._v("Close")])]}))],2)])])]):t._e()};f._withStripped=!0;const h={props:{scrollable:Boolean},data:function(){return{showModal:!1}},methods:{openModal:function(t){this.showModal=!0,this.$nextTick((function(){this.scrollable?($(".modal-overlay").css("align-items","normal"),$(".modal-window").css("overflow","scroll").css("display","grid")):($(".modal-overlay").css("align-items","center"),$(".modal-window").css("overflow","hidden")),this.$emit("modal-opened",t)}))},closeModal:function(){this.$emit("modal-closed"),this.showModal=!1}}};const m={data:function(){return{favoriteBoxOpened:"none",buttonSubmit:bcI18n.buttonSubmit,buttonCancel:bcI18n.buttonCancel,i18nFavorite:bcI18n.i18nFavorite,i18nNoData:bcI18n.i18nNoData,i18nEdit:bcI18n.i18nEdit,i18nDelete:bcI18n.i18nDelete,favorites:[],ariaExpanded:"true",baseUrl:$.bcUtil.baseUrl,formError:!1,favorite:{},currentFavorite:null}},props:["userId","currentPageName","currentPageUrl"],components:{FavoriteForm:v,Modal:(0,u.Z)(h,f,[],!1,null,null,null).exports},mounted:function(){this.initFavorite()},methods:{formUpdated:function(t){this.formError=t},initFavorite:function(){this.refresh();var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/get_favorite_box_opened.json";n.Z.get(t).then(function(t){"1"===t.data.result?(this.favoriteBoxOpened="block",this.ariaExpanded="false"):(this.favoriteBoxOpened="none",this.ariaExpanded="true")}.bind(this)),$.contextMenu({selector:".favorite-menu-list li",items:{FavoriteEdit:{name:bcI18n.i18nEdit,icon:"edit"},FavoriteDelete:{name:bcI18n.i18nDelete,icon:"delete"}},callback:this.contextMenuClickHandler})},changeSelected:function(t){this.currentFavorite=t},changeOpenFavorite:function(){var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/save_favorite_box";"block"===this.favoriteBoxOpened?(this.favoriteBoxOpened="none",this.ariaExpanded="true",$.bcToken.check((function(){n.Z.post(t+".json",{},{headers:{"X-CSRF-Token":$.bcToken.key}})}),{loaderType:"none"})):(this.favoriteBoxOpened="block",this.ariaExpanded="false",$.bcToken.check((function(){n.Z.post(t+"/1.json",{},{headers:{"X-CSRF-Token":$.bcToken.key}})}),{loaderType:"none"}))},refresh:function(){var t=$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/index.json";n.Z.get(t).then(function(t){this.favorites=t.data.favorites}.bind(this))},openModal:function(t){this.$refs.modalFavoriteForm.openModal(t)},formSubmitted:function(){this.refresh(),this.currentFavorite=null,this.$refs.modalFavoriteForm.closeModal()},contextMenuClickHandler:function(t,e,i){switch(t){case"FavoriteEdit":this.openModal();break;case"FavoriteDelete":if(!confirm(bcI18n.commonConfirmDeleteMessage))return!1;var a=this.currentFavorite.id,r=this;$.bcToken.check((function(){$("#Waiting").show(),n.Z.post($.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/delete/"+a+".json",{},{headers:{"X-CSRF-Token":$.bcToken.key}}).then(function(t){200===t.status?(r.refresh(),r.currentFavorite=null):alert(bcI18n.alertServerError),$("#Waiting").hide()}.bind(this)).catch((function(t){alert(bcI18n.alertServerError),$("#Waiting").hide()}))}),{hideLoader:!1})}}}};const p=(0,u.Z)(m,o,[],!1,null,null,null).exports;var b=i(9285);({mounted:function(){this.initView(),this.registerEvents()},initView:function(){$("body").append($("#FavoritesMenu")),r().use(b.default),new(r())({el:"#FavoriteMenu",components:{FavoriteIndex:p}}),$("#BtnFavoriteHelp").bt({trigger:"click",positions:"top",shadow:!0,shadowOffsetX:3,shadowOffsetY:3,shadowBlur:8,shadowColor:"rgba(0,0,0,.8)",shadowOverlap:!1,noShadowOpts:{strokeStyle:"#999",strokeWidth:3},width:"360px",spikeLength:12,spikeGirth:18,padding:15,cornerRadius:0,strokeWidth:6,strokeStyle:"#690",fill:"rgba(255, 255, 255, 1.00)",cssStyles:{fontSize:"12px"},showTip:function(t){$(t).fadeIn(200)},hideTip:function(t,e){$(t).animate({opacity:0},100,e)},contentSelector:"$(this).next('.helptext').html()"}),this.initFavoriteList(),$("#FavoriteAjaxForm").validate()},registerEvents:function(){$("#BtnFavoriteAdd").click((function(){document.querySelector("#FavoriteListWrap").__vue__.openModal()})),$("#FavoriteAjaxForm").submit((function(){return!1}))},favoriteSortStartHandler:function(t,e){$("ul.favorite-menu-list .placeholder").css("height",e.item.height()),e.item.startIndex=e.item.index()},favoriteSortUpdateHandler:function(t,e){var i=$(".favorite-menu-list"),a=e.item.index()-e.item.startIndex,r=e.item.attr("data-id");$.bcToken.check((function(){var t={id:r,offset:a,_csrfToken:$.bcToken.key};return $.ajax({url:$.bcUtil.apiAdminBaseUrl+"bc-favorite/favorites/change_sort.json",type:"POST",data:t,dataType:"text",beforeSend:function(){$("#Waiting").show()},success:function(t){i.find("li").each((function(t){$(this).attr("id","FavoriteRow"+t)}))},error:function(){i.sortable("cancel"),alert(bcI18n.favoriteAlertMessage1)},complete:function(){$("#Waiting").hide()}})}),{hideLoader:!1})},initFavoriteList:function(){var t=$(".favorite-menu-list"),e=$(".favorite-menu-list li");e.unbind();try{t.sortable("destroy")}catch(t){}t.sortable({scroll:!0,opacity:.8,zIndex:55,containment:"body",tolerance:"pointer",distance:5,cursor:"pointer",placeholder:"ui-widget-content placeholder",revert:100,start:this.favoriteSortStartHandler,update:this.favoriteSortUpdateHandler});var i=1;e.each((function(){$(this).attr("class").match(/no-data/)||null!=$(this).find("a").html()?($(this).attr("id","FavoriteRow"+i),i++):$(this).remove()}))}}).mounted()}},i={};function a(t){var r=i[t];if(void 0!==r)return r.exports;var o=i[t]={exports:{}};return e[t].call(o.exports,o,o.exports,a),o.exports}a.m=e,t=[],a.O=(e,i,r,o)=>{if(!i){var n=1/0;for(c=0;c=o)&&Object.keys(a.O).every((t=>a.O[t](i[l])))?i.splice(l--,1):(s=!1,o0&&t[c-1][2]>o;c--)t[c]=t[c-1];t[c]=[i,r,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.j=7689,(()=>{var t={7689:0};a.O.j=e=>0===t[e];var e=(e,i)=>{var r,o,[n,s,l]=i,d=0;if(n.some((e=>0!==t[e]))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(l)var c=l(a)}for(e&&e(i);da(1754)));r=a.O(r)})(); //# sourceMappingURL=main.bundle.js.map \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js.map b/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js.map index 5679e74ff0..0c935cef5b 100644 --- a/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js.map +++ b/plugins/bc-admin-third/webroot/bc_favorite/js/admin/favorites/main.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bc_favorite/js/admin/favorites/main.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/webpack/runtime/chunk loaded","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue","webpack://bc-admin-third/src/bc_favorite/js/admin/favorites/form.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue?ade0","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue?26b7","webpack://bc-admin-third/./src/js/common/modal.vue","webpack://bc-admin-third/src/js/common/modal.vue","webpack://bc-admin-third/./src/js/common/modal.vue?c67e","webpack://bc-admin-third/./src/js/common/modal.vue?4869","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue?305a","webpack://bc-admin-third/src/bc_favorite/js/admin/favorites/index.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue?cdc0","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/main.js","webpack://bc-admin-third/webpack/bootstrap","webpack://bc-admin-third/webpack/runtime/compat get default export","webpack://bc-admin-third/webpack/runtime/define property getters","webpack://bc-admin-third/webpack/runtime/global","webpack://bc-admin-third/webpack/runtime/hasOwnProperty shorthand","webpack://bc-admin-third/webpack/runtime/make namespace object","webpack://bc-admin-third/webpack/runtime/runtimeId","webpack://bc-admin-third/webpack/runtime/jsonp chunk loading","webpack://bc-admin-third/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\"div\", { attrs: { id: \"FavoriteListWrap\" } }, [\n _c(\"h2\", { staticClass: \"bca-nav-favorite-title\" }, [\n _c(\n \"button\",\n {\n staticClass: \"bca-collapse__btn bca-nav-favorite-title-button\",\n attrs: {\n type: \"button\",\n id: \"btn-favorite-expand\",\n \"data-bca-collapse\": \"favorite-collapse\",\n \"data-bca-target\": \"#favoriteBody\",\n \"aria-expanded\": _vm.ariaExpanded,\n \"aria-controls\": \"favoriteBody\",\n },\n on: { click: _vm.changeOpenFavorite },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.i18nFavorite) + \"\\n \"\n ),\n _c(\"i\", {\n staticClass: \"bca-icon--chevron-down bca-nav-favorite-title-icon\",\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _vm.favorites.length\n ? _c(\n \"ul\",\n {\n staticClass:\n \"favorite-menu-list bca-nav-favorite-list bca-collapse\",\n style: \"display:\" + _vm.favoriteBoxOpened,\n attrs: { id: \"favoriteBody\" },\n },\n _vm._l(_vm.favorites, function (favorite, i) {\n return _c(\n \"li\",\n {\n key: i,\n staticClass: \"bca-nav-favorite-list-item\",\n attrs: {\n id: \"FavoriteRow\" + favorite.id,\n \"data-id\": favorite.id,\n },\n on: {\n mousedown: function ($event) {\n return _vm.changeSelected(favorite)\n },\n },\n },\n [\n _c(\n \"a\",\n {\n attrs: {\n href: _vm.baseUrl + favorite.url,\n title: favorite.url,\n },\n },\n [\n _c(\n \"span\",\n { staticClass: \"bca-nav-favorite-list-item-label\" },\n [_vm._v(_vm._s(favorite.name))]\n ),\n ]\n ),\n ]\n )\n }),\n 0\n )\n : _c(\n \"ul\",\n {\n staticClass:\n \"favorite-menu-list bca-nav-favorite-list bca-collapse\",\n style: \"display:\" + _vm.favoriteBoxOpened,\n attrs: { id: \"favoriteBody\" },\n },\n [\n _c(\"li\", { staticClass: \"no-data\" }, [\n _c(\"small\", [_vm._v(_vm._s(_vm.i18nNoData))]),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"ui-widget\", attrs: { id: \"FavoriteDialog\" } },\n [\n _c(\n \"modal\",\n {\n ref: \"modalFavoriteForm\",\n attrs: { scrollable: false, hidden: \"\" },\n },\n [\n _c(\"favorite-form\", {\n ref: \"FavoriteForm\",\n attrs: {\n \"user-id\": _vm.userId,\n \"current-page-url\": _vm.currentPageUrl,\n \"current-page-name\": _vm.currentPageName,\n \"current-favorite\": _vm.currentFavorite,\n },\n on: {\n formUpdated: _vm.formUpdated,\n formSubmitted: _vm.formSubmitted,\n },\n }),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"bca-btn\",\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n return _vm.$refs.modalFavoriteForm.closeModal()\n },\n },\n },\n [_vm._v(_vm._s(_vm.buttonCancel))]\n ),\n _vm._v(\" \\n \"),\n _c(\n \"button\",\n {\n staticClass: \"bca-btn\",\n attrs: { type: \"button\", disabled: _vm.formError },\n on: {\n click: function ($event) {\n return _vm.$refs.FavoriteForm.formSubmit()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.buttonSubmit) +\n \"\\n \"\n ),\n ]\n ),\n ]),\n ],\n 2\n ),\n ],\n 1\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\"form\", { attrs: { method: \"POST\", id: \"FavoriteAjaxForm\" } }, [\n _c(\"h2\", { staticClass: \"bca-main__header-title\" }, [\n _vm._v(_vm._s(_vm.windowTitle)),\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", name: \"id\" },\n domProps: { value: _vm.id },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", name: \"user_id\" },\n domProps: { value: _vm.userId },\n }),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", name: \"_csrfToken\" } }),\n _vm._v(\" \"),\n _c(\"dl\", [\n _c(\"dt\", [\n _c(\"label\", { attrs: { for: \"FavoriteName\" } }, [\n _vm._v(_vm._s(_vm.labelTitle)),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"dd\", [\n _c(\"span\", { staticClass: \"bca-textbox\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.name,\n expression: \"name\",\n },\n ],\n staticClass: \"required\",\n attrs: {\n type: \"text\",\n id: \"FavoriteName\",\n placeholder: _vm.labelTitle,\n size: \"30\",\n name: \"name\",\n autofocus: \"\",\n },\n domProps: { value: _vm.name },\n on: {\n input: [\n function ($event) {\n if ($event.target.composing) return\n _vm.name = $event.target.value\n },\n _vm.formUpdated,\n ],\n },\n }),\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm.$v.name.$invalid\n ? _c(\"div\", { staticClass: \"invalid-feedback\" }, [\n _vm._v(_vm._s(_vm.alertRequire)),\n ])\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"dt\", [\n _c(\"label\", { attrs: { for: \"FavoriteUrl\" } }),\n _vm._v(_vm._s(_vm.labelUrl)),\n ]),\n _vm._v(\" \"),\n _c(\"dd\", [\n _c(\"span\", { staticClass: \"bca-textbox\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.url,\n expression: \"url\",\n },\n ],\n staticClass: \"required\",\n attrs: {\n type: \"text\",\n id: \"FavoriteUrl\",\n placeholder: _vm.labelUrl,\n size: \"30\",\n name: \"url\",\n },\n domProps: { value: _vm.url },\n on: {\n input: [\n function ($event) {\n if ($event.target.composing) return\n _vm.url = $event.target.value\n },\n _vm.formUpdated,\n ],\n },\n }),\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm.$v.url.$invalid\n ? _c(\"div\", { staticClass: \"invalid-feedback\" }, [\n _vm._v(_vm._s(_vm.alertRequire)),\n ])\n : _vm._e(),\n ]),\n ]),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./form.vue?vue&type=template&id=1472c2b6\"\nimport script from \"./form.vue?vue&type=script&lang=js\"\nexport * from \"./form.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _vm.showModal\n ? _c(\"transition\", { attrs: { name: \"modal\", appear: \"\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"modal modal-overlay\",\n on: {\n click: function ($event) {\n if ($event.target !== $event.currentTarget) return null\n return _vm.closeModal.apply(null, arguments)\n },\n },\n },\n [\n _c(\"div\", { staticClass: \"modal-window\" }, [\n _c(\n \"div\",\n { staticClass: \"modal-content\" },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"footer\",\n { staticClass: \"modal-footer\" },\n [\n _vm._t(\"footer\", function () {\n return [\n _c(\n \"button\",\n {\n attrs: { type: \"button\" },\n on: { click: _vm.closeModal },\n },\n [_vm._v(\"Close\")]\n ),\n ]\n }),\n ],\n 2\n ),\n ]),\n ]\n ),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=25b6d697\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2848a746\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS User Community \n *\n * @copyright Copyright (c) baserCMS User Community\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license http://basercms.net/license/index.html MIT License\n */\n\nimport Vue from 'vue/dist/vue.js'\nimport FavoriteIndex from \"./index.vue\";\nimport Vuelidate from 'vuelidate'\n\n/**\n * よく使う項目の処理を行う\n */\n\nconst favoriteList = {\n\n /**\n * 初期化\n */\n mounted() {\n this.initView();\n this.registerEvents();\n },\n\n /**\n * 表示初期化\n */\n initView() {\n $(\"body\").append($(\"#FavoritesMenu\"));\n\n Vue.use(Vuelidate)\n new Vue({\n el: '#FavoriteMenu',\n components: {\n FavoriteIndex\n },\n });\n\n $(\"#BtnFavoriteHelp\").bt({\n trigger: 'click',\n positions: 'top',\n shadow: true,\n shadowOffsetX: 3,\n shadowOffsetY: 3,\n shadowBlur: 8,\n shadowColor: 'rgba(0,0,0,.8)',\n shadowOverlap: false,\n noShadowOpts: {\n strokeStyle: '#999',\n strokeWidth: 3\n },\n width: '360px',\n spikeLength: 12,\n spikeGirth: 18,\n padding: 15,\n cornerRadius: 0,\n strokeWidth: 6, /*no stroke*/\n strokeStyle: '#690',\n fill: 'rgba(255, 255, 255, 1.00)',\n cssStyles: {\n fontSize: '12px'\n },\n showTip: function (box) {\n $(box).fadeIn(200);\n },\n hideTip: function (box, callback) {\n $(box).animate({\n opacity: 0\n }, 100, callback);\n },\n contentSelector: \"$(this).next('.helptext').html()\"\n });\n\n // お気に入り初期化\n this.initFavoriteList();\n\n // バリデーション\n $(\"#FavoriteAjaxForm\").validate();\n\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BtnFavoriteAdd\").click(function () {\n document.querySelector('#FavoriteListWrap').__vue__.openModal();\n });\n $(\"#FavoriteAjaxForm\").submit(function () {\n return false\n });\n },\n\n /**\n * 並び替え開始時イベント\n */\n favoriteSortStartHandler(event, ui) {\n $(\"ul.favorite-menu-list .placeholder\").css('height', ui.item.height());\n ui.item.startIndex = ui.item.index();\n },\n\n /**\n * 並び順を更新時イベント\n */\n favoriteSortUpdateHandler(event, ui) {\n var $sortTable = $(\".favorite-menu-list\");\n var offset = ui.item.index() - ui.item.startIndex;\n var id = ui.item.attr('data-id');\n\n $.bcToken.check(function () {\n var data = {\n 'id': id,\n 'offset': offset,\n '_csrfToken': $.bcToken.key\n };\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'bc-favorite/favorites/change_sort.json',\n type: 'POST',\n data: data,\n dataType: 'text',\n beforeSend: function () {\n $(\"#Waiting\").show();\n },\n success: function (result) {\n $sortTable.find(\"li\").each(function (index) {\n $(this).attr('id', 'FavoriteRow' + index);\n });\n },\n error: function () {\n $sortTable.sortable(\"cancel\");\n alert(bcI18n.favoriteAlertMessage1);\n },\n complete: function () {\n $(\"#Waiting\").hide();\n }\n });\n }, {hideLoader: false});\n },\n\n /**\n * 行を初期化\n */\n initFavoriteList() {\n const $favoriteMenuList = $(\".favorite-menu-list\");\n const $favoriteMenuListLi = $(\".favorite-menu-list li\");\n\n // イベント削除\n $favoriteMenuListLi.unbind();\n try {\n $favoriteMenuList.sortable(\"destroy\");\n } catch (e) {\n }\n\n $favoriteMenuList.sortable({\n scroll: true,\n opacity: 0.80,\n zIndex: 55,\n containment: 'body',\n tolerance: 'pointer',\n distance: 5,\n cursor: 'pointer',\n placeholder: 'ui-widget-content placeholder',\n /*handle: \".favorite-menu-list li a\",*/\n revert: 100,\n start: this.favoriteSortStartHandler,\n update: this.favoriteSortUpdateHandler\n });\n\n var i = 1;\n $favoriteMenuListLi.each(function () {\n // アクセス制限によってリンクが出力されていない場合はLIごと削除する\n if (!$(this).attr('class').match(/no-data/) && $(this).find('a').html() == null) {\n $(this).remove();\n } else {\n $(this).attr('id', 'FavoriteRow' + (i));\n i++;\n }\n });\n }\n}\n\n\nfavoriteList.mounted();\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 7689;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7689: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(4959)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","render","_vm","this","_c","_self","attrs","id","staticClass","type","ariaExpanded","on","click","changeOpenFavorite","_v","_s","i18nFavorite","favorites","length","style","favoriteBoxOpened","_l","favorite","i","key","mousedown","$event","changeSelected","href","baseUrl","url","title","name","i18nNoData","ref","scrollable","hidden","userId","currentPageUrl","currentPageName","currentFavorite","formUpdated","formSubmitted","slot","$refs","modalFavoriteForm","closeModal","buttonCancel","disabled","formError","FavoriteForm","formSubmit","buttonSubmit","_withStripped","method","windowTitle","domProps","value","for","labelTitle","directives","rawName","expression","placeholder","size","autofocus","input","target","composing","$v","$invalid","alertRequire","_e","labelUrl","_require","require","required","validationMixin","data","bcI18n","addTitle","editTitle","validations","props","mounted","methods","$emit","apiUrl","$","bcUtil","apiAdminBaseUrl","favoriteForm","bcToken","check","axios","post","user_id","_csrfToken","then","response","hide","bind","error","errorMessage","message","errors","Object","keys","forEach","subKey","alert","console","log","useUpdate","hideLoader","showModal","appear","currentTarget","apply","arguments","_t","Boolean","openModal","index","$nextTick","css","i18nEdit","i18nDelete","components","Modal","initFavorite","refresh","get","result","contextMenu","selector","items","icon","callback","contextMenuClickHandler","headers","loaderType","indexUrl","options","res","confirm","commonConfirmDeleteMessage","show","status","fadeOut","remove","alertServerError","initView","registerEvents","append","Vue","Vuelidate","el","FavoriteIndex","bt","trigger","positions","shadow","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","shadowOverlap","noShadowOpts","strokeStyle","strokeWidth","width","spikeLength","spikeGirth","padding","cornerRadius","fill","cssStyles","fontSize","showTip","box","fadeIn","hideTip","animate","opacity","contentSelector","initFavoriteList","validate","document","querySelector","__vue__","submit","favoriteSortStartHandler","event","ui","item","height","startIndex","favoriteSortUpdateHandler","$sortTable","offset","attr","ajax","dataType","beforeSend","success","find","each","sortable","favoriteAlertMessage1","complete","$favoriteMenuList","$favoriteMenuListLi","unbind","e","scroll","zIndex","containment","tolerance","distance","cursor","revert","start","update","match","html","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bc_favorite/js/admin/favorites/main.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/webpack/runtime/chunk loaded","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue","webpack://bc-admin-third/src/bc_favorite/js/admin/favorites/form.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue?ade0","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/form.vue?26b7","webpack://bc-admin-third/./src/js/common/modal.vue","webpack://bc-admin-third/src/js/common/modal.vue","webpack://bc-admin-third/./src/js/common/modal.vue?c67e","webpack://bc-admin-third/./src/js/common/modal.vue?4869","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue?305a","webpack://bc-admin-third/src/bc_favorite/js/admin/favorites/index.vue","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/index.vue?cdc0","webpack://bc-admin-third/./src/bc_favorite/js/admin/favorites/main.js","webpack://bc-admin-third/webpack/bootstrap","webpack://bc-admin-third/webpack/runtime/compat get default export","webpack://bc-admin-third/webpack/runtime/define property getters","webpack://bc-admin-third/webpack/runtime/global","webpack://bc-admin-third/webpack/runtime/hasOwnProperty shorthand","webpack://bc-admin-third/webpack/runtime/make namespace object","webpack://bc-admin-third/webpack/runtime/runtimeId","webpack://bc-admin-third/webpack/runtime/jsonp chunk loading","webpack://bc-admin-third/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"FavoriteListWrap\"}},[_c('h2',{staticClass:\"bca-nav-favorite-title\"},[_c('button',{staticClass:\"bca-collapse__btn bca-nav-favorite-title-button\",attrs:{\"type\":\"button\",\"id\":\"btn-favorite-expand\",\"data-bca-collapse\":\"favorite-collapse\",\"data-bca-target\":\"#favoriteBody\",\"aria-expanded\":_vm.ariaExpanded,\"aria-controls\":\"favoriteBody\"},on:{\"click\":_vm.changeOpenFavorite}},[_vm._v(\"\\n \"+_vm._s(_vm.i18nFavorite)+\"\\n \"),_c('i',{staticClass:\"bca-icon--chevron-down bca-nav-favorite-title-icon\"})])]),_vm._v(\" \"),(_vm.favorites.length)?_c('ul',{staticClass:\"favorite-menu-list bca-nav-favorite-list bca-collapse\",style:('display:' + _vm.favoriteBoxOpened),attrs:{\"id\":\"favoriteBody\"}},_vm._l((_vm.favorites),function(favorite,i){return _c('li',{key:i,staticClass:\"bca-nav-favorite-list-item\",attrs:{\"id\":'FavoriteRow' + favorite.id,\"data-id\":favorite.id},on:{\"mousedown\":function($event){return _vm.changeSelected(favorite)}}},[_c('a',{attrs:{\"href\":_vm.baseUrl + favorite.url,\"title\":favorite.url}},[_c('span',{staticClass:\"bca-nav-favorite-list-item-label\"},[_vm._v(_vm._s(favorite.name))])])])}),0):_c('ul',{staticClass:\"favorite-menu-list bca-nav-favorite-list bca-collapse\",style:('display:' + _vm.favoriteBoxOpened),attrs:{\"id\":\"favoriteBody\"}},[_c('li',{staticClass:\"no-data\"},[_c('small',[_vm._v(_vm._s(_vm.i18nNoData))])])]),_vm._v(\" \"),_c('div',{staticClass:\"ui-widget\",attrs:{\"id\":\"FavoriteDialog\"}},[_c('modal',{ref:\"modalFavoriteForm\",attrs:{\"scrollable\":false,\"hidden\":\"\"}},[_c('favorite-form',{ref:\"FavoriteForm\",attrs:{\"user-id\":_vm.userId,\"current-page-url\":_vm.currentPageUrl,\"current-page-name\":_vm.currentPageName,\"current-favorite\":_vm.currentFavorite},on:{\"formUpdated\":_vm.formUpdated,\"formSubmitted\":_vm.formSubmitted}}),_vm._v(\" \"),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"bca-btn\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$refs.modalFavoriteForm.closeModal()}}},[_vm._v(_vm._s(_vm.buttonCancel))]),_vm._v(\" \\n \"),_c('button',{staticClass:\"bca-btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.formError},on:{\"click\":function($event){return _vm.$refs.FavoriteForm.formSubmit()}}},[_vm._v(\"\\n \"+_vm._s(_vm.buttonSubmit)+\"\\n \")])])],2)],1)])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{attrs:{\"method\":\"POST\",\"id\":\"FavoriteAjaxForm\"}},[_c('h2',{staticClass:\"bca-main__header-title\"},[_vm._v(_vm._s(_vm.windowTitle))]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"id\"},domProps:{\"value\":_vm.id}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"user_id\"},domProps:{\"value\":_vm.userId}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"_csrfToken\"}}),_vm._v(\" \"),_c('dl',[_c('dt',[_c('label',{attrs:{\"for\":\"FavoriteName\"}},[_vm._v(_vm._s(_vm.labelTitle))])]),_vm._v(\" \"),_c('dd',[_c('span',{staticClass:\"bca-textbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"required\",attrs:{\"type\":\"text\",\"id\":\"FavoriteName\",\"placeholder\":_vm.labelTitle,\"size\":\"30\",\"name\":\"name\",\"autofocus\":\"\"},domProps:{\"value\":(_vm.name)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.name=$event.target.value},_vm.formUpdated]}})]),_c('br'),_vm._v(\" \"),(_vm.$v.name.$invalid)?_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.alertRequire))]):_vm._e()]),_vm._v(\" \"),_c('dt',[_c('label',{attrs:{\"for\":\"FavoriteUrl\"}}),_vm._v(_vm._s(_vm.labelUrl))]),_vm._v(\" \"),_c('dd',[_c('span',{staticClass:\"bca-textbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"required\",attrs:{\"type\":\"text\",\"id\":\"FavoriteUrl\",\"placeholder\":_vm.labelUrl,\"size\":\"30\",\"name\":\"url\"},domProps:{\"value\":(_vm.url)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.url=$event.target.value},_vm.formUpdated]}})]),_c('br'),_vm._v(\" \"),(_vm.$v.url.$invalid)?_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.alertRequire))]):_vm._e()])])])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./form.vue?vue&type=template&id=1472c2b6\"\nimport script from \"./form.vue?vue&type=script&lang=js\"\nexport * from \"./form.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showModal)?_c('transition',{attrs:{\"name\":\"modal\",\"appear\":\"\"}},[_c('div',{staticClass:\"modal modal-overlay\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.closeModal.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-window\"},[_c('div',{staticClass:\"modal-content\"},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('footer',{staticClass:\"modal-footer\"},[_vm._t(\"footer\",function(){return [_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\"Close\")])]})],2)])])]):_vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=25b6d697\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3a8f74d4\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS User Community \n *\n * @copyright Copyright (c) baserCMS User Community\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license http://basercms.net/license/index.html MIT License\n */\n\nimport Vue from 'vue/dist/vue.js'\nimport FavoriteIndex from \"./index.vue\";\nimport Vuelidate from 'vuelidate'\n\n/**\n * よく使う項目の処理を行う\n */\n\nconst favoriteList = {\n\n /**\n * 初期化\n */\n mounted() {\n this.initView();\n this.registerEvents();\n },\n\n /**\n * 表示初期化\n */\n initView() {\n $(\"body\").append($(\"#FavoritesMenu\"));\n\n Vue.use(Vuelidate)\n new Vue({\n el: '#FavoriteMenu',\n components: {\n FavoriteIndex\n },\n });\n\n $(\"#BtnFavoriteHelp\").bt({\n trigger: 'click',\n positions: 'top',\n shadow: true,\n shadowOffsetX: 3,\n shadowOffsetY: 3,\n shadowBlur: 8,\n shadowColor: 'rgba(0,0,0,.8)',\n shadowOverlap: false,\n noShadowOpts: {\n strokeStyle: '#999',\n strokeWidth: 3\n },\n width: '360px',\n spikeLength: 12,\n spikeGirth: 18,\n padding: 15,\n cornerRadius: 0,\n strokeWidth: 6, /*no stroke*/\n strokeStyle: '#690',\n fill: 'rgba(255, 255, 255, 1.00)',\n cssStyles: {\n fontSize: '12px'\n },\n showTip: function (box) {\n $(box).fadeIn(200);\n },\n hideTip: function (box, callback) {\n $(box).animate({\n opacity: 0\n }, 100, callback);\n },\n contentSelector: \"$(this).next('.helptext').html()\"\n });\n\n // お気に入り初期化\n this.initFavoriteList();\n\n // バリデーション\n $(\"#FavoriteAjaxForm\").validate();\n\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BtnFavoriteAdd\").click(function () {\n document.querySelector('#FavoriteListWrap').__vue__.openModal();\n });\n $(\"#FavoriteAjaxForm\").submit(function () {\n return false\n });\n },\n\n /**\n * 並び替え開始時イベント\n */\n favoriteSortStartHandler(event, ui) {\n $(\"ul.favorite-menu-list .placeholder\").css('height', ui.item.height());\n ui.item.startIndex = ui.item.index();\n },\n\n /**\n * 並び順を更新時イベント\n */\n favoriteSortUpdateHandler(event, ui) {\n var $sortTable = $(\".favorite-menu-list\");\n var offset = ui.item.index() - ui.item.startIndex;\n var id = ui.item.attr('data-id');\n\n $.bcToken.check(function () {\n var data = {\n 'id': id,\n 'offset': offset,\n '_csrfToken': $.bcToken.key\n };\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'bc-favorite/favorites/change_sort.json',\n type: 'POST',\n data: data,\n dataType: 'text',\n beforeSend: function () {\n $(\"#Waiting\").show();\n },\n success: function (result) {\n $sortTable.find(\"li\").each(function (index) {\n $(this).attr('id', 'FavoriteRow' + index);\n });\n },\n error: function () {\n $sortTable.sortable(\"cancel\");\n alert(bcI18n.favoriteAlertMessage1);\n },\n complete: function () {\n $(\"#Waiting\").hide();\n }\n });\n }, {hideLoader: false});\n },\n\n /**\n * 行を初期化\n */\n initFavoriteList() {\n const $favoriteMenuList = $(\".favorite-menu-list\");\n const $favoriteMenuListLi = $(\".favorite-menu-list li\");\n\n // イベント削除\n $favoriteMenuListLi.unbind();\n try {\n $favoriteMenuList.sortable(\"destroy\");\n } catch (e) {\n }\n\n $favoriteMenuList.sortable({\n scroll: true,\n opacity: 0.80,\n zIndex: 55,\n containment: 'body',\n tolerance: 'pointer',\n distance: 5,\n cursor: 'pointer',\n placeholder: 'ui-widget-content placeholder',\n /*handle: \".favorite-menu-list li a\",*/\n revert: 100,\n start: this.favoriteSortStartHandler,\n update: this.favoriteSortUpdateHandler\n });\n\n var i = 1;\n $favoriteMenuListLi.each(function () {\n // アクセス制限によってリンクが出力されていない場合はLIごと削除する\n if (!$(this).attr('class').match(/no-data/) && $(this).find('a').html() == null) {\n $(this).remove();\n } else {\n $(this).attr('id', 'FavoriteRow' + (i));\n i++;\n }\n });\n }\n}\n\n\nfavoriteList.mounted();\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 7689;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7689: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(1754)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","render","_vm","this","_c","_self","attrs","staticClass","ariaExpanded","on","changeOpenFavorite","_v","_s","i18nFavorite","favorites","length","style","favoriteBoxOpened","_l","favorite","i","key","id","$event","changeSelected","baseUrl","url","name","i18nNoData","ref","userId","currentPageUrl","currentPageName","currentFavorite","formUpdated","formSubmitted","slot","$refs","modalFavoriteForm","closeModal","buttonCancel","formError","FavoriteForm","formSubmit","buttonSubmit","_withStripped","windowTitle","domProps","labelTitle","directives","rawName","value","expression","target","composing","$v","$invalid","alertRequire","_e","labelUrl","_require","require","required","validationMixin","data","bcI18n","addTitle","editTitle","validations","props","mounted","methods","$emit","apiUrl","$","bcUtil","apiAdminBaseUrl","favoriteForm","bcToken","check","axios","post","user_id","_csrfToken","then","response","hide","bind","error","errorMessage","message","errors","Object","keys","forEach","subKey","alert","console","log","useUpdate","hideLoader","showModal","currentTarget","apply","arguments","_t","scrollable","Boolean","openModal","index","$nextTick","css","i18nEdit","i18nDelete","components","Modal","initFavorite","refresh","get","result","contextMenu","selector","items","icon","callback","contextMenuClickHandler","headers","loaderType","indexUrl","options","res","confirm","commonConfirmDeleteMessage","t","show","status","alertServerError","initView","registerEvents","append","Vue","Vuelidate","el","FavoriteIndex","bt","trigger","positions","shadow","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","shadowOverlap","noShadowOpts","strokeStyle","strokeWidth","width","spikeLength","spikeGirth","padding","cornerRadius","fill","cssStyles","fontSize","showTip","box","fadeIn","hideTip","animate","opacity","contentSelector","initFavoriteList","validate","click","document","querySelector","__vue__","submit","favoriteSortStartHandler","event","ui","item","height","startIndex","favoriteSortUpdateHandler","$sortTable","offset","attr","ajax","type","dataType","beforeSend","success","find","each","sortable","favoriteAlertMessage1","complete","$favoriteMenuList","$favoriteMenuListLi","unbind","e","scroll","zIndex","containment","tolerance","distance","cursor","placeholder","revert","start","update","match","html","remove","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js index e593fbc490..b43c971f23 100644 --- a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js +++ b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js @@ -8,5 +8,5 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -CKEDITOR.dialog.exists("Image")||CKEDITOR.dialog.add("baserUploaderDialog",(function(n){return{title:bcI18n.ckeditorTitle,minWidth:1e3,minHeight:510,whiteSpace:"normal",onShow:function(){this.editMode=!1;var t=this.getParentEditor().getSelection().getSelectedElement(),e=this.getParentEditor().getSelection(),i=e.getRanges(),n=!1,a=$("#"+this.getContentElement("info","formElements2").domId).show();if(t&&"img"==t.getName())this.editMode=!0,n=!0;else if(1==i.length){(t=i[0].getCommonAncestor(!0).getAscendant("a",!0))&&t.getAttribute("href")&&(e.selectElement(t),a.hide())}this.setupContent(t,n)},onOk:function(){var e,a,l=this.getContentElement("info","txtUrl").getValue();if(!l)return alert(bcI18n.ckeditorAlertMessage1),!1;if(t(l)?((e=n.document.createElement("img")).setAttribute("alt",""),a=!0):((e=n.document.createElement("a")).setAttribute("title",""),e.setAttribute("class","file-link"),e.setAttribute("target","_blank"),a=!1),this.commitContent(e,a),a){var o=$("#"+this.getContentElement("info","rdoSize").domId);if(!this.editMode){var r="";this.getValueOf("info","rdoSize")&&(o.find("input[type=radio]").eq(3).prop("disabled")?o.find("input[type=radio]").eq(2).prop("disabled")?o.find("input[type=radio]").eq(1).prop("disabled")||(r="small"):r="midium":r="large");var d=i(e.getAttribute("src"),r),s=n.document.createElement("a");if(s.setAttribute("href",d),s.setAttribute("rel","colorbox"),s.setAttribute("title",e.getAttribute("alt")),s.append(e,!1),this.getContentElement("info","chkCaption").getValue()){var c,p=$.parseJSON($("#CkeditorUploaderScript").attr("data-imageSettings"));this.getValueOf("info","rdoSize")&&(c=p[this.getValueOf("info","rdoSize")].width);var u=n.document.createElement("div"),m=n.document.createElement("div");u.setAttribute("class","bc-caption"),c&&u.setAttribute("style","width:"+c+"px"),m.setAttribute("class","bc-caption-text"),m.appendHtml(this.getContentElement("info","txtAlt").getValue()),u.append(s),u.append(m),s=u}e=s}}return n.insertElement(e),$("#EditDialog").remove(),!0},onCancel:function(){$("#EditDialog").remove()},contents:[{id:"info",label:bcI18n.ckeditorInfoLabel,title:bcI18n.ckeditorInfoTitle,elements:[{id:"formElements1",type:"hbox",padding:0,widths:["45%","45%","10%"],children:[{id:"txtUrl",type:"text",label:"URL",style:"margin-right : 10px;",setup:function(e,i){e&&(i?this.setValue(decodeURI(e.getAttribute("src"))):this.setValue(decodeURI(e.getAttribute("href"))));var n=$("#"+this.domId).find("input"),a=this.getDialog();n.bind("keyup",(function(){var e=$("#"+a.getContentElement("info","formElements2").domId);t($(this).val())?e.show(200):e.hide(200)}))},commit:function(t,e){e?t.setAttribute("src",decodeURI(this.getValue())):t.setAttribute("href",decodeURI(this.getValue()))}},{id:"txtAlt",type:"text",label:bcI18n.ckeditorDescriptionLabel,style:"margin-right : 10px;",setup:function(t,e){t&&(e?this.setValue(t.getAttribute("alt")):this.setValue(t.getText()))},commit:function(t,e){e?t.setAttribute("alt",this.getValue()):(t.setAttribute("title",this.getValue()),t.appendHtml(this.getValue()))}},{id:"chkCaption",type:"checkbox",label:bcI18n.ckeditorCaptionLabel,style:"margin-top:20px;"}]},{id:"formElements2",type:"hbox",padding:0,widths:["25%","25%","25%","25%"],children:[{id:"txtHspace",type:"text",label:bcI18n.ckeditorHspaceLabel,style:"margin-right : 10px;",setup:function(t,e){e&&t&&t.getAttribute("hspace")&&this.setValue(t.getAttribute("hspace"))},commit:function(t,e){if(e){var i="0";this.getValue()&&(i=this.getValue()),i>0&&(t.setStyle("margin-left",i+"px"),t.setStyle("margin-right",i+"px"),t.setAttribute("hspace",i))}}},{id:"txtVspace",type:"text",label:bcI18n.ckeditorVspaceLabel,style:"margin-right : 10px;",setup:function(t,e){e&&t&&t.getAttribute("vspace")&&this.setValue(t.getAttribute("vspace"))},commit:function(t,e){if(e){var i="0";this.getValue()&&(i=this.getValue()),i>0&&(t.setStyle("margin-top",i+"px"),t.setStyle("margin-bottom",i+"px"),t.setAttribute("vspace",i))}}},{id:"cmbAlign",type:"select",label:bcI18n.ckeditorAlignLabel,default:"",items:[[n.lang.common.notSet,""],[bcI18n.ckeditorLeft,"left"],[bcI18n.ckeditorAbsBottom,"absBottom"],[bcI18n.ckeditorAbsMiddle,"absMiddle"],[bcI18n.ckeditorBaseline,"baseline"],[bcI18n.ckeditorBottom,"bottom"],[bcI18n.ckeditorMiddle,"middle"],[bcI18n.ckeditorRight,"right"],[bcI18n.ckeditorTextTop,"textTop"],[bcI18n.ckeditorTop,"top"]],setup:function(t,e){e&&t&&this.setValue(t.getAttribute("align"))},commit:function(t,e){e&&t.setAttribute("align",this.getValue())}},{id:"rdoSize",type:"radio",label:bcI18n.ckeditorSizeLabel,default:"small",items:[[bcI18n.ckeditorOriginSize,""],[bcI18n.ckeditorSmall,"small"],[bcI18n.ckeditorMidium,"midium"],[bcI18n.ckeditorLarge,"large"]],setup:function(t,n){var a=this.getDialog(),l=$("#"+this.domId);l.find("input[type=radio]").prop("disabled",!0),l.find("input[type=radio]").eq(0).prop("disabled",!1),l.find("input[type=radio]").click((function(){$(this).prop("checked")&&a.setValueOf("info","txtUrl",i(a.getValueOf("info","txtUrl"),a.getValueOf("info","rdoSize")))})),t&&n&&($.get($.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_exists_images/"+e(t.getAttribute("src"),""),null,(function(t){t?(l.find("input[type=radio]").eq(1).prop("disabled",!t.small),l.find("input[type=radio]").eq(2).prop("disabled",!t.midium),l.find("input[type=radio]").eq(3).prop("disabled",!t.large)):l.find("input[type=radio]").prop("disabled",!0)}),"json"),this.setValue(function(t){var e=t.match(/__([a-z]*?)\.[a-zA-Z0-9]*?$/);return e?e[1]:""}(t.getAttribute("src"))))},commit:function(t,e){}}]},{id:"fileManager",type:"vbox",padding:0,children:[],setup:function(){var e=$("#"+this.domId),n='
';e.html(n);var a=this.getDialog(),l=Math.floor(99999999*Math.random()+1);$.ajax({type:"GET",dataType:"html",url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_get_search_box/"+l,success:function(t){$("#UploaderSearch").html(t),$("#UploaderSearch").slideDown()},error:function(t,e,i){alert(e)}}),$.ajax({type:"GET",dataType:"html",url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_index/"+l,success:function(n){e.find(".inner").html(n),$("#FileList"+l).bind("filelistload",(function(){$(".selectable-file").click((function(){var e=$(this).find("span.url").html().trim(),n=$(this).find("span.name").html(),l=$("#"+a.getContentElement("info","formElements2").domId);if(t(n)){l.show(200);var o=$("#"+a.getContentElement("info","rdoSize").domId);o.find("input[type=radio]").prop("disabled",!0),o.find("input[type=radio]").eq(0).prop("disabled",!1),$(this).find(".small").html()?(o.find("input[type=radio]").eq(1).prop("checked",!0),o.find("input[type=radio]").eq(1).prop("disabled",!1)):o.find("input[type=radio]").eq(0).prop("checked",!0),$(this).find(".midium").html()&&o.find("input[type=radio]").eq(2).prop("disabled",!1),$(this).find(".large").html()&&o.find("input[type=radio]").eq(3).prop("disabled",!1)}else l.hide(200);a.setValueOf("info","txtUrl",i(e,a.getValueOf("info","rdoSize"))),a.setValueOf("info","txtAlt",$(this).find(".alt").html())})),$(".selectable-file").unbind("dblclick.dblclickEvent")})),$("#FileList"+l).bind("deletecomplete",(function(){a.setValueOf("info","txtUrl",""),a.setValueOf("info","txtAlt","")}))},error:function(t,e,i){alert(e)}})}}]}]}}))})(); +CKEDITOR.dialog.exists("Image")||CKEDITOR.dialog.add("baserUploaderDialog",(function(n){return{title:bcI18n.ckeditorTitle,minWidth:1e3,minHeight:510,whiteSpace:"normal",onShow:function(){this.editMode=!1;var t=this.getParentEditor().getSelection().getSelectedElement(),e=this.getParentEditor().getSelection(),i=e.getRanges(),n=!1,a=$("#"+this.getContentElement("info","formElements2").domId).show();if(t&&"img"==t.getName())this.editMode=!0,n=!0;else if(1==i.length){(t=i[0].getCommonAncestor(!0).getAscendant("a",!0))&&t.getAttribute("href")&&(e.selectElement(t),a.hide())}this.setupContent(t,n)},onOk:function(){var e,a,l=this.getContentElement("info","txtUrl").getValue();if(!l)return alert(bcI18n.ckeditorAlertMessage1),!1;if(t(l)?((e=n.document.createElement("img")).setAttribute("alt",""),a=!0):((e=n.document.createElement("a")).setAttribute("title",""),e.setAttribute("class","file-link"),e.setAttribute("target","_blank"),a=!1),this.commitContent(e,a),a){var r=$("#"+this.getContentElement("info","rdoSize").domId);if(!this.editMode){var o="";this.getValueOf("info","rdoSize")&&(r.find("input[type=radio]").eq(3).prop("disabled")?r.find("input[type=radio]").eq(2).prop("disabled")?r.find("input[type=radio]").eq(1).prop("disabled")||(o="small"):o="midium":o="large");var d=i(e.getAttribute("src"),o),s=n.document.createElement("a");if(s.setAttribute("href",d),s.setAttribute("rel","colorbox"),s.setAttribute("title",e.getAttribute("alt")),s.append(e,!1),this.getContentElement("info","chkCaption").getValue()){var c,p=$.parseJSON($("#CkeditorUploaderScript").attr("data-imageSettings"));this.getValueOf("info","rdoSize")&&(c=p[this.getValueOf("info","rdoSize")].width);var u=n.document.createElement("div"),m=n.document.createElement("div");u.setAttribute("class","bc-caption"),c&&u.setAttribute("style","width:"+c+"px"),m.setAttribute("class","bc-caption-text"),m.appendHtml(this.getContentElement("info","txtAlt").getValue()),u.append(s),u.append(m),s=u}e=s}}return n.insertElement(e),$("#EditDialog").remove(),!0},onCancel:function(){$("#EditDialog").remove()},contents:[{id:"info",label:bcI18n.ckeditorInfoLabel,title:bcI18n.ckeditorInfoTitle,elements:[{id:"formElements1",type:"hbox",padding:0,widths:["45%","45%","10%"],children:[{id:"txtUrl",type:"text",label:"URL",style:"margin-right : 10px;",setup:function(e,i){e&&(i?this.setValue(decodeURI(e.getAttribute("src"))):this.setValue(decodeURI(e.getAttribute("href"))));var n=$("#"+this.domId).find("input"),a=this.getDialog();n.bind("keyup",(function(){var e=$("#"+a.getContentElement("info","formElements2").domId);t($(this).val())?e.show(200):e.hide(200)}))},commit:function(t,e){e?t.setAttribute("src",decodeURI(this.getValue())):t.setAttribute("href",decodeURI(this.getValue()))}},{id:"txtAlt",type:"text",label:bcI18n.ckeditorDescriptionLabel,style:"margin-right : 10px;",setup:function(t,e){t&&(e?this.setValue(t.getAttribute("alt")):this.setValue(t.getText()))},commit:function(t,e){e?t.setAttribute("alt",this.getValue()):(t.setAttribute("title",this.getValue()),t.appendHtml(this.getValue()))}},{id:"chkCaption",type:"checkbox",label:bcI18n.ckeditorCaptionLabel,style:"margin-top:20px;"}]},{id:"formElements2",type:"hbox",padding:0,widths:["25%","25%","25%","25%"],children:[{id:"txtHspace",type:"text",label:bcI18n.ckeditorHspaceLabel,style:"margin-right : 10px;",setup:function(t,e){e&&t&&t.getAttribute("hspace")&&this.setValue(t.getAttribute("hspace"))},commit:function(t,e){if(e){var i="0";this.getValue()&&(i=this.getValue()),i>0&&(t.setStyle("margin-left",i+"px"),t.setStyle("margin-right",i+"px"),t.setAttribute("hspace",i))}}},{id:"txtVspace",type:"text",label:bcI18n.ckeditorVspaceLabel,style:"margin-right : 10px;",setup:function(t,e){e&&t&&t.getAttribute("vspace")&&this.setValue(t.getAttribute("vspace"))},commit:function(t,e){if(e){var i="0";this.getValue()&&(i=this.getValue()),i>0&&(t.setStyle("margin-top",i+"px"),t.setStyle("margin-bottom",i+"px"),t.setAttribute("vspace",i))}}},{id:"cmbAlign",type:"select",label:bcI18n.ckeditorAlignLabel,default:"",items:[[n.lang.common.notSet,""],[bcI18n.ckeditorLeft,"left"],[bcI18n.ckeditorAbsBottom,"absBottom"],[bcI18n.ckeditorAbsMiddle,"absMiddle"],[bcI18n.ckeditorBaseline,"baseline"],[bcI18n.ckeditorBottom,"bottom"],[bcI18n.ckeditorMiddle,"middle"],[bcI18n.ckeditorRight,"right"],[bcI18n.ckeditorTextTop,"textTop"],[bcI18n.ckeditorTop,"top"]],setup:function(t,e){e&&t&&this.setValue(t.getAttribute("align"))},commit:function(t,e){e&&t.setAttribute("align",this.getValue())}},{id:"rdoSize",type:"radio",label:bcI18n.ckeditorSizeLabel,default:"small",items:[[bcI18n.ckeditorOriginSize,""],[bcI18n.ckeditorSmall,"small"],[bcI18n.ckeditorMidium,"midium"],[bcI18n.ckeditorLarge,"large"]],setup:function(t,n){var a=this.getDialog(),l=$("#"+this.domId);if(l.find("input[type=radio]").prop("disabled",!0),l.find("input[type=radio]").eq(0).prop("disabled",!1),l.find("input[type=radio]").click((function(){$(this).prop("checked")&&a.setValueOf("info","txtUrl",i(a.getValueOf("info","txtUrl"),a.getValueOf("info","rdoSize")))})),t&&n){var r=$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/exists_images/"+e(t.getAttribute("src"),"");$.get(r,null,(function(t){t.result?(l.find("input[type=radio]").eq(1).prop("disabled",!t.result.small),l.find("input[type=radio]").eq(2).prop("disabled",!t.result.midium),l.find("input[type=radio]").eq(3).prop("disabled",!t.result.large)):l.find("input[type=radio]").prop("disabled",!0)}),"json"),this.setValue(function(t){var e=t.match(/__([a-z]*?)\.[a-zA-Z0-9]*?$/);return e?e[1]:""}(t.getAttribute("src")))}},commit:function(t,e){}}]},{id:"fileManager",type:"vbox",padding:0,children:[],setup:function(){var e=$("#"+this.domId),n='
';e.html(n);var a=this.getDialog(),l=Math.floor(99999999*Math.random()+1);$.ajax({type:"GET",dataType:"html",url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_get_search_box/"+l,success:function(t){$("#UploaderSearch").html(t),$("#UploaderSearch").slideDown()},error:function(t,e,i){alert(e)}}),$.ajax({type:"GET",dataType:"html",url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_index/"+l,success:function(n){e.find(".inner").html(n),$("#FileList"+l).bind("filelistload",(function(){$(".selectable-file").click((function(){var e=$(this).find("span.url").html().trim(),n=$(this).find("span.name").html(),l=$("#"+a.getContentElement("info","formElements2").domId);if(t(n)){l.show(200);var r=$("#"+a.getContentElement("info","rdoSize").domId);r.find("input[type=radio]").prop("disabled",!0),r.find("input[type=radio]").eq(0).prop("disabled",!1),$(this).find(".small").html()?(r.find("input[type=radio]").eq(1).prop("checked",!0),r.find("input[type=radio]").eq(1).prop("disabled",!1)):r.find("input[type=radio]").eq(0).prop("checked",!0),$(this).find(".midium").html()&&r.find("input[type=radio]").eq(2).prop("disabled",!1),$(this).find(".large").html()&&r.find("input[type=radio]").eq(3).prop("disabled",!1)}else l.hide(200);a.setValueOf("info","txtUrl",i(e,a.getValueOf("info","rdoSize"))),a.setValueOf("info","txtAlt",$(this).find(".alt").html())})),$(".selectable-file").unbind("dblclick.dblclickEvent")})),$("#FileList"+l).bind("deletecomplete",(function(){a.setValueOf("info","txtUrl",""),a.setValueOf("info","txtAlt","")}))},error:function(t,e,i){alert(e)}})}}]}]}}))})(); //# sourceMappingURL=ckeditor_uploader.bundle.js.map \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js.map b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js.map index c785d9c502..af6ad00144 100644 --- a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js.map +++ b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/./src/bc_uploader/js/admin/uploader_files/ckeditor_uploader.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * ファイルアップロードダイアログ用CKEditorスクリプト\n */\n\nif (!CKEDITOR.dialog.exists('Image')) {\n\n CKEDITOR.dialog.add('baserUploaderDialog', function (editor) {\n return {\n title: bcI18n.ckeditorTitle,\n minWidth: 1000,\n minHeight: 510,\n whiteSpace: 'normal',\n /**\n * ダイアログ 起動イベント\n **/\n onShow: function () {\n this.editMode = false;\n var element = this.getParentEditor().getSelection().getSelectedElement();\n var selection = this.getParentEditor().getSelection();\n var ranges = selection.getRanges();\n var imgFlg = false;\n var formElements2 = $(\"#\" + this.getContentElement('info', 'formElements2').domId).show();\n\n if (element && element.getName() == 'img') {\n this.editMode = true;\n imgFlg = true;\n\n } else if (ranges.length == 1) {\n var rangeRoot = ranges[0].getCommonAncestor(true);\n element = rangeRoot.getAscendant('a', true);\n if (element && element.getAttribute('href')) {\n selection.selectElement(element);\n formElements2.hide();\n }\n }\n this.setupContent(element, imgFlg);\n },\n /**\n * OKボタン クリックイベント\n **/\n onOk: function () {\n\n var txtUrl = this.getContentElement('info', 'txtUrl');\n var url = txtUrl.getValue();\n var element;\n var imgFlg;\n\n if (!url) {\n alert(bcI18n.ckeditorAlertMessage1);\n return false;\n }\n\n if (isImage(url)) {\n // エディタにタグを配置\n element = editor.document.createElement('img');\n element.setAttribute('alt', '');\n imgFlg = true;\n } else {\n element = editor.document.createElement('a');\n element.setAttribute('title', '');\n element.setAttribute('class', 'file-link');\n element.setAttribute('target', '_blank');\n imgFlg = false;\n }\n\n // 各コントロールの完了処理を実行\n this.commitContent(element, imgFlg);\n\n if (imgFlg) {\n var rdoSize = $(\"#\" + this.getContentElement('info', 'rdoSize').domId);\n if (!this.editMode) {\n // リンク先用に最大サイズを取得\n var size = '';\n if (this.getValueOf('info', 'rdoSize')) {\n if (!rdoSize.find('input[type=radio]').eq(3).prop('disabled')) {\n size = 'large';\n } else if (!rdoSize.find('input[type=radio]').eq(2).prop('disabled')) {\n size = 'midium';\n } else if (!rdoSize.find('input[type=radio]').eq(1).prop('disabled')) {\n size = 'small';\n }\n }\n var src = getFilePath(element.getAttribute('src'), size);\n var linkElement = editor.document.createElement('a');\n linkElement.setAttribute('href', src);\n linkElement.setAttribute('rel', 'colorbox');\n linkElement.setAttribute('title', element.getAttribute('alt'));\n linkElement.append(element, false);\n\n if (this.getContentElement('info', 'chkCaption').getValue()) {\n var imageSettings = $.parseJSON($(\"#CkeditorUploaderScript\").attr('data-imageSettings'));\n var width;\n if (this.getValueOf('info', 'rdoSize')) {\n width = imageSettings[this.getValueOf('info', 'rdoSize')]['width'];\n }\n var box = editor.document.createElement('div');\n var caption = editor.document.createElement('div');\n box.setAttribute('class', 'bc-caption');\n if (width) {\n box.setAttribute('style', 'width:' + width + 'px');\n }\n caption.setAttribute('class', 'bc-caption-text');\n caption.appendHtml(this.getContentElement('info', 'txtAlt').getValue());\n box.append(linkElement);\n box.append(caption);\n linkElement = box;\n }\n\n element = linkElement;\n }\n }\n\n editor.insertElement(element);\n\n $(\"#EditDialog\").remove();\n\n return true;\n\n },\n /**\n * キャンセルボタン クリックイベント\n */\n onCancel: function () {\n $(\"#EditDialog\").remove();\n },\n /**\n * コンテンツプロパティ\n **/\n contents: [\n {\n id: 'info',\n label: bcI18n.ckeditorInfoLabel,\n title: bcI18n.ckeditorInfoTitle,\n elements: [\n {\t/* フォーム要素1列目 */\n id: 'formElements1',\n type: 'hbox',\n padding: 0,\n widths: ['45%', '45%', '10%'],\n children: [\n { /* URL */\n id: 'txtUrl',\n type: 'text',\n label: 'URL',\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n if (element) {\n if (imgFlg) {\n this.setValue(decodeURI(element.getAttribute('src')));\n } else {\n this.setValue(decodeURI(element.getAttribute('href')));\n }\n }\n var txtUrl = $(\"#\" + this.domId).find('input');\n var dialog = this.getDialog();\n // イベントを登録\n txtUrl.bind('keyup', function () {\n var formElements2 = $(\"#\" + dialog.getContentElement('info', 'formElements2').domId);\n if (isImage($(this).val())) {\n formElements2.show(200);\n } else {\n formElements2.hide(200);\n }\n });\n },\n commit: function (element, imgFlg) {\n if (imgFlg) {\n element.setAttribute('src', decodeURI(this.getValue()));\n } else {\n element.setAttribute('href', decodeURI(this.getValue()));\n }\n }\n },\n { /* 説明文 */\n id: 'txtAlt',\n type: 'text',\n label: bcI18n.ckeditorDescriptionLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n if (element) {\n if (imgFlg) {\n this.setValue(element.getAttribute('alt'));\n } else {\n this.setValue(element.getText());\n }\n }\n },\n commit: function (element, imgFlg) {\n if (imgFlg) {\n element.setAttribute('alt', this.getValue());\n } else {\n element.setAttribute('title', this.getValue());\n element.appendHtml(this.getValue());\n }\n }\n },\n { /* キャプション */\n id: 'chkCaption',\n type: 'checkbox',\n label: bcI18n.ckeditorCaptionLabel,\n style: 'margin-top:20px;'\n }\n ]\n },\n {\t/* フォーム要素2列目 */\n id: 'formElements2',\n type: 'hbox',\n padding: 0,\n widths: ['25%', '25%', '25%', '25%'],\n children: [\n { /* 横間隔 */\n id: 'txtHspace',\n type: 'text',\n label: bcI18n.ckeditorHspaceLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n if (element) {\n if (element.getAttribute('hspace')) {\n this.setValue(element.getAttribute('hspace'));\n }\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n var value = '0';\n if (this.getValue()) {\n value = this.getValue();\n }\n if (value > 0) {\n element.setStyle('margin-left', value + 'px');\n element.setStyle('margin-right', value + 'px');\n element.setAttribute('hspace', value);\n }\n }\n },\n { /* 縦間隔 */\n id: 'txtVspace',\n type: 'text',\n label: bcI18n.ckeditorVspaceLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n if (element && element.getAttribute('vspace')) {\n this.setValue(element.getAttribute('vspace'));\n }\n\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n var value = '0';\n if (this.getValue()) {\n value = this.getValue();\n }\n if (value > 0) {\n element.setStyle('margin-top', value + 'px');\n element.setStyle('margin-bottom', value + 'px');\n element.setAttribute('vspace', value);\n }\n }\n\n },\n { /* 行揃え */\n id: 'cmbAlign',\n type: 'select',\n /*style : 'width:90px',*/\n label: bcI18n.ckeditorAlignLabel,\n 'default': '',\n items: [\n [editor.lang.common.notSet, ''],\n [bcI18n.ckeditorLeft, 'left'],\n [bcI18n.ckeditorAbsBottom, 'absBottom'],\n [bcI18n.ckeditorAbsMiddle, 'absMiddle'],\n [bcI18n.ckeditorBaseline, 'baseline'],\n [bcI18n.ckeditorBottom, 'bottom'],\n [bcI18n.ckeditorMiddle, 'middle'],\n [bcI18n.ckeditorRight, 'right'],\n [bcI18n.ckeditorTextTop, 'textTop'],\n [bcI18n.ckeditorTop, 'top']\n ],\n setup: function (element, imgFlg) {\n if (!imgFlg) {\n return;\n }\n if (element) {\n this.setValue(element.getAttribute('align'));\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n element.setAttribute('align', this.getValue());\n }\n },\n { /* サイズ */\n id: 'rdoSize',\n type: 'radio',\n label: bcI18n.ckeditorSizeLabel,\n 'default': 'small',\n items:\n [\n [bcI18n.ckeditorOriginSize, ''],\n [bcI18n.ckeditorSmall, 'small'],\n [bcI18n.ckeditorMidium, 'midium'],\n [bcI18n.ckeditorLarge, 'large']\n ],\n setup: function (element, imgFlg) {\n\n var dialog = this.getDialog();\n var rdoSize = $(\"#\" + this.domId);\n rdoSize.find('input[type=radio]').prop('disabled', true);\n rdoSize.find('input[type=radio]').eq(0).prop('disabled', false);\n\n rdoSize.find('input[type=radio]').click(function () {\n if ($(this).prop('checked')) {\n dialog.setValueOf('info', 'txtUrl', getFilePath(dialog.getValueOf('info', 'txtUrl'), dialog.getValueOf('info', 'rdoSize')));\n }\n });\n\n if (element && imgFlg) {\n // 画像のサイズを取得する\n $.get($.bcUtil.adminBaseUrl + 'bc-uploader/uploader_files/ajax_exists_images/' + getFileName(element.getAttribute('src'), ''), null, function (res) {\n if (res) {\n rdoSize.find('input[type=radio]').eq(1).prop('disabled', !res.small);\n rdoSize.find('input[type=radio]').eq(2).prop('disabled', !res.midium);\n rdoSize.find('input[type=radio]').eq(3).prop('disabled', !res.large);\n } else {\n rdoSize.find('input[type=radio]').prop('disabled', true);\n }\n }, 'json');\n this.setValue(getSizeByFile(element.getAttribute('src')));\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n }\n }\n ]\n },\n { /* fileManager */\n id: 'fileManager',\n type: 'vbox',\n padding: 0,\n children: [],\n setup: function () {\n var fileList = $(\"#\" + this.domId);\n\n var inner = '
' +\n '
';\n fileList.html(inner);\n\n var dialog = this.getDialog();\n var listId = Math.floor(Math.random() * 99999999 + 1);\n $.ajax({\n type: \"GET\",\n dataType: \"html\",\n url: $.bcUtil.adminBaseUrl + \"bc-uploader/uploader_files/ajax_get_search_box/\" + listId,\n success: function (res) {\n $(\"#UploaderSearch\").html(res);\n $(\"#UploaderSearch\").slideDown();\n },\n error: function (msg, textStatus, errorThrown) {\n alert(textStatus);\n }\n });\n $.ajax({\n type: \"GET\",\n dataType: \"html\",\n url: $.bcUtil.adminBaseUrl + \"bc-uploader/uploader_files/ajax_index/\" + listId,\n success: function (res) {\n\n // リストをセット\n fileList.find('.inner').html(res);\n\n // リストのロード完了イベント\n $(\"#FileList\" + listId).bind('filelistload', function () {\n\n // ファイル選択イベント\n $('.selectable-file').click(function () {\n\n // URLの拡張子で画像かどうかを判別\n // ※ URLを直接入力する場合もあるので拡張子で判断\n var filePath = $(this).find(\"span.url\").html().trim();\n var fileName = $(this).find(\"span.name\").html();\n var formElements2 = $(\"#\" + dialog.getContentElement('info', 'formElements2').domId);\n\n if (isImage(fileName)) {\n formElements2.show(200);\n var rdoSize = $(\"#\" + dialog.getContentElement('info', 'rdoSize').domId);\n rdoSize.find('input[type=radio]').prop('disabled', true);\n rdoSize.find('input[type=radio]').eq(0).prop('disabled', false);\n if ($(this).find('.small').html()) {\n rdoSize.find('input[type=radio]').eq(1).prop('checked', true);\n rdoSize.find('input[type=radio]').eq(1).prop('disabled', false);\n } else {\n rdoSize.find('input[type=radio]').eq(0).prop('checked', true);\n }\n if ($(this).find('.midium').html()) {\n rdoSize.find('input[type=radio]').eq(2).prop('disabled', false);\n }\n if ($(this).find('.large').html()) {\n rdoSize.find('input[type=radio]').eq(3).prop('disabled', false);\n }\n } else {\n // 縦間隔・横間隔・行揃え・サイズを非表示\n formElements2.hide(200);\n }\n\n /* 対象サイズのURLと説明文をセットする */\n dialog.setValueOf('info', 'txtUrl', getFilePath(filePath, dialog.getValueOf('info', 'rdoSize')));\n dialog.setValueOf('info', 'txtAlt', $(this).find('.alt').html());\n\n });\n\n $(\".selectable-file\").unbind('dblclick.dblclickEvent');\n\n });\n\n $(\"#FileList\" + listId).bind('deletecomplete', function () {\n dialog.setValueOf('info', 'txtUrl', '');\n dialog.setValueOf('info', 'txtAlt', '');\n });\n\n },\n error: function (msg, textStatus, errorThrown) {\n alert(textStatus);\n }\n });\n }\n }\n ]\n }\n ]\n };\n });\n}\n\n/**\n * 画像ファイルかどうかを判断する\n */\nfunction isImage(url) {\n ret = url.match(/.*?\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n ext = ret[1];\n if (ext == 'png' || ext == 'gif' || ext == 'jpg') {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n}\n\n/**\n * ファイル名を取得する\n */\nfunction getFileName(url, size) {\n var ret, file, ext, fileName;\n ret = url.match(/\\/([^\\/]*?)\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n file = decodeURI(ret[1].replace(/__[a-z]*?$/, ''));\n ext = ret[2];\n if (size && isImage(url)) {\n fileName = file + '__' + size + '.' + ext;\n } else {\n fileName = file + '.' + ext;\n }\n return fileName;\n } else {\n return url;\n }\n}\n\n/**\n * ファイルパスを取得する\n */\nfunction getFilePath(url, size) {\n var ret, fileName;\n fileName = getFileName(url, size);\n ret = url.match(/^(.*\\/)([^\\/]*?)\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n return ret[1] + fileName;\n } else {\n return url;\n }\n}\n\n/**\n * ファイル名からファイルのサイズを取得\n */\nfunction getSizeByFile(url) {\n var ret = url.match(/__([a-z]*?)\\.[a-zA-Z0-9]*?$/);\n if (ret) {\n return ret[1];\n } else {\n return '';\n }\n}\n"],"names":["isImage","url","ret","match","ext","getFileName","size","file","decodeURI","replace","getFilePath","fileName","CKEDITOR","dialog","exists","add","editor","title","bcI18n","ckeditorTitle","minWidth","minHeight","whiteSpace","onShow","this","editMode","element","getParentEditor","getSelection","getSelectedElement","selection","ranges","getRanges","imgFlg","formElements2","$","getContentElement","domId","show","getName","length","getCommonAncestor","getAscendant","getAttribute","selectElement","hide","setupContent","onOk","getValue","alert","ckeditorAlertMessage1","document","createElement","setAttribute","commitContent","rdoSize","getValueOf","find","eq","prop","src","linkElement","append","width","imageSettings","parseJSON","attr","box","caption","appendHtml","insertElement","remove","onCancel","contents","id","label","ckeditorInfoLabel","ckeditorInfoTitle","elements","type","padding","widths","children","style","setup","setValue","txtUrl","getDialog","bind","val","commit","ckeditorDescriptionLabel","getText","ckeditorCaptionLabel","ckeditorHspaceLabel","value","setStyle","ckeditorVspaceLabel","ckeditorAlignLabel","items","lang","common","notSet","ckeditorLeft","ckeditorAbsBottom","ckeditorAbsMiddle","ckeditorBaseline","ckeditorBottom","ckeditorMiddle","ckeditorRight","ckeditorTextTop","ckeditorTop","ckeditorSizeLabel","ckeditorOriginSize","ckeditorSmall","ckeditorMidium","ckeditorLarge","click","setValueOf","get","bcUtil","adminBaseUrl","res","small","midium","large","getSizeByFile","fileList","inner","html","listId","Math","floor","random","ajax","dataType","success","slideDown","error","msg","textStatus","errorThrown","filePath","trim","unbind"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bc_uploader/js/admin/uploader_files/ckeditor_uploader.bundle.js","mappings":"MA0dA,SAASA,EAAQC,GAEb,OADAC,IAAMD,EAAIE,MAAM,2BACZD,MACAE,IAAMF,IAAI,GACC,OAAPE,KAAuB,OAAPA,KAAuB,OAAPA,IAQ5C,CAKA,SAASC,EAAYJ,EAAKK,GACtB,IAAIJ,EAAKK,EAAMH,EAEf,OADAF,EAAMD,EAAIE,MAAM,mCAEZI,EAAOC,UAAUN,EAAI,GAAGO,QAAQ,aAAc,KAC9CL,EAAMF,EAAI,GACNI,GAAQN,EAAQC,GACLM,EAAO,KAAOD,EAAO,IAAMF,EAE3BG,EAAO,IAAMH,GAIrBH,CAEf,CAKA,SAASS,EAAYT,EAAKK,GACtB,IAAIJ,EAAKS,EAGT,OAFAA,EAAWN,EAAYJ,EAAKK,IAC5BJ,EAAMD,EAAIE,MAAM,uCAELD,EAAI,GAAKS,EAETV,CAEf;;;;;;;;;;AA1fKW,SAASC,OAAOC,OAAO,UAExBF,SAASC,OAAOE,IAAI,uBAAuB,SAAUC,GACjD,MAAO,CACHC,MAAOC,OAAOC,cACdC,SAAU,IACVC,UAAW,IACXC,WAAY,SAIZC,OAAQ,WACJC,KAAKC,UAAW,EAChB,IAAIC,EAAUF,KAAKG,kBAAkBC,eAAeC,qBAChDC,EAAYN,KAAKG,kBAAkBC,eACnCG,EAASD,EAAUE,YACnBC,GAAS,EACTC,EAAgBC,EAAE,IAAMX,KAAKY,kBAAkB,OAAQ,iBAAiBC,OAAOC,OAEnF,GAAIZ,GAAgC,OAArBA,EAAQa,UACnBf,KAAKC,UAAW,EAChBQ,GAAS,OAEN,GAAqB,GAAjBF,EAAOS,OAAa,EAE3Bd,EADgBK,EAAO,GAAGU,mBAAkB,GACxBC,aAAa,KAAK,KACvBhB,EAAQiB,aAAa,UAChCb,EAAUc,cAAclB,GACxBQ,EAAcW,OAEtB,CACArB,KAAKsB,aAAapB,EAASO,EAC/B,EAIAc,KAAM,WAEF,IAEIrB,EACAO,EAFAhC,EADSuB,KAAKY,kBAAkB,OAAQ,UAC3BY,WAIjB,IAAK/C,EAED,OADAgD,MAAM/B,OAAOgC,wBACN,EAmBX,GAhBIlD,EAAQC,KAERyB,EAAUV,EAAOmC,SAASC,cAAc,QAChCC,aAAa,MAAO,IAC5BpB,GAAS,KAETP,EAAUV,EAAOmC,SAASC,cAAc,MAChCC,aAAa,QAAS,IAC9B3B,EAAQ2B,aAAa,QAAS,aAC9B3B,EAAQ2B,aAAa,SAAU,UAC/BpB,GAAS,GAIbT,KAAK8B,cAAc5B,EAASO,GAExBA,EAAQ,CACR,IAAIsB,EAAUpB,EAAE,IAAMX,KAAKY,kBAAkB,OAAQ,WAAWC,OAChE,IAAKb,KAAKC,SAAU,CAEhB,IAAInB,EAAO,GACPkB,KAAKgC,WAAW,OAAQ,aACnBD,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAEtCJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAE7CJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,cACrDrD,EAAO,SAFPA,EAAO,SAFPA,EAAO,SAOf,IAAIsD,EAAMlD,EAAYgB,EAAQiB,aAAa,OAAQrC,GAC/CuD,EAAc7C,EAAOmC,SAASC,cAAc,KAMhD,GALAS,EAAYR,aAAa,OAAQO,GACjCC,EAAYR,aAAa,MAAO,YAChCQ,EAAYR,aAAa,QAAS3B,EAAQiB,aAAa,QACvDkB,EAAYC,OAAOpC,GAAS,GAExBF,KAAKY,kBAAkB,OAAQ,cAAcY,WAAY,CACzD,IACIe,EADAC,EAAgB7B,EAAE8B,UAAU9B,EAAE,2BAA2B+B,KAAK,uBAE9D1C,KAAKgC,WAAW,OAAQ,aACxBO,EAAQC,EAAcxC,KAAKgC,WAAW,OAAQ,YAAmB,OAErE,IAAIW,EAAMnD,EAAOmC,SAASC,cAAc,OACpCgB,EAAUpD,EAAOmC,SAASC,cAAc,OAC5Ce,EAAId,aAAa,QAAS,cACtBU,GACAI,EAAId,aAAa,QAAS,SAAWU,EAAQ,MAEjDK,EAAQf,aAAa,QAAS,mBAC9Be,EAAQC,WAAW7C,KAAKY,kBAAkB,OAAQ,UAAUY,YAC5DmB,EAAIL,OAAOD,GACXM,EAAIL,OAAOM,GACXP,EAAcM,CAClB,CAEAzC,EAAUmC,CACd,CACJ,CAMA,OAJA7C,EAAOsD,cAAc5C,GAErBS,EAAE,eAAeoC,UAEV,CAEX,EAIAC,SAAU,WACNrC,EAAE,eAAeoC,QACrB,EAIAE,SAAU,CACN,CACIC,GAAI,OACJC,MAAOzD,OAAO0D,kBACd3D,MAAOC,OAAO2D,kBACdC,SAAU,CACN,CACIJ,GAAI,gBACJK,KAAM,OACNC,QAAS,EACTC,OAAQ,CAAC,MAAO,MAAO,OACvBC,SAAU,CACN,CACIR,GAAI,SACJK,KAAM,OACNJ,MAAO,MACPQ,MAAO,uBACPC,MAAO,SAAU1D,EAASO,GAClBP,IACIO,EACAT,KAAK6D,SAAS7E,UAAUkB,EAAQiB,aAAa,SAE7CnB,KAAK6D,SAAS7E,UAAUkB,EAAQiB,aAAa,WAGrD,IAAI2C,EAASnD,EAAE,IAAMX,KAAKa,OAAOoB,KAAK,SAClC5C,EAASW,KAAK+D,YAElBD,EAAOE,KAAK,SAAS,WACjB,IAAItD,EAAgBC,EAAE,IAAMtB,EAAOuB,kBAAkB,OAAQ,iBAAiBC,OAC1ErC,EAAQmC,EAAEX,MAAMiE,OAChBvD,EAAcI,KAAK,KAEnBJ,EAAcW,KAAK,IAE3B,GACJ,EACA6C,OAAQ,SAAUhE,EAASO,GACnBA,EACAP,EAAQ2B,aAAa,MAAO7C,UAAUgB,KAAKwB,aAE3CtB,EAAQ2B,aAAa,OAAQ7C,UAAUgB,KAAKwB,YAEpD,GAEJ,CACI0B,GAAI,SACJK,KAAM,OACNJ,MAAOzD,OAAOyE,yBACdR,MAAO,uBACPC,MAAO,SAAU1D,EAASO,GAClBP,IACIO,EACAT,KAAK6D,SAAS3D,EAAQiB,aAAa,QAEnCnB,KAAK6D,SAAS3D,EAAQkE,WAGlC,EACAF,OAAQ,SAAUhE,EAASO,GACnBA,EACAP,EAAQ2B,aAAa,MAAO7B,KAAKwB,aAEjCtB,EAAQ2B,aAAa,QAAS7B,KAAKwB,YACnCtB,EAAQ2C,WAAW7C,KAAKwB,YAEhC,GAEJ,CACI0B,GAAI,aACJK,KAAM,WACNJ,MAAOzD,OAAO2E,qBACdV,MAAO,sBAInB,CACIT,GAAI,gBACJK,KAAM,OACNC,QAAS,EACTC,OAAQ,CAAC,MAAO,MAAO,MAAO,OAC9BC,SAAU,CACN,CACIR,GAAI,YACJK,KAAM,OACNJ,MAAOzD,OAAO4E,oBACdX,MAAO,uBACPC,MAAO,SAAU1D,EAASO,GAEjBA,GAIDP,GACIA,EAAQiB,aAAa,WACrBnB,KAAK6D,SAAS3D,EAAQiB,aAAa,UAG/C,EACA+C,OAAQ,SAAUhE,EAASO,GAEvB,GAAKA,EAAL,CAIA,IAAI8D,EAAQ,IACRvE,KAAKwB,aACL+C,EAAQvE,KAAKwB,YAEb+C,EAAQ,IACRrE,EAAQsE,SAAS,cAAeD,EAAQ,MACxCrE,EAAQsE,SAAS,eAAgBD,EAAQ,MACzCrE,EAAQ2B,aAAa,SAAU0C,GATnC,CAWJ,GAEJ,CACIrB,GAAI,YACJK,KAAM,OACNJ,MAAOzD,OAAO+E,oBACdd,MAAO,uBACPC,MAAO,SAAU1D,EAASO,GAEjBA,GAIDP,GAAWA,EAAQiB,aAAa,WAChCnB,KAAK6D,SAAS3D,EAAQiB,aAAa,UAG3C,EACA+C,OAAQ,SAAUhE,EAASO,GAEvB,GAAKA,EAAL,CAIA,IAAI8D,EAAQ,IACRvE,KAAKwB,aACL+C,EAAQvE,KAAKwB,YAEb+C,EAAQ,IACRrE,EAAQsE,SAAS,aAAcD,EAAQ,MACvCrE,EAAQsE,SAAS,gBAAiBD,EAAQ,MAC1CrE,EAAQ2B,aAAa,SAAU0C,GATnC,CAWJ,GAGJ,CACIrB,GAAI,WACJK,KAAM,SAENJ,MAAOzD,OAAOgF,mBACd,QAAW,GACXC,MAAO,CACH,CAACnF,EAAOoF,KAAKC,OAAOC,OAAQ,IAC5B,CAACpF,OAAOqF,aAAc,QACtB,CAACrF,OAAOsF,kBAAmB,aAC3B,CAACtF,OAAOuF,kBAAmB,aAC3B,CAACvF,OAAOwF,iBAAkB,YAC1B,CAACxF,OAAOyF,eAAgB,UACxB,CAACzF,OAAO0F,eAAgB,UACxB,CAAC1F,OAAO2F,cAAe,SACvB,CAAC3F,OAAO4F,gBAAiB,WACzB,CAAC5F,OAAO6F,YAAa,QAEzB3B,MAAO,SAAU1D,EAASO,GACjBA,GAGDP,GACAF,KAAK6D,SAAS3D,EAAQiB,aAAa,SAE3C,EACA+C,OAAQ,SAAUhE,EAASO,GAElBA,GAILP,EAAQ2B,aAAa,QAAS7B,KAAKwB,WACvC,GAEJ,CACI0B,GAAI,UACJK,KAAM,QACNJ,MAAOzD,OAAO8F,kBACd,QAAW,QACXb,MACI,CACI,CAACjF,OAAO+F,mBAAoB,IAC5B,CAAC/F,OAAOgG,cAAe,SACvB,CAAChG,OAAOiG,eAAgB,UACxB,CAACjG,OAAOkG,cAAe,UAE/BhC,MAAO,SAAU1D,EAASO,GAEtB,IAAIpB,EAASW,KAAK+D,YACdhC,EAAUpB,EAAE,IAAMX,KAAKa,OAU3B,GATAkB,EAAQE,KAAK,qBAAqBE,KAAK,YAAY,GACnDJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAY,GAEzDJ,EAAQE,KAAK,qBAAqB4D,OAAM,WAChClF,EAAEX,MAAMmC,KAAK,YACb9C,EAAOyG,WAAW,OAAQ,SAAU5G,EAAYG,EAAO2C,WAAW,OAAQ,UAAW3C,EAAO2C,WAAW,OAAQ,YAEvH,IAEI9B,GAAWO,EAAQ,CAEnB,IAAMhC,EAAMkC,EAAEoF,OAAOC,gBAAkB,4CAA8CnH,EAAYqB,EAAQiB,aAAa,OAAQ,IAC9HR,EAAEsF,IAAIxH,EAAK,MAAM,SAAUyH,GACnBA,EAAIC,QACJpE,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAa+D,EAAIC,OAAOC,OACrErE,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAa+D,EAAIC,OAAOE,QACrEtE,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAa+D,EAAIC,OAAOG,QAErEvE,EAAQE,KAAK,qBAAqBE,KAAK,YAAY,EAE3D,GAAG,QACHnC,KAAK6D,SAqKjD,SAAuBpF,GACnB,IAAIC,EAAMD,EAAIE,MAAM,+BACpB,OAAID,EACOA,EAAI,GAEJ,EAEf,CA5K0D6H,CAAcrG,EAAQiB,aAAa,QACrD,CACJ,EACA+C,OAAQ,SAAUhE,EAASO,GAM3B,KAIZ,CACIyC,GAAI,cACJK,KAAM,OACNC,QAAS,EACTE,SAAU,GACVE,MAAO,WACH,IAAI4C,EAAW7F,EAAE,IAAMX,KAAKa,OAExB4F,EAAQ,uJAC6E9F,EAAE,2BAA2B+B,KAAK,kBAAoB,aAC/I8D,EAASE,KAAKD,GAEd,IAAIpH,EAASW,KAAK+D,YACd4C,EAASC,KAAKC,MAAsB,SAAhBD,KAAKE,SAAsB,GACnDnG,EAAEoG,KAAK,CACHxD,KAAM,MACNyD,SAAU,OACVvI,IAAKkC,EAAEoF,OAAOkB,aAAe,kDAAoDN,EACjFO,QAAS,SAAUhB,GACfvF,EAAE,mBAAmB+F,KAAKR,GAC1BvF,EAAE,mBAAmBwG,WACzB,EACAC,MAAO,SAAUC,EAAKC,EAAYC,GAC9B9F,MAAM6F,EACV,IAEJ3G,EAAEoG,KAAK,CACHxD,KAAM,MACNyD,SAAU,OACVvI,IAAKkC,EAAEoF,OAAOkB,aAAe,yCAA2CN,EACxEO,QAAS,SAAUhB,GAGfM,EAASvE,KAAK,UAAUyE,KAAKR,GAG7BvF,EAAE,YAAcgG,GAAQ3C,KAAK,gBAAgB,WAGzCrD,EAAE,oBAAoBkF,OAAM,WAIxB,IAAI2B,EAAW7G,EAAEX,MAAMiC,KAAK,YAAYyE,OAAOe,OAC3CtI,EAAWwB,EAAEX,MAAMiC,KAAK,aAAayE,OACrChG,EAAgBC,EAAE,IAAMtB,EAAOuB,kBAAkB,OAAQ,iBAAiBC,OAE9E,GAAIrC,EAAQW,GAAW,CACnBuB,EAAcI,KAAK,KACnB,IAAIiB,EAAUpB,EAAE,IAAMtB,EAAOuB,kBAAkB,OAAQ,WAAWC,OAClEkB,EAAQE,KAAK,qBAAqBE,KAAK,YAAY,GACnDJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAY,GACrDxB,EAAEX,MAAMiC,KAAK,UAAUyE,QACvB3E,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,WAAW,GACxDJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAY,IAEzDJ,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,WAAW,GAExDxB,EAAEX,MAAMiC,KAAK,WAAWyE,QACxB3E,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAY,GAEzDxB,EAAEX,MAAMiC,KAAK,UAAUyE,QACvB3E,EAAQE,KAAK,qBAAqBC,GAAG,GAAGC,KAAK,YAAY,EAEjE,MAEIzB,EAAcW,KAAK,KAIvBhC,EAAOyG,WAAW,OAAQ,SAAU5G,EAAYsI,EAAUnI,EAAO2C,WAAW,OAAQ,aACpF3C,EAAOyG,WAAW,OAAQ,SAAUnF,EAAEX,MAAMiC,KAAK,QAAQyE,OAE7D,IAEA/F,EAAE,oBAAoB+G,OAAO,yBAEjC,IAEA/G,EAAE,YAAcgG,GAAQ3C,KAAK,kBAAkB,WAC3C3E,EAAOyG,WAAW,OAAQ,SAAU,IACpCzG,EAAOyG,WAAW,OAAQ,SAAU,GACxC,GAEJ,EACAsB,MAAO,SAAUC,EAAKC,EAAYC,GAC9B9F,MAAM6F,EACV,GAER,MAMxB,G","sources":["webpack://bc-admin-third/./src/bc_uploader/js/admin/uploader_files/ckeditor_uploader.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * ファイルアップロードダイアログ用CKEditorスクリプト\n */\n\nif (!CKEDITOR.dialog.exists('Image')) {\n\n CKEDITOR.dialog.add('baserUploaderDialog', function (editor) {\n return {\n title: bcI18n.ckeditorTitle,\n minWidth: 1000,\n minHeight: 510,\n whiteSpace: 'normal',\n /**\n * ダイアログ 起動イベント\n **/\n onShow: function () {\n this.editMode = false;\n var element = this.getParentEditor().getSelection().getSelectedElement();\n var selection = this.getParentEditor().getSelection();\n var ranges = selection.getRanges();\n var imgFlg = false;\n var formElements2 = $(\"#\" + this.getContentElement('info', 'formElements2').domId).show();\n\n if (element && element.getName() == 'img') {\n this.editMode = true;\n imgFlg = true;\n\n } else if (ranges.length == 1) {\n var rangeRoot = ranges[0].getCommonAncestor(true);\n element = rangeRoot.getAscendant('a', true);\n if (element && element.getAttribute('href')) {\n selection.selectElement(element);\n formElements2.hide();\n }\n }\n this.setupContent(element, imgFlg);\n },\n /**\n * OKボタン クリックイベント\n **/\n onOk: function () {\n\n var txtUrl = this.getContentElement('info', 'txtUrl');\n var url = txtUrl.getValue();\n var element;\n var imgFlg;\n\n if (!url) {\n alert(bcI18n.ckeditorAlertMessage1);\n return false;\n }\n\n if (isImage(url)) {\n // エディタにタグを配置\n element = editor.document.createElement('img');\n element.setAttribute('alt', '');\n imgFlg = true;\n } else {\n element = editor.document.createElement('a');\n element.setAttribute('title', '');\n element.setAttribute('class', 'file-link');\n element.setAttribute('target', '_blank');\n imgFlg = false;\n }\n\n // 各コントロールの完了処理を実行\n this.commitContent(element, imgFlg);\n\n if (imgFlg) {\n var rdoSize = $(\"#\" + this.getContentElement('info', 'rdoSize').domId);\n if (!this.editMode) {\n // リンク先用に最大サイズを取得\n var size = '';\n if (this.getValueOf('info', 'rdoSize')) {\n if (!rdoSize.find('input[type=radio]').eq(3).prop('disabled')) {\n size = 'large';\n } else if (!rdoSize.find('input[type=radio]').eq(2).prop('disabled')) {\n size = 'midium';\n } else if (!rdoSize.find('input[type=radio]').eq(1).prop('disabled')) {\n size = 'small';\n }\n }\n var src = getFilePath(element.getAttribute('src'), size);\n var linkElement = editor.document.createElement('a');\n linkElement.setAttribute('href', src);\n linkElement.setAttribute('rel', 'colorbox');\n linkElement.setAttribute('title', element.getAttribute('alt'));\n linkElement.append(element, false);\n\n if (this.getContentElement('info', 'chkCaption').getValue()) {\n var imageSettings = $.parseJSON($(\"#CkeditorUploaderScript\").attr('data-imageSettings'));\n var width;\n if (this.getValueOf('info', 'rdoSize')) {\n width = imageSettings[this.getValueOf('info', 'rdoSize')]['width'];\n }\n var box = editor.document.createElement('div');\n var caption = editor.document.createElement('div');\n box.setAttribute('class', 'bc-caption');\n if (width) {\n box.setAttribute('style', 'width:' + width + 'px');\n }\n caption.setAttribute('class', 'bc-caption-text');\n caption.appendHtml(this.getContentElement('info', 'txtAlt').getValue());\n box.append(linkElement);\n box.append(caption);\n linkElement = box;\n }\n\n element = linkElement;\n }\n }\n\n editor.insertElement(element);\n\n $(\"#EditDialog\").remove();\n\n return true;\n\n },\n /**\n * キャンセルボタン クリックイベント\n */\n onCancel: function () {\n $(\"#EditDialog\").remove();\n },\n /**\n * コンテンツプロパティ\n **/\n contents: [\n {\n id: 'info',\n label: bcI18n.ckeditorInfoLabel,\n title: bcI18n.ckeditorInfoTitle,\n elements: [\n {\t/* フォーム要素1列目 */\n id: 'formElements1',\n type: 'hbox',\n padding: 0,\n widths: ['45%', '45%', '10%'],\n children: [\n { /* URL */\n id: 'txtUrl',\n type: 'text',\n label: 'URL',\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n if (element) {\n if (imgFlg) {\n this.setValue(decodeURI(element.getAttribute('src')));\n } else {\n this.setValue(decodeURI(element.getAttribute('href')));\n }\n }\n var txtUrl = $(\"#\" + this.domId).find('input');\n var dialog = this.getDialog();\n // イベントを登録\n txtUrl.bind('keyup', function () {\n var formElements2 = $(\"#\" + dialog.getContentElement('info', 'formElements2').domId);\n if (isImage($(this).val())) {\n formElements2.show(200);\n } else {\n formElements2.hide(200);\n }\n });\n },\n commit: function (element, imgFlg) {\n if (imgFlg) {\n element.setAttribute('src', decodeURI(this.getValue()));\n } else {\n element.setAttribute('href', decodeURI(this.getValue()));\n }\n }\n },\n { /* 説明文 */\n id: 'txtAlt',\n type: 'text',\n label: bcI18n.ckeditorDescriptionLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n if (element) {\n if (imgFlg) {\n this.setValue(element.getAttribute('alt'));\n } else {\n this.setValue(element.getText());\n }\n }\n },\n commit: function (element, imgFlg) {\n if (imgFlg) {\n element.setAttribute('alt', this.getValue());\n } else {\n element.setAttribute('title', this.getValue());\n element.appendHtml(this.getValue());\n }\n }\n },\n { /* キャプション */\n id: 'chkCaption',\n type: 'checkbox',\n label: bcI18n.ckeditorCaptionLabel,\n style: 'margin-top:20px;'\n }\n ]\n },\n {\t/* フォーム要素2列目 */\n id: 'formElements2',\n type: 'hbox',\n padding: 0,\n widths: ['25%', '25%', '25%', '25%'],\n children: [\n { /* 横間隔 */\n id: 'txtHspace',\n type: 'text',\n label: bcI18n.ckeditorHspaceLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n if (element) {\n if (element.getAttribute('hspace')) {\n this.setValue(element.getAttribute('hspace'));\n }\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n var value = '0';\n if (this.getValue()) {\n value = this.getValue();\n }\n if (value > 0) {\n element.setStyle('margin-left', value + 'px');\n element.setStyle('margin-right', value + 'px');\n element.setAttribute('hspace', value);\n }\n }\n },\n { /* 縦間隔 */\n id: 'txtVspace',\n type: 'text',\n label: bcI18n.ckeditorVspaceLabel,\n style: 'margin-right : 10px;',\n setup: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n if (element && element.getAttribute('vspace')) {\n this.setValue(element.getAttribute('vspace'));\n }\n\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n var value = '0';\n if (this.getValue()) {\n value = this.getValue();\n }\n if (value > 0) {\n element.setStyle('margin-top', value + 'px');\n element.setStyle('margin-bottom', value + 'px');\n element.setAttribute('vspace', value);\n }\n }\n\n },\n { /* 行揃え */\n id: 'cmbAlign',\n type: 'select',\n /*style : 'width:90px',*/\n label: bcI18n.ckeditorAlignLabel,\n 'default': '',\n items: [\n [editor.lang.common.notSet, ''],\n [bcI18n.ckeditorLeft, 'left'],\n [bcI18n.ckeditorAbsBottom, 'absBottom'],\n [bcI18n.ckeditorAbsMiddle, 'absMiddle'],\n [bcI18n.ckeditorBaseline, 'baseline'],\n [bcI18n.ckeditorBottom, 'bottom'],\n [bcI18n.ckeditorMiddle, 'middle'],\n [bcI18n.ckeditorRight, 'right'],\n [bcI18n.ckeditorTextTop, 'textTop'],\n [bcI18n.ckeditorTop, 'top']\n ],\n setup: function (element, imgFlg) {\n if (!imgFlg) {\n return;\n }\n if (element) {\n this.setValue(element.getAttribute('align'));\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n element.setAttribute('align', this.getValue());\n }\n },\n { /* サイズ */\n id: 'rdoSize',\n type: 'radio',\n label: bcI18n.ckeditorSizeLabel,\n 'default': 'small',\n items:\n [\n [bcI18n.ckeditorOriginSize, ''],\n [bcI18n.ckeditorSmall, 'small'],\n [bcI18n.ckeditorMidium, 'midium'],\n [bcI18n.ckeditorLarge, 'large']\n ],\n setup: function (element, imgFlg) {\n\n var dialog = this.getDialog();\n var rdoSize = $(\"#\" + this.domId);\n rdoSize.find('input[type=radio]').prop('disabled', true);\n rdoSize.find('input[type=radio]').eq(0).prop('disabled', false);\n\n rdoSize.find('input[type=radio]').click(function () {\n if ($(this).prop('checked')) {\n dialog.setValueOf('info', 'txtUrl', getFilePath(dialog.getValueOf('info', 'txtUrl'), dialog.getValueOf('info', 'rdoSize')));\n }\n });\n\n if (element && imgFlg) {\n // 画像のサイズを取得する\n const url = $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/exists_images/' + getFileName(element.getAttribute('src'), '');\n $.get(url, null, function (res) {\n if (res.result) {\n rdoSize.find('input[type=radio]').eq(1).prop('disabled', !res.result.small);\n rdoSize.find('input[type=radio]').eq(2).prop('disabled', !res.result.midium);\n rdoSize.find('input[type=radio]').eq(3).prop('disabled', !res.result.large);\n } else {\n rdoSize.find('input[type=radio]').prop('disabled', true);\n }\n }, 'json');\n this.setValue(getSizeByFile(element.getAttribute('src')));\n }\n },\n commit: function (element, imgFlg) {\n\n if (!imgFlg) {\n return;\n }\n\n }\n }\n ]\n },\n { /* fileManager */\n id: 'fileManager',\n type: 'vbox',\n padding: 0,\n children: [],\n setup: function () {\n var fileList = $(\"#\" + this.domId);\n\n var inner = '
' +\n '
';\n fileList.html(inner);\n\n var dialog = this.getDialog();\n var listId = Math.floor(Math.random() * 99999999 + 1);\n $.ajax({\n type: \"GET\",\n dataType: \"html\",\n url: $.bcUtil.adminBaseUrl + \"bc-uploader/uploader_files/ajax_get_search_box/\" + listId,\n success: function (res) {\n $(\"#UploaderSearch\").html(res);\n $(\"#UploaderSearch\").slideDown();\n },\n error: function (msg, textStatus, errorThrown) {\n alert(textStatus);\n }\n });\n $.ajax({\n type: \"GET\",\n dataType: \"html\",\n url: $.bcUtil.adminBaseUrl + \"bc-uploader/uploader_files/ajax_index/\" + listId,\n success: function (res) {\n\n // リストをセット\n fileList.find('.inner').html(res);\n\n // リストのロード完了イベント\n $(\"#FileList\" + listId).bind('filelistload', function () {\n\n // ファイル選択イベント\n $('.selectable-file').click(function () {\n\n // URLの拡張子で画像かどうかを判別\n // ※ URLを直接入力する場合もあるので拡張子で判断\n var filePath = $(this).find(\"span.url\").html().trim();\n var fileName = $(this).find(\"span.name\").html();\n var formElements2 = $(\"#\" + dialog.getContentElement('info', 'formElements2').domId);\n\n if (isImage(fileName)) {\n formElements2.show(200);\n var rdoSize = $(\"#\" + dialog.getContentElement('info', 'rdoSize').domId);\n rdoSize.find('input[type=radio]').prop('disabled', true);\n rdoSize.find('input[type=radio]').eq(0).prop('disabled', false);\n if ($(this).find('.small').html()) {\n rdoSize.find('input[type=radio]').eq(1).prop('checked', true);\n rdoSize.find('input[type=radio]').eq(1).prop('disabled', false);\n } else {\n rdoSize.find('input[type=radio]').eq(0).prop('checked', true);\n }\n if ($(this).find('.midium').html()) {\n rdoSize.find('input[type=radio]').eq(2).prop('disabled', false);\n }\n if ($(this).find('.large').html()) {\n rdoSize.find('input[type=radio]').eq(3).prop('disabled', false);\n }\n } else {\n // 縦間隔・横間隔・行揃え・サイズを非表示\n formElements2.hide(200);\n }\n\n /* 対象サイズのURLと説明文をセットする */\n dialog.setValueOf('info', 'txtUrl', getFilePath(filePath, dialog.getValueOf('info', 'rdoSize')));\n dialog.setValueOf('info', 'txtAlt', $(this).find('.alt').html());\n\n });\n\n $(\".selectable-file\").unbind('dblclick.dblclickEvent');\n\n });\n\n $(\"#FileList\" + listId).bind('deletecomplete', function () {\n dialog.setValueOf('info', 'txtUrl', '');\n dialog.setValueOf('info', 'txtAlt', '');\n });\n\n },\n error: function (msg, textStatus, errorThrown) {\n alert(textStatus);\n }\n });\n }\n }\n ]\n }\n ]\n };\n });\n}\n\n/**\n * 画像ファイルかどうかを判断する\n */\nfunction isImage(url) {\n ret = url.match(/.*?\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n ext = ret[1];\n if (ext == 'png' || ext == 'gif' || ext == 'jpg') {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n}\n\n/**\n * ファイル名を取得する\n */\nfunction getFileName(url, size) {\n var ret, file, ext, fileName;\n ret = url.match(/\\/([^\\/]*?)\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n file = decodeURI(ret[1].replace(/__[a-z]*?$/, ''));\n ext = ret[2];\n if (size && isImage(url)) {\n fileName = file + '__' + size + '.' + ext;\n } else {\n fileName = file + '.' + ext;\n }\n return fileName;\n } else {\n return url;\n }\n}\n\n/**\n * ファイルパスを取得する\n */\nfunction getFilePath(url, size) {\n var ret, fileName;\n fileName = getFileName(url, size);\n ret = url.match(/^(.*\\/)([^\\/]*?)\\.([a-zA-Z0-9]*?)$/);\n if (ret) {\n return ret[1] + fileName;\n } else {\n return url;\n }\n}\n\n/**\n * ファイル名からファイルのサイズを取得\n */\nfunction getSizeByFile(url) {\n var ret = url.match(/__([a-z]*?)\\.[a-zA-Z0-9]*?$/);\n if (ret) {\n return ret[1];\n } else {\n return '';\n }\n}\n"],"names":["isImage","url","ret","match","ext","getFileName","size","file","decodeURI","replace","getFilePath","fileName","CKEDITOR","dialog","exists","add","editor","title","bcI18n","ckeditorTitle","minWidth","minHeight","whiteSpace","onShow","this","editMode","element","getParentEditor","getSelection","getSelectedElement","selection","ranges","getRanges","imgFlg","formElements2","$","getContentElement","domId","show","getName","length","getCommonAncestor","getAscendant","getAttribute","selectElement","hide","setupContent","onOk","getValue","alert","ckeditorAlertMessage1","document","createElement","setAttribute","commitContent","rdoSize","getValueOf","find","eq","prop","src","linkElement","append","width","imageSettings","parseJSON","attr","box","caption","appendHtml","insertElement","remove","onCancel","contents","id","label","ckeditorInfoLabel","ckeditorInfoTitle","elements","type","padding","widths","children","style","setup","setValue","txtUrl","getDialog","bind","val","commit","ckeditorDescriptionLabel","getText","ckeditorCaptionLabel","ckeditorHspaceLabel","value","setStyle","ckeditorVspaceLabel","ckeditorAlignLabel","items","lang","common","notSet","ckeditorLeft","ckeditorAbsBottom","ckeditorAbsMiddle","ckeditorBaseline","ckeditorBottom","ckeditorMiddle","ckeditorRight","ckeditorTextTop","ckeditorTop","ckeditorSizeLabel","ckeditorOriginSize","ckeditorSmall","ckeditorMidium","ckeditorLarge","click","setValueOf","bcUtil","apiAdminBaseUrl","get","res","result","small","midium","large","getSizeByFile","fileList","inner","html","listId","Math","floor","random","ajax","dataType","adminBaseUrl","success","slideDown","error","msg","textStatus","errorThrown","filePath","trim","unbind"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js index 714b6a1ea1..2e18a3acb7 100644 --- a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js +++ b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js @@ -7,5 +7,5 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -$((function(){var e=$("#ListId").html();$("#ListId").remove();var l=$([]).add($("#name")).add($("#alt")),i=($.baseUrl(),$("#AdminPrefix").html(),null);function t(){var l=$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/upload.json",i=$(this);$.bcUtil.showLoader(),$("#UploaderFileFile"+e).val()&&$.bcToken.check((function(){var t=new FormData;return t.append("file",i.prop("files")[0]),t.append("_csrfToken",$.bcToken.key),$("#UploaderFileUploaderCategoryId"+e).length&&t.append("uploader_category_id",$("#UploaderFileUploaderCategoryId"+e).val()),$.ajax({url:l,type:"post",data:t,dataType:"json",processData:!1,contentType:!1,cache:!1,success:a,error:function(e){e.responseJSON?$.bcUtil.showApiError(e):$.bcUtil.showAlertMessage("処理中にエラーが発生しました。ファイルが大きすぎる可能性があります。"),$.bcUtil.hideLoader()}})}),{useUpdate:!1,hideLoader:!1})}function a(l){l?($("#UploaderFileUploaderCategoryId"+e).length&&($("#FilterUploaderCategoryId"+e).val($("#UploaderFileUploaderCategoryId"+e).val()),i=$("#UploaderFileUploaderCategoryId"+e).val()),n()):($("#ErrorMessage").remove(),$("#FileList"+e).prepend('

'+bcI18n.uploaderAlertMessage2+"

"),$("#Waiting").hide()),$("#UploaderFileFile"+e).remove(),$("#SpanUploadFile"+e).append(''),$("#UploaderFileFile"+e).change(t),$.bcToken.key=null}function n(){$.bcUtil.ajax(function(){var l=$("#ListUrl"+e).attr("href"),i=[];$("#FilterUploaderCategoryId"+e).length?i.push("uploader_category_id="+$("#FilterUploaderCategoryId"+e).val()):i.push("uploader_category_id="),$('input[name="uploader_type"]:checked').length?i.push("uploader_type="+$('input[name="uploader_type"]:checked').val()):i.push("uploader_type=all"),$("#FilterName"+e).val()?i.push("name="+encodeURI($("#FilterName"+e).val())):i.push("name=");var t=location.search.match("limit=([0-9]+)");return t&&i.push("limit="+t[1]),i.length&&(l+="?"+i.join("&")),l}(),r,{hideLoader:!1,type:"GET"})}function o(e){var l=$("#LoginUserId").html(),i=$("#LoginUserGroupId").html(),t=Number($("#UsePermission").html()),a=!1;return 1!=i&&t&&l!=e&&(a=!0),a}function r(l){$("#FileList"+e).html(l),function(){$("#UsePermission").html(),i&&$("#UploaderFileUploaderCategoryId"+e).val(i),$(".selectable-file").unbind("click.selectEvent"),$(".selectable-file").unbind("mouseenter.selectEvent"),$(".selectable-file").unbind("mouseleave.selectEvent"),$(".page-numbers a").unbind("click.paginationEvent"),$(".selectable-file").unbind("dblclick.dblclickEvent"),$(".filter-control").unbind("click.filterEvent"),$(".btn-delete").unbind("click");var l="#bbb";$.fn.contextMenu&&!e&&$("#DivPanelList").length&&$("#DivPanelList").contextMenu({selector:".selectable-file",callback:s,build:function(e,l){var i=o($(e).find(".user-id").html());return{items:{edit:{name:bcI18n.uploaderEdit,icon:"edit",disabled:function(e,l){return i}},delete:{name:bcI18n.uploaderDelete,icon:"delete",disabled:function(e,l){return i}}}}}}),$("#DivPanelList .selectable-file").each((function(){$.fn.contextMenu&&!e?o($(this).find(".user-id").html())?$(this).bind("dblclick.dblclickEvent",(function(){alert(bcI18n.uploaderAlertMessage3)})):$(this).bind("dblclick.dblclickEvent",(function(){$("#EditDialog").dialog("open")})):$(this).bind("contextmenu",(function(e){return!1})),$(this).hasClass("unpublish")&&$(this).css("background-color",l)})),$("#UploaderFileFile"+e).change(t),e?($(".selectable-file").bind("mouseenter.selectEvent",(function(){$(this).css("background-color","#fffae7")})),$(".selectable-file").bind("mouseleave.selectEvent",(function(){$(this).css("background-color","#FFFFFF"),$(this).hasClass("unpublish")&&$(this).css("background-color",l)})),$(".selectable-file").each((function(){$(this).bind("mousedown",(function(){$(".selectable-file").removeClass("selected"),$(this).addClass("selected")}))}))):($("#DivPanelList .selectable-file").bind("mouseenter.selectEvent",(function(){$(this).css("background-color","#fffae7")})),$("#DivPanelList .selectable-file").bind("mouseleave.selectEvent",(function(){$(this).css("background-color","#FFFFFF"),$(this).hasClass("unpublish")&&$(this).css("background-color",l)})),$("#DivPanelList .selectable-file").each((function(){$(this).bind("mousedown",(function(){$(".selectable-file").removeClass("selected"),$(this).addClass("selected")}))}))),$(".page-numbers a").bind("click.paginationEvent",(function(){return $("#Waiting").show(),$.get($(this).attr("href"),r),!1})),$(".bca-list-num a").on("click.listNumEvent",(function(){return $("#Waiting").show(),$.get($(this).attr("href"),r),!1})),$("#FileList"+e).trigger("filelistload"),$("#FileList"+e).effect("highlight",{},1500)}(),$("#FileList"+e).trigger("loadTableComplete"),$("#Waiting").hide()}function s(l,i){var t=$("#FileList"+e+" .selected .id").html().trim(),a=$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/delete/"+t+".json",o=l.indexOf("#");switch(-1!==o&&(l=l.substring(o+1,l.length)),l){case"edit":$("#EditDialog").dialog("open");break;case"delete":confirm(bcI18n.uploaderConfirmMessage1)&&$.bcToken.check((function(){$.ajax({url:a,headers:{"X-CSRF-Token":$.bcToken.key},type:"post",dataType:"json",beforeSend:function(){$("#Waiting").show()},success:function(){$("#FileList"+e).trigger("deletecomplete"),n()},error:function(){alert(bcI18n.uploaderAlertMessage4)},complete:function(){$("#Waiting").hide(),$.bcToken.key=null}})}),{useUpdate:!1,hideLoader:!1})}}n(),$("#BtnFilter").click((function(){return n(),!1})),$("#EditDialog").dialog({bgiframe:!0,autoOpen:!1,position:{at:"center center",of:window},width:960,modal:!0,open:function(){var l=$("#FileList"+e+" .selected .name").html();$("#UploaderFileImage"+e+" .uploader-file-image-inner").remove(),$("#UploadFileImageLoader"+e).show(),$("#UploaderFileId"+e).val($("#FileList"+e+" .selected .id").html().trim()),$("#UploaderFileName"+e).val(l),$("#UploaderFileAlt"+e).val($("#FileList"+e+" .selected .alt").html());var i=$("#FileList"+e+" .selected .publish-begin").html().trim(),t=$("#FileList"+e+" .selected .publish-begin-time").html().trim();$("#UploaderFilePublishBegin-date").val(i),$("#UploaderFilePublishBegin-time").val(t);var a=i;t&&(a+=" "+t),$("#UploaderFilePublishBegin").val(a);var n=$("#FileList"+e+" .selected .publish-end").html().trim(),o=$("#FileList"+e+" .selected .publish-end-time").html().trim();$("#UploaderFilePublishEnd-date").val(n),$("#UploaderFilePublishEnd-time").val(o);var r=n;o&&(r+=" "+o),$("#UploaderFilePublishEnd").val(r),$("#UploaderFileUserId"+e).val($("#FileList"+e+" .selected .user-id").html()),$("#UploaderFileUserName"+e).html($("#FileList"+e+" .selected .user-name").html()),$("#_UploaderFileUploaderCategoryId"+e).length&&$("#_UploaderFileUploaderCategoryId"+e).val($("#FileList"+e+" .selected .uploader-category-id").html()),$.ajax({url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_image/"+l+"/large",type:"get",dataType:"html",success:function(l){$("#UploadFileImageLoader"+e).hide(),$("#UploadFileImageLoader"+e).after(l)}})},buttons:{cancel:{text:bcI18n.uploaderCancel,click:function(){$(this).dialog("close")}},save:{text:bcI18n.uploaderSave,click:function(){var i=$(this),t=$("#UploaderFileId"+e).val();$.bcToken.check((function(){var a={id:t,name:$("#UploaderFileName"+e).val(),alt:$("#UploaderFileAlt"+e).val(),publish_begin:$("#UploaderFilePublishBegin"+e).val(),publish_end:$("#UploaderFilePublishEnd"+e).val(),user_id:$("#UploaderFileUserId"+e).val(),uploader_category_id:$("#_UploaderFileUploaderCategoryId"+e).val(),_csrfToken:$.bcToken.key};return $.ajax({url:$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/edit/"+t+".json",type:"post",data:a,dataType:"json",success:function(){n(),l.removeClass("ui-state-error"),i.dialog("close")},error:function(e){var l={name:bcI18n.uploaderFile,publish_begin:bcI18n.uploaderPublishBegin,publish_end:bcI18n.uploaderPublishEnd},i=e.responseJSON.message;void 0!==e.responseJSON.errors&&(i+="\n",Object.keys(e.responseJSON.errors).forEach((function(t){Object.keys(e.responseJSON.errors[t]).forEach((function(a){i+="\n・"+l[t]+":"+e.responseJSON.errors[t][a]}))}))),alert(i)}})}),{hideLoader:!1,useUpdate:!1})}}},close:function(){l.val("").removeClass("ui-state-error")}})})); +uploaderFilesIndex={listId:null,allFields:null,categoryId:null,mounted:function(){var e=$("#ListId");this.listId=e.html(),e.remove(),this.allFields=$([]).add($("#name")).add($("#alt")),this.initView(),this.registerEvents()},initView:function(){this.updateFileList(),this.initDialog()},registerEvents:function(){$("#BtnFilter").click((function(){return uploaderFilesIndex.updateFileList(),!1}))},initDialog:function(){$("#EditDialog").dialog({bgiframe:!0,autoOpen:!1,position:{at:"center center",of:window},width:960,modal:!0,open:function(){var e=uploaderFilesIndex.listId,l=$("#FileList"+e+" .selected .name").html();$("#UploaderFileImage"+e+" .uploader-file-image-inner").remove(),$("#UploadFileImageLoader"+e).show(),$("#UploaderFileId"+e).val($("#FileList"+e+" .selected .id").html().trim()),$("#UploaderFileName"+e).val(l),$("#UploaderFileAlt"+e).val($("#FileList"+e+" .selected .alt").html());var i=$("#FileList"+e+" .selected .publish-begin").html().trim(),a=$("#FileList"+e+" .selected .publish-begin-time").html().trim();$("#UploaderFilePublishBegin-date").val(i),$("#UploaderFilePublishBegin-time").val(a);var t=i;a&&(t+=" "+a),$("#UploaderFilePublishBegin").val(t);var n=$("#FileList"+e+" .selected .publish-end").html().trim(),d=$("#FileList"+e+" .selected .publish-end-time").html().trim();$("#UploaderFilePublishEnd-date").val(n),$("#UploaderFilePublishEnd-time").val(d);var s=n;d&&(s+=" "+d),$("#UploaderFilePublishEnd").val(s),$("#UploaderFileUserId"+e).val($("#FileList"+e+" .selected .user-id").html()),$("#UploaderFileUserName"+e).html($("#FileList"+e+" .selected .user-name").html());var r=$("#_UploaderFileUploaderCategoryId"+e);r.length&&r.val($("#FileList"+e+" .selected .uploader-category-id").html()),$.ajax({url:$.bcUtil.adminBaseUrl+"bc-uploader/uploader_files/ajax_image/"+l+"/large",type:"get",dataType:"html",success:function(l){$("#UploadFileImageLoader"+e).hide().after(l)}})},buttons:{cancel:{text:bcI18n.uploaderCancel,click:function(){$(this).dialog("close")}},save:{text:bcI18n.uploaderSave,click:function(){var e=uploaderFilesIndex.listId,l=$(this),i=$("#UploaderFileId"+e).val();$.bcToken.check((function(){var a={id:i,name:$("#UploaderFileName"+e).val(),alt:$("#UploaderFileAlt"+e).val(),publish_begin:$("#UploaderFilePublishBegin"+e).val(),publish_end:$("#UploaderFilePublishEnd"+e).val(),user_id:$("#UploaderFileUserId"+e).val(),uploader_category_id:$("#_UploaderFileUploaderCategoryId"+e).val(),_csrfToken:$.bcToken.key};return $.ajax({url:$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/edit/"+i+".json",type:"post",data:a,dataType:"json",success:function(){uploaderFilesIndex.updateFileList(),uploaderFilesIndex.allFields.removeClass("ui-state-error"),l.dialog("close")},error:function(e){var l={name:bcI18n.uploaderFile,publish_begin:bcI18n.uploaderPublishBegin,publish_end:bcI18n.uploaderPublishEnd},i=e.responseJSON.message;void 0!==e.responseJSON.errors&&(i+="\n",Object.keys(e.responseJSON.errors).forEach((function(a){Object.keys(e.responseJSON.errors[a]).forEach((function(t){i+="\n・"+l[a]+":"+e.responseJSON.errors[a][t]}))}))),alert(i)}})}),{hideLoader:!1,useUpdate:!1})}}},close:function(){uploaderFilesIndex.allFields.val("").removeClass("ui-state-error")}})},uploaderFileFileChangeHandler:function(){var e=$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/upload.json",l=$(this),i=uploaderFilesIndex.listId;$.bcUtil.showLoader(),$("#UploaderFileFile"+i).val()&&$.bcToken.check((function(){var a=new FormData;return a.append("file",l.prop("files")[0]),a.append("_csrfToken",$.bcToken.key),$uploaderCategoryId=$("#UploaderFileUploaderCategoryId"+i),$uploaderCategoryId.length&&a.append("uploader_category_id",$uploaderCategoryId.val()),$.ajax({url:e,type:"post",data:a,dataType:"json",processData:!1,contentType:!1,cache:!1,beforeSend:function(){$.bcUtil.hideMessage()},success:uploaderFilesIndex.uploadSuccessHandler,error:function(e){e.responseJSON?$.bcUtil.showApiError(e):$.bcUtil.showAlertMessage("処理中にエラーが発生しました。ファイルが大きすぎる可能性があります。"),$.bcUtil.hideLoader()}})}),{useUpdate:!1,hideLoader:!1})},uploadSuccessHandler:function(e){var l=uploaderFilesIndex.listId;if(e){var i=$("#UploaderFileUploaderCategoryId"+l);i.length&&($("#FilterUploaderCategoryId"+l).val(i.val()),uploaderFilesIndex.categoryId=i.val()),uploaderFilesIndex.updateFileList()}else $("#ErrorMessage").remove(),$("#FileList"+l).prepend('

'+bcI18n.uploaderAlertMessage2+"

"),$("#Waiting").hide();$("#UploaderFileFile"+l).remove(),$("#SpanUploadFile"+l).append(''),$("#UploaderFileFile"+l).change(uploaderFilesIndex.uploaderFileFileChangeHandler),$.bcToken.key=null},updateFileList:function(){$.bcUtil.ajax(uploaderFilesIndex.getListUrl(),uploaderFilesIndex.updateFileListCompleteHandler,{hideLoader:!1,type:"GET"})},isFileEditDisabled:function(e){var l=$("#LoginUserId").html(),i=$("#LoginUserGroupId").html(),a=Number($("#UsePermission").html()),t=!1;return 1!==parseInt(i)&&a&&parseInt(l)!==e&&(t=!0),t},initFileList:function(){var e=uploaderFilesIndex.listId;uploaderFilesIndex.categoryId&&$("#UploaderFileUploaderCategoryId"+e).val(uploaderFilesIndex.categoryId);var l=$(".selectable-file");l.unbind("click.selectEvent"),l.unbind("mouseenter.selectEvent"),l.unbind("mouseleave.selectEvent"),l.unbind("dblclick.dblclickEvent"),$(".page-numbers a").unbind("click.paginationEvent"),$(".filter-control").unbind("click.filterEvent"),$(".btn-delete").unbind("click");var i="#bbb";$divPanelList=$("#DivPanelList"),$.fn.contextMenu&&!e&&$divPanelList.length&&$divPanelList.contextMenu({selector:".selectable-file",callback:uploaderFilesIndex.contextMenuHandler,build:function(e,l){var i=uploaderFilesIndex.isFileEditDisabled($(e).find(".user-id").html());return{items:{edit:{name:bcI18n.uploaderEdit,icon:"edit",disabled:function(e,l){return i}},delete:{name:bcI18n.uploaderDelete,icon:"delete",disabled:function(e,l){return i}}}}}}),$selectableFileInPanelList=$("#DivPanelList .selectable-file"),$selectableFileInPanelList.each((function(){$.fn.contextMenu&&!e?uploaderFilesIndex.isFileEditDisabled($(this).find(".user-id").html())?$(this).bind("dblclick.dblclickEvent",(function(){alert(bcI18n.uploaderAlertMessage3)})):$(this).bind("dblclick.dblclickEvent",(function(){$("#EditDialog").dialog("open")})):$(this).bind("contextmenu",(function(e){return!1})),$(this).hasClass("unpublish")&&$(this).css("background-color",i)})),$("#UploaderFileFile"+e).change(uploaderFilesIndex.uploaderFileFileChangeHandler),e?(l.bind("mouseenter.selectEvent",(function(){$(this).css("background-color","#fffae7")})),l.bind("mouseleave.selectEvent",(function(){$(this).css("background-color","#FFFFFF"),$(this).hasClass("unpublish")&&$(this).css("background-color",i)})),l.each((function(){$(this).bind("mousedown",(function(){l.removeClass("selected"),$(this).addClass("selected")}))}))):($selectableFileInPanelList.bind("mouseenter.selectEvent",(function(){$(this).css("background-color","#fffae7")})),$selectableFileInPanelList.bind("mouseleave.selectEvent",(function(){$(this).css("background-color","#FFFFFF"),$(this).hasClass("unpublish")&&$(this).css("background-color",i)})),$selectableFileInPanelList.each((function(){$(this).bind("mousedown",(function(){l.removeClass("selected"),$(this).addClass("selected")}))}))),$(".page-numbers a").bind("click.paginationEvent",(function(){return $("#Waiting").show(),$.get($(this).attr("href"),uploaderFilesIndex.updateFileListCompleteHandler),!1})),$(".bca-list-num a").on("click.listNumEvent",(function(){return $("#Waiting").show(),$.get($(this).attr("href"),uploaderFilesIndex.updateFileListCompleteHandler),!1}));var a=$("#FileList"+e);a.trigger("filelistload"),a.effect("highlight",{},1500)},updateFileListCompleteHandler:function(e){var l=uploaderFilesIndex.listId,i=$("#FileList"+l);i.html(e),uploaderFilesIndex.initFileList(),i.trigger("loadTableComplete"),$("#Waiting").hide()},getListUrl:function(){var e=uploaderFilesIndex.listId,l=$("#ListUrl"+e).attr("href"),i=[],a=$("#FilterUploaderCategoryId"+e);a.length?i.push("uploader_category_id="+a.val()):i.push("uploader_category_id=");var t=$('input[name="uploader_type"]:checked');t.length?i.push("uploader_type="+t.val()):i.push("uploader_type=all");var n=$("#FilterName"+e);n.val()?i.push("name="+encodeURI(n.val())):i.push("name=");var d=location.search.match("limit=([0-9]+)");return d&&i.push("limit="+d[1]),i.length&&(l+="?"+i.join("&")),l},contextMenuHandler:function(e,l){var i=uploaderFilesIndex.listId,a=$("#FileList"+i+" .selected .id").html().trim(),t=$.bcUtil.apiAdminBaseUrl+"bc-uploader/uploader_files/delete/"+a+".json",n=e.indexOf("#");switch(-1!==n&&(e=e.substring(n+1,e.length)),e){case"edit":$("#EditDialog").dialog("open");break;case"delete":confirm(bcI18n.uploaderConfirmMessage1)&&$.bcToken.check((function(){$.ajax({url:t,headers:{"X-CSRF-Token":$.bcToken.key},type:"post",dataType:"json",beforeSend:function(){$("#Waiting").show()},success:function(){$("#FileList"+i).trigger("deletecomplete"),uploaderFilesIndex.updateFileList()},error:function(){alert(bcI18n.uploaderAlertMessage4)},complete:function(){$("#Waiting").hide(),$.bcToken.key=null}})}),{useUpdate:!1,hideLoader:!1})}}},uploaderFilesIndex.mounted(); //# sourceMappingURL=index_panel.bundle.js.map \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js.map b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js.map index 99d4ceb377..cdefa2a54b 100644 --- a/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js.map +++ b/plugins/bc-admin-third/webroot/bc_uploader/js/admin/uploader_files/index_panel.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bc_uploader/js/admin/uploader_files/index_panel.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/./src/bc_uploader/js/admin/uploader_files/index_panel.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * 起動時処理\n */\n$(function () {\n\n var listId = $(\"#ListId\").html();\n\n //==========================================================================\n // 複数のエディタよりリストが呼出される可能性がある為、#ListIdの値を読み込んだら削除する\n // TODO 強引すぎるので他の方法がないか検討要\n //==========================================================================\n $(\"#ListId\").remove();\n\n var allFields = $([]).add($(\"#name\")).add($(\"#alt\"));\n var baseUrl = $.baseUrl() + '/';\n var adminPrefix = $(\"#AdminPrefix\").html();\n var categoryId = null;\n\n // 一覧を更新する\n updateFileList();\n\n $(\"#BtnFilter\").click(function(){\n updateFileList();\n return false;\n });\n\n /* ダイアログを初期化 */\n $(\"#EditDialog\").dialog({\n bgiframe: true,\n autoOpen: false,\n position: {at: \"center center\", of: window},\n width: 960,\n modal: true,\n open: function () {\n var name = $(\"#FileList\" + listId + \" .selected .name\").html();\n $(\"#UploaderFileImage\" + listId + ' .uploader-file-image-inner').remove();\n $(\"#UploadFileImageLoader\" + listId).show();\n $(\"#UploaderFileId\" + listId).val($(\"#FileList\" + listId + \" .selected .id\").html().trim());\n $(\"#UploaderFileName\" + listId).val(name);\n $(\"#UploaderFileAlt\" + listId).val($(\"#FileList\" + listId + \" .selected .alt\").html());\n\n /* ダイアログ初期化時、hidden値が空になるため公開期間開始日時を取得して hidden値に入れ込む */\n var publishBeginDate = $(\"#FileList\" + listId + \" .selected .publish-begin\").html().trim();\n var publishBeginTime = $(\"#FileList\" + listId + \" .selected .publish-begin-time\").html().trim();\n $(\"#UploaderFilePublishBegin-date\").val(publishBeginDate);\n $(\"#UploaderFilePublishBegin-time\").val(publishBeginTime);\n var publishBeginDateTime = publishBeginDate;\n if (publishBeginTime) {\n publishBeginDateTime += ' ' + publishBeginTime;\n }\n $(\"#UploaderFilePublishBegin\").val(publishBeginDateTime);\n\n /* ダイアログ初期化時、hidden値が空になるため公開期間終了日時を取得して hidden値に入れ込む */\n var publishEndDate = $(\"#FileList\" + listId + \" .selected .publish-end\").html().trim();\n var publishEndTime = $(\"#FileList\" + listId + \" .selected .publish-end-time\").html().trim();\n $(\"#UploaderFilePublishEnd-date\").val(publishEndDate);\n $(\"#UploaderFilePublishEnd-time\").val(publishEndTime);\n var publishEndDateTime = publishEndDate;\n if (publishEndTime) {\n publishEndDateTime += ' ' + publishEndTime;\n }\n $(\"#UploaderFilePublishEnd\").val(publishEndDateTime);\n\n $(\"#UploaderFileUserId\" + listId).val($(\"#FileList\" + listId + \" .selected .user-id\").html());\n $(\"#UploaderFileUserName\" + listId).html($(\"#FileList\" + listId + \" .selected .user-name\").html());\n if ($(\"#_UploaderFileUploaderCategoryId\" + listId).length) {\n $(\"#_UploaderFileUploaderCategoryId\" + listId).val($(\"#FileList\" + listId + \" .selected .uploader-category-id\").html());\n }\n $.ajax({\n url: $.bcUtil.adminBaseUrl + 'bc-uploader/uploader_files/ajax_image/' + name + '/large',\n type: 'get',\n dataType: 'html',\n success: function (res) {\n $(\"#UploadFileImageLoader\" + listId).hide();\n $(\"#UploadFileImageLoader\" + listId).after(res);\n }\n });\n },\n buttons: {\n cancel: {\n text: bcI18n.uploaderCancel,\n click: function () {\n $(this).dialog('close');\n }\n },\n save: {\n text: bcI18n.uploaderSave,\n click: function () {\n // 保存処理\n let saveButton = $(this);\n let id = $(\"#UploaderFileId\" + listId).val();\n $.bcToken.check(function () {\n // IEでform.serializeを利用した場合、Formタグの中にTableタグがあるとデータが取得できなかった\n var data = {\n \"id\": id,\n \"name\": $(\"#UploaderFileName\" + listId).val(),\n \"alt\": $(\"#UploaderFileAlt\" + listId).val(),\n \"publish_begin\": $(\"#UploaderFilePublishBegin\" + listId).val(),\n \"publish_end\": $(\"#UploaderFilePublishEnd\" + listId).val(),\n \"user_id\": $(\"#UploaderFileUserId\" + listId).val(),\n \"uploader_category_id\": $(\"#_UploaderFileUploaderCategoryId\" + listId).val(),\n \"_csrfToken\": $.bcToken.key\n };\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/edit/' + id + '.json',\n type: 'post',\n data: data,\n dataType: 'json',\n success: function () {\n updateFileList();\n allFields.removeClass('ui-state-error');\n saveButton.dialog('close');\n },\n error: function (response) {\n const fields = {\n name: bcI18n.uploaderFile,\n publish_begin: bcI18n.uploaderPublishBegin,\n publish_end: bcI18n.uploaderPublishEnd\n };\n let message = response.responseJSON.message;\n if(response.responseJSON.errors !== undefined) {\n message += \"\\n\";\n Object.keys(response.responseJSON.errors).forEach(function (key) {\n Object.keys(response.responseJSON.errors[key]).forEach(function (field) {\n message += \"\\n・\" + fields[key] + ':' + response.responseJSON.errors[key][field];\n });\n });\n }\n alert(message);\n }\n });\n }, {hideLoader: false, useUpdate: false});\n }\n }\n },\n close: function () {\n allFields.val('').removeClass('ui-state-error');\n }\n\n });\n\n /**\n * アップロードファイル選択時イベント\n */\n function uploaderFileFileChangeHandler() {\n var url = $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/upload.json';\n var $file = $(this);\n $.bcUtil.showLoader();\n if ($('#UploaderFileFile' + listId).val()) {\n $.bcToken.check(function () {\n let fd = new FormData();\n fd.append('file', $file.prop('files')[0]);\n fd.append('_csrfToken', $.bcToken.key);\n if ($(\"#UploaderFileUploaderCategoryId\" + listId).length) {\n fd.append('uploader_category_id', $(\"#UploaderFileUploaderCategoryId\" + listId).val());\n }\n return $.ajax({\n url: url,\n type: 'post',\n data: fd,\n dataType: 'json',\n processData: false,\n contentType: false,\n cache: false,\n success: uploadSuccessHandler,\n error: function (response) {\n if (response.responseJSON) {\n $.bcUtil.showApiError(response);\n } else {\n $.bcUtil.showAlertMessage('処理中にエラーが発生しました。ファイルが大きすぎる可能性があります。');\n }\n $.bcUtil.hideLoader()\n },\n });\n }, {useUpdate: false, hideLoader: false});\n }\n }\n\n /**\n * アップロード完了後イベント\n */\n function uploadSuccessHandler(res) {\n\n if (res) {\n if ($('#UploaderFileUploaderCategoryId' + listId).length) {\n $('#FilterUploaderCategoryId' + listId).val($('#UploaderFileUploaderCategoryId' + listId).val());\n categoryId = $('#UploaderFileUploaderCategoryId' + listId).val();\n }\n updateFileList();\n } else {\n $('#ErrorMessage').remove();\n $('#FileList' + listId).prepend('

' + bcI18n.uploaderAlertMessage2 + '

');\n $(\"#Waiting\").hide();\n }\n // フォームを初期化\n // セキュリティ上の関係でvalue値を直接消去する事はできないので、一旦エレメントごと削除し、\n // spanタグ内に新しく作りなおす。\n $(\"#UploaderFileFile\" + listId).remove();\n $(\"#SpanUploadFile\" + listId).append('');\n $('#UploaderFileFile' + listId).change(uploaderFileFileChangeHandler);\n $.bcToken.key = null;\n\n }\n\n /**\n * 一覧を更新する\n */\n function updateFileList() {\n $.bcUtil.ajax(getListUrl(), updateFileListCompleteHander, {hideLoader: false, type: 'GET'});\n }\n\n /**\n * 指定したファイルの編集ができない状態か確認\n *\n * @param fileUserId\n * @returns {boolean}\n */\n function isFileEditDisabled(fileUserId) {\n var loginUserId = $(\"#LoginUserId\").html();\n var loginUserGroupId = $(\"#LoginUserGroupId\").html();\n var usePermission = Number($(\"#UsePermission\").html());\n var disabled = false;\n if (loginUserGroupId != 1 && usePermission) {\n if (loginUserId != fileUserId) {\n disabled = true;\n }\n }\n return disabled;\n }\n\n /**\n * 選択イベントを初期化する\n */\n function initFileList() {\n\n var usePermission = $(\"#UsePermission\").html();\n\n if (categoryId) {\n $('#UploaderFileUploaderCategoryId' + listId).val(categoryId);\n }\n /* 一旦イベントを全て解除 */\n $(\".selectable-file\").unbind('click.selectEvent');\n $(\".selectable-file\").unbind('mouseenter.selectEvent');\n $(\".selectable-file\").unbind('mouseleave.selectEvent');\n $(\".page-numbers a\").unbind('click.paginationEvent');\n $(\".selectable-file\").unbind('dblclick.dblclickEvent');\n $(\".filter-control\").unbind('click.filterEvent');\n $(\".btn-delete\").unbind('click');\n\n /* 公開制限期間にあるファイルの背景色を定義 */\n var unpublishBackGroundColor = '#bbb';\n\n if ($.fn.contextMenu && !listId && $(\"#DivPanelList\").length) {\n /* 右クリックメニューを追加 */\n $(\"#DivPanelList\").contextMenu({\n selector: '.selectable-file',\n callback: contextMenuHander,\n build: function ($trigger, e) {\n var disabled = isFileEditDisabled($($trigger).find('.user-id').html());\n return {\n items: {\n edit: {\n name: bcI18n.uploaderEdit,\n icon: 'edit',\n disabled: function (key, opt) {\n return disabled;\n }\n },\n delete: {\n name: bcI18n.uploaderDelete,\n icon: 'delete',\n disabled: function (key, opt) {\n return disabled;\n }\n }\n }\n }\n }\n });\n }\n\n $(\"#DivPanelList .selectable-file\").each(function () {\n\n if ($.fn.contextMenu && !listId) {\n if (!isFileEditDisabled($(this).find('.user-id').html())) {\n $(this).bind('dblclick.dblclickEvent', function () {\n $('#EditDialog').dialog('open');\n });\n } else {\n $(this).bind('dblclick.dblclickEvent', function () {\n alert(bcI18n.uploaderAlertMessage3);\n });\n }\n } else {\n $(this).bind(\"contextmenu\", function (e) {\n return false;\n });\n }\n\n /* 公開制限期間にあるファイルは背景色をグレーにする */\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n\n // ファイルアップロードイベントを登録\n $('#UploaderFileFile' + listId).change(uploaderFileFileChangeHandler);\n\n if (listId) {\n $(\".selectable-file\").bind('mouseenter.selectEvent', function () {\n $(this).css('background-color', '#fffae7');\n });\n $(\".selectable-file\").bind('mouseleave.selectEvent', function () {\n $(this).css('background-color', '#FFFFFF');\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n $(\".selectable-file\").each(function () {\n // IEの場合contextmenuを検出できなかったので、mousedownに変更した\n $(this).bind('mousedown', function () {\n $(\".selectable-file\").removeClass('selected');\n $(this).addClass('selected');\n });\n });\n } else {\n $(\"#DivPanelList .selectable-file\").bind('mouseenter.selectEvent', function () {\n $(this).css('background-color', '#fffae7');\n });\n $(\"#DivPanelList .selectable-file\").bind('mouseleave.selectEvent', function () {\n $(this).css('background-color', '#FFFFFF');\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n $(\"#DivPanelList .selectable-file\").each(function () {\n // IEの場合contextmenuを検出できなかったので、mousedownに変更した\n $(this).bind('mousedown', function () {\n $(\".selectable-file\").removeClass('selected');\n $(this).addClass('selected');\n });\n });\n }\n\n /* ページネーションイベントを追加 */\n $('.page-numbers a').bind('click.paginationEvent', function () {\n $(\"#Waiting\").show();\n $.get($(this).attr('href'), updateFileListCompleteHander);\n return false;\n });\n\n $('.bca-list-num a').on('click.listNumEvent', function(){\n $(\"#Waiting\").show();\n $.get($(this).attr('href'), updateFileListCompleteHander);\n return false;\n });\n\n /*$('#FilterUploaderCategoryId'+listId).bind('change.filterEvent', function() {\n $(\"#Waiting\").show();\n $.get(getListUrl(),updateFileListCompleteHander);\n });\n $('input[name=\"data[Filter][uploader_type]\"]').bind('click.filterEvent', function() {\n $(\"#Waiting\").show();\n $.get(getListUrl(),updateFileListCompleteHander);\n });*/\n\n $(\"#FileList\" + listId).trigger(\"filelistload\");\n $(\"#FileList\" + listId).effect(\"highlight\", {}, 1500);\n\n }\n\n /**\n * ファイルリスト取得完了イベント\n */\n function updateFileListCompleteHander(result) {\n\n $(\"#FileList\" + listId).html(result);\n initFileList();\n $(\"#FileList\" + listId).trigger('loadTableComplete');\n $(\"#Waiting\").hide();\n\n }\n\n /**\n * Ajax List 取得用のURLを取得する\n */\n function getListUrl() {\n let listUrl = $(\"#ListUrl\" + listId).attr('href');\n let query = [];\n if ($('#FilterUploaderCategoryId' + listId).length) {\n query.push('uploader_category_id=' + $('#FilterUploaderCategoryId' + listId).val());\n } else {\n query.push('uploader_category_id=');\n }\n if ($('input[name=\"uploader_type\"]:checked').length) {\n query.push('uploader_type=' + $('input[name=\"uploader_type\"]:checked').val());\n } else {\n query.push('uploader_type=all');\n }\n if ($('#FilterName' + listId).val()) {\n query.push('name=' + encodeURI($('#FilterName' + listId).val()));\n } else {\n query.push('name=');\n }\n const num = location.search.match('limit=([0-9]+)');\n if(num) {\n query.push('limit=' + num[1]);\n }\n if (query.length) {\n listUrl += '?' + query.join('&');\n }\n return listUrl;\n }\n\n /**\n * コンテキストメニューハンドラ\n */\n function contextMenuHander(action, el) {\n let id = $(\"#FileList\" + listId + \" .selected .id\").html().trim();\n let delUrl = $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/delete/' + id + '.json';\n\n // IEの場合、action値が正常に取得できないので整形する\n let pos = action.indexOf(\"#\");\n if (pos !== -1) action = action.substring(pos + 1, action.length);\n\n switch (action) {\n case 'edit':\n $('#EditDialog').dialog('open');\n break;\n\n case 'delete':\n if (confirm(bcI18n.uploaderConfirmMessage1)) {\n $.bcToken.check(function () {\n $.ajax({\n url: delUrl,\n headers: {\n \"X-CSRF-Token\": $.bcToken.key,\n },\n type: 'post',\n dataType: 'json',\n beforeSend: function() {\n $(\"#Waiting\").show();\n },\n success: function () {\n $(\"#FileList\" + listId).trigger(\"deletecomplete\");\n updateFileList();\n },\n error: function () {\n alert(bcI18n.uploaderAlertMessage4);\n },\n complete: function(){\n $(\"#Waiting\").hide();\n $.bcToken.key = null;\n }\n });\n }, {useUpdate: false, hideLoader: false});\n }\n break;\n }\n }\n\n});\n"],"names":["$","listId","html","remove","allFields","add","categoryId","baseUrl","uploaderFileFileChangeHandler","url","bcUtil","apiAdminBaseUrl","$file","this","showLoader","val","bcToken","check","fd","FormData","append","prop","key","length","ajax","type","data","dataType","processData","contentType","cache","success","uploadSuccessHandler","error","response","responseJSON","showApiError","showAlertMessage","hideLoader","useUpdate","res","updateFileList","prepend","bcI18n","uploaderAlertMessage2","hide","change","listUrl","attr","query","push","encodeURI","num","location","search","match","join","getListUrl","updateFileListCompleteHander","isFileEditDisabled","fileUserId","loginUserId","loginUserGroupId","usePermission","Number","disabled","result","unbind","unpublishBackGroundColor","fn","contextMenu","selector","callback","contextMenuHander","build","$trigger","e","find","items","edit","name","uploaderEdit","icon","opt","delete","uploaderDelete","each","bind","alert","uploaderAlertMessage3","dialog","hasClass","css","removeClass","addClass","show","get","on","trigger","effect","initFileList","action","el","id","trim","delUrl","pos","indexOf","substring","confirm","uploaderConfirmMessage1","headers","beforeSend","uploaderAlertMessage4","complete","click","bgiframe","autoOpen","position","at","of","window","width","modal","open","publishBeginDate","publishBeginTime","publishBeginDateTime","publishEndDate","publishEndTime","publishEndDateTime","adminBaseUrl","after","buttons","cancel","text","uploaderCancel","save","uploaderSave","saveButton","fields","uploaderFile","publish_begin","uploaderPublishBegin","publish_end","uploaderPublishEnd","message","undefined","errors","Object","keys","forEach","field","close"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bc_uploader/js/admin/uploader_files/index_panel.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/./src/bc_uploader/js/admin/uploader_files/index_panel.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * 起動時処理\n */\nuploaderFilesIndex = {\n\n /**\n * list id\n */\n listId: null,\n\n /**\n * all fields\n */\n allFields: null,\n\n /**\n * category id\n */\n categoryId: null,\n\n /**\n * 起動処理\n */\n mounted() {\n //==========================================================================\n // 複数のエディタよりリストが呼出される可能性がある為、#ListIdの値を読み込んだら削除する\n // TODO 強引すぎるので他の方法がないか検討要\n //==========================================================================\n const $listId = $(\"#ListId\");\n this.listId = $listId.html();\n $listId.remove();\n this.allFields = $([]).add($(\"#name\")).add($(\"#alt\"));\n this.initView();\n this.registerEvents();\n },\n\n /**\n * 表示を初期化\n */\n initView() {\n // 一覧を更新する\n this.updateFileList();\n this.initDialog();\n },\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BtnFilter\").click(function () {\n uploaderFilesIndex.updateFileList();\n return false;\n });\n },\n\n /**\n * ダイアログを初期化\n */\n initDialog() {\n $(\"#EditDialog\").dialog({\n bgiframe: true,\n autoOpen: false,\n position: {at: \"center center\", of: window},\n width: 960,\n modal: true,\n open: function () {\n let listId = uploaderFilesIndex.listId;\n var name = $(\"#FileList\" + listId + \" .selected .name\").html();\n $(\"#UploaderFileImage\" + listId + ' .uploader-file-image-inner').remove();\n $(\"#UploadFileImageLoader\" + listId).show();\n $(\"#UploaderFileId\" + listId).val($(\"#FileList\" + listId + \" .selected .id\").html().trim());\n $(\"#UploaderFileName\" + listId).val(name);\n $(\"#UploaderFileAlt\" + listId).val($(\"#FileList\" + listId + \" .selected .alt\").html());\n\n /* ダイアログ初期化時、hidden値が空になるため公開期間開始日時を取得して hidden値に入れ込む */\n var publishBeginDate = $(\"#FileList\" + listId + \" .selected .publish-begin\").html().trim();\n var publishBeginTime = $(\"#FileList\" + listId + \" .selected .publish-begin-time\").html().trim();\n $(\"#UploaderFilePublishBegin-date\").val(publishBeginDate);\n $(\"#UploaderFilePublishBegin-time\").val(publishBeginTime);\n var publishBeginDateTime = publishBeginDate;\n if (publishBeginTime) {\n publishBeginDateTime += ' ' + publishBeginTime;\n }\n $(\"#UploaderFilePublishBegin\").val(publishBeginDateTime);\n\n /* ダイアログ初期化時、hidden値が空になるため公開期間終了日時を取得して hidden値に入れ込む */\n var publishEndDate = $(\"#FileList\" + listId + \" .selected .publish-end\").html().trim();\n var publishEndTime = $(\"#FileList\" + listId + \" .selected .publish-end-time\").html().trim();\n $(\"#UploaderFilePublishEnd-date\").val(publishEndDate);\n $(\"#UploaderFilePublishEnd-time\").val(publishEndTime);\n var publishEndDateTime = publishEndDate;\n if (publishEndTime) {\n publishEndDateTime += ' ' + publishEndTime;\n }\n $(\"#UploaderFilePublishEnd\").val(publishEndDateTime);\n\n $(\"#UploaderFileUserId\" + listId).val($(\"#FileList\" + listId + \" .selected .user-id\").html());\n $(\"#UploaderFileUserName\" + listId).html($(\"#FileList\" + listId + \" .selected .user-name\").html());\n let $uploaderCategoryId = $(\"#_UploaderFileUploaderCategoryId\" + listId);\n if ($uploaderCategoryId.length) {\n $uploaderCategoryId.val($(\"#FileList\" + listId + \" .selected .uploader-category-id\").html());\n }\n $.ajax({\n url: $.bcUtil.adminBaseUrl + 'bc-uploader/uploader_files/ajax_image/' + name + '/large',\n type: 'get',\n dataType: 'html',\n success: function (res) {\n $(\"#UploadFileImageLoader\" + listId).hide()\n .after(res);\n }\n });\n },\n buttons: {\n cancel: {\n text: bcI18n.uploaderCancel,\n click: function () {\n $(this).dialog('close');\n }\n },\n save: {\n text: bcI18n.uploaderSave,\n click: function () {\n let listId = uploaderFilesIndex.listId;\n // 保存処理\n let saveButton = $(this);\n let id = $(\"#UploaderFileId\" + listId).val();\n $.bcToken.check(function () {\n // IEでform.serializeを利用した場合、Formタグの中にTableタグがあるとデータが取得できなかった\n var data = {\n \"id\": id,\n \"name\": $(\"#UploaderFileName\" + listId).val(),\n \"alt\": $(\"#UploaderFileAlt\" + listId).val(),\n \"publish_begin\": $(\"#UploaderFilePublishBegin\" + listId).val(),\n \"publish_end\": $(\"#UploaderFilePublishEnd\" + listId).val(),\n \"user_id\": $(\"#UploaderFileUserId\" + listId).val(),\n \"uploader_category_id\": $(\"#_UploaderFileUploaderCategoryId\" + listId).val(),\n \"_csrfToken\": $.bcToken.key\n };\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/edit/' + id + '.json',\n type: 'post',\n data: data,\n dataType: 'json',\n success: function () {\n uploaderFilesIndex.updateFileList();\n uploaderFilesIndex.allFields.removeClass('ui-state-error');\n saveButton.dialog('close');\n },\n error: function (response) {\n const fields = {\n name: bcI18n.uploaderFile,\n publish_begin: bcI18n.uploaderPublishBegin,\n publish_end: bcI18n.uploaderPublishEnd\n };\n let message = response.responseJSON.message;\n if (response.responseJSON.errors !== undefined) {\n message += \"\\n\";\n Object.keys(response.responseJSON.errors).forEach(function (key) {\n Object.keys(response.responseJSON.errors[key]).forEach(function (field) {\n message += \"\\n・\" + fields[key] + ':' + response.responseJSON.errors[key][field];\n });\n });\n }\n alert(message);\n }\n });\n }, {hideLoader: false, useUpdate: false});\n }\n }\n },\n close: function () {\n uploaderFilesIndex.allFields.val('').removeClass('ui-state-error');\n }\n\n });\n },\n\n /**\n * アップロードファイル選択時イベント\n */\n uploaderFileFileChangeHandler() {\n var url = $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/upload.json';\n var $file = $(this);\n let listId = uploaderFilesIndex.listId;\n $.bcUtil.showLoader();\n if ($('#UploaderFileFile' + listId).val()) {\n $.bcToken.check(function () {\n let fd = new FormData();\n fd.append('file', $file.prop('files')[0]);\n fd.append('_csrfToken', $.bcToken.key);\n $uploaderCategoryId = $(\"#UploaderFileUploaderCategoryId\" + listId);\n if ($uploaderCategoryId.length) {\n fd.append('uploader_category_id', $uploaderCategoryId.val());\n }\n return $.ajax({\n url: url,\n type: 'post',\n data: fd,\n dataType: 'json',\n processData: false,\n contentType: false,\n cache: false,\n beforeSend: function () {\n $.bcUtil.hideMessage();\n },\n success: uploaderFilesIndex.uploadSuccessHandler,\n error: function (response) {\n if (response.responseJSON) {\n $.bcUtil.showApiError(response);\n } else {\n $.bcUtil.showAlertMessage('処理中にエラーが発生しました。ファイルが大きすぎる可能性があります。');\n }\n $.bcUtil.hideLoader()\n },\n });\n }, {useUpdate: false, hideLoader: false});\n }\n },\n\n /**\n * アップロード完了後イベント\n */\n uploadSuccessHandler(res) {\n let listId = uploaderFilesIndex.listId;\n if (res) {\n let $uploaderCategoryId = $('#UploaderFileUploaderCategoryId' + listId);\n if ($uploaderCategoryId.length) {\n $('#FilterUploaderCategoryId' + listId).val($uploaderCategoryId.val());\n uploaderFilesIndex.categoryId = $uploaderCategoryId.val();\n }\n uploaderFilesIndex.updateFileList();\n } else {\n $('#ErrorMessage').remove();\n $('#FileList' + listId).prepend('

' + bcI18n.uploaderAlertMessage2 + '

');\n $(\"#Waiting\").hide();\n }\n // フォームを初期化\n // セキュリティ上の関係でvalue値を直接消去する事はできないので、一旦エレメントごと削除し、\n // spanタグ内に新しく作りなおす。\n $(\"#UploaderFileFile\" + listId).remove();\n $(\"#SpanUploadFile\" + listId).append('');\n $('#UploaderFileFile' + listId).change(uploaderFilesIndex.uploaderFileFileChangeHandler);\n $.bcToken.key = null;\n },\n /**\n * 一覧を更新する\n */\n updateFileList() {\n $.bcUtil.ajax(uploaderFilesIndex.getListUrl(), uploaderFilesIndex.updateFileListCompleteHandler, {hideLoader: false, type: 'GET'});\n },\n\n /**\n * 指定したファイルの編集ができない状態か確認\n *\n * @param fileUserId\n * @returns {boolean}\n */\n isFileEditDisabled(fileUserId) {\n var loginUserId = $(\"#LoginUserId\").html();\n var loginUserGroupId = $(\"#LoginUserGroupId\").html();\n var usePermission = Number($(\"#UsePermission\").html());\n var disabled = false;\n if (parseInt(loginUserGroupId) !== 1 && usePermission) {\n if (parseInt(loginUserId) !== fileUserId) {\n disabled = true;\n }\n }\n return disabled;\n },\n\n /**\n * 選択イベントを初期化する\n */\n initFileList() {\n let listId = uploaderFilesIndex.listId;\n if (uploaderFilesIndex.categoryId) {\n $('#UploaderFileUploaderCategoryId' + listId).val(uploaderFilesIndex.categoryId);\n }\n let $selectableFile = $(\".selectable-file\");\n /* 一旦イベントを全て解除 */\n $selectableFile.unbind('click.selectEvent');\n $selectableFile.unbind('mouseenter.selectEvent');\n $selectableFile.unbind('mouseleave.selectEvent');\n $selectableFile.unbind('dblclick.dblclickEvent');\n $(\".page-numbers a\").unbind('click.paginationEvent');\n $(\".filter-control\").unbind('click.filterEvent');\n $(\".btn-delete\").unbind('click');\n\n /* 公開制限期間にあるファイルの背景色を定義 */\n var unpublishBackGroundColor = '#bbb';\n\n $divPanelList = $(\"#DivPanelList\");\n if ($.fn.contextMenu && !listId && $divPanelList.length) {\n /* 右クリックメニューを追加 */\n $divPanelList.contextMenu({\n selector: '.selectable-file',\n callback: uploaderFilesIndex.contextMenuHandler,\n build: function ($trigger, e) {\n var disabled = uploaderFilesIndex.isFileEditDisabled($($trigger).find('.user-id').html());\n return {\n items: {\n edit: {\n name: bcI18n.uploaderEdit,\n icon: 'edit',\n disabled: function (key, opt) {\n return disabled;\n }\n },\n delete: {\n name: bcI18n.uploaderDelete,\n icon: 'delete',\n disabled: function (key, opt) {\n return disabled;\n }\n }\n }\n }\n }\n });\n }\n\n $selectableFileInPanelList = $(\"#DivPanelList .selectable-file\");\n $selectableFileInPanelList.each(function () {\n if ($.fn.contextMenu && !listId) {\n if (!uploaderFilesIndex.isFileEditDisabled($(this).find('.user-id').html())) {\n $(this).bind('dblclick.dblclickEvent', function () {\n $('#EditDialog').dialog('open');\n });\n } else {\n $(this).bind('dblclick.dblclickEvent', function () {\n alert(bcI18n.uploaderAlertMessage3);\n });\n }\n } else {\n $(this).bind(\"contextmenu\", function (e) {\n return false;\n });\n }\n\n /* 公開制限期間にあるファイルは背景色をグレーにする */\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n\n // ファイルアップロードイベントを登録\n $('#UploaderFileFile' + listId).change(uploaderFilesIndex.uploaderFileFileChangeHandler);\n\n if (listId) {\n $selectableFile.bind('mouseenter.selectEvent', function () {\n $(this).css('background-color', '#fffae7');\n });\n $selectableFile.bind('mouseleave.selectEvent', function () {\n $(this).css('background-color', '#FFFFFF');\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n $selectableFile.each(function () {\n // IEの場合contextmenuを検出できなかったので、mousedownに変更した\n $(this).bind('mousedown', function () {\n $selectableFile.removeClass('selected');\n $(this).addClass('selected');\n });\n });\n } else {\n $selectableFileInPanelList.bind('mouseenter.selectEvent', function () {\n $(this).css('background-color', '#fffae7');\n });\n $selectableFileInPanelList.bind('mouseleave.selectEvent', function () {\n $(this).css('background-color', '#FFFFFF');\n if ($(this).hasClass('unpublish')) {\n $(this).css('background-color', unpublishBackGroundColor);\n }\n });\n $selectableFileInPanelList.each(function () {\n // IEの場合contextmenuを検出できなかったので、mousedownに変更した\n $(this).bind('mousedown', function () {\n $selectableFile.removeClass('selected');\n $(this).addClass('selected');\n });\n });\n }\n\n /* ページネーションイベントを追加 */\n $('.page-numbers a').bind('click.paginationEvent', function () {\n $(\"#Waiting\").show();\n $.get($(this).attr('href'), uploaderFilesIndex.updateFileListCompleteHandler);\n return false;\n });\n\n $('.bca-list-num a').on('click.listNumEvent', function () {\n $(\"#Waiting\").show();\n $.get($(this).attr('href'), uploaderFilesIndex.updateFileListCompleteHandler);\n return false;\n });\n\n /*$('#FilterUploaderCategoryId'+listId).bind('change.filterEvent', function() {\n $(\"#Waiting\").show();\n $.get(uploaderFilesIndex.getListUrl(), uploaderFilesIndex.updateFileListCompleteHandler);\n });\n $('input[name=\"data[Filter][uploader_type]\"]').bind('click.filterEvent', function() {\n $(\"#Waiting\").show();\n $.get(uploaderFilesIndex.getListUrl(), uploaderFilesIndex.updateFileListCompleteHandler);\n });*/\n let $fileList = $(\"#FileList\" + listId);\n $fileList.trigger(\"filelistload\");\n $fileList.effect(\"highlight\", {}, 1500);\n },\n\n /**\n * ファイルリスト取得完了イベント\n */\n updateFileListCompleteHandler(result) {\n let listId = uploaderFilesIndex.listId;\n let $fileList = $(\"#FileList\" + listId);\n $fileList.html(result);\n uploaderFilesIndex.initFileList();\n $fileList.trigger('loadTableComplete');\n $(\"#Waiting\").hide();\n },\n\n /**\n * Ajax List 取得用のURLを取得する\n */\n getListUrl() {\n let listId = uploaderFilesIndex.listId;\n let listUrl = $(\"#ListUrl\" + listId).attr('href');\n let query = [];\n let $filterUploaderCategoryId = $('#FilterUploaderCategoryId' + listId);\n if ($filterUploaderCategoryId.length) {\n query.push('uploader_category_id=' + $filterUploaderCategoryId.val());\n } else {\n query.push('uploader_category_id=');\n }\n let $checkedUploaderType = $('input[name=\"uploader_type\"]:checked');\n if ($checkedUploaderType.length) {\n query.push('uploader_type=' + $checkedUploaderType.val());\n } else {\n query.push('uploader_type=all');\n }\n let $filterName = $('#FilterName' + listId);\n if ($filterName.val()) {\n query.push('name=' + encodeURI($filterName.val()));\n } else {\n query.push('name=');\n }\n const num = location.search.match('limit=([0-9]+)');\n if (num) {\n query.push('limit=' + num[1]);\n }\n if (query.length) {\n listUrl += '?' + query.join('&');\n }\n return listUrl;\n },\n\n /**\n * コンテキストメニューハンドラ\n */\n contextMenuHandler(action, el) {\n let listId = uploaderFilesIndex.listId;\n let id = $(\"#FileList\" + listId + \" .selected .id\").html().trim();\n let delUrl = $.bcUtil.apiAdminBaseUrl + 'bc-uploader/uploader_files/delete/' + id + '.json';\n\n // IEの場合、action値が正常に取得できないので整形する\n let pos = action.indexOf(\"#\");\n if (pos !== -1) action = action.substring(pos + 1, action.length);\n\n switch (action) {\n case 'edit':\n $('#EditDialog').dialog('open');\n break;\n\n case 'delete':\n if (confirm(bcI18n.uploaderConfirmMessage1)) {\n $.bcToken.check(function () {\n $.ajax({\n url: delUrl,\n headers: {\n \"X-CSRF-Token\": $.bcToken.key,\n },\n type: 'post',\n dataType: 'json',\n beforeSend: function () {\n $(\"#Waiting\").show();\n },\n success: function () {\n $(\"#FileList\" + listId).trigger(\"deletecomplete\");\n uploaderFilesIndex.updateFileList();\n },\n error: function () {\n alert(bcI18n.uploaderAlertMessage4);\n },\n complete: function () {\n $(\"#Waiting\").hide();\n $.bcToken.key = null;\n }\n });\n }, {useUpdate: false, hideLoader: false});\n }\n break;\n }\n }\n\n}\n\nuploaderFilesIndex.mounted();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],"names":["uploaderFilesIndex","listId","allFields","categoryId","mounted","$listId","$","this","html","remove","add","initView","registerEvents","updateFileList","initDialog","click","dialog","bgiframe","autoOpen","position","at","of","window","width","modal","open","name","show","val","trim","publishBeginDate","publishBeginTime","publishBeginDateTime","publishEndDate","publishEndTime","publishEndDateTime","$uploaderCategoryId","length","ajax","url","bcUtil","adminBaseUrl","type","dataType","success","res","hide","after","buttons","cancel","text","bcI18n","uploaderCancel","save","uploaderSave","saveButton","id","bcToken","check","data","key","apiAdminBaseUrl","removeClass","error","response","fields","uploaderFile","publish_begin","uploaderPublishBegin","publish_end","uploaderPublishEnd","message","responseJSON","undefined","errors","Object","keys","forEach","field","alert","hideLoader","useUpdate","close","uploaderFileFileChangeHandler","$file","showLoader","fd","FormData","append","prop","processData","contentType","cache","beforeSend","hideMessage","uploadSuccessHandler","showApiError","showAlertMessage","prepend","uploaderAlertMessage2","change","getListUrl","updateFileListCompleteHandler","isFileEditDisabled","fileUserId","loginUserId","loginUserGroupId","usePermission","Number","disabled","parseInt","initFileList","$selectableFile","unbind","unpublishBackGroundColor","$divPanelList","fn","contextMenu","selector","callback","contextMenuHandler","build","$trigger","e","find","items","edit","uploaderEdit","icon","opt","delete","uploaderDelete","$selectableFileInPanelList","each","bind","uploaderAlertMessage3","hasClass","css","addClass","get","attr","on","$fileList","trigger","effect","result","listUrl","query","$filterUploaderCategoryId","push","$checkedUploaderType","$filterName","encodeURI","num","location","search","match","join","action","el","delUrl","pos","indexOf","substring","confirm","uploaderConfirmMessage1","headers","uploaderAlertMessage4","complete"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/css/admin/style.css b/plugins/bc-admin-third/webroot/css/admin/style.css index d396a0fe03..5a5dde4d30 100644 --- a/plugins/bc-admin-third/webroot/css/admin/style.css +++ b/plugins/bc-admin-third/webroot/css/admin/style.css @@ -10004,12 +10004,6 @@ table.cake-sql-log tr td { margin-bottom: 5px; display: block; } -.step-3 .bca-checkbox__label, -.step-4 .bca-checkbox__label { - margin-top: 10px; - font-weight: normal; - font-size: 80%; -} .step-5 li { margin: 20px 0; } @@ -10233,6 +10227,7 @@ table.cake-sql-log tr td { font-weight: bold; font-size: 1.4rem; white-space: nowrap; + overflow: hidden; } .custom-field-setting .custom-field-content__head-delete { padding: 8px 10px; @@ -10442,4 +10437,4 @@ table.cake-sql-log tr td { opacity: 0; transform: translateY(-20px); } -/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9hZG1pbi9zdHlsZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS1jb2xvcmJveC9leGFtcGxlMy9jb2xvcmJveC5jc3MiLCJjc3MvdmVuZG9yL0ZvbnQtQXdlc29tZS9mb250YXdlc29tZS5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX2NvcmUuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19sYXJnZXIuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19maXhlZC13aWR0aC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX2xpc3Quc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19hbmltYXRlZC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX21peGlucy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3N0YWNrZWQuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19pY29ucy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3NjcmVlbi1yZWFkZXIuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL3NvbGlkLnNjc3MiLCJjc3MvdmVuZG9yL0ZvbnQtQXdlc29tZS9icmFuZHMuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL3JlZ3VsYXIuc2NzcyIsImNzcy90aGVtZS92YXIvX2ljb25zLnNjc3MiLCJjc3MvdGhlbWUvX3V0aWxpdHkuc2NzcyIsImNzcy9iYXNlL19nZW5lcmFsLnNjc3MiLCJjc3MvdGhlbWUvdmFyL19jb2xvcnMuc2NzcyIsImNzcy90aGVtZS92YXIvX2RpbWVuc2lvbnMuc2NzcyIsImNzcy9iYXNlL19taXhpbi5zY3NzIiwiY3NzL3RoZW1lL191bmtub3duLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYXBwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY29udGFpbmVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbWFpbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjc3MvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdG9vbGJhci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX25hdi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX25hdi1mYXZvcml0ZS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2J0bi1pY29uLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYnRuLWljb24tdGV4dC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2Jhbm5lcnMuc2NzcyIsImNzcy9jb21wb25lbnRzL19hY3Rpb24tdGFibGUtbGlzdHVwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsImNzcy9jb21wb25lbnRzL190YWJsZS1saXN0dXAuc2NzcyIsImNzcy9jb21wb25lbnRzL19jcnVtYi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtbWVudS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtaW5mby5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ZlZWQuc2NzcyIsImNzcy9jb21wb25lbnRzL191cGRhdGUtbG9nLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3RvdG9wLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbG9naW4uc2NzcyIsImNzcy9jb21wb25lbnRzL19saXN0LW51bS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2Zvcm0tdGFibGUuc2NzcyIsImNzcy9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsImNzcy9jb21wb25lbnRzL19oZWxwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY2FrZS1zcWwtbG9nLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcmFkaW8uc2NzcyIsImNzcy9jb21wb25lbnRzL19jaGVja2JveC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3NlbGVjdC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2RhdGEtbGlzdC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcGFuZWwuc2NzcyIsImNzcy9jb21wb25lbnRzL19pbnB1dC1jb2xvci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3RleHRib3guc2NzcyIsImNzcy9jb21wb25lbnRzL190ZXh0YXJlYS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ZpbGUuc2NzcyIsImNzcy9jb21wb25lbnRzL19kYXRldGltZXBpY2tlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2xpc3QtcGFuZWwuc2NzcyIsImNzcy9jb21wb25lbnRzL19jdXJyZW50LXRoZW1lLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fc2VjdGlvbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3NpemUtY291bnRlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2FjdGlvbnMuc2NzcyIsImNzcy9jb21wb25lbnRzL19saXN0LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbGlzdC1oZWFkLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fZmlsZS1saXN0LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYm94LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY29sbGFwcy5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2VtLWJveC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2N1cnJlbnQtYm94LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fanF1ZXJ5LXVpLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fanN0cmVlLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdXBsb2FkZXIuc2NzcyIsImNzcy9jb21wb25lbnRzL19zdWJtZW51LnNjc3MiLCJjc3MvY29tcG9uZW50cy9faW5zdGFsbC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fd2lkZ2V0LWFyZWEuc2NzcyIsImNzcy9jb21wb25lbnRzL19jdXN0b20tZmllbGQuc2NzcyIsImNzcy9jb21wb25lbnRzL19qcXVlcnkuYnQuanMuc2NzcyIsImNzcy9jb21wb25lbnRzL19tb2RhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQiwyRUFBMkU7QUFFM0U7K0VBQytFO0FBRS9FOzs7RUFHRTtBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDO0FBRUE7K0VBQytFO0FBRS9FOztFQUVFO0FBRUY7RUFDRSxTQUFTO0FBQ1g7QUFFQTs7RUFFRTtBQUVGO0VBQ0UsY0FBYztBQUNoQjtBQUVBOzs7RUFHRTtBQUVGO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjtBQUVBOytFQUMrRTtBQUUvRTs7O0VBR0U7QUFFRjtFQUNFLHVCQUF1QixFQUFFLE1BQU07RUFDL0IsU0FBUyxFQUFFLE1BQU07RUFDakIsaUJBQWlCLEVBQUUsTUFBTTtBQUMzQjtBQUVBOzs7RUFHRTtBQUVGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4QjtBQUVBOytFQUMrRTtBQUUvRTs7RUFFRTtBQUVGO0VBQ0UsNkJBQTZCO0FBQy9CO0FBRUE7OztFQUdFO0FBRUY7RUFDRSxtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLDBCQUEwQixFQUFFLE1BQU07RUFDbEMsaUNBQWlD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UnhDO0FjMVJBO0VBQW1DLGdCQUFBO0FkOFJuQztBYzdSQTtFQUFzQyxnQkFBQTtBZGlTdEM7QWNoU0E7RUFBbUMsZ0JBQUE7QWRvU25DO0FjblNBO0VBQXVDLGdCQUFBO0FkdVN2QztBY3RTQTtFQUFzQyxnQkFBQTtBZDBTdEM7QWN6U0E7RUFBZ0UsZ0JBQUE7QWQ2U2hFO0FjNVNBO0VBQW1DLGdCQUFBO0FkZ1RuQztBYy9TQTtFQUFtQyxnQkFBQTtBZG1UbkM7QWNsVEE7RUFBb0MsZ0JBQUE7QWRzVHBDO0FjclRBO0VBQXNDLGdCQUFBO0FkeVR0QztBY3hUQTtFQUE4QyxnQkFBQTtBZDRUOUM7QWMzVEE7RUFBOEMsZ0JBQUE7QWQrVDlDO0FjOVRBO0VBQStDLGdCQUFBO0Fka1UvQztBY2pVQTtFQUE0QyxnQkFBQTtBZHFVNUM7QWNwVUE7RUFBdUMsZ0JBQUE7QWR3VXZDO0FjdlVBO0VBQXVDLGdCQUFBO0FkMlV2QztBYzFVQTtFQUF3QyxnQkFBQTtBZDhVeEM7QWM3VUE7RUFBcUMsZ0JBQUE7QWRpVnJDO0FjaFZBO0VBQWtDLGdCQUFBO0Fkb1ZsQztBY25WQTtFQUEwQyxnQkFBQTtBZHVWMUM7QWN0VkE7RUFBb0MsZ0JBQUE7QWQwVnBDO0FjelZBO0VBQWlDLGdCQUFBO0FkNlZqQztBYzVWQTtFQUFzQyxnQkFBQTtBZGdXdEM7QWMvVkE7RUFBMEMsZ0JBQUE7QWRtVzFDO0FjbFdBO0VBQWtDLGdCQUFBO0Fkc1dsQztBY3JXQTtFQUFrQyxnQkFBQTtBZHlXbEM7QWN4V0E7RUFBc0MsZ0JBQUE7QWQ0V3RDO0FjM1dBO0VBQXNDLGdCQUFBO0FkK1d0QztBYzlXQTtFQUFvQyxnQkFBQTtBZGtYcEM7QWNqWEE7RUFBb0MsZ0JBQUE7QWRxWHBDO0FjcFhBO0VBQWtELGdCQUFBO0Fkd1hsRDtBY3ZYQTtFQUFrRCxnQkFBQTtBZDJYbEQ7QWMxWEE7RUFBbUQsZ0JBQUE7QWQ4WG5EO0FjN1hBO0VBQWdELGdCQUFBO0FkaVloRDtBY2hZQTtFQUE4QyxnQkFBQTtBZG9ZOUM7QWNuWUE7RUFBOEMsZ0JBQUE7QWR1WTlDO0FjdFlBO0VBQStDLGdCQUFBO0FkMFkvQztBY3pZQTtFQUE0QyxnQkFBQTtBZDZZNUM7QWM1WUE7RUFBdUMsZ0JBQUE7QWRnWnZDO0FjL1lBO0VBQXVDLGdCQUFBO0FkbVp2QztBY2xaQTtFQUF3QyxnQkFBQTtBZHNaeEM7QWNyWkE7RUFBcUMsZ0JBQUE7QWR5WnJDO0FjeFpBO0VBQXVDLGdCQUFBO0FkNFp2QztBYzNaQTtFQUF5QyxnQkFBQTtBZCtaekM7QWM5WkE7RUFBeUMsZ0JBQUE7QWRrYXpDO0FjamFBO0VBQXVDLGdCQUFBO0FkcWF2QztBY3BhQTtFQUF3RCxnQkFBQTtBZHdheEQ7QWN2YUE7RUFBcUMsZ0JBQUE7QWQyYXJDO0FjMWFBO0VBQXVDLGdCQUFBO0FkOGF2QztBYzdhQTtFQUErQixnQkFBQTtBZGliL0I7QWNoYkE7RUFBa0MsZ0JBQUE7QWRvYmxDO0FjbmJBO0VBQXNDLGdCQUFBO0FkdWJ0QztBY3RiQTtFQUFpQyxnQkFBQTtBZDBiakM7QWN6YkE7RUFBb0MsZ0JBQUE7QWQ2YnBDO0FjNWJBO0VBQThDLGdCQUFBO0FkZ2M5QztBYy9iQTtFQUF5QyxnQkFBQTtBZG1jekM7QWNsY0E7RUFBb0MsZ0JBQUE7QWRzY3BDO0FjcmNBO0VBQW1DLGdCQUFBO0FkeWNuQztBY3hjQTtFQUFrQyxnQkFBQTtBZDRjbEM7QWMzY0E7RUFBZ0MsZ0JBQUE7QWQrY2hDO0FjOWNBO0VBQWlDLGdCQUFBO0Fka2RqQztBY2pkQTtFQUEwQyxnQkFBQTtBZHFkMUM7QWNwZEE7RUFBc0MsZ0JBQUE7QWR3ZHRDO0FjdmRBO0VBQXFDLGdCQUFBO0FkMmRyQztBYzFkQTtFQUFrQyxnQkFBQTtBZDhkbEM7QWM3ZEE7RUFBMEMsZ0JBQUE7QWRpZTFDO0FjaGVBO0VBQWdDLGdCQUFBO0Fkb2VoQztBY25lQTtFQUFxQyxnQkFBQTtBZHVlckM7QWN0ZUE7RUFBcUMsZ0JBQUE7QWQwZXJDO0FjemVBO0VBQW9DLGdCQUFBO0FkNmVwQztBYzVlQTtFQUFpQyxnQkFBQTtBZGdmakM7QWMvZUE7RUFBMEMsZ0JBQUE7QWRtZjFDO0FjbGZBO0VBQTRDLGdCQUFBO0Fkc2Y1QztBY3JmQTtFQUFpQyxnQkFBQTtBZHlmakM7QWN4ZkE7RUFBMEMsZ0JBQUE7QWQ0ZjFDO0FjM2ZBO0VBQXlDLGdCQUFBO0FkK2Z6QztBYzlmQTtFQUF5QyxnQkFBQTtBZGtnQnpDO0FjamdCQTtFQUE0QyxnQkFBQTtBZHFnQjVDO0FjcGdCQTtFQUFtRCxnQkFBQTtBZHdnQm5EO0FjdmdCQTtFQUF1QyxnQkFBQTtBZDJnQnZDO0FjMWdCQTtFQUFnQyxnQkFBQTtBZDhnQmhDO0FjN2dCQTtFQUFpQyxnQkFBQTtBZGloQmpDO0FjaGhCQTtFQUFvQyxnQkFBQTtBZG9oQnBDO0FjbmhCQTtFQUEyQyxnQkFBQTtBZHVoQjNDO0FjdGhCQTtFQUFpQyxnQkFBQTtBZDBoQmpDO0FjemhCQTtFQUF1QyxnQkFBQTtBZDZoQnZDO0FjNWhCQTtFQUF5QyxnQkFBQTtBZGdpQnpDO0FjL2hCQTtFQUFrQyxnQkFBQTtBZG1pQmxDO0FjbGlCQTtFQUFvQyxnQkFBQTtBZHNpQnBDO0FjcmlCQTtFQUFzQyxnQkFBQTtBZHlpQnRDO0FjeGlCQTtFQUF1QyxnQkFBQTtBZDRpQnZDO0FjM2lCQTtFQUFzQyxnQkFBQTtBZCtpQnRDO0FjOWlCQTtFQUEwQyxnQkFBQTtBZGtqQjFDO0FjampCQTtFQUFzQyxnQkFBQTtBZHFqQnRDO0FjcGpCQTtFQUFvQyxnQkFBQTtBZHdqQnBDO0FjdmpCQTtFQUFpQyxnQkFBQTtBZDJqQmpDO0FjMWpCQTtFQUFzQyxnQkFBQTtBZDhqQnRDO0FjN2pCQTtFQUF1QyxnQkFBQTtBZGlrQnZDO0FjaGtCQTtFQUFvQyxnQkFBQTtBZG9rQnBDO0FjbmtCQTtFQUEwQyxnQkFBQTtBZHVrQjFDO0FjdGtCQTtFQUFrQyxnQkFBQTtBZDBrQmxDO0FjemtCQTtFQUFpQyxnQkFBQTtBZDZrQmpDO0FjNWtCQTtFQUFvQyxnQkFBQTtBZGdsQnBDO0FjL2tCQTtFQUFzQyxnQkFBQTtBZG1sQnRDO0FjbGxCQTtFQUFzQyxnQkFBQTtBZHNsQnRDO0FjcmxCQTtFQUF3QyxnQkFBQTtBZHlsQnhDO0FjeGxCQTtFQUFpQyxnQkFBQTtBZDRsQmpDO0FjM2xCQTtFQUFpQyxnQkFBQTtBZCtsQmpDO0FjOWxCQTtFQUFpQyxnQkFBQTtBZGttQmpDO0Fjam1CQTtFQUFpQyxnQkFBQTtBZHFtQmpDO0FjcG1CQTtFQUFpQyxnQkFBQTtBZHdtQmpDO0Fjdm1CQTtFQUFpQyxnQkFBQTtBZDJtQmpDO0FjMW1CQTtFQUFzQyxnQkFBQTtBZDhtQnRDO0FjN21CQTtFQUF5QyxnQkFBQTtBZGluQnpDO0FjaG5CQTtFQUFzQyxnQkFBQTtBZG9uQnRDO0Fjbm5CQTtFQUF3QyxnQkFBQTtBZHVuQnhDO0FjdG5CQTtFQUFxQyxnQkFBQTtBZDBuQnJDO0Fjem5CQTtFQUFzQyxnQkFBQTtBZDZuQnRDO0FjNW5CQTtFQUF5QyxnQkFBQTtBZGdvQnpDO0FjL25CQTtFQUFnQyxnQkFBQTtBZG1vQmhDO0FjbG9CQTtFQUFxQyxnQkFBQTtBZHNvQnJDO0Fjcm9CQTtFQUFrQyxnQkFBQTtBZHlvQmxDO0FjeG9CQTtFQUFvQyxnQkFBQTtBZDRvQnBDO0FjM29CQTtFQUFrQyxnQkFBQTtBZCtvQmxDO0FjOW9CQTtFQUF3QyxnQkFBQTtBZGtwQnhDO0FjanBCQTtFQUFzQyxnQkFBQTtBZHFwQnRDO0FjcHBCQTtFQUE4QyxnQkFBQTtBZHdwQjlDO0FjdnBCQTtFQUE0QyxnQkFBQTtBZDJwQjVDO0FjMXBCQTtFQUFrQyxnQkFBQTtBZDhwQmxDO0FjN3BCQTtFQUFrQyxnQkFBQTtBZGlxQmxDO0FjaHFCQTtFQUFnQyxnQkFBQTtBZG9xQmhDO0FjbnFCQTtFQUFtQyxnQkFBQTtBZHVxQm5DO0FjdHFCQTtFQUFnQyxnQkFBQTtBZDBxQmhDO0FjenFCQTtFQUFxQyxnQkFBQTtBZDZxQnJDO0FjNXFCQTtFQUFxQyxnQkFBQTtBZGdyQnJDO0FjL3FCQTtFQUFxQyxnQkFBQTtBZG1yQnJDO0FjbHJCQTtFQUFpQyxnQkFBQTtBZHNyQmpDO0FjcnJCQTtFQUE2QyxnQkFBQTtBZHlyQjdDO0FjeHJCQTtFQUFnQyxnQkFBQTtBZDRyQmhDO0FjM3JCQTtFQUFvQyxnQkFBQTtBZCtyQnBDO0FjOXJCQTtFQUEwQyxnQkFBQTtBZGtzQjFDO0FjanNCQTtFQUF1QyxnQkFBQTtBZHFzQnZDO0FjcHNCQTtFQUF1QyxnQkFBQTtBZHdzQnZDO0FjdnNCQTtFQUFxQyxnQkFBQTtBZDJzQnJDO0FjMXNCQTtFQUF5QyxnQkFBQTtBZDhzQnpDO0FjN3NCQTtFQUEyQyxnQkFBQTtBZGl0QjNDO0FjaHRCQTtFQUF5QyxnQkFBQTtBZG90QnpDO0FjbnRCQTtFQUEyQyxnQkFBQTtBZHV0QjNDO0FjdHRCQTtFQUEwQyxnQkFBQTtBZDB0QjFDO0FjenRCQTtFQUEyQyxnQkFBQTtBZDZ0QjNDO0FjNXRCQTtFQUEwQyxnQkFBQTtBZGd1QjFDO0FjL3RCQTtFQUFtQyxnQkFBQTtBZG11Qm5DO0FjbHVCQTtFQUF5QyxnQkFBQTtBZHN1QnpDO0FjcnVCQTtFQUF1QyxnQkFBQTtBZHl1QnZDO0FjeHVCQTtFQUFnRCxnQkFBQTtBZDR1QmhEO0FjM3VCQTtFQUF1QyxnQkFBQTtBZCt1QnZDO0FjOXVCQTtFQUFxQyxnQkFBQTtBZGt2QnJDO0FjanZCQTtFQUFxQyxnQkFBQTtBZHF2QnJDO0FjcHZCQTtFQUFnQyxnQkFBQTtBZHd2QmhDO0FjdnZCQTtFQUFvQyxnQkFBQTtBZDJ2QnBDO0FjMXZCQTtFQUF3QyxnQkFBQTtBZDh2QnhDO0FjN3ZCQTtFQUFzQyxnQkFBQTtBZGl3QnRDO0FjaHdCQTtFQUFxQyxnQkFBQTtBZG93QnJDO0FjbndCQTtFQUF1QyxnQkFBQTtBZHV3QnZDO0FjdHdCQTtFQUF1QyxnQkFBQTtBZDB3QnZDO0FjendCQTtFQUF3QyxnQkFBQTtBZDZ3QnhDO0FjNXdCQTtFQUE4QyxnQkFBQTtBZGd4QjlDO0FjL3dCQTtFQUE4QyxnQkFBQTtBZG14QjlDO0FjbHhCQTtFQUErQyxnQkFBQTtBZHN4Qi9DO0FjcnhCQTtFQUE0QyxnQkFBQTtBZHl4QjVDO0FjeHhCQTtFQUFxQyxnQkFBQTtBZDR4QnJDO0FjM3hCQTtFQUFtQyxnQkFBQTtBZCt4Qm5DO0FjOXhCQTtFQUE0QyxnQkFBQTtBZGt5QjVDO0FjanlCQTtFQUFzQyxnQkFBQTtBZHF5QnRDO0FjcHlCQTtFQUEwQyxnQkFBQTtBZHd5QjFDO0FjdnlCQTtFQUFnQyxnQkFBQTtBZDJ5QmhDO0FjMXlCQTtFQUEwQyxnQkFBQTtBZDh5QjFDO0FjN3lCQTtFQUFvQyxnQkFBQTtBZGl6QnBDO0FjaHpCQTtFQUF5QyxnQkFBQTtBZG96QnpDO0FjbnpCQTtFQUEyQyxnQkFBQTtBZHV6QjNDO0FjdHpCQTtFQUF3QyxnQkFBQTtBZDB6QnhDO0FjenpCQTtFQUFtQyxnQkFBQTtBZDZ6Qm5DO0FjNXpCQTtFQUEwQyxnQkFBQTtBZGcwQjFDO0FjL3pCQTtFQUFzQyxnQkFBQTtBZG0wQnRDO0FjbDBCQTtFQUFzQyxnQkFBQTtBZHMwQnRDO0FjcjBCQTtFQUFvQyxnQkFBQTtBZHkwQnBDO0FjeDBCQTtFQUF1QyxnQkFBQTtBZDQwQnZDO0FjMzBCQTtFQUFtQyxnQkFBQTtBZCswQm5DO0FjOTBCQTtFQUF3QyxnQkFBQTtBZGsxQnhDO0FjajFCQTtFQUFrQyxnQkFBQTtBZHExQmxDO0FjcDFCQTtFQUF1QyxnQkFBQTtBZHcxQnZDO0FjdjFCQTtFQUErQyxnQkFBQTtBZDIxQi9DO0FjMTFCQTtFQUE2QyxnQkFBQTtBZDgxQjdDO0FjNzFCQTtFQUF1QyxnQkFBQTtBZGkyQnZDO0FjaDJCQTtFQUFzQyxnQkFBQTtBZG8yQnRDO0FjbjJCQTtFQUF1QyxnQkFBQTtBZHUyQnZDO0FjdDJCQTtFQUFzQyxnQkFBQTtBZDAyQnRDO0FjejJCQTtFQUFrQyxnQkFBQTtBZDYyQmxDO0FjNTJCQTtFQUF5QyxnQkFBQTtBZGczQnpDO0FjLzJCQTtFQUF5QyxnQkFBQTtBZG0zQnpDO0FjbDNCQTtFQUF5QyxnQkFBQTtBZHMzQnpDO0FjcjNCQTtFQUFtQyxnQkFBQTtBZHkzQm5DO0FjeDNCQTtFQUFrQyxnQkFBQTtBZDQzQmxDO0FjMzNCQTtFQUF5QyxnQkFBQTtBZCszQnpDO0FjOTNCQTtFQUF3QyxnQkFBQTtBZGs0QnhDO0FjajRCQTtFQUF1QyxnQkFBQTtBZHE0QnZDO0FjcDRCQTtFQUF5QyxnQkFBQTtBZHc0QnpDO0FjdjRCQTtFQUF1QyxnQkFBQTtBZDI0QnZDO0FjMTRCQTtFQUF3QyxnQkFBQTtBZDg0QnhDO0FjNzRCQTtFQUF1QyxnQkFBQTtBZGk1QnZDO0FjaDVCQTtFQUFnRCxnQkFBQTtBZG81QmhEO0FjbjVCQTtFQUFnRCxnQkFBQTtBZHU1QmhEO0FjdDVCQTtFQUFpRCxnQkFBQTtBZDA1QmpEO0FjejVCQTtFQUE4QyxnQkFBQTtBZDY1QjlDO0FjNTVCQTtFQUF5QyxnQkFBQTtBZGc2QnpDO0FjLzVCQTtFQUF5QyxnQkFBQTtBZG02QnpDO0FjbDZCQTtFQUEwQyxnQkFBQTtBZHM2QjFDO0FjcjZCQTtFQUF1QyxnQkFBQTtBZHk2QnZDO0FjeDZCQTtFQUFrQyxnQkFBQTtBZDQ2QmxDO0FjMzZCQTtFQUFtQyxnQkFBQTtBZCs2Qm5DO0FjOTZCQTtFQUF1QyxnQkFBQTtBZGs3QnZDO0FjajdCQTtFQUFtQyxnQkFBQTtBZHE3Qm5DO0FjcDdCQTtFQUFtQyxnQkFBQTtBZHc3Qm5DO0FjdjdCQTtFQUF5QyxnQkFBQTtBZDI3QnpDO0FjMTdCQTtFQUFpQyxnQkFBQTtBZDg3QmpDO0FjNzdCQTtFQUEyQyxnQkFBQTtBZGk4QjNDO0FjaDhCQTtFQUFzQyxnQkFBQTtBZG84QnRDO0FjbjhCQTtFQUE0QyxnQkFBQTtBZHU4QjVDO0FjdDhCQTtFQUEyQyxnQkFBQTtBZDA4QjNDO0FjejhCQTtFQUFrQyxnQkFBQTtBZDY4QmxDO0FjNThCQTtFQUFrQyxnQkFBQTtBZGc5QmxDO0FjLzhCQTtFQUE4QyxnQkFBQTtBZG05QjlDO0FjbDlCQTtFQUFrQyxnQkFBQTtBZHM5QmxDO0FjcjlCQTtFQUErQyxnQkFBQTtBZHk5Qi9DO0FjeDlCQTtFQUEyQyxnQkFBQTtBZDQ5QjNDO0FjMzlCQTtFQUF1QyxnQkFBQTtBZCs5QnZDO0FjOTlCQTtFQUE0QyxnQkFBQTtBZGsrQjVDO0FjaitCQTtFQUF1QyxnQkFBQTtBZHErQnZDO0FjcCtCQTtFQUFnRCxnQkFBQTtBZHcrQmhEO0FjditCQTtFQUFzQyxnQkFBQTtBZDIrQnRDO0FjMStCQTtFQUEyQyxnQkFBQTtBZDgrQjNDO0FjNytCQTtFQUE2QyxnQkFBQTtBZGkvQjdDO0FjaC9CQTtFQUF1QyxnQkFBQTtBZG8vQnZDO0Fjbi9CQTtFQUF1QyxnQkFBQTtBZHUvQnZDO0FjdC9CQTtFQUF5QyxnQkFBQTtBZDAvQnpDO0Fjei9CQTtFQUFxQyxnQkFBQTtBZDYvQnJDO0FjNS9CQTtFQUFpQyxnQkFBQTtBZGdnQ2pDO0FjLy9CQTtFQUF3QyxnQkFBQTtBZG1nQ3hDO0FjbGdDQTtFQUFvQyxnQkFBQTtBZHNnQ3BDO0FjcmdDQTtFQUFxQyxnQkFBQTtBZHlnQ3JDO0FjeGdDQTtFQUFtQyxnQkFBQTtBZDRnQ25DO0FjM2dDQTtFQUFnQyxnQkFBQTtBZCtnQ2hDO0FjOWdDQTtFQUFpQyxnQkFBQTtBZGtoQ2pDO0FjamhDQTtFQUFrQyxnQkFBQTtBZHFoQ2xDO0FjcGhDQTtFQUFvQyxnQkFBQTtBZHdoQ3BDO0FjdmhDQTtFQUFvQyxnQkFBQTtBZDJoQ3BDO0FjMWhDQTtFQUF3QyxnQkFBQTtBZDhoQ3hDO0FjN2hDQTtFQUEyQyxnQkFBQTtBZGlpQzNDO0FjaGlDQTtFQUF5QyxnQkFBQTtBZG9pQ3pDO0FjbmlDQTtFQUE0QyxnQkFBQTtBZHVpQzVDO0FjdGlDQTtFQUEwQyxnQkFBQTtBZDBpQzFDO0FjemlDQTtFQUFxQyxnQkFBQTtBZDZpQ3JDO0FjNWlDQTtFQUE0QyxnQkFBQTtBZGdqQzVDO0FjL2lDQTtFQUF5QyxnQkFBQTtBZG1qQ3pDO0FjbGpDQTtFQUFvQyxnQkFBQTtBZHNqQ3BDO0FjcmpDQTtFQUFxQyxnQkFBQTtBZHlqQ3JDO0FjeGpDQTtFQUFnRCxnQkFBQTtBZDRqQ2hEO0FjM2pDQTtFQUEyQyxnQkFBQTtBZCtqQzNDO0FjOWpDQTtFQUF1QyxnQkFBQTtBZGtrQ3ZDO0FjamtDQTtFQUEyQyxnQkFBQTtBZHFrQzNDO0FjcGtDQTtFQUFtQyxnQkFBQTtBZHdrQ25DO0FjdmtDQTtFQUFtQyxnQkFBQTtBZDJrQ25DO0FjMWtDQTtFQUF3QyxnQkFBQTtBZDhrQ3hDO0FjN2tDQTtFQUFpQyxnQkFBQTtBZGlsQ2pDO0FjaGxDQTtFQUFzQyxnQkFBQTtBZG9sQ3RDO0FjbmxDQTtFQUFrQyxnQkFBQTtBZHVsQ2xDO0FjdGxDQTtFQUFtQyxnQkFBQTtBZDBsQ25DO0FjemxDQTtFQUE2QyxnQkFBQTtBZDZsQzdDO0FjNWxDQTtFQUFnRCxnQkFBQTtBZGdtQ2hEO0FjL2xDQTtFQUFnRCxnQkFBQTtBZG1tQ2hEO0FjbG1DQTtFQUFtRCxnQkFBQTtBZHNtQ25EO0Fjcm1DQTtFQUFtRCxnQkFBQTtBZHltQ25EO0FjeG1DQTtFQUFnRCxnQkFBQTtBZDRtQ2hEO0FjM21DQTtFQUFnRCxnQkFBQTtBZCttQ2hEO0FjOW1DQTtFQUFvRCxnQkFBQTtBZGtuQ3BEO0Fjam5DQTtFQUFtRCxnQkFBQTtBZHFuQ25EO0FjcG5DQTtFQUFnRCxnQkFBQTtBZHduQ2hEO0Fjdm5DQTtFQUFzRCxnQkFBQTtBZDJuQ3REO0FjMW5DQTtFQUEyRCxnQkFBQTtBZDhuQzNEO0FjN25DQTtFQUFtRCxnQkFBQTtBZGlvQ25EO0FjaG9DQTtFQUFrRCxnQkFBQTtBZG9vQ2xEO0Fjbm9DQTtFQUF3QyxnQkFBQTtBZHVvQ3hDO0FjdG9DQTtFQUEwQyxnQkFBQTtBZDBvQzFDO0Fjem9DQTtFQUFpQyxnQkFBQTtBZDZvQ2pDO0FjNW9DQTtFQUFxQyxnQkFBQTtBZGdwQ3JDO0FjL29DQTtFQUFrQyxnQkFBQTtBZG1wQ2xDO0FjbHBDQTtFQUF1QyxnQkFBQTtBZHNwQ3ZDO0FjcnBDQTtFQUFpQyxnQkFBQTtBZHlwQ2pDO0FjeHBDQTtFQUFrQyxnQkFBQTtBZDRwQ2xDO0FjM3BDQTtFQUFtQyxnQkFBQTtBZCtwQ25DO0FjOXBDQTtFQUFpQyxnQkFBQTtBZGtxQ2pDO0FjanFDQTtFQUFxQyxnQkFBQTtBZHFxQ3JDO0FjcHFDQTtFQUFpQyxnQkFBQTtBZHdxQ2pDO0FjdnFDQTtFQUFrQyxnQkFBQTtBZDJxQ2xDO0FjMXFDQTtFQUFnQyxnQkFBQTtBZDhxQ2hDO0FjN3FDQTtFQUF1QyxnQkFBQTtBZGlyQ3ZDO0FjaHJDQTtFQUFvQyxnQkFBQTtBZG9yQ3BDO0FjbnJDQTtFQUEyQyxnQkFBQTtBZHVyQzNDO0FjdHJDQTtFQUFxQyxnQkFBQTtBZDByQ3JDO0FjenJDQTtFQUFxQyxnQkFBQTtBZDZyQ3JDO0FjNXJDQTtFQUFpQyxnQkFBQTtBZGdzQ2pDO0FjL3JDQTtFQUFzQyxnQkFBQTtBZG1zQ3RDO0FjbHNDQTtFQUFxQyxnQkFBQTtBZHNzQ3JDO0FjcnNDQTtFQUFzQyxnQkFBQTtBZHlzQ3RDO0FjeHNDQTtFQUFvQyxnQkFBQTtBZDRzQ3BDO0FjM3NDQTtFQUFvQyxnQkFBQTtBZCtzQ3BDO0FjOXNDQTtFQUFnQyxnQkFBQTtBZGt0Q2hDO0FjanRDQTtFQUF1QyxnQkFBQTtBZHF0Q3ZDO0FjcHRDQTtFQUF5QyxnQkFBQTtBZHd0Q3pDO0FjdnRDQTtFQUFnQyxnQkFBQTtBZDJ0Q2hDO0FjMXRDQTtFQUFzQyxnQkFBQTtBZDh0Q3RDO0FjN3RDQTtFQUFxQyxnQkFBQTtBZGl1Q3JDO0FjaHVDQTtFQUFpQyxnQkFBQTtBZG91Q2pDO0FjbnVDQTtFQUFxQyxnQkFBQTtBZHV1Q3JDO0FjdHVDQTtFQUFvQyxnQkFBQTtBZDB1Q3BDO0FjenVDQTtFQUFzQyxnQkFBQTtBZDZ1Q3RDO0FjNXVDQTtFQUFzQyxnQkFBQTtBZGd2Q3RDO0FjL3VDQTtFQUFxQyxnQkFBQTtBZG12Q3JDO0FjbHZDQTtFQUFxQyxnQkFBQTtBZHN2Q3JDO0FjcnZDQTtFQUF1QyxnQkFBQTtBZHl2Q3ZDO0FjeHZDQTtFQUFxQyxnQkFBQTtBZDR2Q3JDO0FjM3ZDQTtFQUFpQyxnQkFBQTtBZCt2Q2pDO0FjOXZDQTtFQUEwQyxnQkFBQTtBZGt3QzFDO0FjandDQTtFQUErQyxnQkFBQTtBZHF3Qy9DO0FjcHdDQTtFQUF1QyxnQkFBQTtBZHd3Q3ZDO0FjdndDQTtFQUFvQyxnQkFBQTtBZDJ3Q3BDO0FjMXdDQTtFQUFzQyxnQkFBQTtBZDh3Q3RDO0FjN3dDQTtFQUFtQyxnQkFBQTtBZGl4Q25DO0FjaHhDQTtFQUFrQyxnQkFBQTtBZG94Q2xDO0FjbnhDQTtFQUFnQyxnQkFBQTtBZHV4Q2hDO0FjdHhDQTtFQUFtQyxnQkFBQTtBZDB4Q25DO0FjenhDQTtFQUFtQyxnQkFBQTtBZDZ4Q25DO0FjNXhDQTtFQUFnQyxnQkFBQTtBZGd5Q2hDO0FjL3hDQTtFQUF3QyxnQkFBQTtBZG15Q3hDO0FjbHlDQTtFQUFrQyxnQkFBQTtBZHN5Q2xDO0FjcnlDQTtFQUEwQyxnQkFBQTtBZHl5QzFDO0FjeHlDQTtFQUFtQyxnQkFBQTtBZDR5Q25DO0FjM3lDQTtFQUF3QyxnQkFBQTtBZCt5Q3hDO0FjOXlDQTtFQUFzQyxnQkFBQTtBZGt6Q3RDO0FjanpDQTtFQUF1QyxnQkFBQTtBZHF6Q3ZDO0FjcHpDQTtFQUFpQyxnQkFBQTtBZHd6Q2pDO0FjdnpDQTtFQUFxQyxnQkFBQTtBZDJ6Q3JDO0FjMXpDQTtFQUEwQyxnQkFBQTtBZDh6QzFDO0FjN3pDQTtFQUE2QyxnQkFBQTtBZGkwQzdDO0FjaDBDQTtFQUFtQyxnQkFBQTtBZG8wQ25DO0FjbjBDQTtFQUF5QyxnQkFBQTtBZHUwQ3pDO0FjdDBDQTtFQUFxQyxnQkFBQTtBZDAwQ3JDO0FjejBDQTtFQUE0QyxnQkFBQTtBZDYwQzVDO0FjNTBDQTtFQUFvQyxnQkFBQTtBZGcxQ3BDO0FjLzBDQTtFQUFpQyxnQkFBQTtBZG0xQ2pDO0FjbDFDQTtFQUEwQyxnQkFBQTtBZHMxQzFDO0FjcjFDQTtFQUEyQyxnQkFBQTtBZHkxQzNDO0FjeDFDQTtFQUFtQyxnQkFBQTtBZDQxQ25DO0FjMzFDQTtFQUFxQyxnQkFBQTtBZCsxQ3JDO0FjOTFDQTtFQUFxQyxnQkFBQTtBZGsyQ3JDO0FjajJDQTtFQUEwQyxnQkFBQTtBZHEyQzFDO0FjcDJDQTtFQUFvQyxnQkFBQTtBZHcyQ3BDO0FjdjJDQTtFQUFtQyxnQkFBQTtBZDIyQ25DO0FjMTJDQTtFQUF1QyxnQkFBQTtBZDgyQ3ZDO0FjNzJDQTtFQUFpQyxnQkFBQTtBZGkzQ2pDO0FjaDNDQTtFQUFpQyxnQkFBQTtBZG8zQ2pDO0FjbjNDQTtFQUFpQyxnQkFBQTtBZHUzQ2pDO0FjdDNDQTtFQUFnQyxnQkFBQTtBZDAzQ2hDO0FjejNDQTtFQUFrQyxnQkFBQTtBZDYzQ2xDO0FjNTNDQTtFQUFzQyxnQkFBQTtBZGc0Q3RDO0FjLzNDQTtFQUF1QyxnQkFBQTtBZG00Q3ZDO0FjbDRDQTtFQUF1QyxnQkFBQTtBZHM0Q3ZDO0FjcjRDQTtFQUFpQyxnQkFBQTtBZHk0Q2pDO0FjeDRDQTtFQUFrQyxnQkFBQTtBZDQ0Q2xDO0FjMzRDQTtFQUFtQyxnQkFBQTtBZCs0Q25DO0FjOTRDQTtFQUFxQyxnQkFBQTtBZGs1Q3JDO0FjajVDQTtFQUEwQyxnQkFBQTtBZHE1QzFDO0FjcDVDQTtFQUErQyxnQkFBQTtBZHc1Qy9DO0FjdjVDQTtFQUE0QyxnQkFBQTtBZDI1QzVDO0FjMTVDQTtFQUFtQyxnQkFBQTtBZDg1Q25DO0FjNzVDQTtFQUFtQyxnQkFBQTtBZGk2Q25DO0FjaDZDQTtFQUFtQyxnQkFBQTtBZG82Q25DO0FjbjZDQTtFQUFtQyxnQkFBQTtBZHU2Q25DO0FjdDZDQTtFQUFxQyxnQkFBQTtBZDA2Q3JDO0FjejZDQTtFQUFxQyxnQkFBQTtBZDY2Q3JDO0FjNTZDQTtFQUFpQyxnQkFBQTtBZGc3Q2pDO0FjLzZDQTtFQUFzQyxnQkFBQTtBZG03Q3RDO0FjbDdDQTtFQUFxQyxnQkFBQTtBZHM3Q3JDO0FjcjdDQTtFQUF5QyxnQkFBQTtBZHk3Q3pDO0FjeDdDQTtFQUF3QyxnQkFBQTtBZDQ3Q3hDO0FjMzdDQTtFQUErQyxnQkFBQTtBZCs3Qy9DO0FjOTdDQTtFQUFpRCxnQkFBQTtBZGs4Q2pEO0FjajhDQTtFQUFtQyxnQkFBQTtBZHE4Q25DO0FjcDhDQTtFQUE4QyxnQkFBQTtBZHc4QzlDO0FjdjhDQTtFQUF5QyxnQkFBQTtBZDI4Q3pDO0FjMThDQTtFQUE4QyxnQkFBQTtBZDg4QzlDO0FjNzhDQTtFQUFxRCxnQkFBQTtBZGk5Q3JEO0FjaDlDQTtFQUFnQyxnQkFBQTtBZG85Q2hDO0FjbjlDQTtFQUF3QyxnQkFBQTtBZHU5Q3hDO0FjdDlDQTtFQUFzQyxnQkFBQTtBZDA5Q3RDO0FjejlDQTtFQUFxQyxnQkFBQTtBZDY5Q3JDO0FjNTlDQTtFQUF1QyxnQkFBQTtBZGcrQ3ZDO0FjLzlDQTtFQUErQyxnQkFBQTtBZG0rQy9DO0FjbCtDQTtFQUE0QyxnQkFBQTtBZHMrQzVDO0FjcitDQTtFQUFpRCxnQkFBQTtBZHkrQ2pEO0FjeCtDQTtFQUEwQyxnQkFBQTtBZDQrQzFDO0FjMytDQTtFQUF5QyxnQkFBQTtBZCsrQ3pDO0FjOStDQTtFQUFnQyxnQkFBQTtBZGsvQ2hDO0Fjai9DQTtFQUFvQyxnQkFBQTtBZHEvQ3BDO0FjcC9DQTtFQUF3QyxnQkFBQTtBZHcvQ3hDO0Fjdi9DQTtFQUFrQyxnQkFBQTtBZDIvQ2xDO0FjMS9DQTtFQUFtQyxnQkFBQTtBZDgvQ25DO0FjNy9DQTtFQUFtQyxnQkFBQTtBZGlnRG5DO0FjaGdEQTtFQUF3QyxnQkFBQTtBZG9nRHhDO0FjbmdEQTtFQUFrQyxnQkFBQTtBZHVnRGxDO0FjdGdEQTtFQUFpQyxnQkFBQTtBZDBnRGpDO0FjemdEQTtFQUFxQyxnQkFBQTtBZDZnRHJDO0FjNWdEQTtFQUF5QyxnQkFBQTtBZGdoRHpDO0FjL2dEQTtFQUF1QyxnQkFBQTtBZG1oRHZDO0FjbGhEQTtFQUFzQyxnQkFBQTtBZHNoRHRDO0FjcmhEQTtFQUEwQyxnQkFBQTtBZHloRDFDO0FjeGhEQTtFQUFxQyxnQkFBQTtBZDRoRHJDO0FjM2hEQTtFQUEwQyxnQkFBQTtBZCtoRDFDO0FjOWhEQTtFQUF1QyxnQkFBQTtBZGtpRHZDO0FjamlEQTtFQUF3QyxnQkFBQTtBZHFpRHhDO0FjcGlEQTtFQUF1QyxnQkFBQTtBZHdpRHZDO0FjdmlEQTtFQUF3QyxnQkFBQTtBZDJpRHhDO0FjMWlEQTtFQUF5QyxnQkFBQTtBZDhpRHpDO0FjN2lEQTtFQUFnRCxnQkFBQTtBZGlqRGhEO0FjaGpEQTtFQUF5QyxnQkFBQTtBZG9qRHpDO0FjbmpEQTtFQUE2QyxnQkFBQTtBZHVqRDdDO0FjdGpEQTtFQUFxQyxnQkFBQTtBZDBqRHJDO0FjempEQTtFQUE0QyxnQkFBQTtBZDZqRDVDO0FjNWpEQTtFQUE4QyxnQkFBQTtBZGdrRDlDO0FjL2pEQTtFQUEyQyxnQkFBQTtBZG1rRDNDO0FjbGtEQTtFQUF3QyxnQkFBQTtBZHNrRHhDO0FjcmtEQTtFQUF1QyxnQkFBQTtBZHlrRHZDO0FjeGtEQTtFQUFzQyxnQkFBQTtBZDRrRHRDO0FjM2tEQTtFQUFpQyxnQkFBQTtBZCtrRGpDO0FjOWtEQTtFQUFzQyxnQkFBQTtBZGtsRHRDO0FjamxEQTtFQUFpQyxnQkFBQTtBZHFsRGpDO0FjcGxEQTtFQUFtQyxnQkFBQTtBZHdsRG5DO0FjdmxEQTtFQUF3QyxnQkFBQTtBZDJsRHhDO0FjMWxEQTtFQUFpQyxnQkFBQTtBZDhsRGpDO0FjN2xEQTtFQUFxQyxnQkFBQTtBZGltRHJDO0FjaG1EQTtFQUE4QyxnQkFBQTtBZG9tRDlDO0Fjbm1EQTtFQUFvQyxnQkFBQTtBZHVtRHBDO0FjdG1EQTtFQUFzQyxnQkFBQTtBZDBtRHRDO0Fjem1EQTtFQUF3QyxnQkFBQTtBZDZtRHhDO0FjNW1EQTtFQUE0QyxnQkFBQTtBZGduRDVDO0FjL21EQTtFQUF1QyxnQkFBQTtBZG1uRHZDO0FjbG5EQTtFQUFpQyxnQkFBQTtBZHNuRGpDO0Fjcm5EQTtFQUF3QyxnQkFBQTtBZHluRHhDO0FjeG5EQTtFQUFpQyxnQkFBQTtBZDRuRGpDO0FjM25EQTtFQUEyQyxnQkFBQTtBZCtuRDNDO0FjOW5EQTtFQUFxQyxnQkFBQTtBZGtvRHJDO0Fjam9EQTtFQUFrQyxnQkFBQTtBZHFvRGxDO0FjcG9EQTtFQUFtQyxnQkFBQTtBZHdvRG5DO0Fjdm9EQTtFQUFzQyxnQkFBQTtBZDJvRHRDO0FjMW9EQTtFQUFvQyxnQkFBQTtBZDhvRHBDO0FjN29EQTtFQUFnQyxnQkFBQTtBZGlwRGhDO0FjaHBEQTtFQUFtQyxnQkFBQTtBZG9wRG5DO0FjbnBEQTtFQUF5QyxnQkFBQTtBZHVwRHpDO0FjdHBEQTtFQUF3QyxnQkFBQTtBZDBwRHhDO0FjenBEQTtFQUF3QyxnQkFBQTtBZDZwRHhDO0FjNXBEQTtFQUFpQyxnQkFBQTtBZGdxRGpDO0FjL3BEQTtFQUF5QyxnQkFBQTtBZG1xRHpDO0FjbHFEQTtFQUE2QyxnQkFBQTtBZHNxRDdDO0FjcnFEQTtFQUE4QyxnQkFBQTtBZHlxRDlDO0FjeHFEQTtFQUFtRCxnQkFBQTtBZDRxRG5EO0FjM3FEQTtFQUFzQyxnQkFBQTtBZCtxRHRDO0FjOXFEQTtFQUF5QyxnQkFBQTtBZGtyRHpDO0FjanJEQTtFQUEwQyxnQkFBQTtBZHFyRDFDO0FjcHJEQTtFQUF5QyxnQkFBQTtBZHdyRHpDO0FjdnJEQTtFQUE2QyxnQkFBQTtBZDJyRDdDO0FjMXJEQTtFQUFxQyxnQkFBQTtBZDhyRHJDO0FjN3JEQTtFQUFvQyxnQkFBQTtBZGlzRHBDO0FjaHNEQTtFQUF1QyxnQkFBQTtBZG9zRHZDO0FjbnNEQTtFQUEyQyxnQkFBQTtBZHVzRDNDO0FjdHNEQTtFQUFvQyxnQkFBQTtBZDBzRHBDO0FjenNEQTtFQUFpQyxnQkFBQTtBZDZzRGpDO0FjNXNEQTtFQUFrQyxnQkFBQTtBZGd0RGxDO0FjL3NEQTtFQUF1QyxnQkFBQTtBZG10RHZDO0FjbHREQTtFQUFvQyxnQkFBQTtBZHN0RHBDO0FjcnREQTtFQUEwQyxnQkFBQTtBZHl0RDFDO0FjeHREQTtFQUFtQyxnQkFBQTtBZDR0RG5DO0FjM3REQTtFQUE4QyxnQkFBQTtBZCt0RDlDO0FjOXREQTtFQUE0QyxnQkFBQTtBZGt1RDVDO0FjanVEQTtFQUFvQyxnQkFBQTtBZHF1RHBDO0FjcHVEQTtFQUFxQyxnQkFBQTtBZHd1RHJDO0FjdnVEQTtFQUFrQyxnQkFBQTtBZDJ1RGxDO0FjMXVEQTtFQUFnQyxnQkFBQTtBZDh1RGhDO0FjN3VEQTtFQUF1QyxnQkFBQTtBZGl2RHZDO0FjaHZEQTtFQUF1QyxnQkFBQTtBZG92RHZDO0FjbnZEQTtFQUErQixnQkFBQTtBZHV2RC9CO0FjdHZEQTtFQUFzQyxnQkFBQTtBZDB2RHRDO0FjenZEQTtFQUFrQyxnQkFBQTtBZDZ2RGxDO0FjNXZEQTtFQUFpQyxnQkFBQTtBZGd3RGpDO0FjL3ZEQTtFQUFrQyxnQkFBQTtBZG13RGxDO0FjbHdEQTtFQUFnQyxnQkFBQTtBZHN3RGhDO0FjcndEQTtFQUF1QyxnQkFBQTtBZHl3RHZDO0FjeHdEQTtFQUFtQyxnQkFBQTtBZDR3RG5DO0FjM3dEQTtFQUF1QyxnQkFBQTtBZCt3RHZDO0FjOXdEQTtFQUEwQyxnQkFBQTtBZGt4RDFDO0FjanhEQTtFQUFzQyxnQkFBQTtBZHF4RHRDO0FjcHhEQTtFQUFtQyxnQkFBQTtBZHd4RG5DO0FjdnhEQTtFQUFtQyxnQkFBQTtBZDJ4RG5DO0FjMXhEQTtFQUF5QyxnQkFBQTtBZDh4RHpDO0FjN3hEQTtFQUEwQyxnQkFBQTtBZGl5RDFDO0FjaHlEQTtFQUE4QyxnQkFBQTtBZG95RDlDO0FjbnlEQTtFQUEwQyxnQkFBQTtBZHV5RDFDO0FjdHlEQTtFQUFvQyxnQkFBQTtBZDB5RHBDO0FjenlEQTtFQUFrQyxnQkFBQTtBZDZ5RGxDO0FjNXlEQTtFQUFvQyxnQkFBQTtBZGd6RHBDO0FjL3lEQTtFQUFrQyxnQkFBQTtBZG16RGxDO0FjbHpEQTtFQUF5QyxnQkFBQTtBZHN6RHpDO0FjcnpEQTtFQUEyQyxnQkFBQTtBZHl6RDNDO0FjeHpEQTtFQUF1QyxnQkFBQTtBZDR6RHZDO0FjM3pEQTtFQUF5QyxnQkFBQTtBZCt6RHpDO0FjOXpEQTtFQUFtQyxnQkFBQTtBZGswRG5DO0FjajBEQTtFQUFzQyxnQkFBQTtBZHEwRHRDO0FjcDBEQTtFQUFzQyxnQkFBQTtBZHcwRHRDO0FjdjBEQTtFQUF3QyxnQkFBQTtBZDIwRHhDO0FjMTBEQTtFQUFtQyxnQkFBQTtBZDgwRG5DO0FjNzBEQTtFQUF5QyxnQkFBQTtBZGkxRHpDO0FjaDFEQTtFQUF3QyxnQkFBQTtBZG8xRHhDO0FjbjFEQTtFQUF3QyxnQkFBQTtBZHUxRHhDO0FjdDFEQTtFQUEwQyxnQkFBQTtBZDAxRDFDO0FjejFEQTtFQUErQyxnQkFBQTtBZDYxRC9DO0FjNTFEQTtFQUEwQyxnQkFBQTtBZGcyRDFDO0FjLzFEQTtFQUFvQyxnQkFBQTtBZG0yRHBDO0FjbDJEQTtFQUEyQyxnQkFBQTtBZHMyRDNDO0FjcjJEQTtFQUFxQyxnQkFBQTtBZHkyRHJDO0FjeDJEQTtFQUFpQyxnQkFBQTtBZDQyRGpDO0FjMzJEQTtFQUF5QyxnQkFBQTtBZCsyRHpDO0FjOTJEQTtFQUErQyxnQkFBQTtBZGszRC9DO0FjajNEQTtFQUFvQyxnQkFBQTtBZHEzRHBDO0FjcDNEQTtFQUFpQyxnQkFBQTtBZHczRGpDO0FjdjNEQTtFQUFxQyxnQkFBQTtBZDIzRHJDO0FjMTNEQTtFQUFzQyxnQkFBQTtBZDgzRHRDO0FjNzNEQTtFQUE0QyxnQkFBQTtBZGk0RDVDO0FjaDREQTtFQUF3QyxnQkFBQTtBZG80RHhDO0FjbjREQTtFQUF3QyxnQkFBQTtBZHU0RHhDO0FjdDREQTtFQUE4QyxnQkFBQTtBZDA0RDlDO0FjejREQTtFQUF1QyxnQkFBQTtBZDY0RHZDO0FjNTREQTtFQUF1QyxnQkFBQTtBZGc1RHZDO0FjLzREQTtFQUF3QyxnQkFBQTtBZG01RHhDO0FjbDVEQTtFQUErQyxnQkFBQTtBZHM1RC9DO0FjcjVEQTtFQUE2QyxnQkFBQTtBZHk1RDdDO0FjeDVEQTtFQUFzQyxnQkFBQTtBZDQ1RHRDO0FjMzVEQTtFQUE0QyxnQkFBQTtBZCs1RDVDO0FjOTVEQTtFQUF1QyxnQkFBQTtBZGs2RHZDO0FjajZEQTtFQUFnRCxnQkFBQTtBZHE2RGhEO0FjcDZEQTtFQUEwQyxnQkFBQTtBZHc2RDFDO0FjdjZEQTtFQUFxQyxnQkFBQTtBZDI2RHJDO0FjMTZEQTtFQUFrQyxnQkFBQTtBZDg2RGxDO0FjNzZEQTtFQUFtQyxnQkFBQTtBZGk3RG5DO0FjaDdEQTtFQUFpQyxnQkFBQTtBZG83RGpDO0FjbjdEQTtFQUFxQyxnQkFBQTtBZHU3RHJDO0FjdDdEQTtFQUF3QyxnQkFBQTtBZDA3RHhDO0FjejdEQTtFQUErQyxnQkFBQTtBZDY3RC9DO0FjNTdEQTtFQUF1QyxnQkFBQTtBZGc4RHZDO0FjLzdEQTtFQUFzQyxnQkFBQTtBZG04RHRDO0FjbDhEQTtFQUFtQyxnQkFBQTtBZHM4RG5DO0FjcjhEQTtFQUFrQyxnQkFBQTtBZHk4RGxDO0FjeDhEQTtFQUF5QyxnQkFBQTtBZDQ4RHpDO0FjMzhEQTtFQUErQyxnQkFBQTtBZCs4RC9DO0FjOThEQTtFQUE2QyxnQkFBQTtBZGs5RDdDO0FjajlEQTtFQUF3QyxnQkFBQTtBZHE5RHhDO0FjcDlEQTtFQUErQyxnQkFBQTtBZHc5RC9DO0FjdjlEQTtFQUF1QyxnQkFBQTtBZDI5RHZDO0FjMTlEQTtFQUF1QyxnQkFBQTtBZDg5RHZDO0FjNzlEQTtFQUE0QyxnQkFBQTtBZGkrRDVDO0FjaCtEQTtFQUE0QyxnQkFBQTtBZG8rRDVDO0FjbitEQTtFQUE2QyxnQkFBQTtBZHUrRDdDO0FjdCtEQTtFQUEwQyxnQkFBQTtBZDArRDFDO0FjeitEQTtFQUF5QyxnQkFBQTtBZDYrRHpDO0FjNStEQTtFQUFzQyxnQkFBQTtBZGcvRHRDO0FjLytEQTtFQUEwQyxnQkFBQTtBZG0vRDFDO0FjbC9EQTtFQUF1QyxnQkFBQTtBZHMvRHZDO0Fjci9EQTtFQUFrQyxnQkFBQTtBZHkvRGxDO0FjeC9EQTtFQUEwQyxnQkFBQTtBZDQvRDFDO0FjMy9EQTtFQUFzQyxnQkFBQTtBZCsvRHRDO0FjOS9EQTtFQUFxQyxnQkFBQTtBZGtnRXJDO0FjamdFQTtFQUFxQyxnQkFBQTtBZHFnRXJDO0FjcGdFQTtFQUFvQyxnQkFBQTtBZHdnRXBDO0FjdmdFQTtFQUF1QyxnQkFBQTtBZDJnRXZDO0FjMWdFQTtFQUFtQyxnQkFBQTtBZDhnRW5DO0FjN2dFQTtFQUFnQyxnQkFBQTtBZGloRWhDO0FjaGhFQTtFQUFvQyxnQkFBQTtBZG9oRXBDO0FjbmhFQTtFQUF1QyxnQkFBQTtBZHVoRXZDO0FjdGhFQTtFQUEyQyxnQkFBQTtBZDBoRTNDO0FjemhFQTtFQUFvQyxnQkFBQTtBZDZoRXBDO0FjNWhFQTtFQUFrQyxnQkFBQTtBZGdpRWxDO0FjL2hFQTtFQUF5QyxnQkFBQTtBZG1pRXpDO0FjbGlFQTtFQUFzQyxnQkFBQTtBZHNpRXRDO0FjcmlFQTtFQUF1QyxnQkFBQTtBZHlpRXZDO0FjeGlFQTtFQUF3QyxnQkFBQTtBZDRpRXhDO0FjM2lFQTtFQUFtQyxnQkFBQTtBZCtpRW5DO0FjOWlFQTtFQUFrQyxnQkFBQTtBZGtqRWxDO0FjampFQTtFQUFpQyxnQkFBQTtBZHFqRWpDO0FjcGpFQTtFQUEwQyxnQkFBQTtBZHdqRTFDO0FjdmpFQTtFQUFvQyxnQkFBQTtBZDJqRXBDO0FjMWpFQTtFQUF3QyxnQkFBQTtBZDhqRXhDO0FjN2pFQTtFQUF3QyxnQkFBQTtBZGlrRXhDO0FjaGtFQTtFQUFpQyxnQkFBQTtBZG9rRWpDO0FjbmtFQTtFQUFrQyxnQkFBQTtBZHVrRWxDO0FjdGtFQTtFQUFxQyxnQkFBQTtBZDBrRXJDO0FjemtFQTtFQUFrQyxnQkFBQTtBZDZrRWxDO0FjNWtFQTtFQUF1QyxnQkFBQTtBZGdsRXZDO0FjL2tFQTtFQUFxQyxnQkFBQTtBZG1sRXJDO0FjbGxFQTtFQUF5QyxnQkFBQTtBZHNsRXpDO0FjcmxFQTtFQUE0QyxnQkFBQTtBZHlsRTVDO0FjeGxFQTtFQUFvQyxnQkFBQTtBZDRsRXBDO0FjM2xFQTtFQUFtQyxnQkFBQTtBZCtsRW5DO0FjOWxFQTtFQUFrQyxnQkFBQTtBZGttRWxDO0Fjam1FQTtFQUFtQyxnQkFBQTtBZHFtRW5DO0FjcG1FQTtFQUFzQyxnQkFBQTtBZHdtRXRDO0Fjdm1FQTtFQUEwQyxnQkFBQTtBZDJtRTFDO0FjMW1FQTtFQUEyQyxnQkFBQTtBZDhtRTNDO0FjN21FQTtFQUE0QyxnQkFBQTtBZGluRTVDO0FjaG5FQTtFQUF5QyxnQkFBQTtBZG9uRXpDO0Fjbm5FQTtFQUFrQyxnQkFBQTtBZHVuRWxDO0FjdG5FQTtFQUFvQyxnQkFBQTtBZDBuRXBDO0Fjem5FQTtFQUFrQyxnQkFBQTtBZDZuRWxDO0FjNW5FQTtFQUFvQyxnQkFBQTtBZGdvRXBDO0FjL25FQTtFQUFxQyxnQkFBQTtBZG1vRXJDO0FjbG9FQTtFQUFzQyxnQkFBQTtBZHNvRXRDO0Fjcm9FQTtFQUFvQyxnQkFBQTtBZHlvRXBDO0FjeG9FQTtFQUFxQyxnQkFBQTtBZDRvRXJDO0FjM29FQTtFQUFvQyxnQkFBQTtBZCtvRXBDO0FjOW9FQTtFQUF3QyxnQkFBQTtBZGtwRXhDO0FjanBFQTtFQUFrQyxnQkFBQTtBZHFwRWxDO0FjcHBFQTtFQUFrQyxnQkFBQTtBZHdwRWxDO0FjdnBFQTtFQUFtQyxnQkFBQTtBZDJwRW5DO0FjMXBFQTtFQUFpQyxnQkFBQTtBZDhwRWpDO0FjN3BFQTtFQUFrQyxnQkFBQTtBZGlxRWxDO0FjaHFFQTtFQUFtQyxnQkFBQTtBZG9xRW5DO0FjbnFFQTtFQUFxQyxnQkFBQTtBZHVxRXJDO0FjdHFFQTtFQUFxQyxnQkFBQTtBZDBxRXJDO0FjenFFQTtFQUFpQyxnQkFBQTtBZDZxRWpDO0FjNXFFQTtFQUF3QyxnQkFBQTtBZGdyRXhDO0FjL3FFQTtFQUFzQyxnQkFBQTtBZG1yRXRDO0FjbHJFQTtFQUFxQyxnQkFBQTtBZHNyRXJDO0FjcnJFQTtFQUE4QyxnQkFBQTtBZHlyRTlDO0FjeHJFQTtFQUFxQyxnQkFBQTtBZDRyRXJDO0FjM3JFQTtFQUFvQyxnQkFBQTtBZCtyRXBDO0FjOXJFQTtFQUFtQyxnQkFBQTtBZGtzRW5DO0FjanNFQTtFQUFvQyxnQkFBQTtBZHFzRXBDO0FjcHNFQTtFQUFtQyxnQkFBQTtBZHdzRW5DO0FjdnNFQTtFQUF3QyxnQkFBQTtBZDJzRXhDO0FjMXNFQTtFQUFpQyxnQkFBQTtBZDhzRWpDO0FjN3NFQTtFQUFpQyxnQkFBQTtBZGl0RWpDO0FjaHRFQTtFQUF1QyxnQkFBQTtBZG90RXZDO0FjbnRFQTtFQUFvQyxnQkFBQTtBZHV0RXBDO0FjdHRFQTtFQUFpQyxnQkFBQTtBZDB0RWpDO0FjenRFQTtFQUFrQyxnQkFBQTtBZDZ0RWxDO0FjNXRFQTtFQUFrQyxnQkFBQTtBZGd1RWxDO0FjL3RFQTtFQUFtQyxnQkFBQTtBZG11RW5DO0FjbHVFQTtFQUEyQyxnQkFBQTtBZHN1RTNDO0FjcnVFQTtFQUErQixnQkFBQTtBZHl1RS9CO0FjeHVFQTtFQUFzQyxnQkFBQTtBZDR1RXRDO0FjM3VFQTtFQUFxQyxnQkFBQTtBZCt1RXJDO0FjOXVFQTtFQUFrQyxnQkFBQTtBZGt2RWxDO0FjanZFQTtFQUFtQyxnQkFBQTtBZHF2RW5DO0FjcHZFQTtFQUFnQyxnQkFBQTtBZHd2RWhDO0FjdnZFQTtFQUFvQyxnQkFBQTtBZDJ2RXBDO0FjMXZFQTtFQUFxQyxnQkFBQTtBZDh2RXJDO0FjN3ZFQTtFQUFtQyxnQkFBQTtBZGl3RW5DO0FjaHdFQTtFQUFtQyxnQkFBQTtBZG93RW5DO0FjbndFQTtFQUF3QyxnQkFBQTtBZHV3RXhDO0FjdHdFQTtFQUEwQyxnQkFBQTtBZDB3RTFDO0FjendFQTtFQUFpQyxnQkFBQTtBZDZ3RWpDO0FjNXdFQTtFQUFzQyxnQkFBQTtBZGd4RXRDO0FjL3dFQTtFQUE0QyxnQkFBQTtBZG14RTVDO0FjbHhFQTtFQUFzQyxnQkFBQTtBZHN4RXRDO0FjcnhFQTtFQUFtQyxnQkFBQTtBZHl4RW5DO0FjeHhFQTtFQUFxQyxnQkFBQTtBZDR4RXJDO0FjM3hFQTtFQUFxQyxnQkFBQTtBZCt4RXJDO0FjOXhFQTtFQUFtQyxnQkFBQTtBZGt5RW5DO0FjanlFQTtFQUF3QyxnQkFBQTtBZHF5RXhDO0FjcHlFQTtFQUEyQyxnQkFBQTtBZHd5RTNDO0FjdnlFQTtFQUFvQyxnQkFBQTtBZDJ5RXBDO0FjMXlFQTtFQUFtQyxnQkFBQTtBZDh5RW5DO0FjN3lFQTtFQUEwQyxnQkFBQTtBZGl6RTFDO0FjaHpFQTtFQUFrQyxnQkFBQTtBZG96RWxDO0FjbnpFQTtFQUF1QyxnQkFBQTtBZHV6RXZDO0FjdHpFQTtFQUF5QyxnQkFBQTtBZDB6RXpDO0FjenpFQTtFQUF1QyxnQkFBQTtBZDZ6RXZDO0FjNXpFQTtFQUF3QyxnQkFBQTtBZGcwRXhDO0FjL3pFQTtFQUFpQyxnQkFBQTtBZG0wRWpDO0FjbDBFQTtFQUFvQyxnQkFBQTtBZHMwRXBDO0FjcjBFQTtFQUFrQyxnQkFBQTtBZHkwRWxDO0FjeDBFQTtFQUFpQyxnQkFBQTtBZDQwRWpDO0FjMzBFQTtFQUFzQyxnQkFBQTtBZCswRXRDO0FjOTBFQTtFQUE0QyxnQkFBQTtBZGsxRTVDO0FjajFFQTtFQUEyQyxnQkFBQTtBZHExRTNDO0FjcDFFQTtFQUF5QyxnQkFBQTtBZHcxRXpDO0FjdjFFQTtFQUFzQyxnQkFBQTtBZDIxRXRDO0FjMTFFQTtFQUFzQyxnQkFBQTtBZDgxRXRDO0FjNzFFQTtFQUFpQyxnQkFBQTtBZGkyRWpDO0FjaDJFQTtFQUFpQyxnQkFBQTtBZG8yRWpDO0FjbjJFQTtFQUFxQyxnQkFBQTtBZHUyRXJDO0FjdDJFQTtFQUF3QyxnQkFBQTtBZDAyRXhDO0FjejJFQTtFQUFtQyxnQkFBQTtBZDYyRW5DO0FjNTJFQTtFQUFrQyxnQkFBQTtBZGczRWxDO0FjLzJFQTtFQUFzQyxnQkFBQTtBZG0zRXRDO0FjbDNFQTtFQUFpQyxnQkFBQTtBZHMzRWpDO0FjcjNFQTtFQUFxQyxnQkFBQTtBZHkzRXJDO0FjeDNFQTtFQUFvQyxnQkFBQTtBZDQzRXBDO0FjMzNFQTtFQUFvQyxnQkFBQTtBZCszRXBDO0FjOTNFQTtFQUEyQyxnQkFBQTtBZGs0RTNDO0FjajRFQTtFQUFpQyxnQkFBQTtBZHE0RWpDO0FjcDRFQTtFQUFzQyxnQkFBQTtBZHc0RXRDO0FjdjRFQTtFQUFnRCxnQkFBQTtBZDI0RWhEO0FjMTRFQTtFQUFnRCxnQkFBQTtBZDg0RWhEO0FjNzRFQTtFQUFpRCxnQkFBQTtBZGk1RWpEO0FjaDVFQTtFQUE4QyxnQkFBQTtBZG81RTlDO0FjbjVFQTtFQUF1QyxnQkFBQTtBZHU1RXZDO0FjdDVFQTtFQUF5QyxnQkFBQTtBZDA1RXpDO0FjejVFQTtFQUFpQyxnQkFBQTtBZDY1RWpDO0FjNTVFQTtFQUFvQyxnQkFBQTtBZGc2RXBDO0FjLzVFQTtFQUFrQyxnQkFBQTtBZG02RWxDO0FjbDZFQTtFQUFtQyxnQkFBQTtBZHM2RW5DO0FjcjZFQTtFQUFzQyxnQkFBQTtBZHk2RXRDO0FjeDZFQTtFQUFzQyxnQkFBQTtBZDQ2RXRDO0FjMzZFQTtFQUFpQyxnQkFBQTtBZCs2RWpDO0FjOTZFQTtFQUF3QyxnQkFBQTtBZGs3RXhDO0FjajdFQTtFQUFnQyxnQkFBQTtBZHE3RWhDO0FjcDdFQTtFQUF1QyxnQkFBQTtBZHc3RXZDO0FjdjdFQTtFQUEyQyxnQkFBQTtBZDI3RTNDO0FjMTdFQTtFQUF1QyxnQkFBQTtBZDg3RXZDO0FjNzdFQTtFQUEyQyxnQkFBQTtBZGk4RTNDO0FjaDhFQTtFQUFvQyxnQkFBQTtBZG84RXBDO0FjbjhFQTtFQUFzQyxnQkFBQTtBZHU4RXRDO0FjdDhFQTtFQUFxQyxnQkFBQTtBZDA4RXJDO0FjejhFQTtFQUFtQyxnQkFBQTtBZDY4RW5DO0FjNThFQTtFQUFpQyxnQkFBQTtBZGc5RWpDO0FjLzhFQTtFQUF3QyxnQkFBQTtBZG05RXhDO0FjbDlFQTtFQUF3QyxnQkFBQTtBZHM5RXhDO0FjcjlFQTtFQUEwQyxnQkFBQTtBZHk5RTFDO0FjeDlFQTtFQUEwQyxnQkFBQTtBZDQ5RTFDO0FjMzlFQTtFQUFpQyxnQkFBQTtBZCs5RWpDO0FjOTlFQTtFQUFxQyxnQkFBQTtBZGsrRXJDO0FjaitFQTtFQUFtQyxnQkFBQTtBZHErRW5DO0FjcCtFQTtFQUFrQyxnQkFBQTtBZHcrRWxDO0FjditFQTtFQUFvQyxnQkFBQTtBZDIrRXBDO0FjMStFQTtFQUFtQyxnQkFBQTtBZDgrRW5DO0FjNytFQTtFQUFxQyxnQkFBQTtBZGkvRXJDO0FjaC9FQTtFQUFtQyxnQkFBQTtBZG8vRW5DO0Fjbi9FQTtFQUFrQyxnQkFBQTtBZHUvRWxDO0FjdC9FQTtFQUFtQyxnQkFBQTtBZDAvRW5DO0Fjei9FQTtFQUFxQyxnQkFBQTtBZDYvRXJDO0FjNS9FQTtFQUFnQyxnQkFBQTtBZGdnRmhDO0FjLy9FQTtFQUFzQyxnQkFBQTtBZG1nRnRDO0FjbGdGQTtFQUE2QyxnQkFBQTtBZHNnRjdDO0FjcmdGQTtFQUFtQyxnQkFBQTtBZHlnRm5DO0FjeGdGQTtFQUFxQyxnQkFBQTtBZDRnRnJDO0FjM2dGQTtFQUFvQyxnQkFBQTtBZCtnRnBDO0FjOWdGQTtFQUFvQyxnQkFBQTtBZGtoRnBDO0FjamhGQTtFQUFtQyxnQkFBQTtBZHFoRm5DO0FjcGhGQTtFQUFzQyxnQkFBQTtBZHdoRnRDO0FjdmhGQTtFQUF1QyxnQkFBQTtBZDJoRnZDO0FjMWhGQTtFQUEyQyxnQkFBQTtBZDhoRjNDO0FjN2hGQTtFQUFpRCxnQkFBQTtBZGlpRmpEO0FjaGlGQTtFQUE2QyxnQkFBQTtBZG9pRjdDO0FjbmlGQTtFQUF1QyxnQkFBQTtBZHVpRnZDO0FjdGlGQTtFQUFzQyxnQkFBQTtBZDBpRnRDO0FjemlGQTtFQUFrQyxnQkFBQTtBZDZpRmxDO0FjNWlGQTtFQUF5QyxnQkFBQTtBZGdqRnpDO0FjL2lGQTtFQUF5QyxnQkFBQTtBZG1qRnpDO0FjbGpGQTtFQUFtQyxnQkFBQTtBZHNqRm5DO0FjcmpGQTtFQUFnQyxnQkFBQTtBZHlqRmhDO0FjeGpGQTtFQUFxQyxnQkFBQTtBZDRqRnJDO0FjM2pGQTtFQUFtQyxnQkFBQTtBZCtqRm5DO0FjOWpGQTtFQUFtQyxnQkFBQTtBZGtrRm5DO0FjamtGQTtFQUF1QyxnQkFBQTtBZHFrRnZDO0FjcGtGQTtFQUFpQyxnQkFBQTtBZHdrRmpDO0FjdmtGQTtFQUFtQyxnQkFBQTtBZDJrRm5DO0FjMWtGQTtFQUF1QyxnQkFBQTtBZDhrRnZDO0FjN2tGQTtFQUEyQyxnQkFBQTtBZGlsRjNDO0FjaGxGQTtFQUE0QyxnQkFBQTtBZG9sRjVDO0FjbmxGQTtFQUFnRCxnQkFBQTtBZHVsRmhEO0FjdGxGQTtFQUF3QyxnQkFBQTtBZDBsRnhDO0FjemxGQTtFQUE0QyxnQkFBQTtBZDZsRjVDO0FjNWxGQTtFQUFxQyxnQkFBQTtBZGdtRnJDO0FjL2xGQTtFQUFpQyxnQkFBQTtBZG1tRmpDO0FjbG1GQTtFQUEwQyxnQkFBQTtBZHNtRjFDO0Fjcm1GQTtFQUFtQyxnQkFBQTtBZHltRm5DO0FjeG1GQTtFQUF1QyxnQkFBQTtBZDRtRnZDO0FjM21GQTtFQUFxQyxnQkFBQTtBZCttRnJDO0FjOW1GQTtFQUEwQyxnQkFBQTtBZGtuRjFDO0Fjam5GQTtFQUFvQyxnQkFBQTtBZHFuRnBDO0FjcG5GQTtFQUFrQyxnQkFBQTtBZHduRmxDO0Fjdm5GQTtFQUFvQyxnQkFBQTtBZDJuRnBDO0FjMW5GQTtFQUFpQyxnQkFBQTtBZDhuRmpDO0FjN25GQTtFQUEwQyxnQkFBQTtBZGlvRjFDO0FjaG9GQTtFQUFtQyxnQkFBQTtBZG9vRm5DO0Fjbm9GQTtFQUFzQyxnQkFBQTtBZHVvRnRDO0FjdG9GQTtFQUFtQyxnQkFBQTtBZDBvRm5DO0Fjem9GQTtFQUE0QyxnQkFBQTtBZDZvRjVDO0FjNW9GQTtFQUFpQyxnQkFBQTtBZGdwRmpDO0FjL29GQTtFQUFvQyxnQkFBQTtBZG1wRnBDO0FjbHBGQTtFQUFzQyxnQkFBQTtBZHNwRnRDO0FjcnBGQTtFQUEwQyxnQkFBQTtBZHlwRjFDO0FjeHBGQTtFQUFnQyxnQkFBQTtBZDRwRmhDO0FjM3BGQTtFQUFnQyxnQkFBQTtBZCtwRmhDO0FjOXBGQTtFQUF3QyxnQkFBQTtBZGtxRnhDO0FjanFGQTtFQUF5QyxnQkFBQTtBZHFxRnpDO0FjcHFGQTtFQUEyQyxnQkFBQTtBZHdxRjNDO0FjdnFGQTtFQUEwQyxnQkFBQTtBZDJxRjFDO0FjMXFGQTtFQUFpRCxnQkFBQTtBZDhxRmpEO0FjN3FGQTtFQUFvQyxnQkFBQTtBZGlyRnBDO0FjaHJGQTtFQUF5QyxnQkFBQTtBZG9yRnpDO0FjbnJGQTtFQUErQixnQkFBQTtBZHVyRi9CO0FjdHJGQTtFQUFxQyxnQkFBQTtBZDByRnJDO0FjenJGQTtFQUFtQyxnQkFBQTtBZDZyRm5DO0FjNXJGQTtFQUFrQyxnQkFBQTtBZGdzRmxDO0FjL3JGQTtFQUEwQyxnQkFBQTtBZG1zRjFDO0FjbHNGQTtFQUFnQyxnQkFBQTtBZHNzRmhDO0FjcnNGQTtFQUFrQyxnQkFBQTtBZHlzRmxDO0FjeHNGQTtFQUFvQyxnQkFBQTtBZDRzRnBDO0FjM3NGQTtFQUFrQyxnQkFBQTtBZCtzRmxDO0FjOXNGQTtFQUFzQyxnQkFBQTtBZGt0RnRDO0FjanRGQTtFQUFrQyxnQkFBQTtBZHF0RmxDO0FjcHRGQTtFQUF3QyxnQkFBQTtBZHd0RnhDO0FjdnRGQTtFQUF5QyxnQkFBQTtBZDJ0RnpDO0FjMXRGQTtFQUFvQyxnQkFBQTtBZDh0RnBDO0FjN3RGQTtFQUFtQyxnQkFBQTtBZGl1Rm5DO0FjaHVGQTtFQUFtQyxnQkFBQTtBZG91Rm5DO0FjbnVGQTtFQUF3QyxnQkFBQTtBZHV1RnhDO0FjdHVGQTtFQUFzQyxnQkFBQTtBZDB1RnRDO0FjenVGQTtFQUEwQyxnQkFBQTtBZDZ1RjFDO0FjNXVGQTtFQUFzQyxnQkFBQTtBZGd2RnRDO0FjL3VGQTtFQUFvQyxnQkFBQTtBZG12RnBDO0FjbHZGQTtFQUFxQyxnQkFBQTtBZHN2RnJDO0FjcnZGQTtFQUEyQyxnQkFBQTtBZHl2RjNDO0FjeHZGQTtFQUFrQyxnQkFBQTtBZDR2RmxDO0FjM3ZGQTtFQUFvQyxnQkFBQTtBZCt2RnBDO0FjOXZGQTtFQUFrQyxnQkFBQTtBZGt3RmxDO0FjandGQTtFQUF5QyxnQkFBQTtBZHF3RnpDO0FjcHdGQTtFQUFnQyxnQkFBQTtBZHd3RmhDO0FjdndGQTtFQUFtQyxnQkFBQTtBZDJ3Rm5DO0FjMXdGQTtFQUFrQyxnQkFBQTtBZDh3RmxDO0FjN3dGQTtFQUFnQyxnQkFBQTtBZGl4RmhDO0FjaHhGQTtFQUFvQyxnQkFBQTtBZG94RnBDO0FjbnhGQTtFQUFzQyxnQkFBQTtBZHV4RnRDO0FjdHhGQTtFQUFvQyxnQkFBQTtBZDB4RnBDO0FjenhGQTtFQUF1QyxnQkFBQTtBZDZ4RnZDO0FjNXhGQTtFQUF1QyxnQkFBQTtBZGd5RnZDO0FjL3hGQTtFQUF5QyxnQkFBQTtBZG15RnpDO0FjbHlGQTtFQUF5QyxnQkFBQTtBZHN5RnpDO0FjcnlGQTtFQUF5QyxnQkFBQTtBZHl5RnpDO0FjeHlGQTtFQUF1QyxnQkFBQTtBZDR5RnZDO0FjM3lGQTtFQUFvQyxnQkFBQTtBZCt5RnBDO0FjOXlGQTtFQUF1QyxnQkFBQTtBZGt6RnZDO0FjanpGQTtFQUFzQyxnQkFBQTtBZHF6RnRDO0FjcHpGQTtFQUF5QyxnQkFBQTtBZHd6RnpDO0FjdnpGQTtFQUF3QyxnQkFBQTtBZDJ6RnhDO0FjMXpGQTtFQUE4QyxnQkFBQTtBZDh6RjlDO0FjN3pGQTtFQUE2QyxnQkFBQTtBZGkwRjdDO0FjaDBGQTtFQUFrQyxnQkFBQTtBZG8wRmxDO0FjbjBGQTtFQUF3QyxnQkFBQTtBZHUwRnhDO0FjdDBGQTtFQUF5QyxnQkFBQTtBZDAwRnpDO0FjejBGQTtFQUF5QyxnQkFBQTtBZDYwRnpDO0FjNTBGQTtFQUFnQyxnQkFBQTtBZGcxRmhDO0FjLzBGQTtFQUF1QyxnQkFBQTtBZG0xRnZDO0FjbDFGQTtFQUEyQyxnQkFBQTtBZHMxRjNDO0FjcjFGQTtFQUEyQyxnQkFBQTtBZHkxRjNDO0FjeDFGQTtFQUEwQyxnQkFBQTtBZDQxRjFDO0FjMzFGQTtFQUF1QyxnQkFBQTtBZCsxRnZDO0FjOTFGQTtFQUFrQyxnQkFBQTtBZGsyRmxDO0FjajJGQTtFQUFzQyxnQkFBQTtBZHEyRnRDO0FjcDJGQTtFQUF3QyxnQkFBQTtBZHcyRnhDO0FjdjJGQTtFQUE2QyxnQkFBQTtBZDIyRjdDO0FjMTJGQTtFQUF3QyxnQkFBQTtBZDgyRnhDO0FjNzJGQTtFQUE2QyxnQkFBQTtBZGkzRjdDO0FjaDNGQTtFQUFrQyxnQkFBQTtBZG8zRmxDO0FjbjNGQTtFQUEwQyxnQkFBQTtBZHUzRjFDO0FjdDNGQTtFQUE0QyxnQkFBQTtBZDAzRjVDO0FjejNGQTtFQUFpQyxnQkFBQTtBZDYzRmpDO0FjNTNGQTtFQUF3QyxnQkFBQTtBZGc0RnhDO0FjLzNGQTtFQUF3QyxnQkFBQTtBZG00RnhDO0FjbDRGQTtFQUFpQyxnQkFBQTtBZHM0RmpDO0FjcjRGQTtFQUFpQyxnQkFBQTtBZHk0RmpDO0FjeDRGQTtFQUF3QyxnQkFBQTtBZDQ0RnhDO0FjMzRGQTtFQUF3QyxnQkFBQTtBZCs0RnhDO0FjOTRGQTtFQUFvQyxnQkFBQTtBZGs1RnBDO0FjajVGQTtFQUFpQyxnQkFBQTtBZHE1RmpDO0FjcDVGQTtFQUFtQyxnQkFBQTtBZHc1Rm5DO0FjdjVGQTtFQUFnQyxnQkFBQTtBZDI1RmhDO0FjMTVGQTtFQUFzQyxnQkFBQTtBZDg1RnRDO0FjNzVGQTtFQUFpQyxnQkFBQTtBZGk2RmpDO0FjaDZGQTtFQUFxQyxnQkFBQTtBZG82RnJDO0FjbjZGQTtFQUF1QyxnQkFBQTtBZHU2RnZDO0FjdDZGQTtFQUFzQyxnQkFBQTtBZDA2RnRDO0FjejZGQTtFQUFpQyxnQkFBQTtBZDY2RmpDO0FjNTZGQTtFQUEwQyxnQkFBQTtBZGc3RjFDO0FjLzZGQTtFQUF5QyxnQkFBQTtBZG03RnpDO0FjbDdGQTtFQUFnRCxnQkFBQTtBZHM3RmhEO0FjcjdGQTtFQUFvRCxnQkFBQTtBZHk3RnBEO0FjeDdGQTtFQUFrQyxnQkFBQTtBZDQ3RmxDO0FjMzdGQTtFQUF1QyxnQkFBQTtBZCs3RnZDO0FjOTdGQTtFQUF5QyxnQkFBQTtBZGs4RnpDO0FjajhGQTtFQUE0QyxnQkFBQTtBZHE4RjVDO0FjcDhGQTtFQUFtQyxnQkFBQTtBZHc4Rm5DO0FjdjhGQTtFQUF5QyxnQkFBQTtBZDI4RnpDO0FjMThGQTtFQUFtQyxnQkFBQTtBZDg4Rm5DO0FjNzhGQTtFQUErQixnQkFBQTtBZGk5Ri9CO0FjaDlGQTtFQUFtQyxnQkFBQTtBZG85Rm5DO0FjbjlGQTtFQUFxQyxnQkFBQTtBZHU5RnJDO0FjdDlGQTtFQUE0QyxnQkFBQTtBZDA5RjVDO0FjejlGQTtFQUFzQyxnQkFBQTtBZDY5RnRDO0FjNTlGQTtFQUFzQyxnQkFBQTtBZGcrRnRDO0FjLzlGQTtFQUFrQyxnQkFBQTtBZG0rRmxDO0FjbCtGQTtFQUF1QyxnQkFBQTtBZHMrRnZDO0FjcitGQTtFQUF3QyxnQkFBQTtBZHkrRnhDO0FjeCtGQTtFQUFrQyxnQkFBQTtBZDQrRmxDO0FjMytGQTtFQUFzQyxnQkFBQTtBZCsrRnRDO0FjOStGQTtFQUFzQyxnQkFBQTtBZGsvRnRDO0Fjai9GQTtFQUEwQyxnQkFBQTtBZHEvRjFDO0FjcC9GQTtFQUFvQyxnQkFBQTtBZHcvRnBDO0Fjdi9GQTtFQUFtQyxnQkFBQTtBZDIvRm5DO0FjMS9GQTtFQUF5QyxnQkFBQTtBZDgvRnpDO0FjNy9GQTtFQUFvQyxnQkFBQTtBZGlnR3BDO0FjaGdHQTtFQUFrQyxnQkFBQTtBZG9nR2xDO0FjbmdHQTtFQUF3QyxnQkFBQTtBZHVnR3hDO0FjdGdHQTtFQUFtQyxnQkFBQTtBZDBnR25DO0FjemdHQTtFQUFrQyxnQkFBQTtBZDZnR2xDO0FjNWdHQTtFQUFvQyxnQkFBQTtBZGdoR3BDO0FjL2dHQTtFQUFvQyxnQkFBQTtBZG1oR3BDO0FjbGhHQTtFQUFzQyxnQkFBQTtBZHNoR3RDO0FjcmhHQTtFQUFtQyxnQkFBQTtBZHloR25DO0FjeGhHQTtFQUF5QyxnQkFBQTtBZDRoR3pDO0FjM2hHQTtFQUEwQyxnQkFBQTtBZCtoRzFDO0FjOWhHQTtFQUFtQyxnQkFBQTtBZGtpR25DO0FjamlHQTtFQUFpQyxnQkFBQTtBZHFpR2pDO0FjcGlHQTtFQUFxQyxnQkFBQTtBZHdpR3JDO0FjdmlHQTtFQUF1QyxnQkFBQTtBZDJpR3ZDO0FjMWlHQTtFQUFtQyxnQkFBQTtBZDhpR25DO0FjN2lHQTtFQUFrQyxnQkFBQTtBZGlqR2xDO0FjaGpHQTtFQUFzQyxnQkFBQTtBZG9qR3RDO0FjbmpHQTtFQUFtQyxnQkFBQTtBZHVqR25DO0FjdGpHQTtFQUF1QyxnQkFBQTtBZDBqR3ZDO0FjempHQTtFQUF5QyxnQkFBQTtBZDZqR3pDO0FjNWpHQTtFQUFzQyxnQkFBQTtBZGdrR3RDO0FjL2pHQTtFQUFxQyxnQkFBQTtBZG1rR3JDO0FjbGtHQTtFQUFvQyxnQkFBQTtBZHNrR3BDO0FjcmtHQTtFQUFnQyxnQkFBQTtBZHlrR2hDO0FjeGtHQTtFQUFtQyxnQkFBQTtBZDRrR25DO0FjM2tHQTtFQUFpQyxnQkFBQTtBZCtrR2pDO0FjOWtHQTtFQUFpQyxnQkFBQTtBZGtsR2pDO0FjamxHQTtFQUFrQyxnQkFBQTtBZHFsR2xDO0FjcGxHQTtFQUFtQyxnQkFBQTtBZHdsR25DO0FjdmxHQTtFQUF1QyxnQkFBQTtBZDJsR3ZDO0FjMWxHQTtFQUFvQyxnQkFBQTtBZDhsR3BDO0FjN2xHQTtFQUFrQyxnQkFBQTtBZGltR2xDO0FjaG1HQTtFQUFnQyxnQkFBQTtBZG9tR2hDO0Fjbm1HQTtFQUF1QyxnQkFBQTtBZHVtR3ZDO0FjdG1HQTtFQUF1QyxnQkFBQTtBZDBtR3ZDO0Fjem1HQTtFQUFrQyxnQkFBQTtBZDZtR2xDO0FjNW1HQTtFQUEyQyxnQkFBQTtBZGduRzNDO0FjL21HQTtFQUE2QyxnQkFBQTtBZG1uRzdDO0FjbG5HQTtFQUEyQyxnQkFBQTtBZHNuRzNDO0Fjcm5HQTtFQUFvQyxnQkFBQTtBZHluR3BDO0FjeG5HQTtFQUF1QyxnQkFBQTtBZDRuR3ZDO0FjM25HQTtFQUFvQyxnQkFBQTtBZCtuR3BDO0FjOW5HQTtFQUFxQyxnQkFBQTtBZGtvR3JDO0Fjam9HQTtFQUFtQyxnQkFBQTtBZHFvR25DO0FjcG9HQTtFQUF1QyxnQkFBQTtBZHdvR3ZDO0Fjdm9HQTtFQUFpQyxnQkFBQTtBZDJvR2pDO0FjMW9HQTtFQUFzQyxnQkFBQTtBZDhvR3RDO0FjN29HQTtFQUEyQyxnQkFBQTtBZGlwRzNDO0FjaHBHQTtFQUFpQyxnQkFBQTtBZG9wR2pDO0FjbnBHQTtFQUFtQyxnQkFBQTtBZHVwR25DO0FjdHBHQTtFQUFtQyxnQkFBQTtBZDBwR25DO0FjenBHQTtFQUF3QyxnQkFBQTtBZDZwR3hDO0FjNXBHQTtFQUFtQyxnQkFBQTtBZGdxR25DO0FjL3BHQTtFQUFtQyxnQkFBQTtBZG1xR25DO0FjbHFHQTtFQUFvQyxnQkFBQTtBZHNxR3BDO0FjcnFHQTtFQUFtQyxnQkFBQTtBZHlxR25DO0FjeHFHQTtFQUEwQyxnQkFBQTtBZDRxRzFDO0FjM3FHQTtFQUE0QyxnQkFBQTtBZCtxRzVDO0FjOXFHQTtFQUF5QyxnQkFBQTtBZGtyR3pDO0FjanJHQTtFQUF3QyxnQkFBQTtBZHFyR3hDO0FjcHJHQTtFQUF3QyxnQkFBQTtBZHdyR3hDO0FjdnJHQTtFQUFxQyxnQkFBQTtBZDJyR3JDO0FjMXJHQTtFQUFxQyxnQkFBQTtBZDhyR3JDO0FjN3JHQTtFQUFtQyxnQkFBQTtBZGlzR25DO0FjaHNHQTtFQUFtQyxnQkFBQTtBZG9zR25DO0FjbnNHQTtFQUF5QyxnQkFBQTtBZHVzR3pDO0FjdHNHQTtFQUFtQyxnQkFBQTtBZDBzR25DO0FjenNHQTtFQUFrQyxnQkFBQTtBZDZzR2xDO0FjNXNHQTtFQUFzQyxnQkFBQTtBZGd0R3RDO0FjL3NHQTtFQUE2QyxnQkFBQTtBZG10RzdDO0FjbHRHQTtFQUF5QyxnQkFBQTtBZHN0R3pDO0FjcnRHQTtFQUF3QyxnQkFBQTtBZHl0R3hDO0FjeHRHQTtFQUF1QyxnQkFBQTtBZDR0R3ZDO0FjM3RHQTtFQUFpQyxnQkFBQTtBZCt0R2pDO0FjOXRHQTtFQUEwQyxnQkFBQTtBZGt1RzFDO0FjanVHQTtFQUF5QyxnQkFBQTtBZHF1R3pDO0FjcHVHQTtFQUF3QyxnQkFBQTtBZHd1R3hDO0FjdnVHQTtFQUF5QyxnQkFBQTtBZDJ1R3pDO0FjMXVHQTtFQUE0QyxnQkFBQTtBZDh1RzVDO0FjN3VHQTtFQUEwQyxnQkFBQTtBZGl2RzFDO0FjaHZHQTtFQUFxQyxnQkFBQTtBZG92R3JDO0FjbnZHQTtFQUFtQyxnQkFBQTtBZHV2R25DO0FjdHZHQTtFQUF3QyxnQkFBQTtBZDB2R3hDO0FjenZHQTtFQUFpQyxnQkFBQTtBZDZ2R2pDO0FjNXZHQTtFQUF3QyxnQkFBQTtBZGd3R3hDO0FjL3ZHQTtFQUEwQyxnQkFBQTtBZG13RzFDO0FjbHdHQTtFQUF5QyxnQkFBQTtBZHN3R3pDO0FjcndHQTtFQUFtQyxnQkFBQTtBZHl3R25DO0FjeHdHQTtFQUFzQyxnQkFBQTtBZDR3R3RDO0FjM3dHQTtFQUFxQyxnQkFBQTtBZCt3R3JDO0FjOXdHQTtFQUF3QyxnQkFBQTtBZGt4R3hDO0FjanhHQTtFQUFvQyxnQkFBQTtBZHF4R3BDO0FjcHhHQTtFQUFvQyxnQkFBQTtBZHd4R3BDO0FjdnhHQTtFQUFpQyxnQkFBQTtBZDJ4R2pDO0FjMXhHQTtFQUFvQyxnQkFBQTtBZDh4R3BDO0FjN3hHQTtFQUFtQyxnQkFBQTtBZGl5R25DO0FjaHlHQTtFQUFtQyxnQkFBQTtBZG95R25DO0FjbnlHQTtFQUEwQyxnQkFBQTtBZHV5RzFDO0FjdHlHQTtFQUFrQyxnQkFBQTtBZDB5R2xDO0FjenlHQTtFQUE2QyxnQkFBQTtBZDZ5RzdDO0FjNXlHQTtFQUFxQyxnQkFBQTtBZGd6R3JDO0FjL3lHQTtFQUFrQyxnQkFBQTtBZG16R2xDO0FjbHpHQTtFQUFrQyxnQkFBQTtBZHN6R2xDO0FjcnpHQTtFQUF1QyxnQkFBQTtBZHl6R3ZDO0FjeHpHQTtFQUFrQyxnQkFBQTtBZDR6R2xDO0FjM3pHQTtFQUFtQyxnQkFBQTtBZCt6R25DO0FjOXpHQTtFQUFzQyxnQkFBQTtBZGswR3RDO0FjajBHQTtFQUF1QyxnQkFBQTtBZHEwR3ZDO0FjcDBHQTtFQUFrQyxnQkFBQTtBZHcwR2xDO0FjdjBHQTtFQUF1QyxnQkFBQTtBZDIwR3ZDO0FjMTBHQTtFQUF1QyxnQkFBQTtBZDgwR3ZDO0FjNzBHQTtFQUFpQyxnQkFBQTtBZGkxR2pDO0FjaDFHQTtFQUFvQyxnQkFBQTtBZG8xR3BDO0FjbjFHQTtFQUF3QyxnQkFBQTtBZHUxR3hDO0FjdDFHQTtFQUFnQyxnQkFBQTtBZDAxR2hDO0FjejFHQTtFQUFxQyxnQkFBQTtBZDYxR3JDO0FjNTFHQTtFQUEyQyxnQkFBQTtBZGcyRzNDO0FjLzFHQTtFQUE0QyxnQkFBQTtBZG0yRzVDO0FjbDJHQTtFQUF5QyxnQkFBQTtBZHMyR3pDO0FjcjJHQTtFQUFzQyxnQkFBQTtBZHkyR3RDO0FjeDJHQTtFQUFvQyxnQkFBQTtBZDQyR3BDO0FjMzJHQTtFQUFxQyxnQkFBQTtBZCsyR3JDO0FjOTJHQTtFQUFrQyxnQkFBQTtBZGszR2xDO0FjajNHQTtFQUF3QyxnQkFBQTtBZHEzR3hDO0FjcDNHQTtFQUFpQyxnQkFBQTtBZHczR2pDO0FjdjNHQTtFQUE0QyxnQkFBQTtBZDIzRzVDO0FjMTNHQTtFQUEwQyxnQkFBQTtBZDgzRzFDO0FjNzNHQTtFQUE2QyxnQkFBQTtBZGk0RzdDO0FjaDRHQTtFQUEyQyxnQkFBQTtBZG80RzNDO0FjbjRHQTtFQUFzQyxnQkFBQTtBZHU0R3RDO0FjdDRHQTtFQUE4QyxnQkFBQTtBZDA0RzlDO0FjejRHQTtFQUE0QyxnQkFBQTtBZDY0RzVDO0FjNTRHQTtFQUFvQyxnQkFBQTtBZGc1R3BDO0FjLzRHQTtFQUF1QyxnQkFBQTtBZG01R3ZDO0FjbDVHQTtFQUF1QyxnQkFBQTtBZHM1R3ZDO0FjcjVHQTtFQUFnQyxnQkFBQTtBZHk1R2hDO0FjeDVHQTtFQUEwQyxnQkFBQTtBZDQ1RzFDO0FjMzVHQTtFQUFvQyxnQkFBQTtBZCs1R3BDO0FjOTVHQTtFQUF5QyxnQkFBQTtBZGs2R3pDO0FjajZHQTtFQUFtQyxnQkFBQTtBZHE2R25DO0FjcDZHQTtFQUFvQyxnQkFBQTtBZHc2R3BDO0FjdjZHQTtFQUFvQyxnQkFBQTtBZDI2R3BDO0FjMTZHQTtFQUFvQyxnQkFBQTtBZDg2R3BDO0FjNzZHQTtFQUFzQyxnQkFBQTtBZGk3R3RDO0FjaDdHQTtFQUFtQyxnQkFBQTtBZG83R25DO0FjbjdHQTtFQUF3QyxnQkFBQTtBZHU3R3hDO0FjdDdHQTtFQUE0QyxnQkFBQTtBZDA3RzVDO0FjejdHQTtFQUF3QyxnQkFBQTtBZDY3R3hDO0FjNTdHQTtFQUEyQyxnQkFBQTtBZGc4RzNDO0FjLzdHQTtFQUEyQyxnQkFBQTtBZG04RzNDO0FjbDhHQTtFQUFrQyxnQkFBQTtBZHM4R2xDO0FjcjhHQTtFQUFpQyxnQkFBQTtBZHk4R2pDO0FjeDhHQTtFQUE4QyxnQkFBQTtBZDQ4RzlDO0FjMzhHQTtFQUFzQyxnQkFBQTtBZCs4R3RDO0FjOThHQTtFQUEwQyxnQkFBQTtBZGs5RzFDO0FjajlHQTtFQUEwQyxnQkFBQTtBZHE5RzFDO0FjcDlHQTtFQUF5QyxnQkFBQTtBZHc5R3pDO0FjdjlHQTtFQUF1QyxnQkFBQTtBZDI5R3ZDO0FjMTlHQTtFQUFrQyxnQkFBQTtBZDg5R2xDO0FjNzlHQTtFQUF5QyxnQkFBQTtBZGkrR3pDO0FjaCtHQTtFQUF5QyxnQkFBQTtBZG8rR3pDO0FjbitHQTtFQUEwQyxnQkFBQTtBZHUrRzFDO0FjdCtHQTtFQUF5QyxnQkFBQTtBZDArR3pDO0FjeitHQTtFQUF3QyxnQkFBQTtBZDYrR3hDO0FjNStHQTtFQUF5QyxnQkFBQTtBZGcvR3pDO0FjLytHQTtFQUF3QyxnQkFBQTtBZG0vR3hDO0FjbC9HQTtFQUFpQyxnQkFBQTtBZHMvR2pDO0Fjci9HQTtFQUF3QyxnQkFBQTtBZHkvR3hDO0FjeC9HQTtFQUFzQyxnQkFBQTtBZDQvR3RDO0FjMy9HQTtFQUFrQyxnQkFBQTtBZCsvR2xDO0FjOS9HQTtFQUFzQyxnQkFBQTtBZGtnSHRDO0FjamdIQTtFQUFtQyxnQkFBQTtBZHFnSG5DO0FjcGdIQTtFQUFtQyxnQkFBQTtBZHdnSG5DO0FjdmdIQTtFQUF3QyxnQkFBQTtBZDJnSHhDO0FjMWdIQTtFQUEwQyxnQkFBQTtBZDhnSDFDO0FjN2dIQTtFQUFtQyxnQkFBQTtBZGloSG5DO0FjaGhIQTtFQUFxQyxnQkFBQTtBZG9oSHJDO0FjbmhIQTtFQUF3QyxnQkFBQTtBZHVoSHhDO0FjdGhIQTtFQUF5QyxnQkFBQTtBZDBoSHpDO0FjemhIQTtFQUF3QyxnQkFBQTtBZDZoSHhDO0FjNWhIQTtFQUErQyxnQkFBQTtBZGdpSC9DO0FjL2hIQTtFQUFzQyxnQkFBQTtBZG1pSHRDO0FjbGlIQTtFQUFtQyxnQkFBQTtBZHNpSG5DO0FjcmlIQTtFQUFxQyxnQkFBQTtBZHlpSHJDO0FjeGlIQTtFQUE2QyxnQkFBQTtBZDRpSDdDO0FjM2lIQTtFQUFnQyxnQkFBQTtBZCtpSGhDO0FjOWlIQTtFQUF3QyxnQkFBQTtBZGtqSHhDO0FjampIQTtFQUF3QyxnQkFBQTtBZHFqSHhDO0FjcGpIQTtFQUFtQyxnQkFBQTtBZHdqSG5DO0FjdmpIQTtFQUFxQyxnQkFBQTtBZDJqSHJDO0FjMWpIQTtFQUFpQyxnQkFBQTtBZDhqSGpDO0FjN2pIQTtFQUF1QyxnQkFBQTtBZGlrSHZDO0FjaGtIQTtFQUFvQyxnQkFBQTtBZG9rSHBDO0FjbmtIQTtFQUEwQyxnQkFBQTtBZHVrSDFDO0FjdGtIQTtFQUFvQyxnQkFBQTtBZDBrSHBDO0FjemtIQTtFQUFzQyxnQkFBQTtBZDZrSHRDO0FjNWtIQTtFQUFpQyxnQkFBQTtBZGdsSGpDO0FjL2tIQTtFQUFxQyxnQkFBQTtBZG1sSHJDO0FjbGxIQTtFQUFvQyxnQkFBQTtBZHNsSHBDO0FjcmxIQTtFQUFrQyxnQkFBQTtBZHlsSGxDO0FjeGxIQTtFQUF5QyxnQkFBQTtBZDRsSHpDO0FjM2xIQTtFQUFtQyxnQkFBQTtBZCtsSG5DO0FjOWxIQTtFQUF1QyxnQkFBQTtBZGttSHZDO0Fjam1IQTtFQUFvQyxnQkFBQTtBZHFtSHBDO0FjcG1IQTtFQUEyQyxnQkFBQTtBZHdtSDNDO0Fjdm1IQTtFQUFnQyxnQkFBQTtBZDJtSGhDO0FjMW1IQTtFQUFpQyxnQkFBQTtBZDhtSGpDO0FjN21IQTtFQUFpQyxnQkFBQTtBZGluSGpDO0FjaG5IQTtFQUFrQyxnQkFBQTtBZG9uSGxDO0Fjbm5IQTtFQUFpQyxnQkFBQTtBZHVuSGpDO0FjdG5IQTtFQUFzQyxnQkFBQTtBZDBuSHRDO0Fjem5IQTtFQUFrQyxnQkFBQTtBZDZuSGxDO0FjNW5IQTtFQUF1QyxnQkFBQTtBZGdvSHZDO0FjL25IQTtFQUFxQyxnQkFBQTtBZG1vSHJDO0FjbG9IQTtFQUEyQyxnQkFBQTtBZHNvSDNDO0Fjcm9IQTtFQUE2QyxnQkFBQTtBZHlvSDdDO0FjeG9IQTtFQUE0QyxnQkFBQTtBZDRvSDVDO0FjM29IQTtFQUEwQyxnQkFBQTtBZCtvSDFDO0FjOW9IQTtFQUFrQyxnQkFBQTtBZGtwSGxDO0FjanBIQTtFQUFxQyxnQkFBQTtBZHFwSHJDO0FjcHBIQTtFQUF3QyxnQkFBQTtBZHdwSHhDO0FjdnBIQTtFQUF1QyxnQkFBQTtBZDJwSHZDO0FjMXBIQTtFQUErQixnQkFBQTtBZDhwSC9CO0FjN3BIQTtFQUFxQyxnQkFBQTtBZGlxSHJDO0FjaHFIQTtFQUFvQyxnQkFBQTtBZG9xSHBDO0FjbnFIQTtFQUF5QyxnQkFBQTtBZHVxSHpDO0FjdHFIQTtFQUEwQyxnQkFBQTtBZDBxSDFDO0FjenFIQTtFQUFvQyxnQkFBQTtBZDZxSHBDO0FjNXFIQTtFQUFzQyxnQkFBQTtBZGdySHRDO0FjL3FIQTtFQUF3QyxnQkFBQTtBZG1ySHhDO0FjbHJIQTtFQUE4QyxnQkFBQTtBZHNySDlDO0FjcnJIQTtFQUE2QyxnQkFBQTtBZHlySDdDO0FjeHJIQTtFQUE2QyxnQkFBQTtBZDRySDdDO0FjM3JIQTtFQUFnRCxnQkFBQTtBZCtySGhEO0FjOXJIQTtFQUF1RCxnQkFBQTtBZGtzSHZEO0FjanNIQTtFQUF3QyxnQkFBQTtBZHFzSHhDO0FjcHNIQTtFQUF3QyxnQkFBQTtBZHdzSHhDO0FjdnNIQTtFQUFzQyxnQkFBQTtBZDJzSHRDO0FjMXNIQTtFQUFzQyxnQkFBQTtBZDhzSHRDO0FjN3NIQTtFQUF1QyxnQkFBQTtBZGl0SHZDO0FjaHRIQTtFQUFrQyxnQkFBQTtBZG90SGxDO0FjbnRIQTtFQUF5QyxnQkFBQTtBZHV0SHpDO0FjdHRIQTtFQUFpQyxnQkFBQTtBZDB0SGpDO0FjenRIQTtFQUF1QyxnQkFBQTtBZDZ0SHZDO0FjNXRIQTtFQUFrQyxnQkFBQTtBZGd1SGxDO0FjL3RIQTtFQUF1QyxnQkFBQTtBZG11SHZDO0FjbHVIQTtFQUFzQyxnQkFBQTtBZHN1SHRDO0FjcnVIQTtFQUFtQyxnQkFBQTtBZHl1SG5DO0FjeHVIQTtFQUF5QyxnQkFBQTtBZDR1SHpDO0FjM3VIQTtFQUFvQyxnQkFBQTtBZCt1SHBDO0FjOXVIQTtFQUFrQyxnQkFBQTtBZGt2SGxDO0FjanZIQTtFQUFrQyxnQkFBQTtBZHF2SGxDO0FjcHZIQTtFQUFrQyxnQkFBQTtBZHd2SGxDO0FjdnZIQTtFQUF1QyxnQkFBQTtBZDJ2SHZDO0FjMXZIQTtFQUFvQyxnQkFBQTtBZDh2SHBDO0FjN3ZIQTtFQUE2QyxnQkFBQTtBZGl3SDdDO0FjaHdIQTtFQUFzQyxnQkFBQTtBZG93SHRDO0FjbndIQTtFQUEwQyxnQkFBQTtBZHV3SDFDO0FjdHdIQTtFQUFrQyxnQkFBQTtBZDB3SGxDO0FjendIQTtFQUFpQyxnQkFBQTtBZDZ3SGpDO0FjNXdIQTtFQUF3QyxnQkFBQTtBZGd4SHhDO0FjL3dIQTtFQUE0QyxnQkFBQTtBZG14SDVDO0FjbHhIQTtFQUFrQyxnQkFBQTtBZHN4SGxDO0FjcnhIQTtFQUFzQyxnQkFBQTtBZHl4SHRDO0FjeHhIQTtFQUEwQyxnQkFBQTtBZDR4SDFDO0FjM3hIQTtFQUE4QyxnQkFBQTtBZCt4SDlDO0FjOXhIQTtFQUFpQyxnQkFBQTtBZGt5SGpDO0FjanlIQTtFQUFtQyxnQkFBQTtBZHF5SG5DO0FjcHlIQTtFQUF3QyxnQkFBQTtBZHd5SHhDO0FjdnlIQTtFQUFtQyxnQkFBQTtBZDJ5SG5DO0FjMXlIQTtFQUFrQyxnQkFBQTtBZDh5SGxDO0FjN3lIQTtFQUEwQyxnQkFBQTtBZGl6SDFDO0FjaHpIQTtFQUEwQyxnQkFBQTtBZG96SDFDO0FjbnpIQTtFQUF5QyxnQkFBQTtBZHV6SHpDO0FjdHpIQTtFQUF5QyxnQkFBQTtBZDB6SHpDO0FjenpIQTtFQUFtQyxnQkFBQTtBZDZ6SG5DO0FjNXpIQTtFQUFnQyxnQkFBQTtBZGcwSGhDO0FjL3pIQTtFQUFtQyxnQkFBQTtBZG0wSG5DO0FjbDBIQTtFQUEwQyxnQkFBQTtBZHMwSDFDO0FjcjBIQTtFQUErQixnQkFBQTtBZHkwSC9CO0FjeDBIQTtFQUFtQyxnQkFBQTtBZDQwSG5DO0FjMzBIQTtFQUFvQyxhQUFBO0FkKzBIcEM7QWM5MEhBO0VBQTJDLGdCQUFBO0FkazFIM0M7QWNqMUhBO0VBQWtDLGdCQUFBO0FkcTFIbEM7QWNwMUhBO0VBQWlDLGdCQUFBO0FkdzFIakM7QWN2MUhBO0VBQW1DLGdCQUFBO0FkMjFIbkM7QWMxMUhBO0VBQWtDLGdCQUFBO0FkODFIbEM7QWM3MUhBO0VBQXFDLGdCQUFBO0FkaTJIckM7QWNoMkhBO0VBQTJDLGdCQUFBO0FkbzJIM0M7QWNuMkhBO0VBQXNDLGdCQUFBO0FkdTJIdEM7QWN0MkhBO0VBQWlDLGdCQUFBO0FkMDJIakM7QWN6MkhBO0VBQXFDLGdCQUFBO0FkNjJIckM7QWM1MkhBO0VBQXdDLGdCQUFBO0FkZzNIeEM7QWMvMkhBO0VBQTZDLGdCQUFBO0FkbTNIN0M7QWNsM0hBO0VBQXVDLGdCQUFBO0FkczNIdkM7QWNyM0hBO0VBQW1DLGdCQUFBO0FkeTNIbkM7QWN4M0hBO0VBQW1DLGdCQUFBO0FkNDNIbkM7QWMzM0hBO0VBQXVDLGdCQUFBO0FkKzNIdkM7QWM5M0hBO0VBQW9DLGdCQUFBO0FkazRIcEM7QWNqNEhBO0VBQW1DLGdCQUFBO0FkcTRIbkM7QWNwNEhBO0VBQWdDLGdCQUFBO0FkdzRIaEM7QWN2NEhBO0VBQWdDLGdCQUFBO0FkMjRIaEM7QWMxNEhBO0VBQWlDLGdCQUFBO0FkODRIakM7QWM3NEhBO0VBQXFDLGdCQUFBO0FkaTVIckM7QWNoNUhBO0VBQTJDLGdCQUFBO0FkbzVIM0M7QWNuNUhBO0VBQTJDLGdCQUFBO0FkdTVIM0M7QWN0NUhBO0VBQXVDLGdCQUFBO0FkMDVIdkM7QWN6NUhBO0VBQXdDLGdCQUFBO0FkNjVIeEM7QWM1NUhBO0VBQXVDLGdCQUFBO0FkZzZIdkM7QWMvNUhBO0VBQXFDLGdCQUFBO0FkbTZIckM7QWNsNkhBO0VBQXNDLGdCQUFBO0FkczZIdEM7QWNyNkhBO0VBQXlDLGdCQUFBO0FkeTZIekM7QWN4NkhBO0VBQTBDLGdCQUFBO0FkNDZIMUM7QWMzNkhBO0VBQXlDLGdCQUFBO0FkKzZIekM7QWM5NkhBO0VBQXNDLGdCQUFBO0FkazdIdEM7QWNqN0hBO0VBQW9DLGdCQUFBO0FkcTdIcEM7QWNwN0hBO0VBQXVDLGdCQUFBO0FkdzdIdkM7QWN2N0hBO0VBQXVDLGdCQUFBO0FkMjdIdkM7QWMxN0hBO0VBQXVDLGdCQUFBO0FkODdIdkM7QWM3N0hBO0VBQXNDLGdCQUFBO0FkaThIdEM7QWNoOEhBO0VBQXdDLGdCQUFBO0FkbzhIeEM7QWNuOEhBO0VBQXdDLGdCQUFBO0FkdThIeEM7QWN0OEhBO0VBQXVDLGdCQUFBO0FkMDhIdkM7QWN6OEhBO0VBQXFDLGdCQUFBO0FkNjhIckM7QWM1OEhBO0VBQXFDLGdCQUFBO0FkZzlIckM7QWMvOEhBO0VBQXVDLGdCQUFBO0FkbTlIdkM7QWNsOUhBO0VBQWtDLGdCQUFBO0FkczlIbEM7QWNyOUhBO0VBQXNDLGdCQUFBO0FkeTlIdEM7QWN4OUhBO0VBQWlDLGdCQUFBO0FkNDlIakM7QWMzOUhBO0VBQXFDLGdCQUFBO0FkKzlIckM7QWM5OUhBO0VBQTBDLGdCQUFBO0FkaytIMUM7QWNqK0hBO0VBQXFDLGdCQUFBO0FkcStIckM7QWNwK0hBO0VBQW1DLGdCQUFBO0FkdytIbkM7QWN2K0hBO0VBQTBDLGdCQUFBO0FkMitIMUM7QWMxK0hBO0VBQWtDLGdCQUFBO0FkOCtIbEM7QWM3K0hBO0VBQXlDLGdCQUFBO0FkaS9IekM7QWNoL0hBO0VBQXVDLGdCQUFBO0Fkby9IdkM7QWNuL0hBO0VBQW9DLGdCQUFBO0FkdS9IcEM7QWN0L0hBO0VBQW1DLGdCQUFBO0FkMC9IbkM7QWN6L0hBO0VBQTBDLGdCQUFBO0FkNi9IMUM7QWM1L0hBO0VBQWlDLGdCQUFBO0FkZ2dJakM7QWMvL0hBO0VBQWtDLGdCQUFBO0FkbWdJbEM7QWNsZ0lBO0VBQWtDLGdCQUFBO0Fkc2dJbEM7QWNyZ0lBO0VBQWtDLGdCQUFBO0FkeWdJbEM7QWN4Z0lBO0VBQXdDLGdCQUFBO0FkNGdJeEM7QWMzZ0lBO0VBQW1DLGdCQUFBO0FkK2dJbkM7QWM5Z0lBO0VBQWtDLGdCQUFBO0Fka2hJbEM7QWNqaElBO0VBQXlDLGdCQUFBO0FkcWhJekM7QWNwaElBO0VBQW9DLGdCQUFBO0Fkd2hJcEM7QWN2aElBO0VBQWlDLGdCQUFBO0FkMmhJakM7QWMxaElBO0VBQStCLGdCQUFBO0FkOGhJL0I7QWM3aElBO0VBQWdDLGdCQUFBO0FkaWlJaEM7QWNoaUlBO0VBQTRDLGdCQUFBO0Fkb2lJNUM7QWNuaUlBO0VBQXdDLGdCQUFBO0FkdWlJeEM7QWN0aUlBO0VBQXdDLGdCQUFBO0FkMGlJeEM7QWN6aUlBO0VBQXVDLGdCQUFBO0FkNmlJdkM7QWM1aUlBO0VBQXNDLGdCQUFBO0FkZ2pJdEM7QWMvaUlBO0VBQXFDLGdCQUFBO0FkbWpJckM7QWNsaklBO0VBQXlDLGdCQUFBO0Fkc2pJekM7QWNyaklBO0VBQWtDLGdCQUFBO0FkeWpJbEM7QWN4aklBO0VBQW9DLGdCQUFBO0FkNGpJcEM7QWMzaklBO0VBQW1DLGdCQUFBO0FkK2pJbkM7QWM5aklBO0VBQXNDLGdCQUFBO0Fka2tJdEM7QWNqa0lBO0VBQWtDLGdCQUFBO0FkcWtJbEM7QWNwa0lBO0VBQXdDLGdCQUFBO0Fkd2tJeEM7QWN2a0lBO0VBQWlDLGdCQUFBO0FkMmtJakM7QWMxa0lBO0VBQW1DLGdCQUFBO0FkOGtJbkM7QWM3a0lBO0VBQWtDLGdCQUFBO0FkaWxJbEM7QWNobElBO0VBQW1DLGdCQUFBO0Fkb2xJbkM7QWNubElBO0VBQTJDLGdCQUFBO0FkdWxJM0M7QWN0bElBO0VBQW1DLGdCQUFBO0FkMGxJbkM7QWN6bElBO0VBQXFDLGdCQUFBO0FkNmxJckM7QWM1bElBO0VBQTRDLGdCQUFBO0FkZ21JNUM7QWMvbElBO0VBQXVDLGdCQUFBO0FkbW1JdkM7QWNsbUlBO0VBQWtDLGdCQUFBO0Fkc21JbEM7QWNybUlBO0VBQWlDLGdCQUFBO0FkeW1JakM7QWN4bUlBO0VBQXdDLGdCQUFBO0FkNG1JeEM7QWMzbUlBO0VBQWlDLGdCQUFBO0FkK21JakM7QWM5bUlBO0VBQXlDLGdCQUFBO0Fka25JekM7QWNqbklBO0VBQTRDLGdCQUFBO0FkcW5JNUM7QWNwbklBO0VBQTRDLGdCQUFBO0Fkd25JNUM7QWN2bklBO0VBQTJDLGdCQUFBO0FkMm5JM0M7QWMxbklBO0VBQW9DLGdCQUFBO0FkOG5JcEM7QWM3bklBO0VBQXdDLGdCQUFBO0FkaW9JeEM7QWNob0lBO0VBQXVDLGdCQUFBO0Fkb29JdkM7QWNub0lBO0VBQTJDLGdCQUFBO0FkdW9JM0M7QWN0b0lBO0VBQWdDLGdCQUFBO0FkMG9JaEM7QWN6b0lBO0VBQWlELGdCQUFBO0FkNm9JakQ7QWM1b0lBO0VBQWdELGdCQUFBO0FkZ3BJaEQ7QWMvb0lBO0VBQXFDLGdCQUFBO0FkbXBJckM7QWNscElBO0VBQXNDLGdCQUFBO0Fkc3BJdEM7QWNycElBO0VBQTZDLGdCQUFBO0FkeXBJN0M7QWN4cElBO0VBQXVDLGdCQUFBO0FkNHBJdkM7QWMzcElBO0VBQXVDLGdCQUFBO0FkK3BJdkM7QWM5cElBO0VBQW9DLGdCQUFBO0Fka3FJcEM7QWNqcUlBO0VBQW9DLGdCQUFBO0FkcXFJcEM7QWNwcUlBO0VBQW1DLGdCQUFBO0Fkd3FJbkM7QWN2cUlBO0VBQWtDLGdCQUFBO0FkMnFJbEM7QWMxcUlBO0VBQWlDLGdCQUFBO0FkOHFJakM7QWM3cUlBO0VBQWlDLGdCQUFBO0FkaXJJakM7QWNocklBO0VBQXdDLGdCQUFBO0Fkb3JJeEM7QWNucklBO0VBQXlDLGdCQUFBO0FkdXJJekM7QWN0cklBO0VBQWtDLGdCQUFBO0FkMHJJbEM7QWN6cklBO0VBQW1DLGdCQUFBO0FkNnJJbkM7QWM1cklBO0VBQW1DLGdCQUFBO0FkZ3NJbkM7QWMvcklBO0VBQWlELGdCQUFBO0FkbXNJakQ7QWNsc0lBO0VBQWlDLGdCQUFBO0Fkc3NJakM7QWNyc0lBO0VBQWlDLGdCQUFBO0FkeXNJakM7QWN4c0lBO0VBQXFDLGdCQUFBO0FkNHNJckM7QWMzc0lBO0VBQXFDLGdCQUFBO0FkK3NJckM7QWM5c0lBO0VBQWtDLGdCQUFBO0Fka3RJbEM7QWNqdElBO0VBQW9DLGdCQUFBO0FkcXRJcEM7QWNwdElBO0VBQTJDLGdCQUFBO0Fkd3RJM0M7QWN2dElBO0VBQWtDLGdCQUFBO0FkMnRJbEM7QWU3aUxBO0VIMEJFLFNBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FadWhMRjtBWTdnTEU7RUFFRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBWitnTEo7QWdCcGtMQTs7O0VBQUE7QUFNQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCVEo0QjtFU0s1Qiw4Q0FBQTtFQUNBLDRVQUFBO0FoQnFrTEY7QWdCOWpMQTs7Ozs7Ozs7RUFFRSxrQ0FBQTtFQUNBLGdCQUFBO0FoQnNrTEY7QWlCNWxMQTs7O0VBQUE7QUFNQTtFQUNFLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCVko0QjtFVUs1QiwrQ0FBQTtFQUNBLGlWQUFBO0FqQjZsTEY7QWlCdGxMQTtFQUNFLG9DQUFBO0FqQndsTEY7QWtCNW1MQTs7O0VBQUE7QUFNQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCWEo0QjtFV0s1QixnREFBQTtFQUNBLHNWQUFBO0FsQjZtTEY7QWtCdG1MQTtFQUNFLGtDQUFBO0VBQ0EsZ0JBQUE7QWxCd21MRjtBbUJwbkxBOzs7O0VBQUE7QUFlQTs7OztFQUFBO0FBb0JBOzs7O0VBQUE7QUF1RkE7Ozs7RUFBQTtBQWFBOzs7O0VBQUE7QUFhQTs7OztFQUFBO0FBZUE7Ozs7RUFBQTtBQStEQTtFQUNFLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FuQnc3S0Y7QW1CNzhLRTtFQUVFLGdCQUFBO0FuQjg4S0o7QW1CaDlLRTtFQUVFLGdCQUFBO0FuQmk5S0o7QW1CbjlLRTtFQUVFLGdCQUFBO0FuQm85S0o7QW1CdDlLRTtFQUVFLGdCQUFBO0FuQnU5S0o7QW1CejlLRTtFQUVFLGdCQUFBO0FuQjA5S0o7QW1CNTlLRTtFQUVFLGdCQUFBO0FuQjY5S0o7QW1CLzlLRTtFQUVFLGdCQUFBO0FuQmcrS0o7QW1CbCtLRTtFQUVFLGdCQUFBO0FuQm0rS0o7QW1CcitLRTtFQUVFLGdCQUFBO0FuQnMrS0o7QW1CeCtLRTtFQUVFLGdCQUFBO0FuQnkrS0o7QW1CMytLRTtFQUVFLGdCQUFBO0FuQjQrS0o7QW1COStLRTtFQUVFLGdCQUFBO0FuQisrS0o7QW1Cai9LRTtFQUVFLGdCQUFBO0FuQmsvS0o7QW1CcC9LRTtFQUVFLGdCQUFBO0FuQnEvS0o7QW1Cdi9LRTtFQUVFLGdCQUFBO0FuQncvS0o7QW1CMS9LRTtFQUVFLGdCQUFBO0FuQjIvS0o7QW1CNy9LRTtFQUVFLGdCQUFBO0FuQjgvS0o7QW1CaGdMRTtFQUVFLGdCQUFBO0FuQmlnTEo7QW1CbmdMRTtFQUVFLGdCQUFBO0FuQm9nTEo7QW1CdGdMRTtFQUVFLGdCQUFBO0FuQnVnTEo7QW1CemdMRTtFQUVFLGdCQUFBO0FuQjBnTEo7QW1CNWdMRTtFQUVFLGdCQUFBO0FuQjZnTEo7QW1CL2dMRTtFQUVFLGdCQUFBO0FuQmdoTEo7QW1CbGhMRTtFQUVFLGdCQUFBO0FuQm1oTEo7QW1CcmhMRTtFQUVFLGdCQUFBO0FuQnNoTEo7QW1CeGhMRTtFQUVFLGdCQUFBO0FuQnloTEo7QW1CM2hMRTtFQUVFLGdCQUFBO0FuQjRoTEo7QW1COWhMRTtFQUVFLGdCQUFBO0FuQitoTEo7QW1CamlMRTtFQUVFLGdCQUFBO0FuQmtpTEo7QW1CcGlMRTtFQUVFLGdCQUFBO0FuQnFpTEo7QW1CdmlMRTtFQUVFLGdCQUFBO0FuQndpTEo7QW1CMWlMRTtFQUVFLGdCQUFBO0FuQjJpTEo7QW1CN2lMRTtFQUVFLGdCQUFBO0FuQjhpTEo7QW1CaGpMRTtFQUVFLGdCQUFBO0FuQmlqTEo7QW1CbmpMRTtFQUVFLGdCQUFBO0FuQm9qTEo7QW1CdGpMRTtFQUVFLGdCQUFBO0FuQnVqTEo7QW1CempMRTtFQUVFLGdCQUFBO0FuQjBqTEo7QW1CNWpMRTtFQUVFLGdCQUFBO0FuQjZqTEo7QW1CL2pMRTtFQUVFLGdCQUFBO0FuQmdrTEo7QW1CbGtMRTtFQUVFLGdCQUFBO0FuQm1rTEo7QW1CcmtMRTtFQUVFLGdCQUFBO0FuQnNrTEo7QW1CeGtMRTtFQUVFLGdCQUFBO0FuQnlrTEo7QW1CM2tMRTtFQUVFLGdCQUFBO0FuQjRrTEo7QW1COWtMRTtFQUVFLGdCQUFBO0FuQitrTEo7QW1CamxMRTtFQUVFLGdCQUFBO0FuQmtsTEo7QW1CcGxMRTtFQUVFLGdCQUFBO0FuQnFsTEo7QW1CdmxMRTtFQUVFLGdCQUFBO0FuQndsTEo7QW1CMWxMRTtFQUVFLGdCQUFBO0FuQjJsTEo7QW1CN2xMRTtFQUVFLGdCQUFBO0FuQjhsTEo7QW1CaG1MRTtFQUVFLGdCQUFBO0FuQmltTEo7QW1Cbm1MRTtFQUVFLGdCQUFBO0FuQm9tTEo7QW1CdG1MRTs7OztFQUVFLGdCQUFBO0FuQjBtTEo7QW1CNW1MRTs7OztFQUVFLGdCQUFBO0FuQmduTEo7QW1CbG5MRTtFQUVFLGdCQUFBO0FuQm1uTEo7QW1Ccm5MRTtFQUVFLGFBQUE7QW5Cc25MSjtBbUJ4bkxFO0VBRUUsZ0JBQUE7QW5CeW5MSjtBbUIzbkxFO0VBRUUsZ0JBQUE7QW5CNG5MSjtBbUI5bkxFO0VBRUUsZ0JBQUE7QW5CK25MSjtBbUJqb0xFO0VBRUUsZ0JBQUE7QW5Ca29MSjtBbUJwb0xFO0VBRUUsZ0JBQUE7QW5CcW9MSjtBbUJ2b0xFO0VBRUUsZ0JBQUE7QW5Cd29MSjtBbUIxb0xFO0VBRUUsZ0JBQUE7QW5CMm9MSjtBbUI3b0xFO0VBRUUsZ0JBQUE7QW5COG9MSjtBbUJocExFO0VBRUUsZ0JBQUE7QW5CaXBMSjtBbUJucExFO0VBRUUsZ0JBQUE7QW5Cb3BMSjtBbUJ0cExFO0VBRUUsZ0JBQUE7QW5CdXBMSjtBbUJ6cExFO0VBRUUsZ0JBQUE7QW5CMHBMSjtB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QTtFQUNBLG1CQUFBO0FuQncvTUo7QW1CMy9NRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjYvTUo7QW1CaGdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtnTko7QW1CcmdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVnTko7QW1CMWdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRnTko7QW1CL2dORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmloTko7QW1CcGhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNoTko7QW1CemhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJoTko7QW1COWhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmdpTko7QW1CbmlORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFpTko7QW1CeGlORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBpTko7QW1CN2lORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitpTko7QW1CbGpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm9qTko7QW1CdmpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnlqTko7QW1CNWpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjhqTko7QW1CamtORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm1rTko7QW1CdGtORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQndrTko7QW1CM2tORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZrTko7QW1CaGxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtsTko7QW1CcmxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVsTko7QW1CMWxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRsTko7QW1CL2xORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmltTko7QW1CcG1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNtTko7QW1Cem1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJtTko7QW1COW1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmduTko7QW1Cbm5ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFuTko7QW1CeG5ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBuTko7QW1CN25ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQituTko7QW1CbG9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm9vTko7QW1Cdm9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnlvTko7QW1CNW9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjhvTko7QW1CanBORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm1wTko7QW1CdHBORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQndwTko7QW1CM3BORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZwTko7QW1CaHFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtxTko7QW1CcnFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVxTko7QW1CMXFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRxTko7QW1CL3FORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmlyTko7QW1CcHJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNyTko7QW1CenJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJyTko7QW1COXJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmdzTko7QW1CbnNORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFzTko7QW1CeHNORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBzTko7QW1CN3NORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitzTko7QW1CbHRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm90Tko7QW1CdnRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnl0Tko7QW1CNXRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjh0Tko7QW1CanVORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm11Tko7QW1CdHVORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnd1Tko7QW1CM3VORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZ1Tko7QW1CaHZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmt2Tko7QW1CcnZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnV2Tko7QW1CMXZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjR2Tko7QW1CL3ZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQml3Tko7QW1CcHdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnN3Tko7QW1CendORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJ3Tko7QW1COXdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFB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cUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNiTGM7RWFNZCxvQkFBQTtBbkNxNVBGO0FtQ3A1UEU7RUFDRSxxQkFBQTtFQUNBLGNiUGM7QXRCNjVQbEI7QW1CbnNQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFzUEo7QW1CeHNQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBzUEo7QW1CN3NQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitzUEo7QW1CbHRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm90UEo7QW1CdnRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnl0UEo7QW1CNXRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjh0UEo7QW1CanVQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm11UEo7QW1CdHVQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnd1UEo7QW1CM3VQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZ1UEo7QW1CaHZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmt2UEo7QW1CcnZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnV2UEo7QW1CMXZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjR2UEo7QW1CL3ZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQml3UEo7QW1CcHdQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnN3UEo7QW1CendQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJ3UEo7QW1COXdQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmd4UEo7QW1DOTVQRTtFQUNFLFdiOUVhO0VhZ0ZiLHlCQUFBO0VBQ0EsNERBQUE7QW5DKzVQSjtBbUM5NVBJO0VBRUUsV2JwRlc7RWFxRlgsNERBQUE7QW5DKzVQTjtBbUI1eFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5COHhQSjtBbUJqeVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CbXlQSjtBbUJ0eVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5Cd3lQSjtBbUIzeVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CNnlQSjtBbUJoelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5Ca3pQSjtBbUJyelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CdXpQSjtBbUIxelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CNHpQSjtBbUIvelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CaTBQSjtBbUJwMFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CczBQSjtBbUJ6MFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CMjBQSjtBbUI5MFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CZzFQSjtBbUJuMVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CcTFQSjtBbUJ4MVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CMDFQSjtBbUI3MVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CKzFQSjtBbUJsMlBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CbzJQSjtBbUN0NlBFO0VBQ0UsaUJBQUE7QW5DdzZQSjtBbUNwNlBFO0VBQ0UsaUJBQUE7QW5DczZQSjtBbUNsNlBFO0VBQ0UsaUJBQUE7QW5DbzZQSjtBbUM3NVBFO0VBQ0UsV0FBQTtFQUNBLG1CYmpMWTtBdEJnbFFoQjtBbUM5NVBJO0VBQ0UsV0FBQTtB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O0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0F6RnErV0Y7QXlGbCtXQTtFQUNFLGtCQUFBO0F6RnErV0Y7QXlGbitXSTtFQUNFLG9CQUFBO0F6RnErV047QXlGbitXSTtFQUNFLG1CQUFBO0F6RnErV047QXlGbCtXRTtFQUNFLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0F6Rm8rV0o7QXlGaCtXQTtFQUNFLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0F6Rm0rV0Y7QXlGaCtXQTtFQUNFLHdCQUFBO0F6Rm0rV0Y7QXlGaitXRTtFQUNFLHdDQUFBO0F6Rm0rV0o7QXlGLzlXQTtFQUNFLGtDQUFBO0F6RmsrV0Y7QXlGLzlXQTtFQUNFLFVBQUE7QXpGaytXRjtBeUZoK1dFO0VBQ0UsVUFBQTtFQUNBLDRCQUFBO0F6RmsrV0oiLCJmaWxlIjoiY3NzL2FkbWluL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3NcIjtcbkBpbXBvcnQgXCJqcXVlcnktY29sb3Jib3gvZXhhbXBsZTMvY29sb3Jib3guY3NzXCI7XG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG4uZmEsIC5iY2EtaWNvbi0tbWFpbDo6YmVmb3JlLCAuanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmZ1bmN0aW9uOjpiZWZvcmUsIC5iY2EtaWNvbi0tZ2xvYmU6OmJlZm9yZSwgLmJjYS1pY29uLS1ib29rbWFyazo6YmVmb3JlLCAuYmNhLWljb24tLW1pbnVzLXNxdWFyZTo6YmVmb3JlLCAuYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTo6YmVmb3JlLCAuYmNhLWljb24tLXBsdXMtc3F1YXJlOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdDo6YmVmb3JlLCAuYmNhLWljb24tLWNoZXZyb24tZG93bjo6YmVmb3JlLCAuYmNhLWljb24tLWRlc2M6OmJlZm9yZSwgLmJjYS1pY29uLS1hc2M6OmJlZm9yZSwgLmJjYS1pY29uLS1iYWNrOjpiZWZvcmUsIC5iY2EtaWNvbi0tbmV4dDo6YmVmb3JlLCAuYmNhLWZvb3Rlcl9fc25zX19saW5rLS10d2l0dGVyOjpiZWZvcmUsIC5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlLCAuYmNhLWZvb3Rlcl9fc25zX19saW5rLS1mYWNlYm9vazo6YmVmb3JlLCAuYmNhLWljb24tLWZhY2Vib29rOjpiZWZvcmUsICNNZXNzYWdlQm94IC5tZXNzYWdlOjpiZWZvcmUsXG4jTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jVXBkYXRlTWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLW5vdGlmaWNhdGlvbjo6YmVmb3JlLCAjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLFxuI2F1dGhNZXNzYWdlOjpiZWZvcmUsXG4jQWxlcnRNZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdlOjpiZWZvcmUsIC5iY2EtaWNvbi0tYWxlcnQ6OmJlZm9yZSwgLnVpLWRpYWxvZyBsYWJlbC5lcnJvcjo6YmVmb3JlLCAuZXJyb3ItbWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLWVycm9yOjpiZWZvcmUsIC5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmJjYS1pY29uLS1saXN0LWNpcmNsZTo6YmVmb3JlLCAuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmJjYS1pY29uLS1saXN0LWRlZmF1bHQ6OmJlZm9yZSwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbDo6YmVmb3JlLCAuYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLXRpbWU6OmJlZm9yZSwgLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDo6YmVmb3JlLCAuYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y2xlYXJdOjpiZWZvcmUsIC5iY2EtaWNvbi0tY2xlYXI6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9c2VhcmNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXNlYXJjaDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2V0dGluZzo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwZGF0ZV06OmJlZm9yZSwgLmJjYS1pY29uLS11cGRhdGU6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1maWxlLWxpc3RdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmlsZS1saXN0OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctZG93bl06OmJlZm9yZSwgLmJjYS1pY29uLS1hcnJvdy1kb3duOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctdXBdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctdXA6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1sZWZ0XTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LWxlZnQ6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1yaWdodF06OmJlZm9yZSwgLmJjYS1pY29uLS1hcnJvdy1yaWdodDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwLWRpcmVjdG9yeV06OmJlZm9yZSwgLmJjYS1pY29uLS11cC1kaXJlY3Rvcnk6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1maWxlXTo6YmVmb3JlLCAuYmNhLWljb24tLWZpbGU6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1hbmNob3IgLmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mb2xkZXJdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZHJhZ2dhYmxlOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZG93bmxvYWQ6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1pY29uLS10ZXh0Y29weTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlLCAuYmNhLWljb24tLW9wZW46OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tc3dpdGNoOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5iY2EtaWNvbi0taG9tZTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlLCAuYmNhLWljb24tLWFwcGx5OjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5iY2EtaWNvbi0tcGVybWlzc2lvbjo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscDo6YmVmb3JlLCAuYmNhLWljb24tLWhlbHA6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWFkZDo6YmVmb3JlLCAuYmNhLWljb24tLWFkZDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuYmNhLWljb24tLW1lbnVpdGVtOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbjo6YmVmb3JlLCAuYmNhLWljb24tLWZhdm9yaXRlOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYmFjay10by1saXN0OjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGgtbGlzdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFsaWFzXTo6YmVmb3JlLCAuYmNhLWljb24tLWFsaWFzOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGluazo6YmVmb3JlLCAuYmNhLWljb24tLXJlbmFtZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWljb24tLWRlbGV0ZTo6YmVmb3JlLCAuY29udGV4dC1tZW51LWljb24tZGVsZXRlOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tY29weTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuYmNhLWljb24tLWVkaXQ6OmJlZm9yZSwgLmNvbnRleHQtbWVudS1pY29uLWVkaXQ6OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmJjYS1pY29uLS1wcmV2aWV3OjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdW5wdWJsaXNoOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRvb2xzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS10b29sczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXBsdWdpbl0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tcGx1Z2luOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dGhlbWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXRoZW1lOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXNpdGVzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXVzZXJzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZWNvbmZpZ3NdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXNpdGVjb25maWdzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGVdIC5iY2EtbmF2X19zeXN0ZW0taXRlbS1saXN0LXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLXRpdGxlIGJ1dHRvbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPXN5c3RlbV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zeXN0ZW06OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1jb250ZW50c10gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1jb250ZW50czo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWRhc2hib2FyZF0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXNoYm9hcmQ6OmJlZm9yZSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mYS1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4wNjY3ZW07XG59XG5cbi5mYS14cyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuXG4uZmEtc20ge1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5cbi5mYS0xeCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4uZmEtMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmZhLTN4IHtcbiAgZm9udC1zaXplOiAzZW07XG59XG5cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtO1xufVxuXG4uZmEtNXgge1xuICBmb250LXNpemU6IDVlbTtcbn1cblxuLmZhLTZ4IHtcbiAgZm9udC1zaXplOiA2ZW07XG59XG5cbi5mYS03eCB7XG4gIGZvbnQtc2l6ZTogN2VtO1xufVxuXG4uZmEtOHgge1xuICBmb250LXNpemU6IDhlbTtcbn1cblxuLmZhLTl4IHtcbiAgZm9udC1zaXplOiA5ZW07XG59XG5cbi5mYS0xMHgge1xuICBmb250LXNpemU6IDEwZW07XG59XG5cbi5mYS1mdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEuMjVlbTtcbn1cblxuLmZhLXVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMi41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5mYS11bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmEtbGkge1xuICBsZWZ0OiAtMmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlO1xuICBib3JkZXItcmFkaXVzOiAwLjFlbTtcbiAgcGFkZGluZzogMC4yZW0gMC4yNWVtIDAuMTVlbTtcbn1cblxuLmZhLXB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZmEtcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmZhLmZhLXB1bGwtbGVmdCwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbWFpbDo6YmVmb3JlLCAuanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmZhLXB1bGwtbGVmdC5mdW5jdGlvbjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1nbG9iZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1ib29rbWFyazo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tcXVlc3Rpb24tY2lyY2xlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXBsdXMtc3F1YXJlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tY2hldnJvbi1kb3duOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRlc2M6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXNjOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWJhY2s6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbmV4dDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1mb290ZXJfX3Nuc19fbGluay0tdHdpdHRlcjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS10d2l0dGVyOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWZvb3Rlcl9fc25zX19saW5rLS1mYWNlYm9vazo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlLCAjTWVzc2FnZUJveCAuZmEtcHVsbC1sZWZ0Lm1lc3NhZ2U6OmJlZm9yZSxcbiNNZXNzYWdlQm94IC5mYS1wdWxsLWxlZnQubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLmZhLXB1bGwtbGVmdC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuLmZhLXB1bGwtbGVmdCNVcGRhdGVNZXNzYWdlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLW5vdGlmaWNhdGlvbjo6YmVmb3JlLCAjTWVzc2FnZUJveCAuZmEtcHVsbC1sZWZ0LmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbi5mYS1wdWxsLWxlZnQjYXV0aE1lc3NhZ2U6OmJlZm9yZSxcbi5mYS1wdWxsLWxlZnQjQWxlcnRNZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5mYS1wdWxsLWxlZnQuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1hbGVydDo6YmVmb3JlLCAudWktZGlhbG9nIGxhYmVsLmZhLXB1bGwtbGVmdC5lcnJvcjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmVycm9yLW1lc3NhZ2U6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZXJyb3I6OmJlZm9yZSwgLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtdHlwZT1jaXJjbGVdIC5mYS1wdWxsLWxlZnQuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbGlzdC1jaXJjbGU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1saXN0LWRlZmF1bHQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItdGltZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1kYXRldGltZXBpY2tlci1kYXRlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jbGVhcl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tY2xlYXI6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNlYXJjaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tc2VhcmNoOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXBkYXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS11cGRhdGU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1maWxlLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctZG93bl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy11cF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXJyb3ctdXA6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctbGVmdF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXJyb3ctbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1yaWdodF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXAtZGlyZWN0b3J5XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS11cC1kaXJlY3Rvcnk6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlLCAuanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLWFuY2hvciAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZHJhZ2dhYmxlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRvd25sb2FkOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXRleHRjb3B5OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tb3Blbjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXN3aXRjaDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1ob21lOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1hcHBseTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1wZXJtaXNzaW9uOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1oZWxwOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtYWRkOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFkZDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1tZW51aXRlbTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1uYXYtZmF2b3JpdGUtdGl0bGUtYnV0dG9uOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWZhdm9yaXRlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWJhY2stdG8tbGlzdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFsaWFzOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWxpbms6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tcmVuYW1lOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRlbGV0ZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1jb3B5OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWVkaXQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5jb250ZXh0LW1lbnUtaWNvbi1lZGl0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS11bnB1Ymxpc2g6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRvb2xzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXRvb2xzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9cGx1Z2luXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXBsdWdpbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXRoZW1lOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tc2l0ZXM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT11c2Vyc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS11c2Vyczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXNpdGVjb25maWdzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGVdIC5iY2EtbmF2X19zeXN0ZW0taXRlbS1saXN0LXRpdGxlID4gYS5mYS1wdWxsLWxlZnQ6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b24uZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9c3lzdGVtXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYS5mYS1wdWxsLWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1jb250ZW50czo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWRhc2hib2FyZF0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRhc2hib2FyZDo6YmVmb3JlLFxuLmZhcy5mYS1wdWxsLWxlZnQsXG4uZmFyLmZhLXB1bGwtbGVmdCxcbi5mYWwuZmEtcHVsbC1sZWZ0LFxuLmZhYi5mYS1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLmZhLmZhLXB1bGwtcmlnaHQsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1tYWlsOjpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuZmEtcHVsbC1yaWdodC5mdW5jdGlvbjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZ2xvYmU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWJvb2ttYXJrOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tcGx1cy1zcXVhcmU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWNoZXZyb24tZG93bjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZGVzYzo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYXNjOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1iYWNrOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1uZXh0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1mb290ZXJfX3Nuc19fbGluay0tdHdpdHRlcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLWZhY2Vib29rOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlLCAjTWVzc2FnZUJveCAuZmEtcHVsbC1yaWdodC5tZXNzYWdlOjpiZWZvcmUsXG4jTWVzc2FnZUJveCAuZmEtcHVsbC1yaWdodC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuZmEtcHVsbC1yaWdodC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuLmZhLXB1bGwtcmlnaHQjVXBkYXRlTWVzc2FnZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbm90aWZpY2F0aW9uOjpiZWZvcmUsICNNZXNzYWdlQm94IC5mYS1wdWxsLXJpZ2h0LmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbi5mYS1wdWxsLXJpZ2h0I2F1dGhNZXNzYWdlOjpiZWZvcmUsXG4uZmEtcHVsbC1yaWdodCNBbGVydE1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLmZhLXB1bGwtcmlnaHQuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYWxlcnQ6OmJlZm9yZSwgLnVpLWRpYWxvZyBsYWJlbC5mYS1wdWxsLXJpZ2h0LmVycm9yOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmVycm9yLW1lc3NhZ2U6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWVycm9yOjpiZWZvcmUsIC5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuZmEtcHVsbC1yaWdodC5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbGlzdC1jaXJjbGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWxpc3QtZGVmYXVsdDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLXRpbWU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1kYXRldGltZXBpY2tlci1kYXRlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y2xlYXJdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1jbGVhcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNlYXJjaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXNlYXJjaDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c2V0dGluZ106OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwZGF0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXVwZGF0ZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZmlsZS1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctdXBdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1hcnJvdy11cDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctbGVmdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFycm93LWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwLWRpcmVjdG9yeV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXVwLWRpcmVjdG9yeTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWZpbGU6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1hbmNob3IgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1kcmFnZ2FibGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWRvd25sb2FkOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS10ZXh0Y29weTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLW9wZW46OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXN3aXRjaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXN3aXRjaDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0taG9tZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXBwbHldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1hcHBseTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tcGVybWlzc2lvbjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1oZWxwOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1oZWxwOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWFkZDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYWRkOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1tZW51aXRlbTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZmF2b3JpdGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWJhY2stdG8tbGlzdDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFsaWFzXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYWxpYXM6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWxpbms6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXJlbmFtZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZGVsZXRlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tY29weTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZWRpdDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5jb250ZXh0LW1lbnUtaWNvbi1lZGl0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdW5wdWJsaXNoOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1wdWJsaXNoOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dG9vbHNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS10b29sczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXBsdWdpbl0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXBsdWdpbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdGhlbWU6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXNpdGVzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS11c2Vyczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tc2l0ZWNvbmZpZ3M6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZV0gLmJjYS1uYXZfX3N5c3RlbS1pdGVtLWxpc3QtdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b24uZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPXN5c3RlbV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWNvbnRlbnRzOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9ZGFzaGJvYXJkXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1kYXNoYm9hcmQ6OmJlZm9yZSxcbi5mYXMuZmEtcHVsbC1yaWdodCxcbi5mYXIuZmEtcHVsbC1yaWdodCxcbi5mYWwuZmEtcHVsbC1yaWdodCxcbi5mYWIuZmEtcHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLmZhLXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uZmEtcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5mYS1yb3RhdGUtMTgwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uZmEtcm90YXRlLTI3MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuXG4uZmEtZmxpcC1ib3RoLCAuZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG59XG5cbjpyb290IC5mYS1yb3RhdGUtOTAsXG46cm9vdCAuZmEtcm90YXRlLTE4MCxcbjpyb290IC5mYS1yb3RhdGUtMjcwLFxuOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC5mYS1mbGlwLXZlcnRpY2FsLFxuOnJvb3QgLmZhLWZsaXAtYm90aCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmZhLXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhLXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmVcIjtcbn1cblxuLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OFwiO1xufVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjtcbn1cblxuLmZhLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YWZcIjtcbn1cblxuLmZhLWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQxXCI7XG59XG5cbi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjlcIjtcbn1cblxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuXG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQyXCI7XG59XG5cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjtcbn1cblxuLmZhLWFkb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzc4XCI7XG59XG5cbi5mYS1hZHZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YVwiO1xufVxuXG4uZmEtYWZmaWxpYXRldGhlbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmJcIjtcbn1cblxuLmZhLWFpci1mcmVzaGVuZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDBcIjtcbn1cblxuLmZhLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNFwiO1xufVxuXG4uZmEtYWxnb2xpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2Y1wiO1xufVxuXG4uZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM3XCI7XG59XG5cbi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM5XCI7XG59XG5cbi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM2XCI7XG59XG5cbi5mYS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOFwiO1xufVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7XG59XG5cbi5mYS1hbGxlcmdpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjFcIjtcbn1cblxuLmZhLWFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiO1xufVxuXG4uZmEtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyY1wiO1xufVxuXG4uZmEtYW1idWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XG59XG5cbi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuXG4uZmEtYW1pbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZkXCI7XG59XG5cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cblxuLmZhLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjtcbn1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiO1xufVxuXG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuXG4uZmEtYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiO1xufVxuXG4uZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cblxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG5cbi5mYS1hbmdyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NlwiO1xufVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiO1xufVxuXG4uZmEtYW5ndWxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMFwiO1xufVxuXG4uZmEtYW5raDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0NFwiO1xufVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7XG59XG5cbi5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcwXCI7XG59XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiO1xufVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbn1cblxuLmZhLWFwcGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMVwiO1xufVxuXG4uZmEtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE1XCI7XG59XG5cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG5cbi5mYS1hcmNod2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU3XCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNThcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OVwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YlwiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTlcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhYVwiO1xufVxuXG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuXG4uZmEtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MFwiO1xufVxuXG4uZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjFcIjtcbn1cblxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG5cbi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIyXCI7XG59XG5cbi5mYS1hcnJvd3MtYWx0LWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzdcIjtcbn1cblxuLmZhLWFycm93cy1hbHQtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiO1xufVxuXG4uZmEtYXJ0c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YVwiO1xufVxuXG4uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEyXCI7XG59XG5cbi5mYS1hc3RlcmlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OVwiO1xufVxuXG4uZmEtYXN5bW1ldHJpazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MlwiO1xufVxuXG4uZmEtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmFcIjtcbn1cblxuLmZhLWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU4XCI7XG59XG5cbi5mYS1hdGxhc3NpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2JcIjtcbn1cblxuLmZhLWF0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDJcIjtcbn1cblxuLmZhLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzNcIjtcbn1cblxuLmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjllXCI7XG59XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjtcbn1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjtcbn1cblxuLmZhLWF2aWF0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMVwiO1xufVxuXG4uZmEtYXdhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTlcIjtcbn1cblxuLmZhLWF3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NVwiO1xufVxuXG4uZmEtYmFieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3Y1wiO1xufVxuXG4uZmEtYmFieS1jYXJyaWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3ZFwiO1xufVxuXG4uZmEtYmFja3NwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVhXCI7XG59XG5cbi5mYS1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YVwiO1xufVxuXG4uZmEtYmFjb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTVcIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjtcbn1cblxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuXG4uZmEtYmFuZC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjJcIjtcbn1cblxuLmZhLWJhbmRjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ1XCI7XG59XG5cbi5mYS1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7XG59XG5cbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5cbi5mYS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMzXCI7XG59XG5cbi5mYS1iYXNrZXRiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzRcIjtcbn1cblxuLmZhLWJhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cblxuLmZhLWJhdHRlcnktZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDRcIjtcbn1cblxuLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiO1xufVxuXG4uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDNcIjtcbn1cblxuLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjtcbn1cblxuLmZhLWJhdHRsZS1uZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzVcIjtcbn1cblxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuXG4uZmEtYmVlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmY1wiO1xufVxuXG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xufVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cblxuLmZhLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjtcbn1cblxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cblxuLmZhLWJlemllci1jdXJ2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1YlwiO1xufVxuXG4uZmEtYmlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDdcIjtcbn1cblxuLmZhLWJpY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDZcIjtcbn1cblxuLmZhLWJpbW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3OFwiO1xufVxuXG4uZmEtYmlub2N1bGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNVwiO1xufVxuXG4uZmEtYmlvaGF6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgwXCI7XG59XG5cbi5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZkXCI7XG59XG5cbi5mYS1iaXRidWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjtcbn1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjtcbn1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjtcbn1cblxuLmZhLWJsYWNrLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiO1xufVxuXG4uZmEtYmxhY2tiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YlwiO1xufVxuXG4uZmEtYmxlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxN1wiO1xufVxuXG4uZmEtYmxlbmRlci1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiNlwiO1xufVxuXG4uZmEtYmxpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWRcIjtcbn1cblxuLmZhLWJsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODFcIjtcbn1cblxuLmZhLWJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjtcbn1cblxuLmZhLWJsb2dnZXItYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZFwiO1xufVxuXG4uZmEtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7XG59XG5cbi5mYS1ibHVldG9vdGgtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NFwiO1xufVxuXG4uZmEtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMlwiO1xufVxuXG4uZmEtYm9sdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiO1xufVxuXG4uZmEtYm9tYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMlwiO1xufVxuXG4uZmEtYm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkN1wiO1xufVxuXG4uZmEtYm9uZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1Y1wiO1xufVxuXG4uZmEtYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZFwiO1xufVxuXG4uZmEtYm9vay1kZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmI3XCI7XG59XG5cbi5mYS1ib29rLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTZcIjtcbn1cblxuLmZhLWJvb2stb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxOFwiO1xufVxuXG4uZmEtYm9vay1yZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZGFcIjtcbn1cblxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG5cbi5mYS1ib290c3RyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzZcIjtcbn1cblxuLmZhLWJvd2xpbmctYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNlwiO1xufVxuXG4uZmEtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDY2XCI7XG59XG5cbi5mYS1ib3gtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5ZVwiO1xufVxuXG4uZmEtYm94ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjhcIjtcbn1cblxuLmZhLWJyYWlsbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTFcIjtcbn1cblxuLmZhLWJyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRjXCI7XG59XG5cbi5mYS1icmVhZC1zbGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlY1wiO1xufVxuXG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG5cbi5mYS1icmllZmNhc2UtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2OVwiO1xufVxuXG4uZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE5XCI7XG59XG5cbi5mYS1icm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxYVwiO1xufVxuXG4uZmEtYnJ1c2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWRcIjtcbn1cblxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuXG4uZmEtYnVmZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM3XCI7XG59XG5cbi5mYS1idWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODhcIjtcbn1cblxuLmZhLWJ1aWxkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7XG59XG5cbi5mYS1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMVwiO1xufVxuXG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cblxuLmZhLWJ1cm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmFcIjtcbn1cblxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjtcbn1cblxuLmZhLWJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiO1xufVxuXG4uZmEtYnVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1ZVwiO1xufVxuXG4uZmEtYnVzaW5lc3MtdGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0YVwiO1xufVxuXG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuXG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuXG4uZmEtY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3M1wiO1xufVxuXG4uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cblxuLmZhLWNhbGVuZGFyLWRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4M1wiO1xufVxuXG4uZmEtY2FsZW5kYXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7XG59XG5cbi5mYS1jYWxlbmRhci13ZWVrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg0XCI7XG59XG5cbi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cblxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuXG4uZmEtY2FtcGdyb3VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiYlwiO1xufVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiO1xufVxuXG4uZmEtY2FuZHktY2FuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NlwiO1xufVxuXG4uZmEtY2FubmFiaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWZcIjtcbn1cblxuLmZhLWNhcHN1bGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZiXCI7XG59XG5cbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cblxuLmZhLWNhci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZGVcIjtcbn1cblxuLmZhLWNhci1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRmXCI7XG59XG5cbi5mYS1jYXItY3Jhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTFcIjtcbn1cblxuLmZhLWNhci1zaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWU0XCI7XG59XG5cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG5cbi5mYS1jYXJldC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTBcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuXG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cblxuLmZhLWNhcnJvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4N1wiO1xufVxuXG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG5cbi5mYS1jYXJ0LXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cblxuLmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODhcIjtcbn1cblxuLmZhLWNhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiZVwiO1xufVxuXG4uZmEtY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZFwiO1xufVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE2XCI7XG59XG5cbi5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xufVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbn1cblxuLmZhLWNjLWpjYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiO1xufVxuXG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG59XG5cbi5mYS1jYy1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjtcbn1cblxuLmZhLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbn1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjtcbn1cblxuLmZhLWNlbnRvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4OVwiO1xufVxuXG4uZmEtY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTNcIjtcbn1cblxuLmZhLWNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMwXCI7XG59XG5cbi5mYS1jaGFsa2JvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFiXCI7XG59XG5cbi5mYS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWNcIjtcbn1cblxuLmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTdcIjtcbn1cblxuLmZhLWNoYXJ0LWFyZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cblxuLmZhLWNoYXJ0LWJhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiO1xufVxuXG4uZmEtY2hhcnQtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiO1xufVxuXG4uZmEtY2hhcnQtcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5cbi5mYS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuXG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG5cbi5mYS1jaGVjay1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjBcIjtcbn1cblxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuXG4uZmEtY2hlZXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2VmXCI7XG59XG5cbi5mYS1jaGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzOVwiO1xufVxuXG4uZmEtY2hlc3MtYmlzaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNhXCI7XG59XG5cbi5mYS1jaGVzcy1ib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzY1wiO1xufVxuXG4uZmEtY2hlc3Mta2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzZlwiO1xufVxuXG4uZmEtY2hlc3Mta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQxXCI7XG59XG5cbi5mYS1jaGVzcy1wYXduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQzXCI7XG59XG5cbi5mYS1jaGVzcy1xdWVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0NVwiO1xufVxuXG4uZmEtY2hlc3Mtcm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0N1wiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYVwiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzN1wiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cblxuLmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM5XCI7XG59XG5cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG4uZmEtY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG4uZmEtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWVcIjtcbn1cblxuLmZhLWNocm9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OFwiO1xufVxuXG4uZmEtY2hyb21lY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzOFwiO1xufVxuXG4uZmEtY2h1cmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFkXCI7XG59XG5cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cblxuLmZhLWNpcmNsZS1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuXG4uZmEtY2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0ZlwiO1xufVxuXG4uZmEtY2xpbmljLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjJcIjtcbn1cblxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyOFwiO1xufVxuXG4uZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZjXCI7XG59XG5cbi5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2ZFwiO1xufVxuXG4uZmEtY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cblxuLmZhLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRkXCI7XG59XG5cbi5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuXG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cblxuLmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiO1xufVxuXG4uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2JcIjtcbn1cblxuLmZhLWNsb3VkLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzNcIjtcbn1cblxuLmZhLWNsb3VkLW1vb24tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczY1wiO1xufVxuXG4uZmEtY2xvdWQtcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczZFwiO1xufVxuXG4uZmEtY2xvdWQtc2hvd2Vycy1oZWF2eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0MFwiO1xufVxuXG4uZmEtY2xvdWQtc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM0XCI7XG59XG5cbi5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0M1wiO1xufVxuXG4uZmEtY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MlwiO1xufVxuXG4uZmEtY2xvdWRzY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4M1wiO1xufVxuXG4uZmEtY2xvdWRzbWl0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NFwiO1xufVxuXG4uZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg1XCI7XG59XG5cbi5mYS1jb2NrdGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2MVwiO1xufVxuXG4uZmEtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiO1xufVxuXG4uZmEtY29kZS1icmFuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjZcIjtcbn1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cblxuLmZhLWNvZGllcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg0XCI7XG59XG5cbi5mYS1jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjRcIjtcbn1cblxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuXG4uZmEtY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuXG4uZmEtY29pbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWVcIjtcbn1cblxuLmZhLWNvbHVtbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGJcIjtcbn1cblxuLmZhLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cblxuLmZhLWNvbW1lbnQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XG59XG5cbi5mYS1jb21tZW50LWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1MVwiO1xufVxuXG4uZmEtY29tbWVudC1kb3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGFkXCI7XG59XG5cbi5mYS1jb21tZW50LW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjVcIjtcbn1cblxuLmZhLWNvbW1lbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjNcIjtcbn1cblxuLmZhLWNvbW1lbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5cbi5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTNcIjtcbn1cblxuLmZhLWNvbXBhY3QtZGlzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZlwiO1xufVxuXG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuXG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cblxuLmZhLWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGNcIjtcbn1cblxuLmZhLWNvbmNpZXJnZS1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYyXCI7XG59XG5cbi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhkXCI7XG59XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiO1xufVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7XG59XG5cbi5mYS1jb29raWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjNcIjtcbn1cblxuLmZhLWNvb2tpZS1iaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY0XCI7XG59XG5cbi5mYS1jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG5cbi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjlcIjtcbn1cblxuLmZhLWNvdWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI4XCI7XG59XG5cbi5mYS1jcGFuZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODhcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWVcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTdcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZThcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTlcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVlXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVmXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYwXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjFcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjJcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiO1xufVxuXG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cblxuLmZhLWNyaXRpY2FsLXJvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzlcIjtcbn1cblxuLmZhLWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjVcIjtcbn1cblxuLmZhLWNyb3AtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY1XCI7XG59XG5cbi5mYS1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1NFwiO1xufVxuXG4uZmEtY3Jvc3NoYWlyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YlwiO1xufVxuXG4uZmEtY3JvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyMFwiO1xufVxuXG4uZmEtY3Jvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjFcIjtcbn1cblxuLmZhLWNydXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmN1wiO1xufVxuXG4uZmEtY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiO1xufVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjtcbn1cblxuLmZhLWN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjJcIjtcbn1cblxuLmZhLWN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG5cbi5mYS1jdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cblxuLmZhLWN1dHRsZWZpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGNcIjtcbn1cblxuLmZhLWQtYW5kLWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGRcIjtcbn1cblxuLmZhLWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNhXCI7XG59XG5cbi5mYS1kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiO1xufVxuXG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cblxuLmZhLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjtcbn1cblxuLmZhLWRlbGljaW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNVwiO1xufVxuXG4uZmEtZGVtb2NyYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDdcIjtcbn1cblxuLmZhLWRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiO1xufVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiO1xufVxuXG4uZmEtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiO1xufVxuXG4uZmEtZGV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNjXCI7XG59XG5cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7XG59XG5cbi5mYS1kaGFybWFjaGFrcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTVcIjtcbn1cblxuLmZhLWRobDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiO1xufVxuXG4uZmEtZGlhZ25vc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcwXCI7XG59XG5cbi5mYS1kaWFzcG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MVwiO1xufVxuXG4uZmEtZGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyMlwiO1xufVxuXG4uZmEtZGljZS1kMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2ZcIjtcbn1cblxuLmZhLWRpY2UtZDY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDFcIjtcbn1cblxuLmZhLWRpY2UtZml2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyM1wiO1xufVxuXG4uZmEtZGljZS1mb3VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI0XCI7XG59XG5cbi5mYS1kaWNlLW9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNVwiO1xufVxuXG4uZmEtZGljZS1zaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjZcIjtcbn1cblxuLmZhLWRpY2UtdGhyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjdcIjtcbn1cblxuLmZhLWRpY2UtdHdvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI4XCI7XG59XG5cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG59XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7XG59XG5cbi5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjZcIjtcbn1cblxuLmZhLWRpcmVjdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZWJcIjtcbn1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjtcbn1cblxuLmZhLWRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5M1wiO1xufVxuXG4uZmEtZGl2aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI5XCI7XG59XG5cbi5mYS1kaXp6eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2N1wiO1xufVxuXG4uZmEtZG5hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcxXCI7XG59XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjtcbn1cblxuLmZhLWRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NVwiO1xufVxuXG4uZmEtZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQzXCI7XG59XG5cbi5mYS1kb2xsYXItc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuXG4uZmEtZG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzJcIjtcbn1cblxuLmZhLWRvbGx5LWZsYXRiZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzRcIjtcbn1cblxuLmZhLWRvbmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiOVwiO1xufVxuXG4uZmEtZG9vci1jbG9zZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmFcIjtcbn1cblxuLmZhLWRvb3Itb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyYlwiO1xufVxuXG4uZmEtZG90LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuXG4uZmEtZG92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiYVwiO1xufVxuXG4uZmEtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjtcbn1cblxuLmZhLWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjhcIjtcbn1cblxuLmZhLWRyYWdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkNVwiO1xufVxuXG4uZmEtZHJhdy1wb2x5Z29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWVlXCI7XG59XG5cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xufVxuXG4uZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk3XCI7XG59XG5cbi5mYS1kcm9wYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7XG59XG5cbi5mYS1kcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY5XCI7XG59XG5cbi5mYS1kcnVtLXN0ZWVscGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZhXCI7XG59XG5cbi5mYS1kcnVtc3RpY2stYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkN1wiO1xufVxuXG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XG59XG5cbi5mYS1kdW1iYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0YlwiO1xufVxuXG4uZmEtZHVtcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTNcIjtcbn1cblxuLmZhLWR1bXBzdGVyLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTRcIjtcbn1cblxuLmZhLWR1bmdlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDlcIjtcbn1cblxuLmZhLWR5YWxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5OVwiO1xufVxuXG4uZmEtZWFybHliaXJkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5YVwiO1xufVxuXG4uZmEtZWJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNFwiO1xufVxuXG4uZmEtZWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiO1xufVxuXG4uZmEtZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuXG4uZmEtZWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2ZiXCI7XG59XG5cbi5mYS1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiO1xufVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7XG59XG5cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG5cbi5mYS1lbGxpcHNpcy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQyXCI7XG59XG5cbi5mYS1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWYxXCI7XG59XG5cbi5mYS1lbWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyM1wiO1xufVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7XG59XG5cbi5mYS1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuXG4uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNlwiO1xufVxuXG4uZmEtZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU4XCI7XG59XG5cbi5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiO1xufVxuXG4uZmEtZXF1YWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJjXCI7XG59XG5cbi5mYS1lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjtcbn1cblxuLmZhLWVybGFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZFwiO1xufVxuXG4uZmEtZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmVcIjtcbn1cblxuLmZhLWV0aGVybmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk2XCI7XG59XG5cbi5mYS1ldHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ3XCI7XG59XG5cbi5mYS1ldXJvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7XG59XG5cbi5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjJcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJhXCI7XG59XG5cbi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmFcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG5cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cblxuLmZhLWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzFlXCI7XG59XG5cbi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjtcbn1cblxuLmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVkXCI7XG59XG5cbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjBcIjtcbn1cblxuLmZhLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuXG4uZmEtZXllLWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjtcbn1cblxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MFwiO1xufVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjtcbn1cblxuLmZhLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjtcbn1cblxuLmZhLWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZlwiO1xufVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7XG59XG5cbi5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkY1wiO1xufVxuXG4uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OVwiO1xufVxuXG4uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUwXCI7XG59XG5cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cblxuLmZhLWZlYXRoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmRcIjtcbn1cblxuLmZhLWZlYXRoZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZiXCI7XG59XG5cbi5mYS1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5N1wiO1xufVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7XG59XG5cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODJcIjtcbn1cblxuLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZiXCI7XG59XG5cbi5mYS1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OVwiO1xufVxuXG4uZmEtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiO1xufVxuXG4uZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cblxuLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiO1xufVxuXG4uZmEtZmlsZS1hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiO1xufVxuXG4uZmEtZmlsZS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG5cbi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZjXCI7XG59XG5cbi5mYS1maWxlLWNzdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZFwiO1xufVxuXG4uZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZFwiO1xufVxuXG4uZmEtZmlsZS1leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiO1xufVxuXG4uZmEtZmlsZS1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmVcIjtcbn1cblxuLmZhLWZpbGUtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjtcbn1cblxuLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZmXCI7XG59XG5cbi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzBcIjtcbn1cblxuLmZhLWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzFcIjtcbn1cblxuLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3N1wiO1xufVxuXG4uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OFwiO1xufVxuXG4uZmEtZmlsZS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzFcIjtcbn1cblxuLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuXG4uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzJcIjtcbn1cblxuLmZhLWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTczXCI7XG59XG5cbi5mYS1maWxlLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NFwiO1xufVxuXG4uZmEtZmlsZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuXG4uZmEtZmlsZS13b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7XG59XG5cbi5mYS1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc1XCI7XG59XG5cbi5mYS1maWxsLWRyaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzZcIjtcbn1cblxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cblxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuXG4uZmEtZmluZ2VycHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzdcIjtcbn1cblxuLmZhLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmRcIjtcbn1cblxuLmZhLWZpcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U0XCI7XG59XG5cbi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNFwiO1xufVxuXG4uZmEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OVwiO1xufVxuXG4uZmEtZmlyc3QtYWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc5XCI7XG59XG5cbi5mYS1maXJzdC1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMFwiO1xufVxuXG4uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBhXCI7XG59XG5cbi5mYS1maXJzdGRyYWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ExXCI7XG59XG5cbi5mYS1maXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc4XCI7XG59XG5cbi5mYS1maXN0LXJhaXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZVwiO1xufVxuXG4uZmEtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNFwiO1xufVxuXG4uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWVcIjtcbn1cblxuLmZhLWZsYWctdXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzRkXCI7XG59XG5cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XG59XG5cbi5mYS1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGRcIjtcbn1cblxuLmZhLWZsdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzlcIjtcbn1cblxuLmZhLWZseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxN1wiO1xufVxuXG4uZmEtZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XG59XG5cbi5mYS1mb2xkZXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NWRcIjtcbn1cblxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG5cbi5mYS1mb2xkZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1ZVwiO1xufVxuXG4uZmEtZm9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMVwiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNVwiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNlwiO1xufVxuXG4uZmEtZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7XG59XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjtcbn1cblxuLmZhLWZvb3RiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGVcIjtcbn1cblxuLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiO1xufVxuXG4uZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhM1wiO1xufVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTFcIjtcbn1cblxuLmZhLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjtcbn1cblxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODBcIjtcbn1cblxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7XG59XG5cbi5mYS1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E0XCI7XG59XG5cbi5mYS1mcm9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJlXCI7XG59XG5cbi5mYS1mcm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiO1xufVxuXG4uZmEtZnJvd24tb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3YVwiO1xufVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiO1xufVxuXG4uZmEtZnVubmVsLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2MlwiO1xufVxuXG4uZmEtZnV0Ym9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XG59XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiO1xufVxuXG4uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBkXCI7XG59XG5cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG5cbi5mYS1nYXMtcHVtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyZlwiO1xufVxuXG4uZmEtZ2F2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTNcIjtcbn1cblxuLmZhLWdlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNVwiO1xufVxuXG4uZmEtZ2VuZGVybGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyZFwiO1xufVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiO1xufVxuXG4uZmEtZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjBcIjtcbn1cblxuLmZhLWdnLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MVwiO1xufVxuXG4uZmEtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTJcIjtcbn1cblxuLmZhLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmJcIjtcbn1cblxuLmZhLWdpZnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzljXCI7XG59XG5cbi5mYS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDNcIjtcbn1cblxuLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjtcbn1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuXG4uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiO1xufVxuXG4uZmEtZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E2XCI7XG59XG5cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjtcbn1cblxuLmZhLWdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNlwiO1xufVxuXG4uZmEtZ2xhc3MtY2hlZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzlmXCI7XG59XG5cbi5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG5cbi5mYS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3YlwiO1xufVxuXG4uZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhMFwiO1xufVxuXG4uZmEtZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMFwiO1xufVxuXG4uZmEtZ2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTVcIjtcbn1cblxuLmZhLWdsaWRlLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjtcbn1cblxuLmZhLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XG59XG5cbi5mYS1nbG9iZS1hZnJpY2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2NcIjtcbn1cblxuLmZhLWdsb2JlLWFtZXJpY2FzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdkXCI7XG59XG5cbi5mYS1nbG9iZS1hc2lhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdlXCI7XG59XG5cbi5mYS1nbG9iZS1ldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTJcIjtcbn1cblxuLmZhLWdvZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhN1wiO1xufVxuXG4uZmEtZ29sZi1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUwXCI7XG59XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYThcIjtcbn1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7XG59XG5cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbn1cblxuLmZhLWdvb2dsZS1kcml2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYVwiO1xufVxuXG4uZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWJcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIzXCI7XG59XG5cbi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG5cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbn1cblxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cblxuLmZhLWdvcHVyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjRcIjtcbn1cblxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG5cbi5mYS1ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xufVxuXG4uZmEtZ3JhdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNlwiO1xufVxuXG4uZmEtZ3JlYXRlci10aGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMxXCI7XG59XG5cbi5mYS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzJcIjtcbn1cblxuLmZhLWdyaW1hY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2ZcIjtcbn1cblxuLmZhLWdyaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODBcIjtcbn1cblxuLmZhLWdyaW4tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgxXCI7XG59XG5cbi5mYS1ncmluLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODJcIjtcbn1cblxuLmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4M1wiO1xufVxuXG4uZmEtZ3Jpbi1oZWFydHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODRcIjtcbn1cblxuLmZhLWdyaW4tc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg1XCI7XG59XG5cbi5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NlwiO1xufVxuXG4uZmEtZ3Jpbi1zdGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4N1wiO1xufVxuXG4uZmEtZ3Jpbi10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OFwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODlcIjtcbn1cblxuLmZhLWdyaW4tdG9uZ3VlLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4YVwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4YlwiO1xufVxuXG4uZmEtZ3Jpbi13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThjXCI7XG59XG5cbi5mYS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGRcIjtcbn1cblxuLmZhLWdyaXAtbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTRcIjtcbn1cblxuLmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTVcIjtcbn1cblxuLmZhLWdyaXAtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGVcIjtcbn1cblxuLmZhLWdyaXBmaXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FjXCI7XG59XG5cbi5mYS1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZFwiO1xufVxuXG4uZmEtZ3VpdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E2XCI7XG59XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7XG59XG5cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuXG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cblxuLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZlwiO1xufVxuXG4uZmEtaGFja2VycmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmN1wiO1xufVxuXG4uZmEtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA1XCI7XG59XG5cbi5mYS1oYW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTNcIjtcbn1cblxuLmZhLWhhbXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY1XCI7XG59XG5cbi5mYS1oYW5kLWhvbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmRcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiZVwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMFwiO1xufVxuXG4uZmEtaGFuZC1saXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjtcbn1cblxuLmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwNlwiO1xufVxuXG4uZmEtaGFuZC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiO1xufVxuXG4uZmEtaGFuZC1wZWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiO1xufVxuXG4uZmEtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTRcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiO1xufVxuXG4uZmEtaGFuZC1yb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XG59XG5cbi5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7XG59XG5cbi5mYS1oYW5kLXNwb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU5XCI7XG59XG5cbi5mYS1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMlwiO1xufVxuXG4uZmEtaGFuZHMtaGVscGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjNFwiO1xufVxuXG4uZmEtaGFuZHNoYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI1XCI7XG59XG5cbi5mYS1oYW51a2lhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlNlwiO1xufVxuXG4uZmEtaGFyZC1oYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MDdcIjtcbn1cblxuLmZhLWhhc2h0YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTJcIjtcbn1cblxuLmZhLWhhdC13aXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZThcIjtcbn1cblxuLmZhLWhheWthbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NlwiO1xufVxuXG4uZmEtaGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XG59XG5cbi5mYS1oZWFkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG5cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG5cbi5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZlwiO1xufVxuXG4uZmEtaGVhZHNldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MFwiO1xufVxuXG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cblxuLmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhOVwiO1xufVxuXG4uZmEtaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFlXCI7XG59XG5cbi5mYS1oZWxpY29wdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMzXCI7XG59XG5cbi5mYS1oaWdobGlnaHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MVwiO1xufVxuXG4uZmEtaGlraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmVjXCI7XG59XG5cbi5mYS1oaXBwbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlZFwiO1xufVxuXG4uZmEtaGlwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MlwiO1xufVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiO1xufVxuXG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiO1xufVxuXG4uZmEtaG9ja2V5LXB1Y2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTNcIjtcbn1cblxuLmZhLWhvbGx5LWJlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FhXCI7XG59XG5cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG5cbi5mYS1ob29saTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyN1wiO1xufVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjtcbn1cblxuLmZhLWhvcnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYwXCI7XG59XG5cbi5mYS1ob3JzZS1oZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FiXCI7XG59XG5cbi5mYS1ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOFwiO1xufVxuXG4uZmEtaG9zcGl0YWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdkXCI7XG59XG5cbi5mYS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2VcIjtcbn1cblxuLmZhLWhvdC10dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTNcIjtcbn1cblxuLmZhLWhvdGRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwZlwiO1xufVxuXG4uZmEtaG90ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTRcIjtcbn1cblxuLmZhLWhvdGphcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMVwiO1xufVxuXG4uZmEtaG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5cbi5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuXG4uZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUxXCI7XG59XG5cbi5mYS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZjFcIjtcbn1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7XG59XG5cbi5mYS1ocnl2bmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYyXCI7XG59XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xufVxuXG4uZmEtaHVic3BvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMlwiO1xufVxuXG4uZmEtaS1jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cblxuLmZhLWljZS1jcmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxMFwiO1xufVxuXG4uZmEtaWNpY2xlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZFwiO1xufVxuXG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjtcbn1cblxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cblxuLmZhLWlkLWNhcmQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdmXCI7XG59XG5cbi5mYS1pZ2xvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZVwiO1xufVxuXG4uZmEtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cblxuLmZhLWltYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMlwiO1xufVxuXG4uZmEtaW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOFwiO1xufVxuXG4uZmEtaW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWNcIjtcbn1cblxuLmZhLWluZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzY1wiO1xufVxuXG4uZmEtaW5kdXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzVcIjtcbn1cblxuLmZhLWluZmluaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM0XCI7XG59XG5cbi5mYS1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI5XCI7XG59XG5cbi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YVwiO1xufVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG59XG5cbi5mYS1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZlwiO1xufVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmJcIjtcbn1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7XG59XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7XG59XG5cbi5mYS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzNcIjtcbn1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2FcIjtcbn1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiO1xufVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjtcbn1cblxuLmZhLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTRcIjtcbn1cblxuLmZhLWplZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjlcIjtcbn1cblxuLmZhLWplZGktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGVcIjtcbn1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjtcbn1cblxuLmZhLWppcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjFcIjtcbn1cblxuLmZhLWpvZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I3XCI7XG59XG5cbi5mYS1qb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5NVwiO1xufVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XG59XG5cbi5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YVwiO1xufVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjtcbn1cblxuLmZhLWpzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOVwiO1xufVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjtcbn1cblxuLmZhLWthYWJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZiXCI7XG59XG5cbi5mYS1rYWdnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZmFcIjtcbn1cblxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNVwiO1xufVxuXG4uZmEta2V5Ym9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cblxuLmZhLWtleWNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYVwiO1xufVxuXG4uZmEta2hhbmRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZkXCI7XG59XG5cbi5mYS1raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYlwiO1xufVxuXG4uZmEta2lja3N0YXJ0ZXItazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiY1wiO1xufVxuXG4uZmEta2lzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5NlwiO1xufVxuXG4uZmEta2lzcy1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk3XCI7XG59XG5cbi5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OThcIjtcbn1cblxuLmZhLWtpd2ktYmlyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzNVwiO1xufVxuXG4uZmEta29ydnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJmXCI7XG59XG5cbi5mYS1sYW5kbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2ZlwiO1xufVxuXG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cblxuLmZhLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiO1xufVxuXG4uZmEtbGFwdG9wLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZmNcIjtcbn1cblxuLmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODEyXCI7XG59XG5cbi5mYS1sYXJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JkXCI7XG59XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjtcbn1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjtcbn1cblxuLmZhLWxhdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk5XCI7XG59XG5cbi5mYS1sYXVnaC1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlhXCI7XG59XG5cbi5mYS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWJcIjtcbn1cblxuLmZhLWxhdWdoLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWNcIjtcbn1cblxuLmZhLWxheWVyLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZkXCI7XG59XG5cbi5mYS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZjXCI7XG59XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7XG59XG5cbi5mYS1sZW1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuXG4uZmEtbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZFwiO1xufVxuXG4uZmEtbGVzcy10aGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM2XCI7XG59XG5cbi5mYS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzdcIjtcbn1cblxuLmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JlXCI7XG59XG5cbi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmZcIjtcbn1cblxuLmZhLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiO1xufVxuXG4uZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG5cbi5mYS1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MwXCI7XG59XG5cbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xufVxuXG4uZmEtbGlua2VkaW4taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiO1xufVxuXG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cblxuLmZhLWxpcmEtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NVwiO1xufVxuXG4uZmEtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzYVwiO1xufVxuXG4uZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjJcIjtcbn1cblxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cblxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cblxuLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XG59XG5cbi5mYS1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG59XG5cbi5mYS1sb2NrLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzFcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDlcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGFcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBiXCI7XG59XG5cbi5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwY1wiO1xufVxuXG4uZmEtbG93LXZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOFwiO1xufVxuXG4uZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlkXCI7XG59XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7XG59XG5cbi5mYS1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7XG59XG5cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuXG4uZmEtbWFnbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc2XCI7XG59XG5cbi5mYS1tYWlsLWJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzRcIjtcbn1cblxuLmZhLW1haWxjaGltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZVwiO1xufVxuXG4uZmEtbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiO1xufVxuXG4uZmEtbWFuZGFsb3JpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGZcIjtcbn1cblxuLmZhLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiO1xufVxuXG4uZmEtbWFwLW1hcmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZlwiO1xufVxuXG4uZmEtbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTBcIjtcbn1cblxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cblxuLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M1XCI7XG59XG5cbi5mYS1tYXAtcGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc2XCI7XG59XG5cbi5mYS1tYXAtc2lnbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzdcIjtcbn1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7XG59XG5cbi5mYS1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTFcIjtcbn1cblxuLmZhLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjtcbn1cblxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG5cbi5mYS1tYXJzLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOVwiO1xufVxuXG4uZmEtbWFycy1zdHJva2UtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiO1xufVxuXG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuXG4uZmEtbWFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmYVwiO1xufVxuXG4uZmEtbWFzdG9kb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjZcIjtcbn1cblxuLmZhLW1heGNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiO1xufVxuXG4uZmEtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTJcIjtcbn1cblxuLmZhLW1lZGFwcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzZcIjtcbn1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiO1xufVxuXG4uZmEtbWVkaXVtLW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzdcIjtcbn1cblxuLmZhLW1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYVwiO1xufVxuXG4uZmEtbWVkcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzhcIjtcbn1cblxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMFwiO1xufVxuXG4uZmEtbWVnYXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTNcIjtcbn1cblxuLmZhLW1laDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYVwiO1xufVxuXG4uZmEtbWVoLWJsYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE0XCI7XG59XG5cbi5mYS1tZWgtcm9sbGluZy1leWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE1XCI7XG59XG5cbi5mYS1tZW1vcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzhcIjtcbn1cblxuLmZhLW1lbmRlbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IzXCI7XG59XG5cbi5mYS1tZW5vcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc2XCI7XG59XG5cbi5mYS1tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XG59XG5cbi5mYS1tZXRlb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NTNcIjtcbn1cblxuLmZhLW1pY3JvY2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYlwiO1xufVxuXG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiO1xufVxuXG4uZmEtbWljcm9waG9uZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzlcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM5XCI7XG59XG5cbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG5cbi5mYS1taWNyb3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEwXCI7XG59XG5cbi5mYS1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2FcIjtcbn1cblxuLmZhLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY4XCI7XG59XG5cbi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTZcIjtcbn1cblxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuXG4uZmEtbWl0dGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I1XCI7XG59XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjtcbn1cblxuLmZhLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7XG59XG5cbi5mYS1taXp1bmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2NcIjtcbn1cblxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuXG4uZmEtbW9iaWxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjZFwiO1xufVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiO1xufVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7XG59XG5cbi5mYS1tb25leS1iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7XG59XG5cbi5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMVwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNhXCI7XG59XG5cbi5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNiXCI7XG59XG5cbi5mYS1tb25leS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzY1wiO1xufVxuXG4uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNkXCI7XG59XG5cbi5mYS1tb251bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNlwiO1xufVxuXG4uZmEtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiO1xufVxuXG4uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhN1wiO1xufVxuXG4uZmEtbW9zcXVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc4XCI7XG59XG5cbi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFjXCI7XG59XG5cbi5mYS1tb3VudGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmY1wiO1xufVxuXG4uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NVwiO1xufVxuXG4uZmEtbXVnLWhvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiNlwiO1xufVxuXG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cblxuLmZhLW5hcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDJcIjtcbn1cblxuLmZhLW5lb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MTJcIjtcbn1cblxuLmZhLW5ldHdvcmstd2lyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmZcIjtcbn1cblxuLmZhLW5ldXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyY1wiO1xufVxuXG4uZmEtbmV3c3BhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7XG59XG5cbi5mYS1uaW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YThcIjtcbn1cblxuLmZhLW5pbnRlbmRvLXN3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOFwiO1xufVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiO1xufVxuXG4uZmEtbm9kZS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkM1wiO1xufVxuXG4uZmEtbm90LWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNlXCI7XG59XG5cbi5mYS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgxXCI7XG59XG5cbi5mYS1ucG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDRcIjtcbn1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiO1xufVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjtcbn1cblxuLmZhLW9iamVjdC1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiO1xufVxuXG4uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDhcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY0XCI7XG59XG5cbi5mYS1vaWwtY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEzXCI7XG59XG5cbi5mYS1vbGQtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTBcIjtcbn1cblxuLmZhLW9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc5XCI7XG59XG5cbi5mYS1vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiO1xufVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XG59XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YVwiO1xufVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiO1xufVxuXG4uZmEtb3NpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFhXCI7XG59XG5cbi5mYS1vdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwMFwiO1xufVxuXG4uZmEtb3V0ZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzYlwiO1xufVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjtcbn1cblxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuXG4uZmEtcGFnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTVcIjtcbn1cblxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG5cbi5mYS1wYWludC1yb2xsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWFcIjtcbn1cblxuLmZhLXBhbGV0dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2ZcIjtcbn1cblxuLmZhLXBhbGZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOFwiO1xufVxuXG4uZmEtcGFsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgyXCI7XG59XG5cbi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuXG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG5cbi5mYS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGNkXCI7XG59XG5cbi5mYS1wYXJhZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbn1cblxuLmZhLXBhcmtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDBcIjtcbn1cblxuLmZhLXBhc3Nwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFiXCI7XG59XG5cbi5mYS1wYXN0YWZhcmlhbmlzbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3YlwiO1xufVxuXG4uZmEtcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cblxuLmZhLXBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDlcIjtcbn1cblxuLmZhLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XG59XG5cbi5mYS1wYXVzZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjtcbn1cblxuLmZhLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMFwiO1xufVxuXG4uZmEtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVkXCI7XG59XG5cbi5mYS1wZWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3Y1wiO1xufVxuXG4uZmEtcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA0XCI7XG59XG5cbi5mYS1wZW4tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA1XCI7XG59XG5cbi5mYS1wZW4tZmFuY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWNcIjtcbn1cblxuLmZhLXBlbi1uaWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWRcIjtcbn1cblxuLmZhLXBlbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cblxuLmZhLXBlbmNpbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjtcbn1cblxuLmZhLXBlbmNpbC1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZVwiO1xufVxuXG4uZmEtcGVubnktYXJjYWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzA0XCI7XG59XG5cbi5mYS1wZW9wbGUtY2Fycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0Y2VcIjtcbn1cblxuLmZhLXBlcHBlci1ob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTZcIjtcbn1cblxuLmZhLXBlcmNlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTVcIjtcbn1cblxuLmZhLXBlcmNlbnRhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDFcIjtcbn1cblxuLmZhLXBlcmlzY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYVwiO1xufVxuXG4uZmEtcGVyc29uLWJvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzU2XCI7XG59XG5cbi5mYS1waGFicmljYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYlwiO1xufVxuXG4uZmEtcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjtcbn1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjtcbn1cblxuLmZhLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG5cbi5mYS1waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkZFwiO1xufVxuXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG5cbi5mYS1waG9uZS12b2x1bWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTBcIjtcbn1cblxuLmZhLXBocDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1N1wiO1xufVxuXG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiO1xufVxuXG4uZmEtcGllZC1waXBlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYThcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7XG59XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7XG59XG5cbi5mYS1waWdneS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQzXCI7XG59XG5cbi5mYS1waWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NFwiO1xufVxuXG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiO1xufVxuXG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuXG4uZmEtcGl6emEtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MThcIjtcbn1cblxuLmZhLXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2ZcIjtcbn1cblxuLmZhLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcyXCI7XG59XG5cbi5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFmXCI7XG59XG5cbi5mYS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjBcIjtcbn1cblxuLmZhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGJcIjtcbn1cblxuLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XG59XG5cbi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkZlwiO1xufVxuXG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuXG4uZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuXG4uZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTVcIjtcbn1cblxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNlXCI7XG59XG5cbi5mYS1wb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgxXCI7XG59XG5cbi5mYS1wb2xsLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODJcIjtcbn1cblxuLmZhLXBvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmZVwiO1xufVxuXG4uZmEtcG9vLXN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVhXCI7XG59XG5cbi5mYS1wb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjE5XCI7XG59XG5cbi5mYS1wb3J0cmFpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMFwiO1xufVxuXG4uZmEtcG91bmQtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiO1xufVxuXG4uZmEtcG93ZXItb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5cbi5mYS1wcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgzXCI7XG59XG5cbi5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg0XCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjFcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODVcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg2XCI7XG59XG5cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuXG4uZmEtcHJvY2VkdXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4N1wiO1xufVxuXG4uZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7XG59XG5cbi5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDJcIjtcbn1cblxuLmZhLXB1c2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMVwiO1xufVxuXG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG5cbi5mYS1weXRob246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTJcIjtcbn1cblxuLmZhLXFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ2XCI7XG59XG5cbi5mYS1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjlcIjtcbn1cblxuLmZhLXF1ZXN0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI4XCI7XG59XG5cbi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTlcIjtcbn1cblxuLmZhLXF1aWRkaXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OFwiO1xufVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7XG59XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiO1xufVxuXG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuXG4uZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjtcbn1cblxuLmZhLXF1cmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg3XCI7XG59XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjtcbn1cblxuLmZhLXJhZGlhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiOVwiO1xufVxuXG4uZmEtcmFkaWF0aW9uLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiYVwiO1xufVxuXG4uZmEtcmFpbmJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YlwiO1xufVxuXG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG5cbi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjtcbn1cblxuLmZhLXJhdmVscnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDlcIjtcbn1cblxuLmZhLXJlYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFiXCI7XG59XG5cbi5mYS1yZWFjdGV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZFwiO1xufVxuXG4uZmEtcmVhZG1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ1XCI7XG59XG5cbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuXG4uZmEtcmVjZWlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0M1wiO1xufVxuXG4uZmEtcmVjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOFwiO1xufVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7XG59XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiO1xufVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiO1xufVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7XG59XG5cbi5mYS1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG5cbi5mYS1yZWRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmOVwiO1xufVxuXG4uZmEtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xufVxuXG4uZmEtcmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThiXCI7XG59XG5cbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNVwiO1xufVxuXG4uZmEtcmVwbHktYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIyXCI7XG59XG5cbi5mYS1yZXBseWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTZcIjtcbn1cblxuLmZhLXJlcHVibGljYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWVcIjtcbn1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiO1xufVxuXG4uZmEtcmVzb2x2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U3XCI7XG59XG5cbi5mYS1yZXN0cm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiZFwiO1xufVxuXG4uZmEtcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OVwiO1xufVxuXG4uZmEtcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIyXCI7XG59XG5cbi5mYS1yaWJib246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDZcIjtcbn1cblxuLmZhLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MGJcIjtcbn1cblxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cblxuLmZhLXJvYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ0XCI7XG59XG5cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjtcbn1cblxuLmZhLXJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTlcIjtcbn1cblxuLmZhLXJvdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ3XCI7XG59XG5cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cblxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cblxuLmZhLXJ1YmxlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cblxuLmZhLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ1XCI7XG59XG5cbi5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0NlwiO1xufVxuXG4uZmEtcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0N1wiO1xufVxuXG4uZmEtcnVsZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDhcIjtcbn1cblxuLmZhLXJ1bm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MGNcIjtcbn1cblxuLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cblxuLmZhLXNhZC1jcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjNcIjtcbn1cblxuLmZhLXNhZC10ZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI0XCI7XG59XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjtcbn1cblxuLmZhLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2JcIjtcbn1cblxuLmZhLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWVcIjtcbn1cblxuLmZhLXNhdGVsbGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiZlwiO1xufVxuXG4uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzBcIjtcbn1cblxuLmZhLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cblxuLmZhLXNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYVwiO1xufVxuXG4uZmEtc2Nob29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ5XCI7XG59XG5cbi5mYS1zY3Jld2RyaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0YVwiO1xufVxuXG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7XG59XG5cbi5mYS1zY3JvbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MGVcIjtcbn1cblxuLmZhLXNkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzJcIjtcbn1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiO1xufVxuXG4uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4OFwiO1xufVxuXG4uZmEtc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg5XCI7XG59XG5cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cblxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5cbi5mYS1zZWFyY2hlbmdpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYlwiO1xufVxuXG4uZmEtc2VlZGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDhcIjtcbn1cblxuLmZhLXNlbGxjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRhXCI7XG59XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbn1cblxuLmZhLXNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzM1wiO1xufVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7XG59XG5cbi5mYS1zaGFwZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MWZcIjtcbn1cblxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5cbi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjtcbn1cblxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cblxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuXG4uZmEtc2hla2VsLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cblxuLmZhLXNoaWVsZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWRcIjtcbn1cblxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cblxuLmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGJcIjtcbn1cblxuLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiO1xufVxuXG4uZmEtc2hvZS1wcmludHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGJcIjtcbn1cblxuLmZhLXNob3BwaW5nLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiO1xufVxuXG4uZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkxXCI7XG59XG5cbi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7XG59XG5cbi5mYS1zaG9wd2FyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNVwiO1xufVxuXG4uZmEtc2hvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNjXCI7XG59XG5cbi5mYS1zaHV0dGxlLXZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNlwiO1xufVxuXG4uZmEtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkOVwiO1xufVxuXG4uZmEtc2lnbi1pbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjZcIjtcbn1cblxuLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjtcbn1cblxuLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiO1xufVxuXG4uZmEtc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEyXCI7XG59XG5cbi5mYS1zaWduYXR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjdcIjtcbn1cblxuLmZhLXNpbS1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M0XCI7XG59XG5cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuXG4uZmEtc2lzdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZVwiO1xufVxuXG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOFwiO1xufVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiO1xufVxuXG4uZmEtc2thdGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNVwiO1xufVxuXG4uZmEtc2tldGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M2XCI7XG59XG5cbi5mYS1za2lpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzlcIjtcbn1cblxuLmZhLXNraWluZy1ub3JkaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2FcIjtcbn1cblxuLmZhLXNrdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRjXCI7XG59XG5cbi5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE0XCI7XG59XG5cbi5mYS1za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiO1xufVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjtcbn1cblxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG5cbi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VmXCI7XG59XG5cbi5mYS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxNVwiO1xufVxuXG4uZmEtc2xlaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NjXCI7XG59XG5cbi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cblxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cblxuLmZhLXNtaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7XG59XG5cbi5mYS1zbWlsZS1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI4XCI7XG59XG5cbi5mYS1zbWlsZS13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRhXCI7XG59XG5cbi5mYS1zbW9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVmXCI7XG59XG5cbi5mYS1zbW9raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhkXCI7XG59XG5cbi5mYS1zbW9raW5nLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0ZFwiO1xufVxuXG4uZmEtc21zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NkXCI7XG59XG5cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYlwiO1xufVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWNcIjtcbn1cblxuLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiO1xufVxuXG4uZmEtc25vd2JvYXJkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NlXCI7XG59XG5cbi5mYS1zbm93Zmxha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGNcIjtcbn1cblxuLmZhLXNub3dtYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDBcIjtcbn1cblxuLmZhLXNub3dwbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QyXCI7XG59XG5cbi5mYS1zb2NrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5NlwiO1xufVxuXG4uZmEtc29sYXItcGFuZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmFcIjtcbn1cblxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cblxuLmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cblxuLmZhLXNvcnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjJcIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2M1wiO1xufVxuXG4uZmEtc29ydC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuXG4uZmEtc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZVwiO1xufVxuXG4uZmEtc291cmNldHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkM1wiO1xufVxuXG4uZmEtc3BhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJiXCI7XG59XG5cbi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk3XCI7XG59XG5cbi5mYS1zcGVha2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YzXCI7XG59XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjtcbn1cblxuLmZhLXNwaWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxN1wiO1xufVxuXG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuXG4uZmEtc3Bsb3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViY1wiO1xufVxuXG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xufVxuXG4uZmEtc3ByYXktY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJkXCI7XG59XG5cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cblxuLmZhLXNxdWFyZS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVjXCI7XG59XG5cbi5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OThcIjtcbn1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7XG59XG5cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xufVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjtcbn1cblxuLmZhLXN0YW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJmXCI7XG59XG5cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5cbi5mYS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5OVwiO1xufVxuXG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5cbi5mYS1zdGFyLWhhbGYtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMwXCI7XG59XG5cbi5mYS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjlhXCI7XG59XG5cbi5mYS1zdGFyLW9mLWxpZmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MjFcIjtcbn1cblxuLmZhLXN0YXlsaW5rZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjVcIjtcbn1cblxuLmZhLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI2XCI7XG59XG5cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjtcbn1cblxuLmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNlwiO1xufVxuXG4uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OFwiO1xufVxuXG4uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUxXCI7XG59XG5cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7XG59XG5cbi5mYS1zdGlja3ktbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiO1xufVxuXG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xufVxuXG4uZmEtc3RvcC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGRcIjtcbn1cblxuLmZhLXN0b3B3YXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMlwiO1xufVxuXG4uZmEtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGVcIjtcbn1cblxuLmZhLXN0b3JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0ZlwiO1xufVxuXG4uZmEtc3RyYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI4XCI7XG59XG5cbi5mYS1zdHJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTBcIjtcbn1cblxuLmZhLXN0cmVldC12aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFkXCI7XG59XG5cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG5cbi5mYS1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjlcIjtcbn1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7XG59XG5cbi5mYS1zdHJvb3B3YWZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MVwiO1xufVxuXG4uZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7XG59XG5cbi5mYS1zdHVtYmxldXBvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNFwiO1xufVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XG59XG5cbi5mYS1zdWJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmNcIjtcbn1cblxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuXG4uZmEtc3VpdGNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjJcIjtcbn1cblxuLmZhLXN1aXRjYXNlLXJvbGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzFcIjtcbn1cblxuLmZhLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NVwiO1xufVxuXG4uZmEtc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjtcbn1cblxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG5cbi5mYS1zdXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjlcIjtcbn1cblxuLmZhLXN1cnByaXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMyXCI7XG59XG5cbi5mYS1zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q2XCI7XG59XG5cbi5mYS1zd2F0Y2hib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMzXCI7XG59XG5cbi5mYS1zd2ltbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM0XCI7XG59XG5cbi5mYS1zd2ltbWluZy1wb29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM1XCI7XG59XG5cbi5mYS1zeW1mb255OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNkXCI7XG59XG5cbi5mYS1zeW5hZ29ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWJcIjtcbn1cblxuLmZhLXN5bmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cblxuLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYxXCI7XG59XG5cbi5mYS1zeXJpbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhlXCI7XG59XG5cbi5mYS10YWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZVwiO1xufVxuXG4uZmEtdGFibGUtdGVubmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVkXCI7XG59XG5cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cblxuLmZhLXRhYmxldC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmFcIjtcbn1cblxuLmZhLXRhYmxldHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTBcIjtcbn1cblxuLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZkXCI7XG59XG5cbi5mYS10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmJcIjtcbn1cblxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cblxuLmZhLXRhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGJcIjtcbn1cblxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG5cbi5mYS10YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7XG59XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjtcbn1cblxuLmZhLXRlZXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjJlXCI7XG59XG5cbi5mYS10ZWV0aC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjJmXCI7XG59XG5cbi5mYS10ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiO1xufVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmVcIjtcbn1cblxuLmZhLXRlbXBlcmF0dXJlLWhpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NjlcIjtcbn1cblxuLmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc2YlwiO1xufVxuXG4uZmEtdGVuY2VudC13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiO1xufVxuXG4uZmEtdGVuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDdcIjtcbn1cblxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7XG59XG5cbi5mYS10ZXh0LWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNFwiO1xufVxuXG4uZmEtdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNVwiO1xufVxuXG4uZmEtdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGFcIjtcbn1cblxuLmZhLXRoLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA5XCI7XG59XG5cbi5mYS10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7XG59XG5cbi5mYS10aGUtcmVkLXlldGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWRcIjtcbn1cblxuLmZhLXRoZWF0ZXItbWFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MzBcIjtcbn1cblxuLmZhLXRoZW1lY286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzZcIjtcbn1cblxuLmZhLXRoZW1laXNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTFcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNiXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM3XCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM5XCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNhXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiO1xufVxuXG4uZmEtdGhpbmstcGVha3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MzFcIjtcbn1cblxuLmZhLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7XG59XG5cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cblxuLmZhLXRodW1idGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuXG4uZmEtdGlja2V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiO1xufVxuXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cblxuLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuXG4uZmEtdGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuXG4uZmEtdGludC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjN1wiO1xufVxuXG4uZmEtdGlyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzhcIjtcbn1cblxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDRcIjtcbn1cblxuLmZhLXRvZ2dsZS1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNVwiO1xufVxuXG4uZmEtdG9pbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q4XCI7XG59XG5cbi5mYS10b2lsZXQtcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MWVcIjtcbn1cblxuLmZhLXRvb2xib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTJcIjtcbn1cblxuLmZhLXRvb2xzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q5XCI7XG59XG5cbi5mYS10b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjOVwiO1xufVxuXG4uZmEtdG9yYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTBcIjtcbn1cblxuLmZhLXRvcmlpLWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTFcIjtcbn1cblxuLmZhLXRyYWN0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjJcIjtcbn1cblxuLmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTNcIjtcbn1cblxuLmZhLXRyYWRlbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1Y1wiO1xufVxuXG4uZmEtdHJhZmZpYy1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzN1wiO1xufVxuXG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjtcbn1cblxuLmZhLXRyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGFcIjtcbn1cblxuLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XG59XG5cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjVcIjtcbn1cblxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG59XG5cbi5mYS10cmFzaC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MjlcIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODJhXCI7XG59XG5cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG5cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjtcbn1cblxuLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYyXCI7XG59XG5cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjtcbn1cblxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG5cbi5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRlXCI7XG59XG5cbi5mYS10cnVjay1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNiXCI7XG59XG5cbi5mYS10cnVjay1tb3Zpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGZcIjtcbn1cblxuLmZhLXRydWNrLXBpY2t1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzY1wiO1xufVxuXG4uZmEtdHNoaXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUzXCI7XG59XG5cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cblxuLmZhLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3M1wiO1xufVxuXG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiO1xufVxuXG4uZmEtdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjtcbn1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOFwiO1xufVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIvCdlY9cIjtcbn1cblxuLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgxXCI7XG59XG5cbi5mYS10eXBvMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYlwiO1xufVxuXG4uZmEtdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwMlwiO1xufVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7XG59XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiO1xufVxuXG4uZmEtdW1icmVsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTlcIjtcbn1cblxuLmZhLXVtYnJlbGxhLWJlYWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNhXCI7XG59XG5cbi5mYS11bmRlcmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2RcIjtcbn1cblxuLmZhLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTJcIjtcbn1cblxuLmZhLXVuZG8tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVhXCI7XG59XG5cbi5mYS11bmlyZWdpc3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNFwiO1xufVxuXG4uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5YVwiO1xufVxuXG4uZmEtdW5pdmVyc2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiO1xufVxuXG4uZmEtdW5saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XG59XG5cbi5mYS11bmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWNcIjtcbn1cblxuLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2VcIjtcbn1cblxuLmZhLXVudGFwcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDVcIjtcbn1cblxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5M1wiO1xufVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7XG59XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjtcbn1cblxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cblxuLmZhLXVzZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA2XCI7XG59XG5cbi5mYS11c2VyLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmYVwiO1xufVxuXG4uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmJcIjtcbn1cblxuLmZhLXVzZXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmNcIjtcbn1cblxuLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJkXCI7XG59XG5cbi5mYS11c2VyLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZkXCI7XG59XG5cbi5mYS11c2VyLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZVwiO1xufVxuXG4uZmEtdXNlci1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZmXCI7XG59XG5cbi5mYS11c2VyLWZyaWVuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDBcIjtcbn1cblxuLmZhLXVzZXItZ3JhZHVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDFcIjtcbn1cblxuLmZhLXVzZXItaW5qdXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyOFwiO1xufVxuXG4uZmEtdXNlci1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAyXCI7XG59XG5cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG5cbi5mYS11c2VyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAzXCI7XG59XG5cbi5mYS11c2VyLW5pbmphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA0XCI7XG59XG5cbi5mYS11c2VyLW51cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODJmXCI7XG59XG5cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5cbi5mYS11c2VyLXNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNVwiO1xufVxuXG4uZmEtdXNlci1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNlwiO1xufVxuXG4uZmEtdXNlci10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDdcIjtcbn1cblxuLmZhLXVzZXItdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA4XCI7XG59XG5cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5cbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuXG4uZmEtdXNlcnMtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA5XCI7XG59XG5cbi5mYS11c3BzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UxXCI7XG59XG5cbi5mYS11c3N1bm5haDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwN1wiO1xufVxuXG4uZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlNVwiO1xufVxuXG4uZmEtdXRlbnNpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTdcIjtcbn1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiO1xufVxuXG4uZmEtdmVjdG9yLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjYlwiO1xufVxuXG4uZmEtdmVudXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjFcIjtcbn1cblxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuXG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuXG4uZmEtdmlhY29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzN1wiO1xufVxuXG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7XG59XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFhXCI7XG59XG5cbi5mYS12aWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDkyXCI7XG59XG5cbi5mYS12aWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5M1wiO1xufVxuXG4uZmEtdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDlcIjtcbn1cblxuLmZhLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG5cbi5mYS12aWRlby1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlMlwiO1xufVxuXG4uZmEtdmloYXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmE3XCI7XG59XG5cbi5mYS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYVwiO1xufVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG59XG5cbi5mYS12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdkXCI7XG59XG5cbi5mYS12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNhXCI7XG59XG5cbi5mYS12azpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OVwiO1xufVxuXG4uZmEtdm52OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBiXCI7XG59XG5cbi5mYS12b2xsZXliYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWZcIjtcbn1cblxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG5cbi5mYS12b2x1bWUtbXV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhOVwiO1xufVxuXG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuXG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG5cbi5mYS12b3RlLXllYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3MlwiO1xufVxuXG4uZmEtdnItY2FyZGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzI5XCI7XG59XG5cbi5mYS12dWVqczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZlwiO1xufVxuXG4uZmEtd2Fsa2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NFwiO1xufVxuXG4uZmEtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU1XCI7XG59XG5cbi5mYS13YXJlaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTRcIjtcbn1cblxuLmZhLXdhdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzczXCI7XG59XG5cbi5mYS13YXZlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZVwiO1xufVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiO1xufVxuXG4uZmEtd2VlYmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNjXCI7XG59XG5cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuXG4uZmEtd2VpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk2XCI7XG59XG5cbi5mYS13ZWlnaHQtaGFuZ2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjZFwiO1xufVxuXG4uZmEtd2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG59XG5cbi5mYS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMlwiO1xufVxuXG4uZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7XG59XG5cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG5cbi5mYS13aG1jczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwZFwiO1xufVxuXG4uZmEtd2lmaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjtcbn1cblxuLmZhLXdpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MmVcIjtcbn1cblxuLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiO1xufVxuXG4uZmEtd2luZG93LW1heGltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7XG59XG5cbi5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjtcbn1cblxuLmZhLXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQyXCI7XG59XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XG59XG5cbi5mYS13aW5lLWJvdHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyZlwiO1xufVxuXG4uZmEtd2luZS1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlM1wiO1xufVxuXG4uZmEtd2luZS1nbGFzcy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2VcIjtcbn1cblxuLmZhLXdpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjZlwiO1xufVxuXG4uZmEtd2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MzBcIjtcbn1cblxuLmZhLXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTRcIjtcbn1cblxuLmZhLXdvbi1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XG59XG5cbi5mYS13b3JkcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWFcIjtcbn1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjtcbn1cblxuLmZhLXdwYmVnaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTdcIjtcbn1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjtcbn1cblxuLmZhLXdwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjtcbn1cblxuLmZhLXdwcmVzc3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTRcIjtcbn1cblxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuXG4uZmEteC1yYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTdcIjtcbn1cblxuLmZhLXhib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTJcIjtcbn1cblxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjtcbn1cblxuLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7XG59XG5cbi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjtcbn1cblxuLmZhLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTllXCI7XG59XG5cbi5mYS15YW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDBcIjtcbn1cblxuLmZhLXlhbmRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxM1wiO1xufVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjtcbn1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjtcbn1cblxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjtcbn1cblxuLmZhLXllbi1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5cbi5mYS15aW4teWFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhZFwiO1xufVxuXG4uZmEteW9hc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjFcIjtcbn1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjtcbn1cblxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7XG59XG5cbi5mYS16aGlodTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzZlwiO1xufVxuXG4uc3Itb25seSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhLCAuYmNhLWljb24tLW1haWw6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5mdW5jdGlvbjo6YmVmb3JlLCAuYmNhLWljb24tLWdsb2JlOjpiZWZvcmUsIC5iY2EtaWNvbi0tYm9va21hcms6OmJlZm9yZSwgLmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSwgLmJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGU6OmJlZm9yZSwgLmJjYS1pY29uLS1wbHVzLXNxdWFyZTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3Q6OmJlZm9yZSwgLmJjYS1pY29uLS1jaGV2cm9uLWRvd246OmJlZm9yZSwgLmJjYS1pY29uLS1kZXNjOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXNjOjpiZWZvcmUsIC5iY2EtaWNvbi0tYmFjazo6YmVmb3JlLCAuYmNhLWljb24tLW5leHQ6OmJlZm9yZSwgLmJjYS1mb290ZXJfX3Nuc19fbGluay0tdHdpdHRlcjo6YmVmb3JlLCAuYmNhLWljb24tLXR3aXR0ZXI6OmJlZm9yZSwgLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSwgLmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlLCAjTWVzc2FnZUJveCAubWVzc2FnZTo6YmVmb3JlLFxuI01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI1VwZGF0ZU1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1ub3RpZmljYXRpb246OmJlZm9yZSwgI01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbiNhdXRoTWVzc2FnZTo6YmVmb3JlLFxuI0FsZXJ0TWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLWFsZXJ0OjpiZWZvcmUsIC51aS1kaWFsb2cgbGFiZWwuZXJyb3I6OmJlZm9yZSwgLmVycm9yLW1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1lcnJvcjo6YmVmb3JlLCAuYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdC1jaXJjbGU6OmJlZm9yZSwgLmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdC1kZWZhdWx0OjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci1kYXRlOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXTo6YmVmb3JlLCAuYmNhLWljb24tLWNsZWFyOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNlYXJjaF06OmJlZm9yZSwgLmJjYS1pY29uLS1zZWFyY2g6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zZXR0aW5nXTo6YmVmb3JlLCAuYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXBkYXRlOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWZpbGUtbGlzdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWRvd25dOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXVwXTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LXVwOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctbGVmdF06OmJlZm9yZSwgLmJjYS1pY29uLS1hcnJvdy1sZWZ0OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctcmlnaHRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXAtZGlyZWN0b3J5OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlOjpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtYW5jaG9yIC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlLCAuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuYmNhLWljb24tLWRyYWdnYWJsZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWljb24tLWRvd25sb2FkOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGV4dGNvcHk6OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmJjYS1pY29uLS1vcGVuOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c3dpdGNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXN3aXRjaDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWljb24tLWhvbWU6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcHBseV06OmJlZm9yZSwgLmJjYS1pY29uLS1hcHBseTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWljb24tLXBlcm1pc3Npb246OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWhlbHA6OmJlZm9yZSwgLmJjYS1pY29uLS1oZWxwOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQ6OmJlZm9yZSwgLmJjYS1pY29uLS1hZGQ6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1pY29uLS1tZW51aXRlbTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1idXR0b246OmJlZm9yZSwgLmJjYS1pY29uLS1mYXZvcml0ZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWJhY2stdG8tbGlzdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hbGlhc106OmJlZm9yZSwgLmJjYS1pY29uLS1hbGlhczo6YmVmb3JlLCAuYmNhLWljb24tLWxpbms6OmJlZm9yZSwgLmJjYS1pY29uLS1yZW5hbWU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSwgLmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWljb24tLWNvcHk6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1pY29uLS1lZGl0OjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1lZGl0OjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXB1Ymxpc2g6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10b29sc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdG9vbHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1wbHVnaW5dIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXBsdWdpbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS10aGVtZTo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zaXRlczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXVzZXJzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS11c2Vyczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zaXRlY29uZmlnczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlXSAuYmNhLW5hdl9fc3lzdGVtLWl0ZW0tbGlzdC10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b246OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1zeXN0ZW1dIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tY29udGVudHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1kYXNoYm9hcmRdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGFzaGJvYXJkOjpiZWZvcmUsXG4uZmFzIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLWJyYW5kcy00MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLWJyYW5kcy00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtYnJhbmRzLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG4uZmFiIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG59XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS44LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXJlZ3VsYXItNDAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1yZWd1bGFyLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtcmVndWxhci00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXJlZ3VsYXItNDAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKipcbiAqXG4gKiDlt6bjg4rjg5NcbiAqXG4gKi9cbi8qKlxuICpcbiAqIOW3puODiuODk++8iOioreWumu+8iVxuICpcbiAqL1xuLyoqXG4gKlxuICog44Oc44K/44Oz44Ki44Kk44Kz44OzXG4gKlxuICovXG4vKipcbiAqXG4gKiDjg5Xjgqnjg7zjg6DplqLpgKNcbiAqXG4gKi9cbi8qKlxuICpcbiAqIOODquOCueODiOmWoumAo1xuICpcbiAqL1xuLyoqXG4gKlxuICog44Ko44Op44O8IC8g44Ki44Op44O844OI6KGo56S6XG4gKlxuICovXG4vKipcbiAqXG4gKiBTTlNcbiAqXG4gKi9cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSBpOmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1pY29uOmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWw6YmVmb3JlLCAuYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsOmJlZm9yZSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1kYXNoYm9hcmRdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGFzaGJvYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1jb250ZW50c10gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1jb250ZW50czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGVdIC5iY2EtbmF2X19zeXN0ZW0taXRlbS1saXN0LXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLXRpdGxlIGJ1dHRvbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPXN5c3RlbV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zeXN0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zaXRlY29uZmlnczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXVzZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2l0ZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS10aGVtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmNcIjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9cGx1Z2luXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1wbHVnaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU2XCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRvb2xzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS10b29sczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdW5wdWJsaXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YlwiO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmJjYS1pY29uLS1wcmV2aWV3OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1pY29uLS1lZGl0OjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1lZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1pY29uLS1jb3B5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSwgLmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjtcbn1cbi5iY2EtaWNvbi0tcmVuYW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NlwiO1xufVxuLmJjYS1pY29uLS1saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hbGlhc106OmJlZm9yZSwgLmJjYS1pY29uLS1hbGlhczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjBcIjtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGgtbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYmFjay10by1saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtdGl0bGUtYnV0dG9uOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmF2b3JpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuYmNhLWljb24tLW1lbnVpdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWFkZDo6YmVmb3JlLCAuYmNhLWljb24tLWFkZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTVcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1oZWxwOjpiZWZvcmUsIC5iY2EtaWNvbi0taGVscDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTlcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5iY2EtaWNvbi0tcGVybWlzc2lvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjNcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXBwbHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXBwbHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWljb24tLWhvbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXN3aXRjaF06OmJlZm9yZSwgLmJjYS1pY29uLS1zd2l0Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY2XCI7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlLCAuYmNhLWljb24tLW9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWljb24tLXRleHRjb3B5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1pY29uLS1kb3dubG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZHJhZ2dhYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mb2xkZXJdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1hbmNob3IgLmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXAtZGlyZWN0b3J5XTo6YmVmb3JlLCAuYmNhLWljb24tLXVwLWRpcmVjdG9yeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctcmlnaHRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctbGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctdXBdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWRvd25dOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWZpbGUtbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXBkYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zZXR0aW5nXTo6YmVmb3JlLCAuYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zZWFyY2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2VhcmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y2xlYXJdOjpiZWZvcmUsIC5iY2EtaWNvbi0tY2xlYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuLmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdC1kZWZhdWx0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtdHlwZT1jaXJjbGVdIC5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3QtY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLnVpLWRpYWxvZyBsYWJlbC5lcnJvcjo6YmVmb3JlLCAuZXJyb3ItbWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLWVycm9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuI01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbiNhdXRoTWVzc2FnZTo6YmVmb3JlLFxuI0FsZXJ0TWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLWFsZXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuI01lc3NhZ2VCb3ggLm1lc3NhZ2U6OmJlZm9yZSxcbiNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNVcGRhdGVNZXNzYWdlOjpiZWZvcmUsIC5iY2EtaWNvbi0tbm90aWZpY2F0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YVwiO1xufVxuLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSwgLmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSwgLmJjYS1pY29uLS10d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIvCdlY9cIjtcbn1cbi5iY2EtaWNvbi0tbmV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5iY2EtaWNvbi0tYmFjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbi5iY2EtaWNvbi0tYXNjOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuLmJjYS1pY29uLS1kZXNjOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmJjYS1pY29uLS1jaGV2cm9uLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG4uYmNhLWljb24tLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG59XG4uYmNhLWljb24tLXBsdXMtc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuLmJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uYmNhLWljb24tLW1pbnVzLXNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbi5iY2EtaWNvbi0tYm9va21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG4uYmNhLWljb24tLWdsb2JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZFwiO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5mdW5jdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDFcIjtcbn1cbi5iY2EtaWNvbi0tbWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cblxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT11c2Vyc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXNlcnM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2l0ZXM6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1pY29uLS1wdWJsaXNoOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdW5wdWJsaXNoOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWljb24tLWNvcHk6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSwgLmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlLCAuYmNhLWljb24tLWFwcGx5OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlOjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci1kYXRlOjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYmNhLWZvb3Rlcl9fc25zX19saW5rLS1mYWNlYm9vazo6YmVmb3JlLCAuYmNhLWljb24tLWZhY2Vib29rOjpiZWZvcmUsIC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSwgLmJjYS1pY29uLS10d2l0dGVyOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBCcmFuZHNcIjtcbn1cblxuLyogZGlzcGxheVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qLmRpc3BsYXktbm9uZSB7XG5cdGRpc3BsYXk6bm9uZTtcbn0qL1xuLyogdGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4ud2VpZ2h0LW5vcm1hbCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xufVxuLndlaWdodC1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6Ym9sZCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbCB7XG5cdGZvbnQtc2l6ZTpzbWFsbCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbGVyIHtcblx0Zm9udC1zaXplOiB4LXNtYWxsIWltcG9ydGFudDtcbn1cbi5zaXplLW1lZGl1bSB7XG5cdGZvbnQtc2l6ZTptZWRpdW0haW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2Uge1xuXHRmb250LXNpemU6bGFyZ2UhaW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2VyIHtcblx0Zm9udC1zaXplOiB4LWxhcmdlIWltcG9ydGFudDtcbn0qL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmJjLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLyogZmxvYXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKi5mbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6bGVmdDtcbn1cbi5mbG9hdC1yaWdodCB7XG5cdGZsb2F0OnJpZ2h0O1xufVxuLmltZy1yaWdodCB7XG5cdGZsb2F0OnJpZ2h0O1xuXHRtYXJnaW4tbGVmdDoxMHB4O1xuXHRtYXJnaW4tYm90dG9tOjEwcHg7XG59XG4uaW1nLWxlZnQge1xuXHRmbG9hdDpsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6MTBweDtcblx0bWFyZ2luLWJvdHRvbToxMHB4O1xufSovXG4vKiBjbGVhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qLmNsZWFyIHtcblx0Y2xlYXI6Ym90aDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdGhlaWdodDogMDtcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSovXG4vKiDnuKbmlrnlkJHkuK3lpK7mj4PjgYhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKi52ZXJ0aWNhbC1taWRkbGV7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlIWltcG9ydGFudDtcbn1cbi52ZXJ0aWNhbC1taWRkbGUgLmlubmVye1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZSFpbXBvcnRhbnQ7XG5cdFx0dG9wOiA1MCUhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IC0xZW0haW1wb3J0YW50O1xufSovXG4vKlxuLnJlcXVpcmVkIHtcblx0Y29sb3I6I0MzMDtcblx0Zm9udC1zaXplOjE2cHg7XG59XG4qL1xuLnBob3RvIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4ub3V0c2lkZS1saW5rIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9hZG1pbi9ibHRfb3V0c2lkZV9saW5rLnBuZykgbm8tcmVwZWF0IGxlZnQgLTFweDtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xufVxuXG4vKi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6MTAwJTtcbn0qL1xuI3Zha2F0YS1kbmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuI3Zha2F0YS1kbmQgZGl2IHtcbiAgcGFkZGluZy1yaWdodDogMTRweCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIENha2VcXFZpZXdcXEhlbHBlclxcRm9ybUhlbHBlclxuICogQG1ldGhvZCBlcnJvcigp55SoXG4gKiBgZXJyb3JgLCBgZXJyb3JMaXN0YCBhbmQgYGVycm9ySXRlbWAgdGVtcGxhdGVz44GranPjgadzdHlsZeOCkui/veWKoOOBmeOCi+eUqFxuICovXG4uZXJyb3Itd3JhcCB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjNmZhODNkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbjpyb290IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiwgXCLjg6HjgqTjg6rjgqpcIiwgVmVyZGFuYSwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbn1cblxuYm9keSB7XG4gIG1pbi13aWR0aDogOTYwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBib2R5IHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gIH1cbn1cblxuYm9keSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyog5penQ1NT44GL44KJ44Gu5pyq5pW055CG5YiGXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVwbG9hZC1maWxlIGlucHV0W3R5cGU9ZmlsZV0ge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi51cGxvYWQtZmlsZSBhIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5lZGl0LWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uZWRpdC1saW5rIGEge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMUM5OEQ0O1xuICBjb2xvcjogIzFDOThENDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmVkaXQtbGluayBhOmhvdmVyIHtcbiAgY29sb3I6ICMxQzk4RDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZXJyb3ItbWVzc2FnZSB7XG4gIGNvbG9yOiAjQzMwO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMjAwMTQgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZXJyb3I6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjZjIwMDE0ICFpbXBvcnRhbnQ7XG59XG5cbi5lcnJvciB7XG4gIGNvbG9yOiAjQzMwO1xufVxuXG4uZXJyb3IgZW0ge1xuICBjb2xvcjogIzA2QztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogZm9ybS10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5saXN0LXRhYmxlIC5lcnJvci1tZXNzYWdlIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQgc21hbGwge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzMDtcbiAgY29sb3I6ICNDMzA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMzA7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi8qIGVkaXQgZm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lZGl0b3ItYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogd2FpdGluZy1ib3hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2FpdGluZy1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gIC1tb3otb3BhY2l0eTogMC42O1xufVxuXG4ud2FpdGluZy1ib3ggZGl2IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbn1cblxuLndhaXRpbmctYm94IGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIGVtLWJveFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRyZWUgZW1wdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udHJlZS1lbXB0eSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiAjNTM1QTYyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4ubm8tZGF0YSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpemUtY291bnRlciB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLnNpemUtY291bnRlciBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICNDQ0M7XG59XG5cbi8qIHBocGluZm9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGhwaW5mbyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG5cbi8qIHVpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLWxlZnQsIC51aS1jb3JuZXItdGwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG59XG5cbi51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLXRvcCwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci10ciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbi5jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItYm90dG9tLCAudWktY29ybmVyLWxlZnQsIC51aS1jb3JuZXItYmwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG59XG5cbi51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLWJvdHRvbSwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci1iciB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLXRvcCwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci10ciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi8qIENyZWRpdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNDcmVkaXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogOTQ1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDkwO1xuICBvcGFjaXR5OiAwLjg1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODUpOyAvKiBJRSBsdCA4ICovXG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjsgLyogSUUgOCAqL1xuICAta2h0bWwtb3BhY2l0eTogMC44NTsgLyogU2FmYXJpIDEueCAqL1xuICAtbW96LW9wYWNpdHk6IDAuODU7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jQ3JlZGl0SW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHtcbiAgcGFkZGluZzogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIGgxIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIGgyIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgeG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbiNDcmVkaXRTY3JvbGxlciB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHVsIGxpIHtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbiNDcmVkaXRTY3JvbGxlciB1bCBsaSBhIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbiNDcmVkaXRTY3JvbGxlciAuc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG5cbiNDcmVkaXRTY3JvbGxlcklubmVyIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNDcmVkaXRTY3JvbGxlcklubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgUGFnZXNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaXN0LXRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxpc3QtdGFibGUgLnBhZ2Utc3RhdHVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBUcmVlTGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNQYWdlVHJlZUxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbiNUcmVlTGlzdCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuI1RyZWVMaXN0IGEge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGE6aG92ZXIge1xuICBjb2xvcjogI0FBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jY2JveENvbnRlbnQgYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZmlsZXRyZWUgc3Bhbi5mb2xkZXIsXG4uZmlsZXRyZWUgc3Bhbi5maWxlIHtcbiAgcGFkZGluZzogMXB4IDAgMXB4IDE4cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBJbnN0YWxsYXRpb25zXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI0luc3RhbGxhdGlvbnMgbGkuY2hlY2sge1xuICBjb2xvcjogI0NDQztcbn1cblxuI0luc3RhbGxhdGlvbnMgbGkuZmFpbGVkIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjRTAyO1xuICBjb2xvcjogI0YwMztcbn1cblxuI0luc3RhbGxhdGlvbnMgLmNoZWNrLXJlc3VsdCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuY2hlY2stcmVzdWx0IHNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4jSW5zdGFsbGF0aW9ucyBpbnB1dFt0eXBlPXRleHRdLFxuI0luc3RhbGxhdGlvbnMgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4jSW5zdGFsbGF0aW9ucyB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogM3B4IDVweDtcbn1cblxuI0luc3RhbGxhdGlvbnMgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuc3RlcC0xIHtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19pbnN0YWxsLnBuZykgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbSAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVXBkYXRlcnNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgRGFzaGJvYXJkXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0LFxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgcGFkZGluZzogMDtcbn1cblxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0IGEsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLnByZXYgYSB7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiBzcGFuIHNwYW4gYSxcbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVGhlbWVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuI1BhZ2VUcmVlTGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbiNUcmVlTGlzdCBhIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbiNUcmVlTGlzdCBhOmhvdmVyIHtcbiAgY29sb3I6ICNBQUE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLXN0YXRlLWRlZmF1bHQgYSwgLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLCAudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI0NvbnRlbnRzRm9ybVRhYnMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4jQ29udGVudHNGb3JtVGFicyAudWktdGFicy1wYW5lbCB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuI0NvbnRlbnRzRm9ybVRhYnMgdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgQ29udGVudHNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4jRGF0YUxpc3QgdGQgLmFsaWFzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FsaWFzX2xheWVyZC5wbmdcIik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMzJweDtcbn1cblxuI1JlbGF0ZWRDb250ZW50c1NldHRpbmcgLmJjYS1idG4taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuI1JlbGF0ZWRDb250ZW50c1NldHRpbmcgLmljb24tYWRkLWxheWVyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2FkbWluL2ljb25fYWRkX2xheWVyZC5wbmdcIik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xufVxuXG4jQ29udGVudHNGb3JtVGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBDa0VkaXRvclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ja2VfY2hyb21lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ja2VfdG9wLCAuY2tlX2JvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICNFRkVGRUYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0VGRUZFRiwgI0VFRSkgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIEV0Y1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi5oZWxwdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5leWVjYXRjaC1saXN0IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI0Jhc2ljU2V0dGluZyAudXJsLFxuI0Jsb2dQb3N0Rm9ybSAudXJsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4jQmFzaWNTZXR0aW5nIC51cmwgYSB7XG4gIGNvbG9yOiAjOUMwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4jU2VjdGlvbkxhbmdBY2Nlc3NUeXBlIGxhYmVsLCAjU2VjdGlvbkRldmljZUFjY2Vzc1R5cGUgbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBjb250ZXh0LW1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29udGV4dC1tZW51LWljb24tZWRpdDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuXG4uY29udGV4dC1tZW51LWljb24tZGVsZXRlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG5cbi5jb250ZXh0LW1lbnUtaWNvbjo6YmVmb3JlIHtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbn1cblxuLmNvbnRleHQtbWVudS1pdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMi40ZW07XG4gIHBhZGRpbmc6IDAgMmVtIDAgMi40ZW07XG4gIGhlaWdodDogMi40ZW07XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2ZmZjtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG5cbi5jb250ZXh0LW1lbnUtaXRlbSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG59XG5cbi5jb250ZXh0LW1lbnUtaG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZXh0LW1lbnUtbGlzdCB7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbn1cblxuLmRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5iY2Etc21hbGwtbG9hZGVyIHtcbiAgd2lkdGg6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiNVcGxvYWRlckZvcm0gLnVwbG9hZGVyLWZpbGUtZmlsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5iY2Etc2VhcmNoX19idG5zIC5iY2EtYnRuLWxnIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmJjYS1hcHAge1xuICBkaXNwbGF5OiBncmlkO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iY2EtYXBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmJjYS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmJjYS1tYWluIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5iY2EtbWFpbl9fYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmJjYS1tYWluX19jb250ZW50cyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iY2EtbWFpbl9fY29udGVudHMge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLmJjYS1tYWluX19oZWFkZXIge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG4uYmNhLW1haW5fX2hlYWRlci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG59XG4uYmNhLW1haW5fX2hlYWRlci1hY3Rpb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5iY2EtbWFpbl9faGVhZGVyLW1lbnUge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cbi5iY2EtbWFpbl9fc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uYmNhLW1haW5fX2hlYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxZW0gMWVtIDA7XG4gIHBhZGRpbmc6IDAuMjVlbSAwIDAuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5iY2EtbWFpbl9faGVhZGluZ1tkYXRhLWJjYS1oZWFkaW5nLXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmJjYS1tYWluX19oZWFkaW5nW2RhdGEtYmNhLWhlYWRpbmctc2l6ZT1tZF0ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtbWFpbl9fdGV4dCB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5iY2EtbWFpbiBwcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cbi5iY2EtbWFpbiBjb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cbi5iY2EtbWFpbl9fbnVtYmVyLWxpc3QgbGkge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmJjYS1pY29uLS1kYXNoYm9hcmQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tY29udGVudHM6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXNpdGVjb25maWdzOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXVzZXJzOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXNpdGVzOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXRoZW1lOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXBsdWdpbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS10b29sczo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1wdWJsaXNoOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1wcmV2aWV3OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWVkaXQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tY29weTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tdGgtbGlzdDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZmF2b3JpdGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbWVudWl0ZW06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYWRkOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWhlbHA6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcGVybWlzc2lvbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1hcHBseTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1ob21lOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXN3aXRjaDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1vcGVuOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXRleHRjb3B5OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWRvd25sb2FkOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWRyYWdnYWJsZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS11cC1kaXJlY3Rvcnk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXJyb3ctbGVmdDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1hcnJvdy11cDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1hcnJvdy1kb3duOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWZpbGUtbGlzdDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS11cGRhdGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tc2V0dGluZzo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1zZWFyY2g6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tY2xlYXI6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWxpc3QtZGVmYXVsdDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1saXN0LWNpcmNsZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1lcnJvcjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1hbGVydDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1ub3RpZmljYXRpb246OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1uZXh0OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWJhY2s6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXNjOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWRlc2M6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tY2hldnJvbi1kb3duOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWxpc3Q6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcGx1cy1zcXVhcmU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcXVlc3Rpb24tY2lyY2xlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLW1pbnVzLXNxdWFyZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1ib29rbWFyazo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1hbGlhczo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1yZW5hbWU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbGluazo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1nbG9iZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1tYWlsOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG5cbltjbGFzcyo9YmNhLWljb25dIC5iY2EtaWNvbi1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltjbGFzc149YmNhLWljb25dW2RhdGEtYmNhLWljb24tc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDIuNHJlbTtcbn1cbltjbGFzc149YmNhLWljb25dW2RhdGEtYmNhLWljb24tc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbltjbGFzc149YmNhLWljb25dW2RhdGEtYmNhLWljb24tc2l6ZT14c10ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIEhlYWRlclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNIZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xufVxuXG4vKiBMb2dvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI0xvZ28ge1xuICBwYWRkaW5nOiAxMHB4IDQwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBGb290ZXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmNhLWZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzMyYztcbn1cbi5iY2EtZm9vdGVyX19pbm5lciB7XG4gIG1pbi13aWR0aDogOTYwcHg7XG4gIHBhZGRpbmctdG9wOiAzN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iY2EtZm9vdGVyX19pbm5lciB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICB9XG59XG4uYmNhLWZvb3Rlcl9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJjYS1mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogODJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5iY2EtZm9vdGVyX19iYW5uZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLWZvb3Rlcl9fYmFubmVyX19pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1mb290ZXJfX2Jhc2VyLXZlcnNpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmJjYS1mb290ZXJfX2Jhbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJjYS1mb290ZXJfX2Jhbm5lcl9faXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4uYmNhLWZvb3Rlcl9fc25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLWZvb3Rlcl9fc25zX19pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDVweDtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZmE4M2Q7XG59XG4uYmNhLWZvb3Rlcl9fc25zX19saW5rOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Y1RDkzO1xufVxuLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLmJjYS1mb290ZXJfX3Nuc19fbGluay0tdHdpdHRlcjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1mb290ZXJfX2xpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDM4cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmJjYS1mb290ZXJfX2xpbmtzX19pdGVtIHtcbiAgcGFkZGluZzogMCAxZW07XG59XG4uYmNhLWZvb3Rlcl9fbGlua3NfX2l0ZW0gYTpsaW5rLCAuYmNhLWZvb3Rlcl9fbGlua3NfX2l0ZW0gYTp2aXNpdGVkLCAuYmNhLWZvb3Rlcl9fbGlua3NfX2l0ZW0gYTphY3RpdmUge1xuICBjb2xvcjogI2NjYztcbn1cbi5iY2EtZm9vdGVyX19saW5rc19faXRlbSBhOmhvdmVyIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG4uYmNhLWZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmNhLWZvb3Rlcl9faW5uZXItLWZ1bGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4IDIwcHggN3B4IDEycHg7XG59XG4uYmNhLWZvb3Rlcl9faW5uZXItLWZ1bGwgLmJjYS1mb290ZXJfX21haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJjYS1mb290ZXJfX2lubmVyLS1mdWxsIC5iY2EtZm9vdGVyX19tYWluIC5iY2EtZm9vdGVyX19iYXNlci12ZXJzaW9uIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS1mb290ZXJfX2lubmVyLS1mdWxsIC5iY2EtZm9vdGVyX19tYWluIC5iY2EtZm9vdGVyX19iYW5uZXIge1xuICBtYXJnaW46IDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIGJhc2VyQ01TIFRvb2xiYXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGF1dG87XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbmJvZHkge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5iY2EtdG9vbGJhciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBiYXNlckNNUyBUb29sYmFyXCIsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYsIFwi44Oh44Kk44Oq44KqXCIsIFZlcmRhbmEsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxNTAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcixcbi5iY2EtdG9vbGJhciAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYmNhLXRvb2xiYXJfX2JvZHkge1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzMyYyAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyIC5iY2EtdG9vbGJhcl9fbG9nbyB7XG4gIGZsZXg6IDAgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxMnB4IDAgMTJweCAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyIC5iY2EtdG9vbGJhcl9fbG9nby1saW5rIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyIC5iY2EtdG9vbGJhcl9fbG9nby1zeW1ib2wge1xuICBwYWRkaW5nOiA0cHggN3B4IDRweCA0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyMXB4O1xufVxuLmJjYS10b29sYmFyIC5iY2EtdG9vbGJhcl9fbG9nby10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX190b29scyB7XG4gIGZsZXg6IDEgMCBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uIGEge1xuICBtYXJnaW46IDhweCAwLjNlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAzcHggOHB4IDNweCA1cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uIGE6OmJlZm9yZSB7XG4gIG1hcmdpbjogMCAwLjRlbSAwIDAuMmVtICFpbXBvcnRhbnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmJjYS10b29sYmFyX190b29scy1idXR0b24gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjY2MgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uLWFkZCBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuLmJjYS10b29sYmFyX190b29scy1idXR0b24tZWRpdCBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuLmJjYS10b29sYmFyX190b29scy1idXR0b24tcHVibGlzaCBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuLmJjYS10b29sYmFyX190b29scy1tb2RlIHNwYW4ge1xuICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAzcHggOHB4IDNweCA1cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjIwMDE0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzIC5iYy1idG4sIC5iY2EtdG9vbGJhcl9fdG9vbHMgLmJjLWJ0biB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaSwgLmJjYS10b29sYmFyX190b29scyA+IHVsID4gbGkge1xuICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkgPiBhLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAwIDAgMCAjY2NjICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAycHggMjBweCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpID4gYTpob3ZlciwgLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkgPiBhOmZvY3VzLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpID4gdWwsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpID4gdWwge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaS5hY3RpdmUsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkuYWN0aXZlID4gYSwgLmJjYS10b29sYmFyX190b29scyA+IHVsID4gbGkuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkuYWN0aXZlID4gdWwsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4IDAgMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggI2NjYyAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCBsaSwgLmJjYS10b29sYmFyX190b29scyA+IHVsID4gbGkuYWN0aXZlID4gdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIGEsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIGEge1xuICBib3gtc2hhZG93OiAwIDAgMCAjY2NjICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTM1YTYyICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDJweCAyMHB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIGE6aG92ZXIsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmZhODNkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5iY2EtbmF2IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZsZXgtYmFzaXM6IDIwOHB4O1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xufVxuLmJjYS1uYXZfX21haW4ge1xuICBmb250LXNpemU6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xufVxuLmJjYS1uYXZfX21haW4tdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJjYS1uYXZfX3N1YiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWE7XG59XG4uYmNhLW5hdl9fc3ViLFxuLmJjYS1uYXZfX3N1YiAqLFxuLmJjYS1uYXZfX3N1YiAqOjpiZWZvcmUsXG4uYmNhLW5hdl9fc3ViICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5iY2EtbmF2X19tYWluID4gLmJjYS1uYXZfX3N1YjpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICBmb250LXdlaWdodDogOTAwO1xufVxuLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAxMHB4IDAgMCAhaW1wb3J0YW50O1xufVxuLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbDpsaW5rLCAuYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsOnZpc2l0ZWQge1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWw6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zdWItdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbn1cbi5iY2EtbmF2X19zdWItbGlzdC1pdGVtIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICBjb2xvcjogIzQyNGY0NDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNWVtICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cbi5iY2EtbmF2X19zdWItbGlzdC1pdGVtIGE6bGluaywgLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW0gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOmxpbms6YWZ0ZXIsIC5iY2EtbmF2X19zdWItbGlzdC1pdGVtIGE6dmlzaXRlZDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5iY2EtbmF2X19zdWItbGlzdC1pdGVtIGE6aG92ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWItbGlzdC1pdGVtIGE6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4uYmNhLW5hdl9fc3ViOmhvdmVyIC5iY2EtbmF2X19zdWItbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xuICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB6LWluZGV4OiAxMDtcbn1cbi5iY2EtbmF2X19zdWI6aG92ZXIgLmJjYS1uYXZfX3N1Yi1saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyMDtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAtMjBweDtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlZWVlZWEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zdWItdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi10aXRsZSB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIHBhZGRpbmc6IDA7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhIHtcbiAgcGFkZGluZzogNnB4IDIwcHggNXB4IDM1cHg7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIHtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zdWItbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSBhIHtcbiAgcGFkZGluZzogMTNweCAyMHB4IDExcHggMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gYTpsaW5rLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXTpob3ZlciAuYmNhLW5hdl9fc3ViLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTpiZWZvcmUge1xuICB3aWR0aDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWRhc2hib2FyZF0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPXN5c3RlbV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG5bZGF0YS1iY2Etc3RhdGU9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS10aXRsZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tdGl0bGUge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXRpdGxlIGJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEycHggMTBweCAxMnB4IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXRpdGxlIGJ1dHRvbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS10aXRsZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IDAuMXMgYWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS10aXRsZS1pY29uOjpiZWZvcmUge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbTpob3ZlciAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWE7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHotaW5kZXg6IDEwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW06aG92ZXIgLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjA7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogLTIwcHg7XG4gIGJvcmRlcjogMTBweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZWVlZWVhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmc6IDEycHggMTBweCAxMnB4IDEwcHg7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZS1sYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWw6bGluaywgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWw6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWw6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlLWxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbSB7XG4gIG1hcmdpbjogMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbSBhIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICBjb2xvcjogIzQyNGY0NDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0gYTpob3ZlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS10aXRsZSB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0gYSB7XG4gIHBhZGRpbmc6IDZweCAyMHB4IDVweCAzNXB4O1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdC1pdGVtW2RhdGEtc3ViLWl0ZW0taXMtY3VycmVudD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1pdGVtLWlzLWN1cnJlbnQ9dHJ1ZV0gYSB7XG4gIHBhZGRpbmc6IDEzcHggMjBweCAxMXB4IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXTpob3ZlciAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZV0gLmJjYS1uYXZfX3N5c3RlbS1pdGVtLWxpc3QtdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIHdpZHRoOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9cGx1Z2luXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dG9vbHNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbSB7XG4gIG1hcmdpbjogMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbSBhIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICBjb2xvcjogIzQyNGY0NDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0gYTpob3ZlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW1bZGF0YS1zdWItaXRlbS1pcy1jdXJyZW50PXRydWVdIHtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1pdGVtLWlzLWN1cnJlbnQ9dHJ1ZV0gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbn1cbi5iY2EtbmF2X191cGRhdGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbn1cbi5iY2EtbmF2X191cGRhdGUtYmFkZ2Uge1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uYmNhLW5hdi1mYXZvcml0ZSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2VlZWVlYTtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuW2RhdGEtYmNhLXN0YXRlPW9wZW5dIC5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtdGl0bGUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNpdGlvbjogMC4xcyBhbGw7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDAgNHB4IDIxcHg7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1saXN0LWl0ZW0ge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHggMjBweCA1cHggMTRweDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1saXN0LWl0ZW0gYTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1saXN0LWl0ZW0gYTpsaW5rLCAuYmNhLW5hdi1mYXZvcml0ZS1saXN0LWl0ZW0gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1saXN0LWl0ZW0gYTpob3ZlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWFkZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzZmYTgzZDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1oZWxwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNmZhODNkO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1oZWxwOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdi1mYXZvcml0ZSAubm8tZGF0YSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM2ZmE4M2Q7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuLmJjYS1idG4taWNvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXBwbHldOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjM5NTM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzZmYTgzZCAxMCUsICM2Mzk1MzYgMTAwJSk7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXTpob3ZlciwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl06Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCM2Mzk1MzYgMTAlLCAjNjM5NTM2IDEwMCUpO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mb2xkZXJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwLWRpcmVjdG9yeV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctcmlnaHRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXVwXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1maWxlLWxpc3RdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwZGF0ZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c2V0dGluZ106OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc2l6ZT14c10ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNmZhODNkO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9d2hpdGVdIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9d2hpdGVdOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz13aGl0ZV06aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz13aGl0ZV06aG92ZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPWdyYXldIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9Z3JheV06OmJlZm9yZSB7XG4gIGNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPWdyYXldOmhvdmVyIHtcbiAgY29sb3I6ICNlZWVlZWE7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9Z3JheV06aG92ZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS1idG4taWNvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogI2FhYTtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuXG4uYmNhLWJ0bi1pY29uLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuLmJjYS1idG4taWNvbi10ZXh0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xufVxuLmJjYS1idG4taWNvbi10ZXh0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjM5NTM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzZmYTgzZCAxMCUsICM2Mzk1MzYgMTAwJSk7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dOmhvdmVyLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjNjM5NTM2IDEwJSwgIzYzOTUzNiAxMDAlKTtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDIuNHJlbTtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tc2l6ZT14c10ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGlzYWJsZWRdIHtcbiAgY29sb3I6ICNhYWE7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cblxuLyogQmFubmVyQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtYmFubmVyc19fdWwge1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1iYW5uZXJzX19saSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogYmNhLWFjdGlvbi10YWJsZS1saXN0dXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLWFjdGlvbi10YWJsZS1saXN0dXAgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5iY2EtYWN0aW9uLXRhYmxlLWxpc3R1cCBzZWxlY3QgKyBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMV0gdGhlYWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTFdIHRib2R5IHRoLCAuYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTFdIHRib2R5IHRkIHtcbiAgcGFkZGluZzogNXB4O1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUxXSB0Ym9keSB0aCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0ge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gdGgsIC5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gdGQge1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRoZWFkIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRib2R5IHRoLCAuYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gdGJvZHkgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5jZWwxIHtcbiAgd2lkdGg6IDEyMHB4O1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWN1cnJlbnRyb3cgdGgsIC5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1jdXJyZW50cm93IHRkIHtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbn1cblxuLyogbGlzdC10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtdGFibGUtbGlzdHVwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWE7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1tYWluLWJvZHkgLmJjYS10YWJsZS1saXN0dXAge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoLCAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGgsIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gIHBhZGRpbmc6IDFlbSAxZW0gMWVtIDAuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudHIgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG50ciAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgtLXNlbGVjdCB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG50ciAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgtLXNlbGVjdCBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbn1cbnRyIC5iY2EtdGFibGUtbGlzdHVwX190aGVhZC10aC0tc2VsZWN0IGEge1xuICBjb2xvcjogIzZmYTgzZDtcbn1cbnRyIC5iY2EtdGFibGUtbGlzdHVwX190aGVhZC10aC0tc2VsZWN0IGEgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSB7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX2Ege1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX19hIC5iY2EtaWNvbi0tYXNjLFxuLmJjYS10YWJsZS1saXN0dXBfX2EgLmJjYS1pY29uLS1kZXNjIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX19hIC5iY2EtaWNvbi0tYXNjOmJlZm9yZSxcbi5iY2EtdGFibGUtbGlzdHVwX19hIC5iY2EtaWNvbi0tZGVzYzpiZWZvcmUge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX19hOmhvdmVyIC5iY2EtaWNvbi0tYXNjLFxuLmJjYS10YWJsZS1saXN0dXBfX2E6aG92ZXIgLmJjYS1pY29uLS1kZXNjLCAuYmNhLXRhYmxlLWxpc3R1cF9fYS5hc2MgLmJjYS1pY29uLS1hc2MsXG4uYmNhLXRhYmxlLWxpc3R1cF9fYS5hc2MgLmJjYS1pY29uLS1kZXNjLCAuYmNhLXRhYmxlLWxpc3R1cF9fYS5kZXNjIC5iY2EtaWNvbi0tYXNjLFxuLmJjYS10YWJsZS1saXN0dXBfX2EuZGVzYyAuYmNhLWljb24tLWRlc2Mge1xuICBvcGFjaXR5OiAxO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX2ltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGgsIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG50cjpob3ZlciAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGgsIHRyOmhvdmVyIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10aCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS1zZWxlY3Qge1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogMTIuNXB4O1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS1zZWxlY3QgaW5wdXQge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLXRpdGxlIHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLWNhdGVnb3J5IHtcbiAgbWluLXdpZHRoOiAxMDBweDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tdGFnIHtcbiAgbWluLXdpZHRoOiAxMDBweDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tdGFnIC50YWc6YWZ0ZXIge1xuICBjb250ZW50OiBcIiwgXCI7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLXRhZyAudGFnOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS1kYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tYWN0aW9ucyB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tYWN0aW9ucyAuYmNhLWJ0bi1pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIHRyLnVpLXNvcnRhYmxlLWhlbHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRhYmxlLWxpc3R1cCB0ci51aS1zb3J0YWJsZS1oZWxwZXIgdGQge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIHRyLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI0NSwgMjAzLCAwLjg0KSAhaW1wb3J0YW50O1xufVxuLmJjYS10YWJsZS1saXN0dXAgLmRpc2FibGVyb3cgdGgsIC5iY2EtdGFibGUtbGlzdHVwIC5kaXNhYmxlcm93IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cbi5iY2EtdGFibGUtbGlzdHVwIC5leWVfY2F0Y2gtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuLmJjYS10YWJsZS1saXN0dXAgLmV5ZV9jYXRjaCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgd2lkdGg6IDUwcHg7XG59XG4uYmNhLXRhYmxlLWxpc3R1cCAuZXllX2NhdGNoIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJjYS10YWJsZS1saXN0dXAgW2RhdGEtYmNhLXRleHQtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIC5iY2EtY3VycmVudHJvdyB0aCwgLmJjYS10YWJsZS1saXN0dXAgLmJjYS1jdXJyZW50cm93IHRkIHtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi8qIENydW1iXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1jb250ZW50LW1lbnUge1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1jb250ZW50LW1lbnVfX2l0ZW0ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLmJjYS1jb250ZW50LW1lbnVfX2xpbmsge1xuICBjb2xvcjogIzQyNGY0NDtcbn1cblxuLmJjYS1jb250ZW50LWluZm9fX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLWNvbnRlbnQtaW5mb19fbGlzdCB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLWNvbnRlbnQtaW5mb19fbGlzdC1pdGVtIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5iY2EtZmVlZF9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5iY2EtZmVlZF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbi5iY2EtZmVlZF9fbGlzdC1pdGVtLWRhdGUge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLmJjYS11cGRhdGUtbG9nX19saXN0IHtcbiAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5iY2EtdXBkYXRlLWxvZ19fbGlzdC1pdGVtIHtcbiAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbi5iY2EtdXBkYXRlLWxvZ19fbGlzdC1pdGVtIC5kYXRlIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi5iY2Etc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBhbGlnbi1zZWxmOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJjYS1zZWFyY2hfX2hlYWQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLXNlYXJjaF9faGVhZCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4uYmNhLXNlYXJjaF9faGVhZCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJjYS1zZWFyY2hfX2JvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMWVtIDJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5iY2Etc2VhcmNoX19pbnB1dC1saXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLypkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyovXG59XG4uYmNhLXNlYXJjaF9faW5wdXQtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgLypmbGV4OiAwIDEgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jazsqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4ydnc7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYmNhLXNlYXJjaF9faW5wdXQtaXRlbS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAwIDRweDtcbn1cbi5iY2Etc2VhcmNoX19idG5zIHtcbiAgLypkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xuICBtYXJnaW46IDFlbSAwIDAgNHB4O1xufVxuLmJjYS1zZWFyY2hfX2J0bnMtaXRlbSB7XG4gIG1hcmdpbjogMCAxZW0gMCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIGJjYS1wYWdpbmF0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogcGFnaW5hdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYmNhLXBhZ2luYXRpb24gLmJjYS1wYWdlLW51bWJlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbi5iY2EtcGFnaW5hdGlvbiAuYmNhLXBhZ2UtcmVzdWx0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgNXB4IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4uYmNhLXBhZ2luYXRpb24gc3BhbiBhLFxuLmJjYS1wYWdpbmF0aW9uIHNwYW4gc3BhbiBhLFxuLmJjYS1wYWdpbmF0aW9uIC5kaXNhYmxlZCxcbi5iY2EtcGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAyOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5iY2EtcGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbn1cbi5iY2EtcGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICBjb2xvcjogI2NjYyAhaW1wb3J0YW50O1xufVxuLmJjYS1wYWdpbmF0aW9uIHNwYW4gc3BhbiBhIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLXBhZ2luYXRpb24gc3BhbiBzcGFuIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5iY2EtcGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmJjYS1wYWdpbmF0aW9uIC5uZXh0LCAuYmNhLXBhZ2luYXRpb24gLnByZXYge1xuICBib3JkZXItY29sb3I6ICNlZWVlZWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG59XG4uYmNhLXBhZ2luYXRpb24gLm5leHQgYSwgLmJjYS1wYWdpbmF0aW9uIC5wcmV2IGEge1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS1wYWdpbmF0aW9uIC5uZXh0IGE6aG92ZXIsIC5iY2EtcGFnaW5hdGlvbiAucHJldiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLXBhZ2luYXRpb24gLmRpc2FibGVkLFxuLmJjYS1wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBib3JkZXItY29sb3I6ICNlZWVlZWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG59XG5cbi8qIGJjYS10b3RvcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvVG9wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS10b3RvcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmJjYS10b3RvcCBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQyNGY0NDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtdG90b3AgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgTG9naW5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmNhLWxvZ2luIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDI1cHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtbG9naW4sXG4uYmNhLWxvZ2luICosXG4uYmNhLWxvZ2luICo6OmJlZm9yZSxcbi5iY2EtbG9naW4gKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmJjYS1sb2dpbiB7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5iY2EtbG9naW5fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzZmYTgzZDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbn1cbi5iY2EtbG9naW5fX2xvZ28ge1xuICB3aWR0aDogMjMwcHg7XG59XG4uYmNhLWxvZ2luLWZvcm0taXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWxvZ2luLWZvcm0taXRlbSBsYWJlbCB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxLjJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJjYS1sb2dpbi1mb3JtLWl0ZW0gLmJjYS10ZXh0Ym94IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWxvZ2luLWZvcm0taXRlbSAuYmNhLXRleHRib3ggLmJjYS10ZXh0Ym94X19pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAuNjllbSAxZW07XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLmJjYS1sb2dpbi1mb3JtLWl0ZW0gLmJjYS10ZXh0Ym94IC5iY2EtdGV4dGJveF9faW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmJjYS1sb2dpbiBidXR0b24uYmNhLWJ0bi0tbG9naW4ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MnB4O1xufVxuLmJjYS1sb2dpbiAuYmNhLWxvZ2luLWZvcm0tY3RybCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jQWRtaW5CYXNlckNvcmVVc2Vyc0xvZ2luIC5iY2EtbWFpbl9fY29udGVudHMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4jQWRtaW5CYXNlckNvcmVVc2Vyc0xvZ2luICNDcmVkaXRTY3JvbGxlciwgI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAjQ3JlZGl0U2Nyb2xsZXIgYSB7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG4jQWRtaW5CYXNlckNvcmVVc2Vyc0xvZ2luICNDcmVkaXQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbiNBZG1pbkJhc2VyQ29yZVVzZXJzTG9naW4gI0NyZWRpdFNjcm9sbGVySW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4jQWRtaW5CYXNlckNvcmVVc2Vyc0xvZ2luIGh0bWwge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAuYmNhLWNvbnRhaW5lciB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRjRGNUYxO1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAuYmNhLWNydW1iLFxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAuYmNhLW1haW4tYm9keS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmNhLWxpc3QtbnVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmJjYS1saXN0LW51bV9fdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLmJjYS1saXN0LW51bV9fZGF0YSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi5iY2EtZm9ybS10YWJsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS1mb3JtLXRhYmxlX19sYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAyNTBweDtcbiAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5iY2EtZm9ybS10YWJsZV9fbGFiZWwuLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5iY2EtZm9ybS10YWJsZV9fbGFiZWwgbGFiZWwge1xuICBwYWRkaW5nOiAwLjJlbSAwIDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmNhLWZvcm0tdGFibGVfX2xhYmVsIC5iY2EtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuMTVlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5iY2EtZm9ybS10YWJsZV9faW5wdXQge1xuICBwYWRkaW5nOiAxZW0gMCAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS1mb3JtLXRhYmxlX19pbnB1dC13cmFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG4uYmNhLWZvcm0tdGFibGUgdHI6bGFzdC1jaGlsZCB0aCxcbi5iY2EtZm9ybS10YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJjYS1mb3JtLXRhYmxlX19ncm91cC1zdGF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5iY2EtZm9ybS10YWJsZV9fZ3JvdXAtc3RhdGUgLmJjYS1yYWRpby1ncm91cCB7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuLmJjYS1mb3JtLXRhYmxlX19pbm5lci10YWJsZS1sYWJlbCB7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjVlbSAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJjYS1mb3JtLXRhYmxlX19pbm5lci10YWJsZS1pbnB1dCB7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYmNhLWZvcm0tdGFibGVfX2lubmVyLXN1Ym1pdCB7XG4gIG1hcmdpbjogMWVtIDAgMDtcbn1cbi5iY2EtZm9ybS10YWJsZSAuYmNhLXBvc3RfX3VybCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmJjYS1mb3JtLXRhYmxlIC5iY2EtbWFpbENvbnRlbnRTZW5kZXIxIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tbGVmdDogMmVtO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1mb3JtLXRhYmxlX19sYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAyNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWZvcm0tdGFibGVfX2xhYmVsLi1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1mb3JtLXRhYmxlX19sYWJlbCBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4yZW0gMCAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9fbGFiZWwgLmJjYS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMC4xNWVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9faW5wdXQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9faW5wdXQgLmJjYS1zZWxlY3QsXG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1mb3JtLXRhYmxlX19pbnB1dCAuYmNhLXRleHRib3gsXG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1mb3JtLXRhYmxlX19pbnB1dCAuYmNhLXRleHRhcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9fZXhwbGFuYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzY2Njtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYnRuLmhlbHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IC0zcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4uYmNhLWZvcm0tdGFibGUgLmJjYS1oZWxwIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4jQmFzaWNTZXR0aW5nIHRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tZXNzYWdlIHtcbiAgY29sb3I6ICMwMDg3YmM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuI01lc3NhZ2VCb3ggLm1lc3NhZ2UsXG4jTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2UsXG4jQmNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZSxcbiNVcGRhdGVNZXNzYWdlIHtcbiAgY29sb3I6ICMwMDg3YmM7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4jTWVzc2FnZUJveCAubWVzc2FnZTo6YmVmb3JlLFxuI01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI1VwZGF0ZU1lc3NhZ2U6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cblxuI01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2UsXG4jYXV0aE1lc3NhZ2UsXG4jQWxlcnRNZXNzYWdlLFxuI0JjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZSB7XG4gIGNvbG9yOiAjZjIwMDE0ICFpbXBvcnRhbnQ7XG59XG4jTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLFxuI2F1dGhNZXNzYWdlOjpiZWZvcmUsXG4jQWxlcnRNZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG5cbi8qIGZsYXNoTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNhdXRoTWVzc2FnZSxcbiNmbGFzaE1lc3NhZ2UsXG4jQWxlcnRNZXNzYWdlLFxuI0JjU3lzdGVtTWVzc2FnZSxcbiNVcGRhdGVNZXNzYWdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMjVweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNCY01lc3NhZ2VCb3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIZWxwLFNlYXJjaCxMaW1pdOWFsemAmuioreWumlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNIZWxwIC5oZWFkLCAjTGltaXQgLmhlYWQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiNIZWxwIC5ib2R5LCAjTGltaXQgLmJvZHkge1xuICBtYXJnaW46IDEwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jSGVscCAuY2xvc2UsICNMaW1pdCAuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jSGVscCBoMiwgI0xpbWl0IGgyIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiBIZWxwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI0hlbHAge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuI0hlbHAgLmJvZHkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jSGVscCAuZXhhbXBsZS1ib3gge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjREREO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzAwMDtcbn1cblxuI0hlbHAgLmV4YW1wbGUtYm94IC5oZWFkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNIZWxwIHVsLFxuI0hlbHAgb2wge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xufVxuXG4jSGVscCBsaSB7XG4gIC8qcGFkZGluZzogMCAyMHB4OyovXG4gIG1hcmdpbjogNXB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbiNIZWxwIGxpIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRhYmxlLmNha2Utc3FsLWxvZyB7XG4gIHdpZHRoOiA5MCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjY2O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNjY2O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxudGFibGUuY2FrZS1zcWwtbG9nIGNhcHRpb24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM2NjY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM2NjY7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdHIgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjY2NjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uYnV0dG9uLXNtYWxsLCAudWktZGlhbG9nLWJ1dHRvbnNldCBidXR0b24sIC5iY2EtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDAuN2VtIDFlbSAwLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYnV0dG9uLXNtYWxsOjpiZWZvcmUsIC51aS1kaWFsb2ctYnV0dG9uc2V0IGJ1dHRvbjo6YmVmb3JlLCAuYmNhLWJ0bjo6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJ1dHRvbi1zbWFsbDpob3ZlciwgLnVpLWRpYWxvZy1idXR0b25zZXQgYnV0dG9uOmhvdmVyLCAuYmNhLWJ0bjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xufVxuLmJ1dHRvbi1zbWFsbDpmb2N1cywgLnVpLWRpYWxvZy1idXR0b25zZXQgYnV0dG9uOmZvY3VzLCAuYmNhLWJ0bjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG59XG5cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNhdmVdIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNhdmVdOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNhdmVdOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjM5NTM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzZmYTgzZCAxMCUsICM2Mzk1MzYgMTAwJSk7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl06aG92ZXIsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzYzOTUzNiAxMCUsICM2Mzk1MzYgMTAwJSk7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zZWFyY2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jbGVhcl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tc2l6ZT14bF0ge1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXNpemU9eHNdIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgcGFkZGluZzogMC42ZW0gMC44ZW0gMC40ZW07XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4td2lkdGg9eGxdIHtcbiAgcGFkZGluZy1yaWdodDogNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDVlbTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi13aWR0aD1sZ10ge1xuICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gIHBhZGRpbmctbGVmdDogM2VtO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLWNhdGVnb3J5PXRleHRdIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tY2F0ZWdvcnk9dGV4dF06aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1jb2xvcj1kYW5nZXJdIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1jb2xvcj1kYW5nZXJdOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNmMjAwMTQ7XG4gIGJvcmRlci1jb2xvcjogI2YyMDAxNDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1jb2xvcj1kYW5nZXJdOmhvdmVyOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV06OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG5bZGlzYWJsZWRdIHtcbiAgY29sb3I6ICNhYWE7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cblxuLmJjYS1yYWRpbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMC4yZW0gMWVtIDAgMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJjYS1yYWRpb1tkYXRhLWJjYS1yYWRpby1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5iY2EtcmFkaW9bZGF0YS1iY2EtcmFkaW8tc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtcmFkaW8tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG59XG4uYmNhLXJhZGlvLWdyb3VwIGJyICsgLmJjYS1yYWRpbyB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLmJjYS1yYWRpb19faW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgbWFyZ2luOiAwcHg7XG59XG4uYmNhLXJhZGlvX19pbnB1dCArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1yYWRpb19faW5wdXRbZGF0YS1iY2EtcmFkaW8tc2l6ZT1sZ10gKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5iY2EtcmFkaW9fX2lucHV0W2RhdGEtYmNhLXJhZGlvLXNpemU9c21dICsgbGFiZWwge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtcmFkaW9fX2lucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmJjYS1yYWRpb19faW5wdXQuZm9ybS1lcnJvciArIGxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMjAwMTQ7XG59XG4uYmNhLXJhZGlvX19pbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmYgaW5zZXQ7XG59XG4uYmNhLXJhZGlvX19pbnB1dC5mb3JtLWVycm9yOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZjIwMDE0O1xufVxuLmJjYS1yYWRpb19faW5wdXQ6ZGlzYWJsZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLmJjYS1yYWRpb19faW5wdXQ6Y2hlY2tlZDpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG4uYmNhLXJhZGlvX19pbnB1dDpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0LCAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmJjYS1yYWRpb19faW5wdXQuZm9ybS1lcnJvcjpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0LCAwIDAgNHB4IDBweCAjZjIwMDE0O1xuICBib3JkZXItY29sb3I6ICNmMjAwMTQ7XG59XG4uYmNhLXJhZGlvX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5iY2EtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW46IDAuMmVtIDFlbSAwIDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLWNoZWNrYm94W2RhdGEtYmNhLWNoZWNrYm94LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmJjYS1jaGVja2JveFtkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1jaGVja2JveC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbn1cbi5iY2EtY2hlY2tib3gtZ3JvdXAgLmJjYS1jaGVja2JveCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIC1tb3otb3BhY2l0eTogMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLmJjYS1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCArIC5iY2EtY2hlY2tib3gtbGFiZWw6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5iY2EtY2hlY2tib3hfX2lucHV0OmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuLmJjYS1jaGVja2JveF9faW5wdXQ6Zm9jdXMgKyAuYmNhLWNoZWNrYm94LWxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uYmNhLWNoZWNrYm94X19pbnB1dCArIGxhYmVsLCAuYmNhLWNoZWNrYm94X19sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLWNoZWNrYm94X19pbnB1dCArIGxhYmVsOmFmdGVyLCAuYmNhLWNoZWNrYm94X19pbnB1dCArIGxhYmVsOmJlZm9yZSwgLmJjYS1jaGVja2JveF9fbGFiZWw6YWZ0ZXIsIC5iY2EtY2hlY2tib3hfX2xhYmVsOmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYmNhLWNoZWNrYm94X19pbnB1dCArIGxhYmVsOmJlZm9yZSwgLmJjYS1jaGVja2JveF9fbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMC4yZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbDphZnRlciwgLmJjYS1jaGVja2JveF9fbGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwLjVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuOWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1yaWdodDogMC4yNGVtIHNvbGlkICM2ZmE4M2Q7XG4gIGJvcmRlci1ib3R0b206IDAuMjRlbSBzb2xpZCAjNmZhODNkO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSwgLmJjYS1jaGVja2JveF9fbGFiZWxbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYmNhLWNoZWNrYm94X19pbnB1dCArIGxhYmVsW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9c21dLCAuYmNhLWNoZWNrYm94X19sYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuLmJjYS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyBsYWJlbDphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzk5OTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTtcbn1cblxuLmJjYS1zZWxlY3RfX3NlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vaWNuX3NlbGVjdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMC41ZW0vMTBweCBhdXRvLCAjRkZGRkZGO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgcGFkZGluZzogMC43ZW0gMi4yZW0gMC42ZW0gMS4yZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIG1hcmdpbjogNHB4O1xufVxuLmJjYS1zZWxlY3RfX3NlbGVjdFtkYXRhLWJjYS1zZWxlY3Qtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2Etc2VsZWN0X19zZWxlY3RbZGF0YS1iY2Etc2VsZWN0LXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYmNhLXNlbGVjdF9fc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbn1cbi5iY2Etc2VsZWN0X19zZWxlY3Q6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG4vKiBiY2EtZGF0YS1saXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1kYXRhLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLmJjYS1kYXRhLWxpc3RfX3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmJjYS1kYXRhLWxpc3RfX3N1YiB7XG4gIGZsZXg6IDE7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5iY2EtZGF0YS1saXN0X19ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmJjYS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjRkZGO1xuICBiYWNrZ3JvdW5kOiAjNDQ0O1xuICBtYXJnaW46IDAuNWVtIDAuNTVlbSAwLjVlbTtcbiAgcGFkZGluZzogMC4xZW0gMC42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG4uYmNhLWxhYmVsW2RhdGEtYmNhLWxhYmVsLXR5cGU9cmVxdWlyZWRdIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogI2YyMDAxNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmJjYS1sYWJlbFtkYXRhLWJjYS1sYWJlbC10eXBlPW9wdGlvbmFsXSB7XG4gIGJhY2tncm91bmQ6ICMwMEU7XG59XG5cbi5iY2EtcGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHJvdy1nYXA6IDIwcHg7XG4gIGNvbHVtbi1nYXA6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5iY2EtcGFuZWwgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG59XG4uYmNhLXBhbmVsLWJveCB7XG4gIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBtaW4td2lkdGg6IDMwMHB4O1xufVxuLmJjYS1wYW5lbC1ib3hfX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLXBhbmVsLWJveF9faW5saW5lLWZpZWxkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uYmNhLXBhbmVsLWJveF9faW5saW5lLWZpZWxkcy1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJjYS1wYW5lbC1ib3hfX2lubGluZS1maWVsZHMtaXRlbSAuYmNhLXJhZGlvLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5iY2EtcGFuZWwtYm94X19pbmxpbmUtZmllbGRzLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtcGFuZWwtYm94X19pbmxpbmUtZmllbGRzLXNlcGFyYXRvciB7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWE7XG4gIG1hcmdpbjogMCAyZW07XG59XG4uYmNhLXBhbmVsLWJveF9faW5saW5lLWZpZWxkcy1zZXBhcmF0b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmNhLXBsdWdpbi11cGRhdGUgLmJjYS1wYW5lbC1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiDlj6TjgYTjgrnjgr/jgqTjg6sg44Kk44Oz44K544OI44O844Or55S76Z2i44Gq44GpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1tYWluX19ib2R5IGRpdi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi5iY2EtdGV4dGJveC1jb2xvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5iY2EtdGV4dGJveC1jb2xvcl9faW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAuN2VtIDAuNWVtIDAuNmVtIDAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgbWFyZ2luOiA0cHg7XG59XG4uYmNhLXRleHRib3gtY29sb3JfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuLmJjYS10ZXh0Ym94LWNvbG9yX19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtdGV4dGJveC1jb2xvcl9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbn1cbi5iY2EtdGV4dGJveC1jb2xvcl9faW5wdXRbZGF0YS1tYXJnaW49Ym90dG9tXSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYmNhLXRleHRib3gtY29sb3JfX2lucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLmJjYS10ZXh0Ym94IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMC43ZW0gMC41ZW0gMC42ZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBtYXJnaW46IDRweDtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLXRleHRib3hfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLW1hcmdpbj1ib3R0b21dIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uYmNhLXRleHRib3hfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzljOGM4O1xufVxuXG4uYmNhLXRleHRhcmVhIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB3aWR0aDogMTAwJTtcbn1cbi5iY2EtdGV4dGFyZWFfX3RleHRhcmVhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwLjdlbSAwLjVlbSAwLjZlbSAwLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIG1hcmdpbjogNHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG59XG4uYmNhLXRleHRhcmVhX190ZXh0YXJlYVtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtdGV4dGFyZWFfX3RleHRhcmVhW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmJjYS10ZXh0YXJlYV9fdGV4dGFyZWFbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG59XG4uYmNhLXRleHRhcmVhX190ZXh0YXJlYVtkYXRhLXdpZHRoPWZ1bGxdIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xufVxuLmJjYS10ZXh0YXJlYV9fdGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmJjYS10ZXh0YXJlYV9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjOWM4Yzg7XG59XG5cbi5iY2EtZmlsZV9fZGVsZXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMWVtIDAuNGVtIDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0IHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAtbW96LW9wYWNpdHk6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0OmNoZWNrZWQgKyAuYmNhLWNoZWNrYm94LWxhYmVsOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0OmZvY3VzICsgLmJjYS1maWxlX19kZWxldGUtbGFiZWw6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZDtcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0ICsgbGFiZWwsIC5iY2EtZmlsZV9fZGVsZXRlLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0ICsgbGFiZWw6YWZ0ZXIsIC5iY2EtZmlsZV9fZGVsZXRlLWlucHV0ICsgbGFiZWw6YmVmb3JlLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbDphZnRlciwgLmJjYS1maWxlX19kZWxldGUtbGFiZWw6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0ICsgbGFiZWw6YmVmb3JlLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjJlbTtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQkJCQkJCO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsOmFmdGVyLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDAuNWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC45ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLXJpZ2h0OiAwLjI0ZW0gc29saWQgIzZmYTgzZDtcbiAgYm9yZGVyLWJvdHRvbTogMC4yNGVtIHNvbGlkICM2ZmE4M2Q7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9bGddLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5iY2EtZmlsZV9fZGVsZXRlLWlucHV0ICsgbGFiZWxbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1zbV0sIC5iY2EtZmlsZV9fZGVsZXRlLWxhYmVsW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi8qXG4gZGF0ZXBpY2tlclxuICBzcGFuXHRcdFx0YmNhLWRhdGVwaWNrZXJcbiAgc3BhbihkYXRlKVx0XHRcdGJjYS1kYXRlcGlja2VyX19kYXRlXG4gIHRleHQoZGF0ZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fZGF0ZS1pbnB1dFxuICBsYWJlbChkYXRlKVx0XHRcdGJjYS1kYXRlcGlja2VyX19kYXRlLWxhYmVsXG4gIHNwYW4odGltZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fdGltZVxuICB0ZXh0KHRpbWUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX3RpbWUtaW5wdXRcbiAgbGFiZWwodGltZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fdGltZS1sYWJlbFxuXG48c3BhbiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlciByZXF1aXJlZFwiPlxuICA8c3BhbiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZVwiPlxuICAgIDxsYWJlbCBmb3I9XCJCbG9nUG9zdFBvc3RzRGF0ZURhdGVcIiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbFwiPuaXpeS7mDwvbGFiZWw+XG4gICAgPGlucHV0IG5hbWU9XCJkYXRhW0Jsb2dQb3N0XVtwb3N0c19kYXRlX2RhdGVdXCIgc2l6ZT1cIjEyXCIgbWF4bGVuZ3RoPVwiMTBcIlxuICAgICAgY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtaW5wdXQgaGFzRGF0ZXBpY2tlclwiIHZhbHVlPVwiMjAxOC8xMC8xNVwiIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJCbG9nUG9zdFBvc3RzRGF0ZURhdGVcIj5cbiAgICA8c2NyaXB0Pjwvc2NyaXB0PlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX190aW1lXCI+XG4gICAgPGxhYmVsIGZvcj1cIkJsb2dQb3N0UG9zdHNEYXRlVGltZVwiIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsXCI+5pmC6ZaTPC9sYWJlbD5cbiAgICA8aW5wdXQgbmFtZT1cImRhdGFbQmxvZ1Bvc3RdW3Bvc3RzX2RhdGVfdGltZV1cIiBzaXplPVwiOFwiIG1heGxlbmd0aD1cIjhcIiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1pbnB1dCB1aS10aW1lcGlja2VyLWlucHV0XCIgdmFsdWU9XCIxOToxNDoxMlwiIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJCbG9nUG9zdFBvc3RzRGF0ZVRpbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgPC9zcGFuPlxuICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJkYXRhW0Jsb2dQb3N0XVtwb3N0c19kYXRlXVwiIHZhbHVlPVwiMjAxOC0xMC0xNSAxOToxNDoxMlwiIGlkPVwiQmxvZ1Bvc3RQb3N0c0RhdGVcIj5cbjwvc3Bhbj5cblxuICovXG4uYmNhLWRhdGV0aW1lcGlja2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZSwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbCwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgY29sb3I6ICM2NjY7XG4gIHRyYW5zaXRpb246IDAuMjtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGU6aG92ZXIgLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGU6aG92ZXIgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbDpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWU6aG92ZXIgLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWU6aG92ZXIgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbDpiZWZvcmUge1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtaW5wdXQsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAuN2VtIGNhbGMoMC41ZW0gKyAxNnB4KSAwLjZlbSAwLjVlbTtcbiAgbWFyZ2luOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10sIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWlucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtaW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSwgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1pbnB1dDpmb2N1cywgLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyOmhhcyguZm9ybS1lcnJvcikgaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjIwMDE0O1xufVxuLmJjYS1kYXRldGltZXBpY2tlcjpoYXMoLmZvcm0tZXJyb3IpIGlucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggI2YyMDAxNDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1pbnB1dCB7XG4gIHdpZHRoOiA2ZW07XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kZWxpbWl0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX3N0YXJ0LCAuYmNhLWRhdGV0aW1lcGlja2VyX19lbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5iY2EtbGlzdC1wYW5lbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMzAwcHgpO1xuICBncmlkLXJvdy1nYXA6IDIwcHg7XG4gIGdyaWQtY29sdW1uLWdhcDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1saXN0LXBhbmVsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbi5iY2EtbGlzdC1wYW5lbCAucm93LXRvb2xzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZzogM3B4O1xufVxuLmJjYS1saXN0LXBhbmVsIC5yb3ctdG9vbHMgLmJjYS1idG4taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5iY2EtbGlzdC1wYW5lbCAudGhlbWUtbmFtZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnRoZW1lLXNjcmVlbnNob3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xufVxuLmJjYS1saXN0LXBhbmVsIC50aGVtZS1zY3JlZW5zaG90IGEge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnRoZW1lLXNjcmVlbnNob3QgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnRoZW1lLXZlcnNpb24sIC5iY2EtbGlzdC1wYW5lbCAudGhlbWUtYXV0aG9yIHtcbiAgbWFyZ2luOiAxMHB4IDAgNXB4O1xufVxuLmJjYS1saXN0LXBhbmVsIC50aGVtZS1hdXRob3IgYSB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5iY2EtbGlzdC1wYW5lbCAudGhlbWUtYXV0aG9yIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYmNhLWxpc3QtcGFuZWwgLmVycm9yLW1lc3NhZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdG9wOiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDdweDtcbiAgd2lkdGg6IDIzMHB4O1xufVxuLmJjYS1saXN0LXBhbmVsIC5uby1kYXRhIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYmNhLWxpc3QtcGFuZWw6aGFzKC5uby1kYXRhKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmNhLWN1cnJlbnQtdGhlbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICM2ZmE4M2Q7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWVfX25hbWUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbn1cbi5iY2EtY3VycmVudC10aGVtZV9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lX19tYWluIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzAwcHg7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWVfX3N1YiB7XG4gIGZsZXg6IDE7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWVfX3NjcmVlbnNob3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuLmJjYS1jdXJyZW50LXRoZW1lX19zY3JlZW5zaG90IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uYmNhLWN1cnJlbnQtdGhlbWUgLnRoZW1lLW5hbWUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC50aGVtZS1wb3B1cC1jb250ZW50cyB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWUgLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAudGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLXNjcmVlbnNob3QgaW1nIHtcbiAgd2lkdGg6IDI5OHB4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAucm93LXRvb2xzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZzogM3B4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC5yb3ctdG9vbHMgLmJjYS1idG4taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5iY2EtY3VycmVudC10aGVtZSAuZXJyb3ItbWVzc2FnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0b3A6IDU2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogN3B4O1xuICB3aWR0aDogMjg2cHg7XG59XG5cbiNDdXJyZW50VGhlbWUgaDIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jQ3VycmVudFRoZW1lIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuI0N1cnJlbnRUaGVtZSAjVGhlbWVMb2FkRGVmYXVsdERhdGFQYXR0ZXJuRm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qXG4jQ3VycmVudFRoZW1lIHtcblx0Ym9yZGVyOjVweCBzb2xpZCAjZTJlMmUyO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jQ3VycmVudFRoZW1lIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbiNDdXJyZW50VGhlbWUgLnJvdy10b29scyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDo1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyOjNweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nOjNweDtcbn1cbiNDdXJyZW50VGhlbWUgLnRoZW1lLWluZm8ge1xuXHRmbG9hdDpsZWZ0O1xuXHR3aWR0aDoyNDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1yaWdodDo1MHB4O1xuXHRoZWlnaHQ6OTBweDtcbn1cblxuI0N1cnJlbnRUaGVtZSAuY3VycmVudC10aGVtZS1sZWZ0IHtcblx0d2lkdGg6MzAwcHg7XG5cdG1hcmdpbi1yaWdodDoyMHB4O1xuXHRmbG9hdDpsZWZ0O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRsaW5lLWhlaWdodDogMS42ZW07XG5cdGNsZWFyOnJpZ2h0O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcblx0cGFkZGluZzoyMHB4IDIwcHggMzBweCAyMHB4O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRmbG9hdDpsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6MjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRtYXJnaW4tdG9wOjEwcHg7XG59XG4jQ3VycmVudFRoZW1lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmN1cnJlbnQtdGhlbWUtbGVmdCAuZXJyb3ItbWVzc2FnZSB7XG5cdG1hcmdpbjowO1xuXHR3aGl0ZS1zcGFjZTpub3JtYWw7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMTZweDtcblx0dG9wOjU2cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzo3cHg7XG5cdHdpZHRoOjI4NnB4O1xufVxuKi9cbi5iY2Etc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uYmNhLXNlY3Rpb25fX3Bvc3QtZGV0YWlsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG4uYmNhLXNlY3Rpb25fX3Bvc3QtdG9wIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbn1cbi5iY2Etc2VjdGlvbl9fcG9zdC10b3AgLmJjYS1wb3N0X19ubyB7XG4gIG1hcmdpbi1yaWdodDogMmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2Etc2VjdGlvbl9fcG9zdC10b3AgLmJjYS1wb3N0X191cmwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4yZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5iY2Etc2VjdGlvbl9fcG9zdC10b3AgLmJjYS10ZXh0LXVybCB7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4uYmNhLXNlY3Rpb25bZGF0YS1iY2Etc2VjdGlvbi10eXBlPWZvcm0tZ3JvdXBdIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLmJjYS10ZXh0LWNvdW50ZXItdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4uYmNhLXRleHQtY291bnRlci12YWx1ZSBzbWFsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwLjJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjQ0NDO1xufVxuXG4vKiBhY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuLmJjYS1hY3Rpb25zX19zdWIge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG59XG4uYmNhLWFjdGlvbnNfX2l0ZW0ge1xuICBtYXJnaW46IDAgMTBweDtcbn1cbi5iY2EtYWN0aW9uc19fYmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xufVxuLmJjYS1hY3Rpb25zW2RhdGEtYmNhLXR5cGU9dHlwZTJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWFjdGlvbnNbZGF0YS1iY2EtdHlwZT10eXBlMl0gLmJjYS1hY3Rpb25zX19mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5iY2EtYWN0aW9uc1tkYXRhLWJjYS10eXBlPXR5cGUyXSAuYmNhLWFjdGlvbnNfX2FkZHMge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmJjYS1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LWxheW91dD1ob3Jpem9uXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5iY2EtbGlzdF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIDAgMWVtO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5iY2EtbGlzdF9faXRlbTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0ge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmJjYS1saXN0X19pdGVtIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjRlbTtcbn1cbi5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LWRlbGltaXRlcj1jb21tYV0gLmJjYS1saXN0X19pdGVtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC1kZWxpbWl0ZXI9Y29tbWFdIC5iY2EtbGlzdF9faXRlbTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmJjYS1saXN0LWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5iY2EtZmlsZS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmJjYS1maWxlLWxpc3RfX2l0ZW0ge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5iY2EtZmlsZS1saXN0X19pdGVtIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmJjYS1maWxlLWxpc3RfX25vLWRhdGEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmNhLWJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG4uYmNhLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBtYXJnaW46IC0xcHg7XG59XG5cbi5iY2EtY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJjYS1jb2xsYXBzZV9fYnRuLWljb24ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtY29sbGFwc2VfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMwcHggMDtcbn1cbi5iY2EtY29sbGFwc2VfX2J0biB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzZmYTgzZDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmJjYS1jb2xsYXBzZV9fYnRuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtY29sbGFwc2VfX2J0bi1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IDAuNHMgYWxsO1xufVxuLmJjYS1jb2xsYXBzZV9fYnRuLWljb246YmVmb3JlIHtcbiAgbWFyZ2luOiAwO1xufVxuW2RhdGEtYmNhLXN0YXRlPW9wZW5dIC5iY2EtY29sbGFwc2VfX2J0bi1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmJjYS1lbS1ib3gge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG4uYmNhLWVtLWJveCBhIHtcbiAgY29sb3I6ICM2OTA7XG59XG4uYmNhLWVtLWJveCBhOmhvdmVyIHtcbiAgY29sb3I6ICM5QzA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJjYS1jdXJyZW50LWJveCB7XG4gIHBhZGRpbmc6IDFweCAwO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5iY2EtY3VycmVudC1ib3ggYSB7XG4gIGNvbG9yOiAjZjIwMDE0O1xufVxuLmJjYS1jdXJyZW50LWJveCBhOmhvdmVyIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLWRpYWxvZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi51aS1kaWFsb2cgZHQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4udWktZGlhbG9nIGRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi51aS13aWRnZXQgaW5wdXRbdHlwZT10ZXh0XSxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9c3VibWl0XSxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1zZWFyY2hdLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXRlbF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9dXJsXSxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1jaGVja2JveF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwLjdlbSAwLjVlbSAwLjZlbSAwLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi51aS13aWRnZXQgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9c3VibWl0XTpmb2N1cyxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9dXJsXTpmb2N1cyxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLnVpLXRhYnMge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktdGFicy1uYXYge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS10YWJzLXBhbmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQyAhaW1wb3J0YW50O1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2VlZWVlYSAhaW1wb3J0YW50O1xufVxuLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgd2lkdGg6IDI2cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0xM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuN2VtIDFlbSAwLjZlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQgMHMgIWltcG9ydGFudDtcbn1cbi51aS1idXR0b246OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG4udWktYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS1idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWktdGFicy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi51aS1idXR0b24tdGV4dCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnVpLWljb24tY2xvc2V0aGljayB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4udWktaWNvbi1jbG9zZXRoaWNrOmJlZm9yZSwgLnVpLWljb24tY2xvc2V0aGljazphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogMTRweDtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi51aS1pY29uLWNsb3NldGhpY2s6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbn1cbi51aS1pY29uLWNsb3NldGhpY2s6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyogdWktZGlhbG9nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLWRpYWxvZyBsYWJlbC5lcnJvciwgLmVycm9yLW1lc3NhZ2Uge1xuICBjb2xvcjogI2YyMDAxNDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHBhZGRpbmc6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWktZGlhbG9nIGxhYmVsLmVycm9yOjpiZWZvcmUsIC5lcnJvci1tZXNzYWdlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG5cbi51aS1kaWFsb2cgLnVpLWJ1dHRvbi10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51aS1kaWFsb2cgLnJlcXVpcmVkIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi51aS1kaWFsb2cgbGFiZWwuZXJyb3Ige1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAta2h0bWwtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAta2h0bWwtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4udWktd2lkZ2V0LWhlYWRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzg4ODtcbn1cblxuLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS1kaWFsb2cgZGwge1xuICBtYXJnaW46IDVweDtcbn1cblxuLnVpLWRpYWxvZyBkdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi51aS1kaWFsb2cgZGQge1xuICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udWktZGlhbG9nIGRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG5cbi51aS13aWRnZXQtY29udGVudCB7XG4gIGNvbG9yOiAjNTM1QTYyICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2cgZHQgbGFiZWwge1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi51aS1kaWFsb2cgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuLnVpLWRpYWxvZyB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIHBhZGRpbmc6IDFweCAxMHB4O1xufVxuXG4udWktZGlhbG9nIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIDFweCAxcHggMDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAtby1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIC1vLWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGJhY2tncm91bmQ6ICNGM0YzRjM7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI0ZGRiwgI0YzRjNGMyk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI0ZGRiksIGNvbG9yLXN0b3AoMTAwJSwgI0YzRjNGMykpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjRkZGLCAjRjNGM0YzKTtcbn1cblxuLnVpLXdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4udWktd2lkZ2V0IHAge1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udWktdGFicy1wYW5lbCBhIHtcbiAgY29sb3I6ICM2ZmE4M2QgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWktdGFicy1wYW5lbCBhOmhvdmVyIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYSAhaW1wb3J0YW50O1xufVxuXG4udWktd2lkZ2V0LWhlYWRlcixcbi5ja2VfZGlhbG9nX3RpdGxlIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kYXRlcGlja2VyIHRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbn1cblxuLnVpLWRhdGVwaWNrZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4udWktZGF0ZXBpY2tlci10b2RheSAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2RkZCAhaW1wb3J0YW50O1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktc3RhdGUtYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjOWNjYzY1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2cgdGgge1xuICBwYWRkaW5nOiAxLjRlbSAyZW0gMWVtIDAgIWltcG9ydGFudDtcbn1cblxuLnVpLWRpYWxvZyB0ZCB7XG4gIHBhZGRpbmc6IDFlbSAwICFpbXBvcnRhbnQ7XG59XG5cbiNVcGxvYWRlclNlYXJjaCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ191aV9yYWRpb19pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuICBtYXJnaW46IDBweDtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0ICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ191aV9yYWRpb19pbnB1dFtkYXRhLWJjYS1yYWRpby1zaXplPWxnXSArIGxhYmVsIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfdWlfcmFkaW9faW5wdXRbZGF0YS1iY2EtcmFkaW8tc2l6ZT1zbV0gKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfdWlfcmFkaW9faW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ191aV9yYWRpb19pbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbiAgYm94LXNoYWRvdzogMCAwIDBweCA0cHggI2ZmZiBpbnNldDtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0OmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDBweCA0cHggI2ZmZiBpbnNldCwgMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5ja2VfZGlhbG9nIHNlbGVjdC5iY2Etc2VsZWN0X19zZWxlY3QsXG4uY2tlX2RpYWxvZyBzZWxlY3QuY2tlX2RpYWxvZ191aV9pbnB1dF9zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2FkbWluL2ljbl9zZWxlY3Quc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDAuNWVtLzEwcHggYXV0bywgI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgcGFkZGluZzogMCAyNnB4IDAgNHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uY2tlX2RpYWxvZyBzZWxlY3QuYmNhLXNlbGVjdF9fc2VsZWN0W2RhdGEtYmNhLXNlbGVjdC1zaXplPWxnXSxcbi5ja2VfZGlhbG9nIHNlbGVjdC5ja2VfZGlhbG9nX3VpX2lucHV0X3NlbGVjdFtkYXRhLWJjYS1zZWxlY3Qtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5ja2VfZGlhbG9nIHNlbGVjdC5iY2Etc2VsZWN0X19zZWxlY3RbZGF0YS1iY2Etc2VsZWN0LXNpemU9c21dLFxuLmNrZV9kaWFsb2cgc2VsZWN0LmNrZV9kaWFsb2dfdWlfaW5wdXRfc2VsZWN0W2RhdGEtYmNhLXNlbGVjdC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmNrZV9kaWFsb2cgc2VsZWN0LmJjYS1zZWxlY3RfX3NlbGVjdDpmb2N1cyxcbi5ja2VfZGlhbG9nIHNlbGVjdC5ja2VfZGlhbG9nX3VpX2lucHV0X3NlbGVjdDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uY2tlX2RpYWxvZyBpbnB1dC5iY2EtdGV4dGJveF9faW5wdXQsXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHQsXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkLFxuLmNrZV9kaWFsb2cgdGV4dGFyZWEuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0YXJlYSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgNHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5ja2VfZGlhbG9nIGlucHV0LmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZFtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10sXG4uY2tlX2RpYWxvZyB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuLmNrZV9kaWFsb2cgaW5wdXQuYmNhLXRleHRib3hfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSxcbi5ja2VfZGlhbG9nIGlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSxcbi5ja2VfZGlhbG9nIHRleHRhcmVhLmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dGFyZWFbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uY2tlX2RpYWxvZyBpbnB1dC5iY2EtdGV4dGJveF9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSxcbi5ja2VfZGlhbG9nIGlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZFtkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdLFxuLmNrZV9kaWFsb2cgdGV4dGFyZWEuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0YXJlYVtkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xufVxuLmNrZV9kaWFsb2cgaW5wdXQuYmNhLXRleHRib3hfX2lucHV0W2RhdGEtbWFyZ2luPWJvdHRvbV0sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRbZGF0YS1tYXJnaW49Ym90dG9tXSxcbi5ja2VfZGlhbG9nIGlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfcGFzc3dvcmRbZGF0YS1tYXJnaW49Ym90dG9tXSxcbi5ja2VfZGlhbG9nIHRleHRhcmVhLmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dGFyZWFbZGF0YS1tYXJnaW49Ym90dG9tXSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uY2tlX2RpYWxvZyBpbnB1dC5iY2EtdGV4dGJveF9faW5wdXQ6Zm9jdXMsXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHQ6Zm9jdXMsXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkOmZvY3VzLFxuLmNrZV9kaWFsb2cgdGV4dGFyZWEuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0YXJlYTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX2JvZHkgbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG59XG4uY2tlX2RpYWxvZyAuYmNhLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAwLjdlbSAxZW0gMC42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmNrZV9kaWFsb2cgLmJjYS1idG46OmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5ja2VfZGlhbG9nIC5iY2EtYnRuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSk7XG59XG4uY2tlX2RpYWxvZyAuYmNhLWJ0bjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0IHtcbiAgcGFkZGluZzogMDtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX2NvbnRlbnRzIC5maWxlLWxpc3QgI0RpdlBhbmVsTGlzdCAuZmlsZS1saXN0LWJvZHkge1xuICBib3JkZXI6IG5vbmU7XG59XG4uY2tlX2RpYWxvZyBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiNmI2YjY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgaW5zZXQsIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSBpbnNldDtcbiAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgI2U0ZTRlNCk7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmNrZV9kaWFsb2cgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vayBzcGFuIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4uY2tlX2RpYWxvZyBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOWU5ZTllO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjJmMmYyLCAjY2NjKTtcbn1cbi5ja2VfZGlhbG9nIGEuY2tlX2RpYWxvZ191aV9idXR0b25fb2s6Zm9jdXMsIC5ja2VfZGlhbG9nIGEuY2tlX2RpYWxvZ191aV9idXR0b25fb2s6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTY5Njk2O1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC40KSBpbnNldDtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX2NvbnRlbnRzIC5maWxlLWxpc3QtYm9keSB7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG59XG4uY2tlX2RpYWxvZyAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5ja2VfZGlhbG9nIC5iY2EtdGFibGUtbGlzdHVwX190aGVhZC10aCxcbi5ja2VfZGlhbG9nIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogN3B4IDdweCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX2NvbnRlbnRzIC5maWxlLWxpc3QtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDA7XG59XG4uY2tlX2RpYWxvZyB0cjpob3ZlciAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG4uanN0cmVlLXByb3RvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1jaGlsZHJlbiB7XG4gIG1hcmdpbi1sZWZ0OiAyNnB4O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5jb250ZW50LW5hbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1hbmNob3Ige1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuZnVuY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5mdW5jdGlvbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5qc3RyZWUtd2hvbGVyb3ctaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6ICNkZGQgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLWhvdmVyZWQge1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZCB7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2QgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLWNsaWNrZWQgKyAuY29udGVudC1uYW1lIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLWNsaWNrZWQgLmpzdHJlZS1pY29uIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLWhvdmVyZWQuanN0cmVlLWNsaWNrZWQge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5hbGlhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLXVucHVibGlzaC1vZGQsXG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS11bnB1Ymxpc2gtZXZlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLWljb24ge1xuICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1pY29uOmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtaWNvbi5iY2EtaWNvbi0tZm9sZGVyIHtcbiAgY29sb3I6ICNlZGM1Mjg7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLWFuY2hvciAuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSB7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSBpIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogOTAwO1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhIGk6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhIGkuYmNhLWljb24tLWZvbGRlciB7XG4gIGNvbG9yOiAjZWRjNTI4O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhIGkuYmNhLWljb24tLWFsaWFzIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaSA+IGEgaS5iY2EtaWNvbi0tbGluayB7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkudmFrYXRhLWNvbnRleHQtc2VwYXJhdG9yIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2MgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkudmFrYXRhLWNvbnRleHQtc2VwYXJhdG9yIGEge1xuICBtYXJnaW46IDA7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaS52YWthdGEtY29udGV4dC1zZXBhcmF0b3IgYTpob3ZlciB7XG4gIG1hcmdpbjogMDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IC5pY29uLWFsaWFzLWxheWVyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgLmljb24tYWRkLWxheWVyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hZGRfbGF5ZXJkLnBuZ1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xufVxuXG4udWktZGlhbG9nIC51cGxvYWRlci1maWxlLWltYWdlIC51cmwge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4udWktZGlhbG9nIC51cGxvYWRlci1maWxlLWltYWdlIC51cmwgYSB7XG4gIGNvbG9yOiAjNmZhODNkICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2cgI1VwbG9hZGVyRmlsZUltYWdlIHtcbiAgd2lkdGg6IDUwMHB4O1xufVxuXG4uYmNhLW1haW5fX3N1Ym1lbnUtdGl0bGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS1tYWluX19zdWJtZW51LWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5iY2EtbWFpbl9fc3VibWVudS1saXN0LWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uc3RlcC0xIC5iY2Etc2VjdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN0ZXAyIC5jaGVjayAuY2hlY2stcmVzdWx0IHtcbiAgY29sb3I6ICNkZGQ7XG59XG4uc3RlcDIgLmZhaWxlZCAuY2hlY2stcmVzdWx0IHtcbiAgY29sb3I6ICNmMjAwMTQ7XG59XG4uc3RlcDIgLmNoZWNrLXJlc3VsdCB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi5zdGVwLTMgZGl2LmZsb2F0LWxlZnQsXG4uc3RlcC00IGRpdi5mbG9hdC1sZWZ0IHtcbiAgd2lkdGg6IGF1dG87XG59XG4uc3RlcC0zIHVsIGxpLFxuLnN0ZXAtNCB1bCBsaSB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuLnN0ZXAtMyB1bCBsaSBsYWJlbCxcbi5zdGVwLTQgdWwgbGkgbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zdGVwLTMgLmJjYS1jaGVja2JveF9fbGFiZWwsXG4uc3RlcC00IC5iY2EtY2hlY2tib3hfX2xhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi5zdGVwLTUgbGkge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLW5hbWUsXG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLXZlcnNpb24sXG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLWF1dGhvcixcbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiA1cHggMjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC5iY2EtY3VycmVudC10aGVtZV9fc2NyZWVuc2hvdCxcbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG4vKiBXaWRnZXRTZXR0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI1dpZGdldFNldHRpbmcgI1dpZGdldHNUeXBlIGgzIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNXaWRnZXRzVHlwZSAuV2lkZ2V0c1R5cGVTZWN0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gNXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RERDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzUzNUE2MjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y0ZjRmNCwgI2RmZGZkZiAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZjRmNGY0KSwgY29sb3Itc3RvcCgxMDAlLCAjZGZkZmRmKSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmNGY0ZjQsICNkZmRmZGYgMTAwJSk7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjZGNkY2QsICNlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2NkY2RjZCksIGNvbG9yLXN0b3AoMTAwJSwgI2VlZSkpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjY2RjZGNkLCAjZWVlIDEwMCUpO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktZHJhZ2dhYmxlLWRyYWdnaW5nIHtcbiAgLyp3aWR0aDoxMDAlOyovXG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZCB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAuc2V0dGluZyAuaGVhZCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAuc2V0dGluZyAuZGVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuYWN0aW9uIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNERkRGREY7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuY29udGVudCB7XG4gIHBhZGRpbmc6IDNweCAxMHB4IDEwcHggMTBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuY29udGVudCBwIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2UgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjZGRkO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZGRkO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIC5kZXNjcmlwdGlvbiB7XG4gIC8qbWFyZ2luOjAgMTJweCAyMHB4OyovXG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2VlZWVlYTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2VlZWVlYTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlZWVlZWE7XG4gIG1hcmdpbjogMDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZU91dGVyLFxuI1dpZGdldFNldHRpbmcgI1RhcmdldE91dGVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIC8qLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4OyovXG4gIC8qLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4OyovXG4gIC8qYm9yZGVyLXJhZGl1czogMTBweDsqL1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjVGFyZ2V0IHtcbiAgbWluLWhlaWdodDogMjEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1RhcmdldCAuZW5hYmxlZCAuaGVhZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudG9wRHJvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC5wbGFjZWhvbGRlciB7XG4gIGhlaWdodDogMjZweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkYwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuI1dpZGdldFNldHRpbmcgI1dpZGdldEFyZWFVcGRhdGVUaXRsZUZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNUYXJnZXQgLnNldHRpbmcgdGV4dGFyZWEge1xuICB3aWR0aDogOTglO1xuICBoZWlnaHQ6IDMxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIGgzIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbiNMaXN0QWpheExvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuI1dpZGdldFNldHRpbmcgaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jdXN0b20tZmllbGQtc2V0dGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmdfX3BhbmVsIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWluLWhlaWdodDogMjEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgbWluLXdpZHRoOiAzNjBweDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMTBweDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQge1xuICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y0ZjRmNCksIGNvbG9yLXN0b3AoMTAwJSwgI2RmZGZkZikpO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZCBzbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQtdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZC1kZWxldGUge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQtc2V0dGluZyB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nX19ib2R5IHtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtZ3JvdXAge1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTBweCBhdXRvIDEwcHg7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgLmN1c3RvbS1maWVsZC1ncm91cCAuY3VzdG9tLWZpZWxkLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgLnBsYWNlaG9sZGVyIHtcbiAgaGVpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4jQ3VzdG9tRmllbGRTZXR0aW5nVGFyZ2V0IHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI0N1c3RvbUZpZWxkUHJldmlldyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm94LXNoYWRvdzogMCAtNXB4IDNweCAtM3B4ICM5OTk7XG59XG4jQ3VzdG9tRmllbGRQcmV2aWV3IC5wcmV2aWV3LWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuLmN1c3RvbS1maWVsZC1wcmV2aWV3LWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmN1c3RvbS1maWVsZC1wcmV2aWV3LWlubmVyIC5iY2EtdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jdXN0b20tZmllbGQtcHJldmlldy1pbm5lciBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbn1cblxuI0N1c3RvbUxpbmtQcmV2aWV3IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDU2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzcHggLTNweCAjOTk5O1xufVxuI0N1c3RvbUxpbmtQcmV2aWV3IC5wcmV2aWV3LWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuLmN1c3RvbS1saW5rLXByZXZpZXctaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmN1c3RvbS1saW5rLXByZXZpZXctaW5uZXIgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG59XG5cbi5iY2EtY2MtbG9vcCB0YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuXG4uYmNhLWNjLWxvb3AtYWRkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iY2EtY2MtbG9vcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJjYS1jYy1sb29wLWJsb2NrID4gYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ0LWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5idC1jb250ZW50IHVsIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmJ0LWNvbnRlbnQgdWwgbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idC1jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYnQtY29udGVudCBsaSAuZXhhbXBsZS1ib3gge1xuICBib3JkZXI6IDNweCBzb2xpZCAjREREO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKipcbiAqIGJhc2VyQ01TIDogIEJhc2VkIFdlYnNpdGUgRGV2ZWxvcG1lbnQgUHJvamVjdCA8aHR0cHM6Ly9iYXNlcmNtcy5uZXQ+XG4gKiBDb3B5cmlnaHQgKGMpIGJhc2VyQ01TIFVzZXIgQ29tbXVuaXR5IDxodHRwczovL2Jhc2VyY21zLm5ldC9jb21tdW5pdHkvPlxuICpcbiAqIEBjb3B5cmlnaHQgICAgIENvcHlyaWdodCAoYykgYmFzZXJDTVMgVXNlciBDb21tdW5pdHlcbiAqIEBsaW5rICAgICAgICAgIGh0dHBzOi8vYmFzZXJjbXMubmV0IGJhc2VyQ01TIFByb2plY3RcbiAqIEBzaW5jZSAgICAgICAgIDUuMC4wXG4gKiBAbGljZW5zZSAgICAgICBodHRwOi8vYmFzZXJjbXMubmV0L2xpY2Vuc2UvaW5kZXguaHRtbCBNSVQgTGljZW5zZVxuICovXG4ubW9kYWwubW9kYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtd2luZG93IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXgtaGVpZ2h0OiA5NXZoO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cbi5tb2RhbC1jb250ZW50IGRsIGR0IHtcbiAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7XG59XG4ubW9kYWwtY29udGVudCBkbCBkZCB7XG4gIG1hcmdpbjogNXB4IDAgNXB4IDA7XG59XG4ubW9kYWwtY29udGVudCAuaW52YWxpZC1mZWVkYmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjAwMTQ7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjRkZGO1xuICBtYXJnaW46IDAuNWVtIDA7XG4gIHBhZGRpbmc6IDAuMWVtIDAuNmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1vZGFsLWVudGVyLWFjdGl2ZSwgLm1vZGFsLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbn1cbi5tb2RhbC1lbnRlci1hY3RpdmUgLm1vZGFsLXdpbmRvdywgLm1vZGFsLWxlYXZlLWFjdGl2ZSAubW9kYWwtd2luZG93IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzLCB0cmFuc2Zvcm0gMC40cztcbn1cblxuLm1vZGFsLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlIDAuNHM7XG59XG5cbi5tb2RhbC1lbnRlciwgLm1vZGFsLWxlYXZlLXRvIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5tb2RhbC1lbnRlciAubW9kYWwtd2luZG93LCAubW9kYWwtbGVhdmUtdG8gLm1vZGFsLXdpbmRvdyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gICAgQ29sb3Jib3ggQ29yZSBTdHlsZTpcbiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC5cbiovXG4jY29sb3Jib3gsICNjYm94T3ZlcmxheSwgI2Nib3hXcmFwcGVye3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyB6LWluZGV4Ojk5OTk7IG92ZXJmbG93OmhpZGRlbjsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTt9XG4jY2JveFdyYXBwZXIge21heC13aWR0aDpub25lO31cbiNjYm94T3ZlcmxheXtwb3NpdGlvbjpmaXhlZDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7fVxuI2Nib3hNaWRkbGVMZWZ0LCAjY2JveEJvdHRvbUxlZnR7Y2xlYXI6bGVmdDt9XG4jY2JveENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7fVxuI2Nib3hMb2FkZWRDb250ZW50e292ZXJmbG93OmF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDt9XG4jY2JveFRpdGxle21hcmdpbjowO31cbiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO31cbiNjYm94UHJldmlvdXMsICNjYm94TmV4dCwgI2Nib3hDbG9zZSwgI2Nib3hTbGlkZXNob3d7Y3Vyc29yOnBvaW50ZXI7fVxuLmNib3hQaG90b3tmbG9hdDpsZWZ0OyBtYXJnaW46YXV0bzsgYm9yZGVyOjA7IGRpc3BsYXk6YmxvY2s7IG1heC13aWR0aDpub25lOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOmJpY3ViaWM7fVxuLmNib3hJZnJhbWV7d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGRpc3BsYXk6YmxvY2s7IGJvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowO31cbiNjb2xvcmJveCwgI2Nib3hDb250ZW50LCAjY2JveExvYWRlZENvbnRlbnR7Ym94LXNpemluZzpjb250ZW50LWJveDsgLW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94OyAtd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7fVxuXG4vKiBcbiAgICBVc2VyIFN0eWxlOlxuICAgIENoYW5nZSB0aGUgZm9sbG93aW5nIHN0eWxlcyB0byBtb2RpZnkgdGhlIGFwcGVhcmFuY2Ugb2YgQ29sb3Jib3guICBUaGV5IGFyZVxuICAgIG9yZGVyZWQgJiB0YWJiZWQgaW4gYSB3YXkgdGhhdCByZXByZXNlbnRzIHRoZSBuZXN0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTC5cbiovXG4jY2JveE92ZXJsYXl7YmFja2dyb3VuZDojMDAwOyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDkwKTt9XG4jY29sb3Jib3h7b3V0bGluZTowO31cbiAgICAjY2JveENvbnRlbnR7bWFyZ2luLXRvcDoyMHB4O2JhY2tncm91bmQ6IzAwMDt9XG4gICAgICAgIC5jYm94SWZyYW1le2JhY2tncm91bmQ6I2ZmZjt9XG4gICAgICAgICNjYm94RXJyb3J7cGFkZGluZzo1MHB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7fVxuICAgICAgICAjY2JveExvYWRlZENvbnRlbnR7Ym9yZGVyOjVweCBzb2xpZCAjMDAwOyBiYWNrZ3JvdW5kOiNmZmY7fVxuICAgICAgICAjY2JveFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIwcHg7IGxlZnQ6MDsgY29sb3I6I2NjYzt9XG4gICAgICAgICNjYm94Q3VycmVudHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyByaWdodDowcHg7IGNvbG9yOiNjY2M7fVxuICAgICAgICAjY2JveExvYWRpbmdHcmFwaGlje2JhY2tncm91bmQ6dXJsKGltYWdlcy9sb2FkaW5nLmdpZikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7fVxuXG4gICAgICAgIC8qIHRoZXNlIGVsZW1lbnRzIGFyZSBidXR0b25zLCBhbmQgbWF5IG5lZWQgdG8gaGF2ZSBhZGRpdGlvbmFsIHN0eWxlcyByZXNldCB0byBhdm9pZCB1bndhbnRlZCBiYXNlIHN0eWxlcyAqL1xuICAgICAgICAjY2JveFByZXZpb3VzLCAjY2JveE5leHQsICNjYm94U2xpZGVzaG93LCAjY2JveENsb3NlIHtib3JkZXI6MDsgcGFkZGluZzowOyBtYXJnaW46MDsgb3ZlcmZsb3c6dmlzaWJsZTsgd2lkdGg6YXV0bzsgYmFja2dyb3VuZDpub25lOyB9XG4gICAgICAgIFxuICAgICAgICAvKiBhdm9pZCBvdXRsaW5lcyBvbiA6YWN0aXZlIChtb3VzZWNsaWNrKSwgYnV0IHByZXNlcnZlIG91dGxpbmVzIG9uIDpmb2N1cyAodGFiYmVkIG5hdmlnYXRpbmcpICovXG4gICAgICAgICNjYm94UHJldmlvdXM6YWN0aXZlLCAjY2JveE5leHQ6YWN0aXZlLCAjY2JveFNsaWRlc2hvdzphY3RpdmUsICNjYm94Q2xvc2U6YWN0aXZlIHtvdXRsaW5lOjA7fVxuICAgICAgICBcbiAgICAgICAgI2Nib3hTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMjBweDsgcmlnaHQ6OTBweDsgY29sb3I6I2ZmZjt9XG4gICAgICAgICNjYm94UHJldmlvdXN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MCU7IGxlZnQ6NXB4OyBtYXJnaW4tdG9wOi0zMnB4OyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIGxlZnQ7IHdpZHRoOjI4cHg7IGhlaWdodDo2NXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O31cbiAgICAgICAgI2Nib3hQcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSBsZWZ0O31cbiAgICAgICAgI2Nib3hOZXh0e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyByaWdodDo1cHg7IG1hcmdpbi10b3A6LTMycHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9jb250cm9scy5wbmcpIG5vLXJlcGVhdCB0b3AgcmlnaHQ7IHdpZHRoOjI4cHg7IGhlaWdodDo2NXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O31cbiAgICAgICAgI2Nib3hOZXh0OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIHJpZ2h0O31cbiAgICAgICAgI2Nib3hDbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjVweDsgcmlnaHQ6NXB4OyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgd2lkdGg6MzhweDsgaGVpZ2h0OjE5cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fVxuICAgICAgICAjY2JveENsb3NlOmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIGNlbnRlcjt9XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnbGFyZ2VyJztcbkBpbXBvcnQgJ2ZpeGVkLXdpZHRoJztcbkBpbXBvcnQgJ2xpc3QnO1xuQGltcG9ydCAnYm9yZGVyZWQtcHVsbGVkJztcbkBpbXBvcnQgJ2FuaW1hdGVkJztcbkBpbXBvcnQgJ3JvdGF0ZWQtZmxpcHBlZCc7XG5AaW1wb3J0ICdzdGFja2VkJztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ3NjcmVlbi1yZWFkZXInO1xuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiVmYS1pY29uIHtcbiAgQGluY2x1ZGUgZmEtaWNvbjtcbn1cbiIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXJcbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogbWF0aC5kaXYoNGVtLCAzKSA7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzZW0sIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS14cyB7XG4gIGZvbnQtc2l6ZTogLjc1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zbSB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LSN7JGl9eCB7XG4gICAgZm9udC1zaXplOiAkaSAqIDFlbTtcbiAgfVxufVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6ICRmYS1mdy13aWR0aDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuJGZhLWZvbnQtcGF0aDogICAgICAgICAgICAgICAgXCIuLi8uLi9mb250cy9hZG1pblwiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgICAgICAgIGF1dG8gIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgICAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICAgICAgICAgIFwiNS44LjFcIiAhZGVmYXVsdDtcbiRmYS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZhLWZ3LXdpZHRoOiAgICAgICAgICAgICAgICAgbWF0aC5kaXYoMjBlbSwgMTYpO1xuXG4vLyBDb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLWFjY2Vzc2libGUtaWNvbjogXFxmMzY4O1xuJGZhLXZhci1hY2N1c29mdDogXFxmMzY5O1xuJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOiBcXGY2YWY7XG4kZmEtdmFyLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXFxmMmI5O1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItYWRqdXN0OiBcXGYwNDI7XG4kZmEtdmFyLWFkbjogXFxmMTcwO1xuJGZhLXZhci1hZG9iZTogXFxmNzc4O1xuJGZhLXZhci1hZHZlcnNhbDogXFxmMzZhO1xuJGZhLXZhci1hZmZpbGlhdGV0aGVtZTogXFxmMzZiO1xuJGZhLXZhci1haXItZnJlc2hlbmVyOiBcXGY1ZDA7XG4kZmEtdmFyLWFpcmJuYjogXFxmODM0O1xuJGZhLXZhci1hbGdvbGlhOiBcXGYzNmM7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXFxmMDM3O1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcXGYwMzk7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFxcZjAzNjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFxcZjAzODtcbiRmYS12YXItYWxpcGF5OiBcXGY2NDI7XG4kZmEtdmFyLWFsbGVyZ2llczogXFxmNDYxO1xuJGZhLXZhci1hbWF6b246IFxcZjI3MDtcbiRmYS12YXItYW1hem9uLXBheTogXFxmNDJjO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFxcZjBmOTtcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYW1pbGlhOiBcXGYzNmQ7XG4kZmEtdmFyLWFuY2hvcjogXFxmMTNkO1xuJGZhLXZhci1hbmRyb2lkOiBcXGYxN2I7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXFxmMjA5O1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXFxmMTAzO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcXGYxMDI7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFxcZjEwNztcbiRmYS12YXItYW5nbGUtbGVmdDogXFxmMTA0O1xuJGZhLXZhci1hbmdsZS1yaWdodDogXFxmMTA1O1xuJGZhLXZhci1hbmdsZS11cDogXFxmMTA2O1xuJGZhLXZhci1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1hbmdyeWNyZWF0aXZlOiBcXGYzNmU7XG4kZmEtdmFyLWFuZ3VsYXI6IFxcZjQyMDtcbiRmYS12YXItYW5raDogXFxmNjQ0O1xuJGZhLXZhci1hcHAtc3RvcmU6IFxcZjM2ZjtcbiRmYS12YXItYXBwLXN0b3JlLWlvczogXFxmMzcwO1xuJGZhLXZhci1hcHBlcjogXFxmMzcxO1xuJGZhLXZhci1hcHBsZTogXFxmMTc5O1xuJGZhLXZhci1hcHBsZS1hbHQ6IFxcZjVkMTtcbiRmYS12YXItYXBwbGUtcGF5OiBcXGY0MTU7XG4kZmEtdmFyLWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItYXJjaHdheTogXFxmNTU3O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXFxmMGFiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXFxmMGE4O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcXGYwYWE7XG4kZmEtdmFyLWFycm93LWRvd246IFxcZjA2MztcbiRmYS12YXItYXJyb3ctbGVmdDogXFxmMDYwO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXFxmMDYxO1xuJGZhLXZhci1hcnJvdy11cDogXFxmMDYyO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcXGYwYjI7XG4kZmEtdmFyLWFycm93cy1hbHQtaDogXFxmMzM3O1xuJGZhLXZhci1hcnJvd3MtYWx0LXY6IFxcZjMzODtcbiRmYS12YXItYXJ0c3RhdGlvbjogXFxmNzdhO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFxcZjJhMjtcbiRmYS12YXItYXN0ZXJpc2s6IFxcZjA2OTtcbiRmYS12YXItYXN5bW1ldHJpazogXFxmMzcyO1xuJGZhLXZhci1hdDogXFxmMWZhO1xuJGZhLXZhci1hdGxhczogXFxmNTU4O1xuJGZhLXZhci1hdGxhc3NpYW46IFxcZjc3YjtcbiRmYS12YXItYXRvbTogXFxmNWQyO1xuJGZhLXZhci1hdWRpYmxlOiBcXGYzNzM7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcXGYyOWU7XG4kZmEtdmFyLWF1dG9wcmVmaXhlcjogXFxmNDFjO1xuJGZhLXZhci1hdmlhbmV4OiBcXGYzNzQ7XG4kZmEtdmFyLWF2aWF0bzogXFxmNDIxO1xuJGZhLXZhci1hd2FyZDogXFxmNTU5O1xuJGZhLXZhci1hd3M6IFxcZjM3NTtcbiRmYS12YXItYmFieTogXFxmNzdjO1xuJGZhLXZhci1iYWJ5LWNhcnJpYWdlOiBcXGY3N2Q7XG4kZmEtdmFyLWJhY2tzcGFjZTogXFxmNTVhO1xuJGZhLXZhci1iYWNrd2FyZDogXFxmMDRhO1xuJGZhLXZhci1iYWNvbjogXFxmN2U1O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcXGYyNGU7XG4kZmEtdmFyLWJhbjogXFxmMDVlO1xuJGZhLXZhci1iYW5kLWFpZDogXFxmNDYyO1xuJGZhLXZhci1iYW5kY2FtcDogXFxmMmQ1O1xuJGZhLXZhci1iYXJjb2RlOiBcXGYwMmE7XG4kZmEtdmFyLWJhcnM6IFxcZjBjOTtcbiRmYS12YXItYmFzZWJhbGwtYmFsbDogXFxmNDMzO1xuJGZhLXZhci1iYXNrZXRiYWxsLWJhbGw6IFxcZjQzNDtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcXGYyNDQ7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFxcZjI0MjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcXGYyNDM7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItYmVsbC1zbGFzaDogXFxmMWY2O1xuJGZhLXZhci1iZXppZXItY3VydmU6IFxcZjU1YjtcbiRmYS12YXItYmlibGU6IFxcZjY0NztcbiRmYS12YXItYmljeWNsZTogXFxmMjA2O1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1icmFpbGxlOiBcXGYyYTE7XG4kZmEtdmFyLWJyYWluOiBcXGY1ZGM7XG4kZmEtdmFyLWJyZWFkLXNsaWNlOiBcXGY3ZWM7XG4kZmEtdmFyLWJyaWVmY2FzZTogXFxmMGIxO1xuJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbDogXFxmNDY5O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItYnJ1c2g6IFxcZjU1ZDtcbiRmYS12YXItYnRjOiBcXGYxNWE7XG4kZmEtdmFyLWJ1ZmZlcjogXFxmODM3O1xuJGZhLXZhci1idWc6IFxcZjE4ODtcbiRmYS12YXItYnVpbGRpbmc6IFxcZjFhZDtcbiRmYS12YXItYnVsbGhvcm46IFxcZjBhMTtcbiRmYS12YXItYnVsbHNleWU6IFxcZjE0MDtcbiRmYS12YXItYnVybjogXFxmNDZhO1xuJGZhLXZhci1idXJvbW9iZWxleHBlcnRlOiBcXGYzN2Y7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWJ1c2luZXNzLXRpbWU6IFxcZjY0YTtcbiRmYS12YXItYnV5c2VsbGFkczogXFxmMjBkO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItY2FsZW5kYXItbWludXM6IFxcZjI3MjtcbiRmYS12YXItY2FsZW5kYXItcGx1czogXFxmMjcxO1xuJGZhLXZhci1jYWxlbmRhci10aW1lczogXFxmMjczO1xuJGZhLXZhci1jYWxlbmRhci13ZWVrOiBcXGY3ODQ7XG4kZmEtdmFyLWNhbWVyYTogXFxmMDMwO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLWNhbmR5LWNhbmU6IFxcZjc4NjtcbiRmYS12YXItY2FubmFiaXM6IFxcZjU1ZjtcbiRmYS12YXItY2Fwc3VsZXM6IFxcZjQ2YjtcbiRmYS12YXItY2FyOiBcXGYxYjk7XG4kZmEtdmFyLWNhci1hbHQ6IFxcZjVkZTtcbiRmYS12YXItY2FyLWJhdHRlcnk6IFxcZjVkZjtcbiRmYS12YXItY2FyLWNyYXNoOiBcXGY1ZTE7XG4kZmEtdmFyLWNhci1zaWRlOiBcXGY1ZTQ7XG4kZmEtdmFyLWNhcmV0LWRvd246IFxcZjBkNztcbiRmYS12YXItY2FyZXQtbGVmdDogXFxmMGQ5O1xuJGZhLXZhci1jYXJldC1yaWdodDogXFxmMGRhO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bjogXFxmMTUwO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNhcmV0LXVwOiBcXGYwZDg7XG4kZmEtdmFyLWNhcnJvdDogXFxmNzg3O1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFxcZjIxODtcbiRmYS12YXItY2FydC1wbHVzOiBcXGYyMTc7XG4kZmEtdmFyLWNhc2gtcmVnaXN0ZXI6IFxcZjc4ODtcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWNjLWFtYXpvbi1wYXk6IFxcZjQyZDtcbiRmYS12YXItY2MtYW1leDogXFxmMWYzO1xuJGZhLXZhci1jYy1hcHBsZS1wYXk6IFxcZjQxNjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFxcZjI0YztcbiRmYS12YXItY2MtZGlzY292ZXI6IFxcZjFmMjtcbiRmYS12YXItY2MtamNiOiBcXGYyNGI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFxcZjFmMTtcbiRmYS12YXItY2MtcGF5cGFsOiBcXGYxZjQ7XG4kZmEtdmFyLWNjLXN0cmlwZTogXFxmMWY1O1xuJGZhLXZhci1jYy12aXNhOiBcXGYxZjA7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNoYWxrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyOiBcXGY1MWM7XG4kZmEtdmFyLWNoYXJnaW5nLXN0YXRpb246IFxcZjVlNztcbiRmYS12YXItY2hhcnQtYXJlYTogXFxmMWZlO1xuJGZhLXZhci1jaGFydC1iYXI6IFxcZjA4MDtcbiRmYS12YXItY2hhcnQtbGluZTogXFxmMjAxO1xuJGZhLXZhci1jaGFydC1waWU6IFxcZjIwMDtcbiRmYS12YXItY2hlY2s6IFxcZjAwYztcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcXGYwNTg7XG4kZmEtdmFyLWNoZWNrLWRvdWJsZTogXFxmNTYwO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFxcZjE0YTtcbiRmYS12YXItY2hlZXNlOiBcXGY3ZWY7XG4kZmEtdmFyLWNoZXNzOiBcXGY0Mzk7XG4kZmEtdmFyLWNoZXNzLWJpc2hvcDogXFxmNDNhO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1jaGVzcy1raW5nOiBcXGY0M2Y7XG4kZmEtdmFyLWNoZXNzLWtuaWdodDogXFxmNDQxO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWNoZXNzLXJvb2s6IFxcZjQ0NztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXFxmMTNhO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXFxmMDc4O1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFxcZjA1MztcbiRmYS12YXItY2hldnJvbi1yaWdodDogXFxmMDU0O1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWNocm9tZTogXFxmMjY4O1xuJGZhLXZhci1jaHJvbWVjYXN0OiBcXGY4Mzg7XG4kZmEtdmFyLWNodXJjaDogXFxmNTFkO1xuJGZhLXZhci1jaXJjbGU6IFxcZjExMTtcbiRmYS12YXItY2lyY2xlLW5vdGNoOiBcXGYxY2U7XG4kZmEtdmFyLWNpdHk6IFxcZjY0ZjtcbiRmYS12YXItY2xpbmljLW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItY2xpcGJvYXJkOiBcXGYzMjg7XG4kZmEtdmFyLWNsaXBib2FyZC1jaGVjazogXFxmNDZjO1xuJGZhLXZhci1jbGlwYm9hcmQtbGlzdDogXFxmNDZkO1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjM4MTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5OiBcXGY3NDA7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0OiBcXGYzODI7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0OiBcXGY3OGM7XG4kZmEtdmFyLWNvbmNpZXJnZS1iZWxsOiBcXGY1NjI7XG4kZmEtdmFyLWNvbmZsdWVuY2U6IFxcZjc4ZDtcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFxcZjIwZTtcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLWNvb2tpZTogXFxmNTYzO1xuJGZhLXZhci1jb29raWUtYml0ZTogXFxmNTY0O1xuJGZhLXZhci1jb3B5OiBcXGYwYzU7XG4kZmEtdmFyLWNvcHlyaWdodDogXFxmMWY5O1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWxpY2lvdXM6IFxcZjFhNTtcbiRmYS12YXItZGVtb2NyYXQ6IFxcZjc0NztcbiRmYS12YXItZGVwbG95ZG9nOiBcXGYzOGU7XG4kZmEtdmFyLWRlc2twcm86IFxcZjM4ZjtcbiRmYS12YXItZGVza3RvcDogXFxmMTA4O1xuJGZhLXZhci1kZXY6IFxcZjZjYztcbiRmYS12YXItZGV2aWFudGFydDogXFxmMWJkO1xuJGZhLXZhci1kaGFybWFjaGFrcmE6IFxcZjY1NTtcbiRmYS12YXItZGhsOiBcXGY3OTA7XG4kZmEtdmFyLWRpYWdub3NlczogXFxmNDcwO1xuJGZhLXZhci1kaWFzcG9yYTogXFxmNzkxO1xuJGZhLXZhci1kaWNlOiBcXGY1MjI7XG4kZmEtdmFyLWRpY2UtZDIwOiBcXGY2Y2Y7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItZGljZS1maXZlOiBcXGY1MjM7XG4kZmEtdmFyLWRpY2UtZm91cjogXFxmNTI0O1xuJGZhLXZhci1kaWNlLW9uZTogXFxmNTI1O1xuJGZhLXZhci1kaWNlLXNpeDogXFxmNTI2O1xuJGZhLXZhci1kaWNlLXRocmVlOiBcXGY1Mjc7XG4kZmEtdmFyLWRpY2UtdHdvOiBcXGY1Mjg7XG4kZmEtdmFyLWRpZ2c6IFxcZjFhNjtcbiRmYS12YXItZGlnaXRhbC1vY2VhbjogXFxmMzkxO1xuJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGg6IFxcZjU2NjtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1kaXNjb3JkOiBcXGYzOTI7XG4kZmEtdmFyLWRpc2NvdXJzZTogXFxmMzkzO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdDogXFxmMzFlO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFxcZjIzZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZheDogXFxmMWFjO1xuJGZhLXZhci1mZWF0aGVyOiBcXGY1MmQ7XG4kZmEtdmFyLWZlYXRoZXItYWx0OiBcXGY1NmI7XG4kZmEtdmFyLWZlZGV4OiBcXGY3OTc7XG4kZmEtdmFyLWZlZG9yYTogXFxmNzk4O1xuJGZhLXZhci1mZW1hbGU6IFxcZjE4MjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1maWxlLWNvZGU6IFxcZjFjOTtcbiRmYS12YXItZmlsZS1jb250cmFjdDogXFxmNTZjO1xuJGZhLXZhci1maWxlLWNzdjogXFxmNmRkO1xuJGZhLXZhci1maWxlLWRvd25sb2FkOiBcXGY1NmQ7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1leHBvcnQ6IFxcZjU2ZTtcbiRmYS12YXItZmlsZS1pbWFnZTogXFxmMWM1O1xuJGZhLXZhci1maWxlLWltcG9ydDogXFxmNTZmO1xuJGZhLXZhci1maWxlLWludm9pY2U6IFxcZjU3MDtcbiRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcjogXFxmNTcxO1xuJGZhLXZhci1maWxlLW1lZGljYWw6IFxcZjQ3NztcbiRmYS12YXItZmlsZS1tZWRpY2FsLWFsdDogXFxmNDc4O1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQ6IFxcZjFjNDtcbiRmYS12YXItZmlsZS1wcmVzY3JpcHRpb246IFxcZjU3MjtcbiRmYS12YXItZmlsZS1zaWduYXR1cmU6IFxcZjU3MztcbiRmYS12YXItZmlsZS11cGxvYWQ6IFxcZjU3NDtcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsbDogXFxmNTc1O1xuJGZhLXZhci1maWxsLWRyaXA6IFxcZjU3NjtcbiRmYS12YXItZmlsbTogXFxmMDA4O1xuJGZhLXZhci1maWx0ZXI6IFxcZjBiMDtcbiRmYS12YXItZmluZ2VycHJpbnQ6IFxcZjU3NztcbiRmYS12YXItZmlyZTogXFxmMDZkO1xuJGZhLXZhci1maXJlLWFsdDogXFxmN2U0O1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXFxmMTM0O1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWZpcnN0LWFpZDogXFxmNDc5O1xuJGZhLXZhci1maXJzdC1vcmRlcjogXFxmMmIwO1xuJGZhLXZhci1maXJzdC1vcmRlci1hbHQ6IFxcZjUwYTtcbiRmYS12YXItZmlyc3RkcmFmdDogXFxmM2ExO1xuJGZhLXZhci1maXNoOiBcXGY1Nzg7XG4kZmEtdmFyLWZpc3QtcmFpc2VkOiBcXGY2ZGU7XG4kZmEtdmFyLWZsYWc6IFxcZjAyNDtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFxcZjExZTtcbiRmYS12YXItZmxhZy11c2E6IFxcZjc0ZDtcbiRmYS12YXItZmxhc2s6IFxcZjBjMztcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1mb2xkZXI6IFxcZjA3YjtcbiRmYS12YXItZm9sZGVyLW1pbnVzOiBcXGY2NWQ7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcXGYwN2M7XG4kZmEtdmFyLWZvbGRlci1wbHVzOiBcXGY2NWU7XG4kZmEtdmFyLWZvbnQ6IFxcZjAzMTtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQ6IFxcZjM1YztcbiRmYS12YXItZm9udC1hd2Vzb21lLWZsYWc6IFxcZjQyNTtcbiRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbDogXFxmNGU2O1xuJGZhLXZhci1mb250aWNvbnM6IFxcZjI4MDtcbiRmYS12YXItZm9udGljb25zLWZpOiBcXGYzYTI7XG4kZmEtdmFyLWZvb3RiYWxsLWJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcXGYyYzU7XG4kZmEtdmFyLWZyZWVic2Q6IFxcZjNhNDtcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLWdhbWVwYWQ6IFxcZjExYjtcbiRmYS12YXItZ2FzLXB1bXA6IFxcZjUyZjtcbiRmYS12YXItZ2F2ZWw6IFxcZjBlMztcbiRmYS12YXItZ2VtOiBcXGYzYTU7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFxcZjIyZDtcbiRmYS12YXItZ2V0LXBvY2tldDogXFxmMjY1O1xuJGZhLXZhci1nZzogXFxmMjYwO1xuJGZhLXZhci1nZy1jaXJjbGU6IFxcZjI2MTtcbiRmYS12YXItZ2hvc3Q6IFxcZjZlMjtcbiRmYS12YXItZ2lmdDogXFxmMDZiO1xuJGZhLXZhci1naWZ0czogXFxmNzljO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZ2l0LXNxdWFyZTogXFxmMWQyO1xuJGZhLXZhci1naXRodWI6IFxcZjA5YjtcbiRmYS12YXItZ2l0aHViLWFsdDogXFxmMTEzO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcXGYwOTI7XG4kZmEtdmFyLWdpdGtyYWtlbjogXFxmM2E2O1xuJGZhLXZhci1naXRsYWI6IFxcZjI5NjtcbiRmYS12YXItZ2l0dGVyOiBcXGY0MjY7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pOiBcXGYwMDA7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0OiBcXGY1N2I7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXk6IFxcZjdhMDtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nb2ZvcmU6IFxcZjNhNztcbiRmYS12YXItZ29sZi1iYWxsOiBcXGY0NTA7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW1zYTogXFxmNjY1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmc6IFxcZjRiZDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy11c2Q6IFxcZjRjMDtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcG9jazogXFxmMjU5O1xuJGZhLXZhci1oYW5kczogXFxmNGMyO1xuJGZhLXZhci1oYW5kcy1oZWxwaW5nOiBcXGY0YzQ7XG4kZmEtdmFyLWhhbmRzaGFrZTogXFxmMmI1O1xuJGZhLXZhci1oYW51a2lhaDogXFxmNmU2O1xuJGZhLXZhci1oYXJkLWhhdDogXFxmODA3O1xuJGZhLXZhci1oYXNodGFnOiBcXGYyOTI7XG4kZmEtdmFyLWhhdC13aXphcmQ6IFxcZjZlODtcbiRmYS12YXItaGF5a2FsOiBcXGY2NjY7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhvY2tleS1wdWNrOiBcXGY0NTM7XG4kZmEtdmFyLWhvbGx5LWJlcnJ5OiBcXGY3YWE7XG4kZmEtdmFyLWhvbWU6IFxcZjAxNTtcbiRmYS12YXItaG9vbGk6IFxcZjQyNztcbiRmYS12YXItaG9ybmJpbGw6IFxcZjU5MjtcbiRmYS12YXItaG9yc2U6IFxcZjZmMDtcbiRmYS12YXItaG9yc2UtaGVhZDogXFxmN2FiO1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjQ3ZDtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnRlcmNvbTogXFxmN2FmO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXFxmMjZiO1xuJGZhLXZhci1pbnZpc2lvbjogXFxmN2IwO1xuJGZhLXZhci1pb3hob3N0OiBcXGYyMDg7XG4kZmEtdmFyLWl0YWxpYzogXFxmMDMzO1xuJGZhLXZhci1pdGNoLWlvOiBcXGY4M2E7XG4kZmEtdmFyLWl0dW5lczogXFxmM2I0O1xuJGZhLXZhci1pdHVuZXMtbm90ZTogXFxmM2I1O1xuJGZhLXZhci1qYXZhOiBcXGY0ZTQ7XG4kZmEtdmFyLWplZGk6IFxcZjY2OTtcbiRmYS12YXItamVkaS1vcmRlcjogXFxmNTBlO1xuJGZhLXZhci1qZW5raW5zOiBcXGYzYjY7XG4kZmEtdmFyLWppcmE6IFxcZjdiMTtcbiRmYS12YXItam9nZXQ6IFxcZjNiNztcbiRmYS12YXItam9pbnQ6IFxcZjU5NTtcbiRmYS12YXItam9vbWxhOiBcXGYxYWE7XG4kZmEtdmFyLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWpzOiBcXGYzYjg7XG4kZmEtdmFyLWpzLXNxdWFyZTogXFxmM2I5O1xuJGZhLXZhci1qc2ZpZGRsZTogXFxmMWNjO1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXIta2V5OiBcXGYwODQ7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLWtoYW5kYTogXFxmNjZkO1xuJGZhLXZhci1raWNrc3RhcnRlcjogXFxmM2JiO1xuJGZhLXZhci1raWNrc3RhcnRlci1rOiBcXGYzYmM7XG4kZmEtdmFyLWtpc3M6IFxcZjU5NjtcbiRmYS12YXIta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXIta29ydnVlOiBcXGY0MmY7XG4kZmEtdmFyLWxhbmRtYXJrOiBcXGY2NmY7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjNjNztcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1tZWdhcG9ydDogXFxmNWEzO1xuJGZhLXZhci1tZWg6IFxcZjExYTtcbiRmYS12YXItbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItbWVtb3J5OiBcXGY1Mzg7XG4kZmEtdmFyLW1lbmRlbGV5OiBcXGY3YjM7XG4kZmEtdmFyLW1lbm9yYWg6IFxcZjY3NjtcbiRmYS12YXItbWVyY3VyeTogXFxmMjIzO1xuJGZhLXZhci1tZXRlb3I6IFxcZjc1MztcbiRmYS12YXItbWljcm9jaGlwOiBcXGYyZGI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFxcZjEzMDtcbiRmYS12YXItbWljcm9waG9uZS1hbHQ6IFxcZjNjOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXFxmMTMxO1xuJGZhLXZhci1taWNyb3Njb3BlOiBcXGY2MTA7XG4kZmEtdmFyLW1pY3Jvc29mdDogXFxmM2NhO1xuJGZhLXZhci1taW51czogXFxmMDY4O1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFxcZjA1NjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcXGYxNDY7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLW1vYmlsZTogXFxmMTBiO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLW1vZHg6IFxcZjI4NTtcbiRmYS12YXItbW9uZXJvOiBcXGYzZDA7XG4kZmEtdmFyLW1vbmV5LWJpbGw6IFxcZjBkNjtcbiRmYS12YXItbW9uZXktYmlsbC1hbHQ6IFxcZjNkMTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlOiBcXGY1M2E7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6IFxcZjUzYjtcbiRmYS12YXItbW9uZXktY2hlY2s6IFxcZjUzYztcbiRmYS12YXItbW9uZXktY2hlY2stYWx0OiBcXGY1M2Q7XG4kZmEtdmFyLW1vbnVtZW50OiBcXGY1YTY7XG4kZmEtdmFyLW1vb246IFxcZjE4NjtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW11Zy1ob3Q6IFxcZjdiNjtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItbmFwc3RlcjogXFxmM2QyO1xuJGZhLXZhci1uZW9zOiBcXGY2MTI7XG4kZmEtdmFyLW5ldHdvcmstd2lyZWQ6IFxcZjZmZjtcbiRmYS12YXItbmV1dGVyOiBcXGYyMmM7XG4kZmEtdmFyLW5ld3NwYXBlcjogXFxmMWVhO1xuJGZhLXZhci1uaW1ibHI6IFxcZjVhODtcbiRmYS12YXItbmludGVuZG8tc3dpdGNoOiBcXGY0MTg7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcXGYyNjM7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcXGYyNjQ7XG4kZmEtdmFyLW9pbC1jYW46IFxcZjYxMztcbiRmYS12YXItb2xkLXJlcHVibGljOiBcXGY1MTA7XG4kZmEtdmFyLW9tOiBcXGY2Nzk7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcXGYyM2Q7XG4kZmEtdmFyLW9wZW5pZDogXFxmMTliO1xuJGZhLXZhci1vcGVyYTogXFxmMjZhO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcXGYyM2M7XG4kZmEtdmFyLW9zaTogXFxmNDFhO1xuJGZhLXZhci1vdHRlcjogXFxmNzAwO1xuJGZhLXZhci1vdXRkZW50OiBcXGYwM2I7XG4kZmEtdmFyLXBhZ2U0OiBcXGYzZDc7XG4kZmEtdmFyLXBhZ2VsaW5lczogXFxmMThjO1xuJGZhLXZhci1wYWdlcjogXFxmODE1O1xuJGZhLXZhci1wYWludC1icnVzaDogXFxmMWZjO1xuJGZhLXZhci1wYWludC1yb2xsZXI6IFxcZjVhYTtcbiRmYS12YXItcGFsZXR0ZTogXFxmNTNmO1xuJGZhLXZhci1wYWxmZWQ6IFxcZjNkODtcbiRmYS12YXItcGFsbGV0OiBcXGY0ODI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcXGYxZDg7XG4kZmEtdmFyLXBhcGVyY2xpcDogXFxmMGM2O1xuJGZhLXZhci1wYXJhY2h1dGUtYm94OiBcXGY0Y2Q7XG4kZmEtdmFyLXBhcmFncmFwaDogXFxmMWRkO1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhc3Nwb3J0OiBcXGY1YWI7XG4kZmEtdmFyLXBhc3RhZmFyaWFuaXNtOiBcXGY2N2I7XG4kZmEtdmFyLXBhc3RlOiBcXGYwZWE7XG4kZmEtdmFyLXBhdHJlb246IFxcZjNkOTtcbiRmYS12YXItcGF1c2U6IFxcZjA0YztcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcXGYyOGI7XG4kZmEtdmFyLXBhdzogXFxmMWIwO1xuJGZhLXZhci1wYXlwYWw6IFxcZjFlZDtcbiRmYS12YXItcGVhY2U6IFxcZjY3YztcbiRmYS12YXItcGVuOiBcXGYzMDQ7XG4kZmEtdmFyLXBlbi1hbHQ6IFxcZjMwNTtcbiRmYS12YXItcGVuLWZhbmN5OiBcXGY1YWM7XG4kZmEtdmFyLXBlbi1uaWI6IFxcZjVhZDtcbiRmYS12YXItcGVuLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1wZW5jaWwtYWx0OiBcXGYzMDM7XG4kZmEtdmFyLXBlbmNpbC1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW5ueS1hcmNhZGU6IFxcZjcwNDtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyY2VudDogXFxmMjk1O1xuJGZhLXZhci1wZXJjZW50YWdlOiBcXGY1NDE7XG4kZmEtdmFyLXBlcmlzY29wZTogXFxmM2RhO1xuJGZhLXZhci1wZXJzb24tYm9vdGg6IFxcZjc1NjtcbiRmYS12YXItcGhhYnJpY2F0b3I6IFxcZjNkYjtcbiRmYS12YXItcGhvZW5peC1mcmFtZXdvcms6IFxcZjNkYztcbiRmYS12YXItcGhvZW5peC1zcXVhZHJvbjogXFxmNTExO1xuJGZhLXZhci1waG9uZTogXFxmMDk1O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtdm9sdW1lOiBcXGYyYTA7XG4kZmEtdmFyLXBocDogXFxmNDU3O1xuJGZhLXZhci1waWVkLXBpcGVyOiBcXGYyYWU7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcXGYxYTg7XG4kZmEtdmFyLXBpZWQtcGlwZXItaGF0OiBcXGY0ZTU7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFxcZjFhNztcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXBsYW5lLWFycml2YWw6IFxcZjVhZjtcbiRmYS12YXItcGxhbmUtZGVwYXJ0dXJlOiBcXGY1YjA7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1wbHVzOiBcXGYwNjc7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcXGYwZmU7XG4kZmEtdmFyLXBvZGNhc3Q6IFxcZjJjZTtcbiRmYS12YXItcG9sbDogXFxmNjgxO1xuJGZhLXZhci1wb2xsLWg6IFxcZjY4MjtcbiRmYS12YXItcG9vOiBcXGYyZmU7XG4kZmEtdmFyLXBvby1zdG9ybTogXFxmNzVhO1xuJGZhLXZhci1wb29wOiBcXGY2MTk7XG4kZmEtdmFyLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXBvdW5kLXNpZ246IFxcZjE1NDtcbiRmYS12YXItcG93ZXItb2ZmOiBcXGYwMTE7XG4kZmEtdmFyLXByYXk6IFxcZjY4MztcbiRmYS12YXItcHJheWluZy1oYW5kczogXFxmNjg0O1xuJGZhLXZhci1wcmVzY3JpcHRpb246IFxcZjViMTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZTogXFxmNDg1O1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDogXFxmNDg2O1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci1wcm9jZWR1cmVzOiBcXGY0ODc7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXFxmMjg4O1xuJGZhLXZhci1wcm9qZWN0LWRpYWdyYW06IFxcZjU0MjtcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXGYxMjg7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1xdWlkZGl0Y2g6IFxcZjQ1ODtcbiRmYS12YXItcXVpbnNjYXBlOiBcXGY0NTk7XG4kZmEtdmFyLXF1b3JhOiBcXGYyYzQ7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFxcZjEwZDtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFxcZjEwZTtcbiRmYS12YXItcXVyYW46IFxcZjY4NztcbiRmYS12YXItci1wcm9qZWN0OiBcXGY0Zjc7XG4kZmEtdmFyLXJhZGlhdGlvbjogXFxmN2I5O1xuJGZhLXZhci1yYWRpYXRpb24tYWx0OiBcXGY3YmE7XG4kZmEtdmFyLXJhaW5ib3c6IFxcZjc1YjtcbiRmYS12YXItcmFuZG9tOiBcXGYwNzQ7XG4kZmEtdmFyLXJhc3BiZXJyeS1waTogXFxmN2JiO1xuJGZhLXZhci1yYXZlbHJ5OiBcXGYyZDk7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXJlY3ljbGU6IFxcZjFiODtcbiRmYS12YXItcmVkLXJpdmVyOiBcXGYzZTM7XG4kZmEtdmFyLXJlZGRpdDogXFxmMWExO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFxcZjI4MTtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXFxmMWEyO1xuJGZhLXZhci1yZWRoYXQ6IFxcZjdiYztcbiRmYS12YXItcmVkbzogXFxmMDFlO1xuJGZhLXZhci1yZWRvLWFsdDogXFxmMmY5O1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcXGYyNWQ7XG4kZmEtdmFyLXJlbnJlbjogXFxmMThiO1xuJGZhLXZhci1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItcmVwbHlkOiBcXGYzZTY7XG4kZmEtdmFyLXJlcHVibGljYW46IFxcZjc1ZTtcbiRmYS12YXItcmVzZWFyY2hnYXRlOiBcXGY0Zjg7XG4kZmEtdmFyLXJlc29sdmluZzogXFxmM2U3O1xuJGZhLXZhci1yZXN0cm9vbTogXFxmN2JkO1xuJGZhLXZhci1yZXR3ZWV0OiBcXGYwNzk7XG4kZmEtdmFyLXJldjogXFxmNWIyO1xuJGZhLXZhci1yaWJib246IFxcZjRkNjtcbiRmYS12YXItcmluZzogXFxmNzBiO1xuJGZhLXZhci1yb2FkOiBcXGYwMTg7XG4kZmEtdmFyLXJvYm90OiBcXGY1NDQ7XG4kZmEtdmFyLXJvY2tldDogXFxmMTM1O1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItcnNzOiBcXGYwOWU7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFxcZjE0MztcbiRmYS12YXItcnVibGUtc2lnbjogXFxmMTU4O1xuJGZhLXZhci1ydWxlcjogXFxmNTQ1O1xuJGZhLXZhci1ydWxlci1jb21iaW5lZDogXFxmNTQ2O1xuJGZhLXZhci1ydWxlci1ob3Jpem9udGFsOiBcXGY1NDc7XG4kZmEtdmFyLXJ1bGVyLXZlcnRpY2FsOiBcXGY1NDg7XG4kZmEtdmFyLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItcnVwZWUtc2lnbjogXFxmMTU2O1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpcDogXFxmMjFhO1xuJGZhLXZhci1zaGlwcGluZy1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXFxmMjE0O1xuJGZhLXZhci1zaG9lLXByaW50czogXFxmNTRiO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaXN0cml4OiBcXGYzZWU7XG4kZmEtdmFyLXNpdGVtYXA6IFxcZjBlODtcbiRmYS12YXItc2l0aDogXFxmNTEyO1xuJGZhLXZhci1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLXNrZXRjaDogXFxmN2M2O1xuJGZhLXZhci1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1za3VsbDogXFxmNTRjO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjNlZjtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcXGYxZTc7XG4kZmEtdmFyLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1zbW9nOiBcXGY3NWY7XG4kZmEtdmFyLXNtb2tpbmc6IFxcZjQ4ZDtcbiRmYS12YXItc21va2luZy1iYW46IFxcZjU0ZDtcbiRmYS12YXItc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLXNuYXBjaGF0OiBcXGYyYWI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcXGYyYWM7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXFxmMmFkO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLXNub3dtYW46IFxcZjdkMDtcbiRmYS12YXItc25vd3Bsb3c6IFxcZjdkMjtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItc29ydDogXFxmMGRjO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd246IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXA6IFxcZjE2MztcbiRmYS12YXItc29ydC11cDogXFxmMGRlO1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcXGYxYmU7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1zcGVha2VyLWRlY2s6IFxcZjgzYztcbiRmYS12YXItc3BpZGVyOiBcXGY3MTc7XG4kZmEtdmFyLXNwaW5uZXI6IFxcZjExMDtcbiRmYS12YXItc3Bsb3RjaDogXFxmNWJjO1xuJGZhLXZhci1zcG90aWZ5OiBcXGYxYmM7XG4kZmEtdmFyLXNwcmF5LWNhbjogXFxmNWJkO1xuJGZhLXZhci1zcXVhcmU6IFxcZjBjODtcbiRmYS12YXItc3F1YXJlLWZ1bGw6IFxcZjQ1YztcbiRmYS12YXItc3F1YXJlLXJvb3QtYWx0OiBcXGY2OTg7XG4kZmEtdmFyLXNxdWFyZXNwYWNlOiBcXGY1YmU7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcXGYxOGQ7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcXGYxNmM7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItc3Rhci1oYWxmOiBcXGYwODk7XG4kZmEtdmFyLXN0YXItaGFsZi1hbHQ6IFxcZjVjMDtcbiRmYS12YXItc3Rhci1vZi1kYXZpZDogXFxmNjlhO1xuJGZhLXZhci1zdGFyLW9mLWxpZmU6IFxcZjYyMTtcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1zdG9wOiBcXGYwNGQ7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcXGYyOGQ7XG4kZmEtdmFyLXN0b3B3YXRjaDogXFxmMmYyO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RyYXZhOiBcXGY0Mjg7XG4kZmEtdmFyLXN0cmVhbTogXFxmNTUwO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXFxmMjFkO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcXGYwY2M7XG4kZmEtdmFyLXN0cmlwZTogXFxmNDI5O1xuJGZhLXZhci1zdHJpcGUtczogXFxmNDJhO1xuJGZhLXZhci1zdHJvb3B3YWZlbDogXFxmNTUxO1xuJGZhLXZhci1zdHVkaW92aW5hcmk6IFxcZjNmODtcbiRmYS12YXItc3R1bWJsZXVwb246IFxcZjFhNDtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcXGYxYTM7XG4kZmEtdmFyLXN1YnNjcmlwdDogXFxmMTJjO1xuJGZhLXZhci1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItc3VpdGNhc2U6IFxcZjBmMjtcbiRmYS12YXItc3VpdGNhc2Utcm9sbGluZzogXFxmNWMxO1xuJGZhLXZhci1zdW46IFxcZjE4NTtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFxcZjJkZDtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFxcZjEyYjtcbiRmYS12YXItc3VwcGxlOiBcXGYzZjk7XG4kZmEtdmFyLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLXN1c2U6IFxcZjdkNjtcbiRmYS12YXItc3dhdGNoYm9vazogXFxmNWMzO1xuJGZhLXZhci1zd2ltbWVyOiBcXGY1YzQ7XG4kZmEtdmFyLXN3aW1taW5nLXBvb2w6IFxcZjVjNTtcbiRmYS12YXItc3ltZm9ueTogXFxmODNkO1xuJGZhLXZhci1zeW5hZ29ndWU6IFxcZjY5YjtcbiRmYS12YXItc3luYzogXFxmMDIxO1xuJGZhLXZhci1zeW5jLWFsdDogXFxmMmYxO1xuJGZhLXZhci1zeXJpbmdlOiBcXGY0OGU7XG4kZmEtdmFyLXRhYmxlOiBcXGYwY2U7XG4kZmEtdmFyLXRhYmxlLXRlbm5pczogXFxmNDVkO1xuJGZhLXZhci10YWJsZXQ6IFxcZjEwYTtcbiRmYS12YXItdGFibGV0LWFsdDogXFxmM2ZhO1xuJGZhLXZhci10YWJsZXRzOiBcXGY0OTA7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0OiBcXGYzZmQ7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXRhcGU6IFxcZjRkYjtcbiRmYS12YXItdGFza3M6IFxcZjBhZTtcbiRmYS12YXItdGF4aTogXFxmMWJhO1xuJGZhLXZhci10ZWFtc3BlYWs6IFxcZjRmOTtcbiRmYS12YXItdGVldGg6IFxcZjYyZTtcbiRmYS12YXItdGVldGgtb3BlbjogXFxmNjJmO1xuJGZhLXZhci10ZWxlZ3JhbTogXFxmMmM2O1xuJGZhLXZhci10ZWxlZ3JhbS1wbGFuZTogXFxmM2ZlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWxvdzogXFxmNzZiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcXGYxZDU7XG4kZmEtdmFyLXRlbmdlOiBcXGY3ZDc7XG4kZmEtdmFyLXRlcm1pbmFsOiBcXGYxMjA7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFxcZjAzNTtcbiRmYS12YXItdGg6IFxcZjAwYTtcbiRmYS12YXItdGgtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItdGgtbGlzdDogXFxmMDBiO1xuJGZhLXZhci10aGUtcmVkLXlldGk6IFxcZjY5ZDtcbiRmYS12YXItdGhlYXRlci1tYXNrczogXFxmNjMwO1xuJGZhLXZhci10aGVtZWNvOiBcXGY1YzY7XG4kZmEtdmFyLXRoZW1laXNsZTogXFxmMmIyO1xuJGZhLXZhci10aGVybW9tZXRlcjogXFxmNDkxO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci10aGluay1wZWFrczogXFxmNzMxO1xuJGZhLXZhci10aHVtYnMtZG93bjogXFxmMTY1O1xuJGZhLXZhci10aHVtYnMtdXA6IFxcZjE2NDtcbiRmYS12YXItdGh1bWJ0YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRpY2tldC1hbHQ6IFxcZjNmZjtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXRpbnQ6IFxcZjA0MztcbiRmYS12YXItdGludC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaW46IFxcZjIzODtcbiRmYS12YXItdHJhbTogXFxmN2RhO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXFxmMjI0O1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFxcZjIyNTtcbiRmYS12YXItdHJhc2g6IFxcZjFmODtcbiRmYS12YXItdHJhc2gtYWx0OiBcXGYyZWQ7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmU6IFxcZjgyOTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQ6IFxcZjgyYTtcbiRmYS12YXItdHJlZTogXFxmMWJiO1xuJGZhLXZhci10cmVsbG86IFxcZjE4MTtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFxcZjI2MjtcbiRmYS12YXItdHJvcGh5OiBcXGYwOTE7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLXRydWNrLWxvYWRpbmc6IFxcZjRkZTtcbiRmYS12YXItdHJ1Y2stbW9uc3RlcjogXFxmNjNiO1xuJGZhLXZhci10cnVjay1tb3Zpbmc6IFxcZjRkZjtcbiRmYS12YXItdHJ1Y2stcGlja3VwOiBcXGY2M2M7XG4kZmEtdmFyLXRzaGlydDogXFxmNTUzO1xuJGZhLXZhci10dHk6IFxcZjFlNDtcbiRmYS12YXItdHVtYmxyOiBcXGYxNzM7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFxcZjE3NDtcbiRmYS12YXItdHY6IFxcZjI2YztcbiRmYS12YXItdHdpdGNoOiBcXGYxZTg7XG4kZmEtdmFyLXR3aXR0ZXI6IFxcMWQ1NGY7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcXGYwODE7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLXVpa2l0OiBcXGY0MDM7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuZGVybGluZTogXFxmMGNkO1xuJGZhLXZhci11bmRvOiBcXGYwZTI7XG4kZmEtdmFyLXVuZG8tYWx0OiBcXGYyZWE7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci11c2VyOiBcXGYwMDc7XG4kZmEtdmFyLXVzZXItYWx0OiBcXGY0MDY7XG4kZmEtdmFyLXVzZXItYWx0LXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLXVzZXItYXN0cm9uYXV0OiBcXGY0ZmI7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci11c2VyLWVkaXQ6IFxcZjRmZjtcbiRmYS12YXItdXNlci1mcmllbmRzOiBcXGY1MDA7XG4kZmEtdmFyLXVzZXItZ3JhZHVhdGU6IFxcZjUwMTtcbiRmYS12YXItdXNlci1pbmp1cmVkOiBcXGY3Mjg7XG4kZmEtdmFyLXVzZXItbG9jazogXFxmNTAyO1xuJGZhLXZhci11c2VyLW1kOiBcXGYwZjA7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItdXNlci1uaW5qYTogXFxmNTA0O1xuJGZhLXZhci11c2VyLW51cnNlOiBcXGY4MmY7XG4kZmEtdmFyLXVzZXItcGx1czogXFxmMjM0O1xuJGZhLXZhci11c2VyLXNlY3JldDogXFxmMjFiO1xuJGZhLXZhci11c2VyLXNoaWVsZDogXFxmNTA1O1xuJGZhLXZhci11c2VyLXNsYXNoOiBcXGY1MDY7XG4kZmEtdmFyLXVzZXItdGFnOiBcXGY1MDc7XG4kZmEtdmFyLXVzZXItdGllOiBcXGY1MDg7XG4kZmEtdmFyLXVzZXItdGltZXM6IFxcZjIzNTtcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXVzcHM6IFxcZjdlMTtcbiRmYS12YXItdXNzdW5uYWg6IFxcZjQwNztcbiRmYS12YXItdXRlbnNpbC1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci11dGVuc2lsczogXFxmMmU3O1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItdmVjdG9yLXNxdWFyZTogXFxmNWNiO1xuJGZhLXZhci12ZW51czogXFxmMjIxO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFxcZjIyNjtcbiRmYS12YXItdmVudXMtbWFyczogXFxmMjI4O1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tc2xhc2g6IFxcZjRlMjtcbiRmYS12YXItdmloYXJhOiBcXGY2YTc7XG4kZmEtdmFyLXZpbWVvOiBcXGY0MGE7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXFxmMTk0O1xuJGZhLXZhci12aW1lby12OiBcXGYyN2Q7XG4kZmEtdmFyLXZpbmU6IFxcZjFjYTtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvbGxleWJhbGwtYmFsbDogXFxmNDVmO1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLXZvbHVtZS11cDogXFxmMDI4O1xuJGZhLXZhci12b3RlLXllYTogXFxmNzcyO1xuJGZhLXZhci12ci1jYXJkYm9hcmQ6IFxcZjcyOTtcbiRmYS12YXItdnVlanM6IFxcZjQxZjtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItd2FyZWhvdXNlOiBcXGY0OTQ7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXdyZW5jaDogXFxmMGFkO1xuJGZhLXZhci14LXJheTogXFxmNDk3O1xuJGZhLXZhci14Ym94OiBcXGY0MTI7XG4kZmEtdmFyLXhpbmc6IFxcZjE2ODtcbiRmYS12YXIteGluZy1zcXVhcmU6IFxcZjE2OTtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcXGYyM2I7XG4kZmEtdmFyLXlhaG9vOiBcXGYxOWU7XG4kZmEtdmFyLXlhbW1lcjogXFxmODQwO1xuJGZhLXZhci15YW5kZXg6IFxcZjQxMztcbiRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWw6IFxcZjQxNDtcbiRmYS12YXIteWFybjogXFxmN2UzO1xuJGZhLXZhci15ZWxwOiBcXGYxZTk7XG4kZmEtdmFyLXllbi1zaWduOiBcXGYxNTc7XG4kZmEtdmFyLXlpbi15YW5nOiBcXGY2YWQ7XG4kZmEtdmFyLXlvYXN0OiBcXGYyYjE7XG4kZmEtdmFyLXlvdXR1YmU6IFxcZjE2NztcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFxcZjQzMTtcbiRmYS12YXItemhpaHU6IFxcZjYzZjtcbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJGZhLWxpLXdpZHRoICogNSwgNCk7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRvYmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkb2JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkdmVyc2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZHZlcnNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWZmaWxpYXRldGhlbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyLWZyZXNoZW5lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyLWZyZXNoZW5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXJibmI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpcmJuYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGdvbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGdvbGlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tY2VudGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWp1c3RpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxsZXJnaWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGxlcmdpZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYnVsYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1pbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWlsaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmNob3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5kcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdlbGxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2VsbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeWNyZWF0aXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3VsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3VsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5raDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5raCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHAtc3RvcmUtaW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJ0c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJ0c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN0ZXJpc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN5bW1ldHJpazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN5bW1ldHJpayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzc2lhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXNzaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0b206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXVkaWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaW8tZGVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXV0b3ByZWZpeGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdXRvcHJlZml4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXZpYW5leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYW5leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhdG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF2aWF0byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXdhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5LWNhcnJpYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2tzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3NwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaWxsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJlYWQtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb2FkY2FzdC10b3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnRjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZmZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVmZmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWlsZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbGhvcm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1c2luZXNzLXRpbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1c2luZXNzLXRpbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJyb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnJvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXNoLXJlZ2lzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXNoLXJlZ2lzdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtYXpvbi1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtYXpvbi1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGluZXJzLWNsdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpc2NvdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtamNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLW1hc3RlcmNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtdmlzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50ZXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50ZXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudG9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZXJ0aWZpY2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWFyZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1waWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYmlzaG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1ib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtuaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mta25pZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXBhd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcXVlZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXF1ZWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGlsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWVjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWVjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNodXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2h1cmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlLW5vdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpbmljLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaW5pYy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1lYXRiYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtcmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzbWl0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzbWl0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHZlcnNpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkdmVyc2lmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ja3RhaWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kaWVwaWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29pbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29sdW1ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb3RzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cy1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFjdC1kaXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYWN0LWRpc2MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uY2llcmdlLWJlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uZmx1ZW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uZmx1ZW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ubmVjdGRldmVsb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb250YW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZS1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5cmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFzaGN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhdGFiYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWxpY2lvdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVtb2NyYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlbW9jcmF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlcGxveWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVwbG95ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2twcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2twcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVza3RvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXZpYW50YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRoYXJtYWNoYWtyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhhcm1hY2hha3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRobDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYWdub3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhZ25vc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYXNwb3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWFzcG9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDIwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQyMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQ2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1maXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZm91cjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1mb3VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLW9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXNpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1zaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10aHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXR3bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10d28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdpdGFsLW9jZWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpcmVjdGlvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpcmVjdGlvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY29yZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3Vyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvdXJzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxlbWVudG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsaXBzaXMtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuLXRleHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZpcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcXVhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVxdWFscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmFzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVyYXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmxhbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVybGFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcmV1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJldW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJuZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVybmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0c3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0c3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVyby1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV2ZXJub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjaGFuZ2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0aHViLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGtyYWtlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0a3Jha2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0bGFiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoZWVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hlZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLXdoaXNrZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYWZyaWNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hZnJpY2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFtZXJpY2FzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFzaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFzaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1ldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2ZvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLWRyaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtd2FsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvcHVyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvcHVyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyYWR1YXRpb24tY2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF0aXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW1hY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW1hY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0tc3dlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1oZWFydHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4taGVhcnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zdGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zdGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdG9uZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4td2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXBmaXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncnVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3J1bnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy11c2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1saXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbGl6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXJvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zY2lzc29ycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbnVraWFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW51a2lhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFyZC1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFzaHRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhheWthbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF5a2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1icm9rZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydGJlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVsaWNvcHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVsaWNvcHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWdobGlnaHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlnaGxpZ2h0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwcG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHBvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlyZS1hLWhlbHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlyZS1hLWhlbHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXN0b3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3QtdHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3QtdHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3RlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RqYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGphcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtZW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1zdGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRhbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3V6ejpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91enopOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHJ5dm5pYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHJ5dm5pYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHRtbDUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHVic3BvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHVic3BvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaS1jdXJzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLWNyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2UtY3JlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNpY2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNpY2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1iYWRnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtYmFkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyY29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcmNvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlveGhvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGFsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRjaC1pbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRjaC1pbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXMtbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzLW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamF2YSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplZGktb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplZGktb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVua2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVua2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qaXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qaXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvZ2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb2dldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2ludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb29tbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam91cm5hbC13aGlsbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvdXJuYWwtd2hpbGxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanNmaWRkbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FhYmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthYWJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthZ2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FnZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWNkbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Y2RuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtoYW5kYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2hhbmRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpY2tzdGFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlci1rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlci1rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLXdpbmstaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2l3aS1iaXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXdpLWJpcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta29ydnVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rb3J2dWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZG1hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmRtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5ndWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcmF2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcmF2ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxheWVyLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXllci1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYW5wdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlbW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuLWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4tZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlmZS1yaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHRidWxiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlua2VkaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4taW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluLWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbnV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW51eCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXJhLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpcmEtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LW9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtdWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3QtdWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2F0aW9uLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jay1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG93LXZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1Z2dhZ2UtY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXp1bmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1penVuaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vYmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vZHg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vZHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25lcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9udW1lbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbnVtZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLXBlc3RsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9ydGFyLXBlc3RsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3NxdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vc3F1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3RvcmN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdW50YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VudGFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZS1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11Zy1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11Zy1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hcHN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5hcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmVvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmVvcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXR3b3JrLXdpcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV1dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV3c3BhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5pbWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmltYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5pbnRlbmRvLXN3aXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmludGVuZG8tc3dpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZS1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3QtZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdC1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3Rlcy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5wbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnBtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5zODpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnM4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW51dHJpdGlvbml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1udXRyaXRpb25peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LXVuZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9zaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3NpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW90dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdXRkZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2U0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VsaW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LXJvbGxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFpbnQtcm9sbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGV0dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGV0dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsZmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxmZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXJjbGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFjaHV0ZS1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFya2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXNzcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzc3BvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGFmYXJpYW5pc206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RhZmFyaWFuaXNtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXRyZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXRyZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tZmFuY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1mYW5jeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tbmliOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tbmliKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1ydWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5ueS1hcmNhZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbm55LWFyY2FkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmNlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmNlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudGFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudGFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJpc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmlzY29wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJzb24tYm9vdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcnNvbi1ib290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waGFicmljYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhhYnJpY2F0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS12b2x1bWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXZvbHVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBocCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1wcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5LWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9kY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9kY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGwtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbC1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvby1zdG9ybTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vLXN0b3JtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRyYWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvdW5kLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3dlci1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5aW5nLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9jZWR1cmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcm9jZWR1cmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvZHVjdC1odW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2plY3QtZGlhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvamVjdC1kaWFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHV6emxlLXBpZWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHl0aG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWlkZGl0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpbnNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWluc2NhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1cmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdXJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yLXByb2plY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXItcHJvamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhZGlhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhaW5ib3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhaW5ib3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYW5kb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFzcGJlcnJ5LXBpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXNwYmVycnktcGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmF2ZWxyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3RldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0ZXVyb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWRtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhZG1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWJlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNlaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNlaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkLXJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWQtcml2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LWFsaWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtYWxpZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWdpc3RlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FkLWNyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLWNyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtdGVhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLXRlYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FmYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWZhcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FsZXNmb3JjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FsZXNmb3JjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F0ZWxsaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUtZGlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaGxpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NobGl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nob29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmV3ZHJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3Jld2RyaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmliZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcm9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbG9jYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaGVuZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2hlbmdpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWVkbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VlZGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbGxjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZpY2VzdGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmljZXN0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXBlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGVrZWwtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcHBpbmctZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcHBpbmctZmFzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXJ0c2luYnVsayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9lLXByaW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvZS1wcmludHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYXNrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wd2FyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHdhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG93ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2h1dHRsZS12YW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNodXR0bGUtdmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24taW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLW91dC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYXR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbS1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW1wbHlidWlsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29sYXItcGFuZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvbGFyLXBhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3VuZGNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdXJjZXRyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdXJjZXRyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BhY2Utc2h1dHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVha2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrZXItZGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BlYWtlci1kZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyYXZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJhdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmVldC12aWV3KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlrZXRocm91Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlLXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlwZS1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cm9vcHdhZmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJvb3B3YWZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVkaW92aW5hcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dWRpb3ZpbmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJ3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlLXJvbGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cGVycG93ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnNjcmlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBwbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXJwcmlzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VycHJpc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2F0Y2hib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2F0Y2hib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3aW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3aW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1pbmctcG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1pbmctcG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW1mb255OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW1mb255KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmFnb2d1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYWdvZ3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5cmluZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5cmluZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlLXRlbm5pczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUtdGVubmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXhpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlYW1zcGVhazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVhbXNwZWFrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWV0aC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aC1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZWdyYW0tcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5jZW50LXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVybWluYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtaGVpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtd2lkdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZS1yZWQteWV0aTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlLXJlZC15ZXRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZWF0ZXItbWFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZWF0ZXItbWFza3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZW1laXNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGluay1wZWFrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhpbmstcGVha3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW1icy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1idGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJ0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpY2tldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpY2tldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvZ2dsZS1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldC1wYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b29sYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29sYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29scyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9vdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvcmlpLWdhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmlpLWdhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhY3RvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhY3Rvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZGVtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWZmaWMtbGlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhbnNnZW5kZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmlwYWR2aXNvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyb3BoeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbG9hZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbG9hZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLW1vdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW92aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLXBpY2t1cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stcGlja3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRzaGlydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHNoaXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHVtYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJsci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHdpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR5cG8zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10eXBvMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11YmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVidW50dTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJ1bnR1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVpa2l0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11aWtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnRhcHBkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bnRhcHBkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFzdHJvbmF1dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hc3Ryb25hdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1mcmllbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWZyaWVuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1ncmFkdWF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1ncmFkdWF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWluanVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItaW5qdXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1uaW5qYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1uaW5qYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW51cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW51cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNlY3JldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zaGllbGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMtY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhY29pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFkZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW8tc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpaGFyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmloYXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lby12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhdmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXZlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXplKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlZWJseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VlYmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlibyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQtaGFuZ2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0LWhhbmdpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWl4aW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoYXRzYXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHAtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoZWVsY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2htY3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdobWNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpZmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpa2lwZWRpYS13KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctY2xvc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWF4aW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1pbmltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWluaW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmUtZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b24tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvcmRwcmVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwYmVnaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3BleHBsb3Jlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGZvcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGZvcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwcmVzc3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwcmVzc3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cmVuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teC1yYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXgtcmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15LWNvbWJpbmF0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhaG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFtbWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YXJuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVuLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbi1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlpbi15YW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15aW4teWFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW9hc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0temhpaHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXpoaWh1KTsgfVxuIiwiLy8gU2NyZWVuIFJlYWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNyLW9ubHkgeyBAaW5jbHVkZSBzci1vbmx5OyB9XG4uc3Itb25seS1mb2N1c2FibGUgeyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZTsgfVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjguMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8vXG4vLyAjIOOCouOCpOOCs+ODs1xuLy9cbkBpbXBvcnQgJy4uLy4uL3ZlbmRvci9Gb250LUF3ZXNvbWUvZm9udGF3ZXNvbWUnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL0ZvbnQtQXdlc29tZS9zb2xpZCc7XG5AaW1wb3J0ICcuLi8uLi92ZW5kb3IvRm9udC1Bd2Vzb21lL2JyYW5kcyc7XG5AaW1wb3J0ICcuLi8uLi92ZW5kb3IvRm9udC1Bd2Vzb21lL3JlZ3VsYXInO1xuXG5cbi8qKlxuICpcbiAqIOW3puODiuODk1xuICpcbiAqL1xuXG4vLyDjg4Djg4Pjgrfjg6Xjg5zjg7zjg4lcbiRiY2EtaWNvbi0tZGFzaGJvYXJkOiAkZmEtdmFyLWhvbWU7XG4vLyDjgrPjg7Pjg4bjg7Pjg4TnrqHnkIZcbiRiY2EtaWNvbi0tY29udGVudHM6ICRmYS12YXItc2l0ZW1hcDtcbi8vIOioreWumlxuJGJjYS1pY29uLS1zeXN0ZW06ICRmYS12YXItY29nO1xuXG5cblxuLyoqXG4gKlxuICog5bem44OK44OT77yI6Kit5a6a77yJXG4gKlxuICovXG5cbi8vIOOCteOCpOODiOWfuuacrOioreWumlxuJGJjYS1pY29uLS1zaXRlY29uZmlnczogJGZhLXZhci1iYXJzO1xuLy8g44Om44O844K244O8566h55CGXG4kYmNhLWljb24tLXVzZXJzOiAkZmEtdmFyLXVzZXI7XG4vLyDjgrXjg5bjgrXjgqTjg4jnrqHnkIZcbiRiY2EtaWNvbi0tc2l0ZXM6ICRmYS12YXItaWQtY2FyZDtcbi8vIOODhuODvOODnueuoeeQhlxuJGJjYS1pY29uLS10aGVtZTogJGZhLXZhci1wYWludC1icnVzaDtcbi8vIOODl+ODqeOCsOOCpOODs+euoeeQhlxuJGJjYS1pY29uLS1wbHVnaW46ICRmYS12YXItcGx1Zztcbi8vIOODpuODvOODhuOCo+ODquODhuOCo1xuJGJjYS1pY29uLS10b29sczogJGZhLXZhci13cmVuY2g7XG5cblxuLyoqXG4gKlxuICog44Oc44K/44Oz44Ki44Kk44Kz44OzXG4gKlxuICovXG5cbi8vIOWFrOmWi1xuJGJjYS1pY29uLS1wdWJsaXNoOiAkZmEtdmFyLXBsYXktY2lyY2xlO1xuLy8g6Z2e5YWs6ZaLXG4kYmNhLWljb24tLXVucHVibGlzaDogJGZhLXZhci1wYXVzZS1jaXJjbGU7XG4vLyDnorroqo1cbiRiY2EtaWNvbi0tcHJldmlldzogJGZhLXZhci1leWU7XG4vLyDnt6jpm4ZcbiRiY2EtaWNvbi0tZWRpdDogJGZhLXZhci1wZW5jaWwtYWx0O1xuLy8g6KSH6KO9XG4kYmNhLWljb24tLWNvcHk6ICRmYS12YXItY29weTtcbi8vIOWJiumZpFxuJGJjYS1pY29uLS1kZWxldGU6ICRmYS12YXItdHJhc2gtYWx0O1xuLy8g5LiA6KanXG4kYmNhLWljb24tLXRoLWxpc3Q6ICRmYS12YXItdGgtbGlzdDtcbi8vIOS4gOimp+OBq+aIu+OCi1xuJGJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6ICRmYS12YXItY2hldnJvbi1sZWZ0O1xuLy8g44GK5rCX44Gr5YWl44KKXG4kYmNhLWljb24tLWZhdm9yaXRlOiAkZmEtdmFyLWhlYXJ0O1xuLy8g44Oh44OL44Ol44O844Ki44Kk44OG44OgXG4kYmNhLWljb24tLW1lbnVpdGVtOiAkZmEtdmFyLWFuZ2xlLXJpZ2h0O1xuLy8g6L+95YqgXG4kYmNhLWljb24tLWFkZDogJGZhLXZhci1wbHVzLWNpcmNsZTtcbi8vIOODmOODq+ODl1xuJGJjYS1pY29uLS1oZWxwOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTtcbi8vIC8vIOODmOODq+ODl++8iOa1ruOBjei8qu+8iVxuLy8gJ3Jlc2N1ZTogJGZhLXZhci1saWZlLXJpbmc7XG4vLyDliLbpmZDvvIjpjbUpXG4kYmNhLWljb24tLXBlcm1pc3Npb246ICRmYS12YXItbG9jaztcbi8vIOmBqeeUqFxuJGJjYS1pY29uLS1hcHBseTogJGZhLXZhci1jaGVjay1zcXVhcmU7XG4vLyBIT01FXG4kYmNhLWljb24tLWhvbWU6ICRmYS12YXItaG9tZTtcbi8vIOODreOCsOOCpOODs++8iOWIh+OCiuabv+OBiO+8iVxuJGJjYS1pY29uLS1zd2l0Y2g6ICRmYS12YXItc2lnbi1pbi1hbHQ7XG4vLyDplovjgY9cbiRiY2EtaWNvbi0tb3BlbjogJGZhLXZhci1mb2xkZXItb3Blbjtcbi8vIOODhuOCreOCueODiOOCs+ODlOODvFxuJGJjYS1pY29uLS10ZXh0Y29weTogJGZhLXZhci1wYXN0ZTtcbi8vIOODgOOCpuODs+ODreODvOODiVxuJGJjYS1pY29uLS1kb3dubG9hZDogJGZhLXZhci1kb3dubG9hZDtcbi8vIOODieODqeODg+OCsOWPr+iDvVxuJGJjYS1pY29uLS1kcmFnZ2FibGU6ICRmYS12YXItYXJyb3dzLWFsdC12O1xuLy8g44OV44Kp44Or44OAXG4kYmNhLWljb24tLWZvbGRlcjogJGZhLXZhci1mb2xkZXI7XG4vLyDjg5Xjgqnjg6vjg4DvvIjjgqrjg7zjg5fjg7PvvIlcbiRiY2EtaWNvbi0tZm9sZGVyLW9wZW46ICRmYS12YXItZm9sZGVyLW9wZW47XG4vLyDjg5XjgqHjgqTjg6tcbiRiY2EtaWNvbi0tZmlsZTogJGZhLXZhci1maWxlO1xuLy8gMemajuWxpOS4iuOBq+aIu+OCi1xuJGJjYS1pY29uLS11cC1kaXJlY3Rvcnk6ICRmYS12YXItYXJyb3ctdXA7XG4vLyDnn6LljbDjgIDlj7NcbiRiY2EtaWNvbi0tYXJyb3ctcmlnaHQ6ICRmYS12YXItYXJyb3ctcmlnaHQ7XG4vLyDnn6LljbDjgIDlt6ZcbiRiY2EtaWNvbi0tYXJyb3ctbGVmdDogJGZhLXZhci1hcnJvdy1sZWZ0O1xuLy8g55+i5Y2w44CA5LiKXG4kYmNhLWljb24tLWFycm93LXVwOiAkZmEtdmFyLWFycm93LXVwO1xuLy8g55+i5Y2w44CA5LiLXG4kYmNhLWljb24tLWFycm93LWRvd246ICRmYS12YXItYXJyb3ctZG93bjtcbi8vIOODleOCoeOCpOODq+ODquOCueODiFxuJGJjYS1pY29uLS1maWxlLWxpc3Q6ICRmYS12YXItZmlsZS1hbHQ7XG4vLyDjgqLjg4Pjg5fjg4fjg7zjg4hcbiRiY2EtaWNvbi0tdXBkYXRlOiAkZmEtdmFyLXN5bmM7XG4vLyDoqK3lrppcbiRiY2EtaWNvbi0tc2V0dGluZzogJGZhLXZhci1jb2c7XG4vLyDmpJzntKJcbiRiY2EtaWNvbi0tc2VhcmNoOiAkZmEtdmFyLXNlYXJjaDtcbi8vIOOCr+ODquOColxuJGJjYS1pY29uLS1jbGVhcjogJGZhLXZhci1zeW5jO1xuLy8g5ZCN56ew5aSJ5pu0XG4kYmNhLWljb24tLXJlbmFtZTogJGZhLXZhci1pLWN1cnNvcjtcbi8vIOOCguOBqOOBq+aIu+OBmVxuJGJjYS1pY29uLS11bmRvOiAkZmEtdmFyLXVuZG87XG4vLyDjgoLjgajjgavmiLvjgZlcbiRiY2EtaWNvbi0tYmFuOiAkZmEtdmFyLWJhbjtcbi8vIOODquODs+OCr1xuJGJjYS1pY29uLS1saW5rOiAkZmEtdmFyLWxpbms7XG4vLyDjgqjjgqTjg6rjgqLjgrlcbiRiY2EtaWNvbi0tYWxpYXM6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0O1xuLy8g5qmf6IO944Oc44K/44OzXG4kYmNhLWljb24tLWVsbGlwc2lzLWg6ICRmYS12YXItZWxsaXBzaXMtaDtcblxuLyoqXG4gKlxuICog44OV44Kp44O844Og6Zai6YCjXG4gKlxuICovXG5cbi8vIGRhdGV0aW1lcGlja2Vy77yI5pel5LuY77yJXG4kYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGU6ICRmYS12YXItY2FsZW5kYXI7XG4vLyBkYXRldGltZXBpY2tlcu+8iOaZguWIu++8iVxuJGJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOiAkZmEtdmFyLWNsb2NrO1xuXG5cblxuLyoqXG4gKlxuICog44Oq44K544OI6Zai6YCjXG4gKlxuICovXG5cbi8vIOODh+ODleOCqeODq+ODiFxuJGJjYS1pY29uLS1saXN0LWRlZmF1bHQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7XG4vLyDkuLhcbiRiY2EtaWNvbi0tbGlzdC1jaXJjbGU6ICRmYS12YXItY2lyY2xlO1xuXG5cblxuLyoqXG4gKlxuICog44Ko44Op44O8IC8g44Ki44Op44O844OI6KGo56S6XG4gKlxuICovXG5cbi8vIOOCqOODqeODvFxuJGJjYS1pY29uLS1lcnJvcjogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTtcbi8vIOOCouODqeODvOODiFxuJGJjYS1pY29uLS1hbGVydDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTtcbi8vIOazqOaEj1xuJGJjYS1pY29uLS1ub3RpZmljYXRpb246ICRmYS12YXItaW5mby1jaXJjbGU7XG5cblxuXG4vKipcbiAqXG4gKiBTTlNcbiAqXG4gKi9cblxuLy8gRmFjZWJvb2tcbiRiY2EtaWNvbi0tZmFjZWJvb2s6ICRmYS12YXItZmFjZWJvb2stZjtcbi8vIFR3aXR0ZXJcbiRiY2EtaWNvbi0tdHdpdHRlcjogJGZhLXZhci10d2l0dGVyO1xuXG5cblxuLy8g5qyhXG4kYmNhLWljb24tLW5leHQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7XG4vLyDliY1cbiRiY2EtaWNvbi0tYmFjazogJGZhLXZhci1hbmdsZS1sZWZ0O1xuLy8g55+i5Y2w44CA5LiJ6KeS5LiKXG4kYmNhLWljb24tLWFzYzogJGZhLXZhci1jYXJldC11cDtcbi8vIOefouWNsOOAgOS4ieinkuS4i1xuJGJjYS1pY29uLS1kZXNjOiAkZmEtdmFyLWNhcmV0LWRvd247XG5cblxuLy8g5LiL55+i5Y2wXG4kYmNhLWljb24tLWNoZXZyb24tZG93bjogJGZhLXZhci1jaGV2cm9uLWRvd247XG5cblxuLy8g5LiA6KanXG4kYmNhLWljb24tLWxpc3Q6ICRmYS12YXItbGlzdC11bDtcbi8vIOODl+ODqeOCuVxuJGJjYS1pY29uLS1wbHVzLXNxdWFyZTogJGZhLXZhci1wbHVzLXNxdWFyZTtcbi8vXG4kYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7XG4vLyDjg57jgqTjg4rjgrlcbiRiY2EtaWNvbi0tbWludXMtc3F1YXJlOiAkZmEtdmFyLW1pbnVzLXNxdWFyZTtcbi8vIOODluODg+OCr+ODnuODvOOCr1xuJGJjYS1pY29uLS1ib29rbWFyazogJGZhLXZhci1ib29rbWFyaztcbi8vIOWcsOeQg1xuJGJjYS1pY29uLS1nbG9iZTogJGZhLXZhci1nbG9iZS1hbWVyaWNhcztcbi8vIOODleOCoeOCpOODq1xuJGJjYS1pY29uLS1maWxlOiAkZmEtdmFyLWZpbGU7XG5cbiRiY2EtaWNvbi0tbWFpbDogJGZhLXZhci1lbnZlbG9wZTtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBiY2EtaWNvbi1iYXNlKCRpY29uKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGV4dGVuZCAuI3skZmEtY3NzLXByZWZpeH07XG4gICAgY29udGVudDogZmEtY29udGVudCgkaWNvbik7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBiY2EtaWNvbigkaWQpIHtcbiAgQGV4dGVuZCAlYmNhLWljb24tLSN7JGlkfTtcbiAgJjo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDk1JTtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgLjNlbSAwIDA7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiViY2EtaWNvbiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcblxuICAmLS1kYXNoYm9hcmQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kYXNoYm9hcmQpO1xuICB9XG4gICYtLWNvbnRlbnRzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tY29udGVudHMpO1xuICB9XG4gICYtLXN5c3RlbSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXN5c3RlbSk7XG4gIH1cbiAgJi0tc2l0ZWNvbmZpZ3Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1zaXRlY29uZmlncyk7XG4gIH1cbiAgJi0tdXNlcnMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS11c2Vycykge1xuICAgICAgQGV4dGVuZCAlZmFyO1xuICAgIH1cbiAgfVxuICAmLS1zaXRlcyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNpdGVzKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXRoZW1lIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdGhlbWUpO1xuICB9XG4gICYtLXBsdWdpbiB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXBsdWdpbik7XG4gIH1cbiAgJi0tdG9vbHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS10b29scyk7XG4gIH1cbiAgJi0tcHVibGlzaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXB1Ymxpc2gpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tdW5wdWJsaXNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdW5wdWJsaXNoKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXByZXZpZXcge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1wcmV2aWV3KSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLWVkaXQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1lZGl0KTtcbiAgfVxuICAmLS1jb3B5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tY29weSkge1xuICAgICAgQGV4dGVuZCAlZmFyO1xuICAgIH1cbiAgfVxuICAmLS1kZWxldGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kZWxldGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tYmFuIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYmFuKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXVuZG8ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS11bmRvKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXJlbmFtZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXJlbmFtZSk7XG4gIH1cbiAgJi0tbGluayB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWxpbmspO1xuICB9XG4gICYtLWFsaWFzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYWxpYXMpO1xuICB9XG4gICYtLXRoLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS10aC1saXN0KTtcbiAgfVxuICAmLS1iYWNrLXRvLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1iYWNrLXRvLWxpc3QpO1xuICB9XG4gICYtLWZhdm9yaXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tZmF2b3JpdGUpO1xuICB9XG4gICYtLW1lbnVpdGVtIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tbWVudWl0ZW0pO1xuICB9XG4gICYtLWFkZCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFkZCk7XG4gIH1cbiAgJi0taGVscCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWhlbHApO1xuICB9XG4gICYtLXBlcm1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1wZXJtaXNzaW9uKTtcbiAgfVxuICAmLS1hcHBseSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFwcGx5KSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLWhvbWUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ob21lKTtcbiAgfVxuICAmLS1zd2l0Y2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1zd2l0Y2gpO1xuICB9XG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1vcGVuKTtcbiAgfVxuICAmLS10ZXh0Y29weSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXRleHRjb3B5KTtcbiAgfVxuICAmLS1kb3dubG9hZCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRvd25sb2FkKTtcbiAgfVxuICAmLS1kcmFnZ2FibGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kcmFnZ2FibGUpO1xuICB9XG4gICYtLWZvbGRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZvbGRlcik7XG4gIH1cbiAgJi0tZm9sZGVyLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1mb2xkZXItb3Blbik7XG4gIH1cbiAgJi0tZmlsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tdXAtZGlyZWN0b3J5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdXAtZGlyZWN0b3J5KTtcbiAgfVxuICAmLS1hcnJvdy1yaWdodCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFycm93LXJpZ2h0KTtcbiAgfVxuICAmLS1hcnJvdy1sZWZ0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYXJyb3ctbGVmdCk7XG4gIH1cbiAgJi0tYXJyb3ctdXAge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1hcnJvdy11cCk7XG4gIH1cbiAgJi0tYXJyb3ctZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFycm93LWRvd24pO1xuICB9XG4gICYtLWZpbGUtbGlzdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUtbGlzdCk7XG4gIH1cbiAgJi0tZmlsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUpO1xuICB9XG4gICYtLXVwZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXVwZGF0ZSk7XG4gIH1cbiAgJi0tc2V0dGluZyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNldHRpbmcpO1xuICB9XG4gICYtLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNlYXJjaCk7XG4gIH1cbiAgJi0tY2xlYXIge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1jbGVhcik7XG4gIH1cbiAgJi0tZGF0ZXRpbWVwaWNrZXItZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tZGF0ZXRpbWVwaWNrZXItdGltZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLXRpbWUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tbGlzdC1kZWZhdWx0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tbGlzdC1kZWZhdWx0KTtcbiAgfVxuICAmLS1saXN0LWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWxpc3QtY2lyY2xlKTtcbiAgfVxuICAmLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWVycm9yKTtcbiAgfVxuICAmLS1hbGVydCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFsZXJ0KTtcbiAgfVxuICAmLS1ub3RpZmljYXRpb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ub3RpZmljYXRpb24pO1xuICB9XG4gICYtLWZhY2Vib29rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tZmFjZWJvb2spIHtcbiAgICAgIEBleHRlbmQgJWZhYjtcbiAgICB9XG4gIH1cbiAgJi0tdHdpdHRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXR3aXR0ZXIpIHtcbiAgICAgIEBleHRlbmQgJWZhYjtcbiAgICB9XG4gIH1cbiAgJi0tbmV4dCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLW5leHQpO1xuICB9XG4gICYtLWJhY2sge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1iYWNrKTtcbiAgfVxuICAmLS1hc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1hc2MpO1xuICB9XG4gICYtLWRlc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kZXNjKTtcbiAgfVxuICAmLS1jaGV2cm9uLWRvd24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1jaGV2cm9uLWRvd24pO1xuICB9XG4gICYtLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1saXN0KTtcbiAgfVxuICAmLS1wbHVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXBsdXMtc3F1YXJlKTtcbiAgfVxuICAmLS1xdWVzdGlvbi1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGUpO1xuICB9XG4gICYtLW1pbnVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLW1pbnVzLXNxdWFyZSk7XG4gIH1cbiAgJi0tYm9va21hcmsge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ib29rbWFyayk7XG4gIH1cbiAgJi0tZ2xvYmUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1nbG9iZSk7XG4gIH1cbiAgJi0tZWxsaXBzaXMtaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWVsbGlwc2lzLWgpO1xuICB9XG4gICYtLW1haWwge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1tYWlsKTtcbiAgfVxufVxuJWZhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4lZmFzIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiVmYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG59XG4iLCIvKiBkaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi5kaXNwbGF5LW5vbmUge1xuXHRkaXNwbGF5Om5vbmU7XG59Ki9cblxuLyogdGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4ud2VpZ2h0LW5vcm1hbCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xufVxuLndlaWdodC1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6Ym9sZCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbCB7XG5cdGZvbnQtc2l6ZTpzbWFsbCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbGVyIHtcblx0Zm9udC1zaXplOiB4LXNtYWxsIWltcG9ydGFudDtcbn1cbi5zaXplLW1lZGl1bSB7XG5cdGZvbnQtc2l6ZTptZWRpdW0haW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2Uge1xuXHRmb250LXNpemU6bGFyZ2UhaW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2VyIHtcblx0Zm9udC1zaXplOiB4LWxhcmdlIWltcG9ydGFudDtcbn0qL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmJjLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLyogZmxvYXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qLmZsb2F0LWxlZnQge1xuXHRmbG9hdDpsZWZ0O1xufVxuLmZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6cmlnaHQ7XG59XG4uaW1nLXJpZ2h0IHtcblx0ZmxvYXQ6cmlnaHQ7XG5cdG1hcmdpbi1sZWZ0OjEwcHg7XG5cdG1hcmdpbi1ib3R0b206MTBweDtcbn1cbi5pbWctbGVmdCB7XG5cdGZsb2F0OmxlZnQ7XG5cdG1hcmdpbi1yaWdodDoxMHB4O1xuXHRtYXJnaW4tYm90dG9tOjEwcHg7XG59Ki9cblxuLyogY2xlYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qLmNsZWFyIHtcblx0Y2xlYXI6Ym90aDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdGhlaWdodDogMDtcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSovXG5cbi8qIOe4puaWueWQkeS4reWkruaPg+OBiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoudmVydGljYWwtbWlkZGxle1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG59XG4udmVydGljYWwtbWlkZGxlIC5pbm5lcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuXHRcdHRvcDogNTAlIWltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAtMWVtIWltcG9ydGFudDtcbn0qL1xuXG4vKlxuLnJlcXVpcmVkIHtcblx0Y29sb3I6I0MzMDtcblx0Zm9udC1zaXplOjE2cHg7XG59XG4qL1xuXG4vLyDjgrXjg6Djg43jgqTjg6vnlLvlg4/nlKjjga7mnqBcbi8vXG4ucGhvdG8ge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG5cbi8vIOWklumDqOODquODs+OCr+eUqOOCouOCpOOCs+ODs+S7mOOBjeODhuOCreOCueODiOODquODs+OCr1xuLm91dHNpZGUtbGluayB7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vYmx0X291dHNpZGVfbGluay5wbmcpIG5vLXJlcGVhdCBsZWZ0IC0xcHg7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbn1cblxuLy8g44Gf44G244KT5LiN5b+F6KaBXG4vKi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6MTAwJTtcbn0qL1xuXG4jdmFrYXRhLWRuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcblx0ZGl2IHtcblx0XHRwYWRkaW5nLXJpZ2h0OjE0cHghaW1wb3J0YW50O1xuXHR9XG59XG4vKipcbiAqIENha2VcXFZpZXdcXEhlbHBlclxcRm9ybUhlbHBlclxuICogQG1ldGhvZCBlcnJvcigp55SoXG4gKiBgZXJyb3JgLCBgZXJyb3JMaXN0YCBhbmQgYGVycm9ySXRlbWAgdGVtcGxhdGVz44GranPjgadzdHlsZeOCkui/veWKoOOBmeOCi+eUqFxuICovXG4uZXJyb3Itd3JhcCB1bHtcblx0cGFkZGluZzowO1xuXHRtYXJnaW46MDtcbn1cbiIsIi8vIG9sZFxuYSB7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLy9cbi8vIOimgee0oOOBruWfuuacrOioreWumlxuLy9cbi8vXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogJGdlbmVyYWxfcm9vdF9mb250X3NpemU7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCI7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5OyAvLyBvbGRcbiAgYmFja2dyb3VuZDogI0ZGRjsgLy8gb2xkXG59XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDk2MHB4OyAvLyBvbGRcbiAgaGVpZ2h0OiAxMDAlOyAvLyBvbGRcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIG5vcm1hbGl6ZS5jc3MgZm9yIGJvb3RzdHJhcDTjga7kuIrmm7jjgY3pmLLmraJcbiAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgXHRtaW4td2lkdGg6IGF1dG87XG4gIH1cbn1cblxuYm9keSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy9cbi8vICMg44Kr44Op44O8XG4vL1xuLy8g44Kw44Op44OH44O844K344On44Oz44Gn5piO5pqX44KS5L2/44GG5aC05ZCI44Gv44CBXG4vLyBTQVNT44Gu6Zai5pWw44Gn5piO5bqm44KS5aSJ5pu044GZ44KL44GT44Go44KS5o6o5aWo44GZ44KL44CCXG4vL1xuXG4vLyBiYXNlXG4kY29sb3JfcHJpbWFyeTogIzZmYTgzZDtcbi8vJGNvbG9yX3ByaW1hcnk6ICNGRjZGNjE7XG4kY29sb3Jfc2Vjb25kYXJ5OiAjNDI0ZjQ0O1xuLy8gJGNvbG9yX2xpZ2h0X3ByaW1hcnk6ICNmZjAwMDtcbiRjb2xvcl9saWdodGVzdDogI2ZmZjtcbiRjb2xvcl9kaW06ICNjOWM4Yzg7XG4kY29sb3JfZGFya2VzdDogJGNvbG9yX3NlY29uZGFyeTtcbiRjb2xvcl9ub3RpZmljYXRpb246ICMwMDg3YmM7XG4kY29sb3JfZGFuZ2VyOiAjZjIwMDE0O1xuJGNvbG9yX3dhcm5pbmc6ICNmZmQyNGQ7XG4kY29sb3Jfd2FybmluZ19sb3c6ICNmZmY2YWY7XG4kY29sb3JfZGlzYWJsZWQ6ICNjY2M7XG5cbi8vIHRleHRcbiRjb2xvcl90ZXh0X3ByaW1hcnk6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX3RleHRfc2Vjb25kYXJ5OiAkY29sb3JfZGFya2VzdDtcblxuLy8gcGxhY2Vob2xkZXJcbiRjb2xvcl90ZXh0X3BsYWNlaG9sZGVyOiAkY29sb3JfZGltO1xuXG4vLyBsaW5rXG4kY29sb3JfdGV4dF9saW5rOiAkY29sb3JfcHJpbWFyeTtcbiRjb2xvcl90ZXh0X2hvdmVyOiAkY29sb3JfcHJpbWFyeTtcblxuLy8gYmFja2dyb3VuZFxuJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTogI2Y4ZjhmODtcbiRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTogI2ZmZjtcblxuLy8gYm9yZGVyXG4kY29sb3JfYm9yZGVyOiAjZWVlZWVhO1xuJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjogJGNvbG9yX2JvcmRlcjtcbiRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjogI2NjYztcbiRjb2xvcl9tZW51X2JvcmRlcjogI2ZmZjtcbiRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeV9ib3JkZXI6ICRjb2xvcl9ib3JkZXI7XG4kY29sb3JfbWFpbl9jb250ZW50c19ib3JkZXJfY29sb3I6JGNvbG9yX2JvcmRlcjtcblxuLy8gbWVudVxuJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrOiAjZGRkO1xuJGNvbG9yX2JhY2tncm91bmRfbWVudTogJGNvbG9yX2JvcmRlcjtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDogJGNvbG9yX2Rhcmtlc3Q7XG4kY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfcGFyZW50OiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2Rhcms7XG4kY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfc3VibWVudTogJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfaG92ZXI6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfZGFyaztcbiRjb2xvcl9tZW51X2xpbms6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX21lbnVfY3VycmVudDogJGNvbG9yX2xpZ2h0ZXN0O1xuJGNvbG9yX21lbnVfaG92ZXI6ICRjb2xvcl9kYXJrZXN0O1xuXG4vLyB0YWJsZVxuJGNvbG9yX2JhY2tncm91bmRfdGFibGVfbGlzdHVwOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuJGNvbG9yX3RleHRfbGlua190YWJsZV9saXN0dXA6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX3RhYmxlX2xpc3R1cF9ob3ZlcjogJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcblxuLy8gdG9vbGJhclxuJGNvbG9yX3Rvb2xiYXI6ICMyYTMzMmM7XG4kY29sb3JfdG9vbGJhcl90ZXh0OiAkY29sb3JfbGlnaHRlc3Q7XG4kY29sb3JfdG9vbGJhcl90ZXh0X2hvdmVyOiAjY2NjO1xuJGNvbG9yX2Zvb3RlcjogJGNvbG9yX3Rvb2xiYXI7XG5cbi8vIHBhcnRzXG4kY29sb3JfbWFpbl90aXRsZTogJGNvbG9yX2Rhcmtlc3Q7XG4kY29sb3JfcGFnaW5hdGlvbl9saW5rOiAkY29sb3JfZGFya2VzdDtcbiRjb2xvcl9wYWdpbmF0aW9uX2hvdmVyOiAkY29sb3JfZGFya2VzdDtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5OiAkY29sb3JfcHJpbWFyeTtcbiIsIi8vXG4vLyAjIOWvuOazlVxuLy9cbi8vXG5cbi8vIOODleOCqeODs+ODiOOCteOCpOOCulxuJGdlbmVyYWxfcm9vdF9mb250X3NpemU6IDEwcHg7XG5cbi8vIOODiuODk+OCsuODvOOCt+ODp+ODs1xuJG5hdl9iYXNlX3BhZGRpbmc6IDEycHg7XG4kbmF2X2l0ZW1fcGFkZGluZzogNHB4O1xuXG4vLyDjg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrnjgIHjg6njgrjjgqrjg5zjg4Pjgq/jgrnjga7jg5Xjgqnjg7Pjg4jjgrXjgqTjgrpcbiRsYWJlbF9mb250X3NpemVfc21hbGw6IDEuNHJlbTtcbiRsYWJlbF9mb250X3NpemVfbWVkaXVtOiAxLjZyZW07XG4kbGFiZWxfZm9udF9zaXplX2xhcmdlOiAycmVtO1xuXG4kaW5wdXRfdGV4dF9mb250X3NpemU6IDEuNnJlbTtcblxuJGJ1dHRvbl9mb250X3NpemVfeF9zbWFsbDogMS4xcmVtO1xuJGJ1dHRvbl9mb250X3NpemVfc21hbGw6IDEuMnJlbTtcbiRidXR0b25fZm9udF9zaXplX21lZGl1bTogMS40cmVtO1xuJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U6IDEuNnJlbTtcbiRidXR0b25fZm9udF9zaXplX3hfbGFyZ2U6IDJyZW07XG5cbi8vIOOCu+ODrOOCr+ODiOODnOODg+OCr+OCueOBqOODnOOCv+ODs+OBrumrmOOBlVxuJGJ1dHRvbl9wYWRkaW5nX3RvcDogMC43ZW07XG4kYnV0dG9uX3BhZGRpbmdfYm90dG9tOiAwLjZlbTtcblxuLy8gZm9jdXPmmYLjga7jgrfjg6Pjg4njgqZcbiRmb2N1c19zaGFkb3c6IDAgMCA0cHggMHB4ICRjb2xvcl9wcmltYXJ5O1xuJGZvY3VzX3NoYWRvd19lcnJvcjogMCAwIDRweCAwcHggJGNvbG9yX2RhbmdlcjtcblxuIiwiJHNtYWxsUmFuZ2U6IDc2OHB4O1xuJG1lZGl1bVJhbmdlOiA3NjhweDtcbiRsYXJnZVJhbmdlOiAxMDAwcHg7XG4kbWVkaXVtUmFuZ2VGb3JNb2RhbDogMTExMHB4O1xuQG1peGluIG1xKCRtZWRpYSkge1xuICAgIEBpZiAkbWVkaWEgPT0gc3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbWFsbFJhbmdlfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICRtZWRpYSA9PSBtZCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1lZGl1bVJhbmdlfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICRtZWRpYSA9PSBwYyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlUmFuZ2V9KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJG1lZGlhID09IHNwTW9kYWwge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRtZWRpdW1SYW5nZUZvck1vZGFsfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyog5penQ1NT44GL44KJ44Gu5pyq5pW055CG5YiGXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udXBsb2FkLWZpbGUgaW5wdXRbdHlwZT1maWxlXSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnVwbG9hZC1maWxlIGEge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmVkaXQtbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5lZGl0LWxpbmsgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxQzk4RDQ7XG4gIGNvbG9yOiAjMUM5OEQ0O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZWRpdC1saW5rIGE6aG92ZXIge1xuICBjb2xvcjogIzFDOThENDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNDMzA7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG59XG5cbi5mb3JtLWVycm9yIHtcbiAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3JfZGFuZ2VyIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZXJyb3I6Zm9jdXMge1xuICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93X2Vycm9yICFpbXBvcnRhbnQ7XG59XG5cbi5lcnJvciB7XG4gIGNvbG9yOiAjQzMwO1xufVxuXG4uZXJyb3IgZW0ge1xuICBjb2xvcjogIzA2QztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogZm9ybS10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5saXN0LXRhYmxlIC5lcnJvci1tZXNzYWdlIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQgc21hbGwge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzMDtcbiAgY29sb3I6ICNDMzA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMzA7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi8qIGVkaXQgZm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lZGl0b3ItYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogd2FpdGluZy1ib3hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53YWl0aW5nLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTtcbiAgLW1vei1vcGFjaXR5OiAwLjY7XG4gIC8vZGlzcGxheTogbm9uZTtcbn1cblxuLndhaXRpbmctYm94IGRpdiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbToxMDBweDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbn1cblxuLndhaXRpbmctYm94IGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIGVtLWJveFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gLmVtLWJveCB7XG4vLyBcdGJvcmRlcjo1cHggc29saWQgI0RERDtcbi8vIFx0cGFkZGluZzoxNXB4O1xuLy8gXHRjb2xvcjojNTM1QTYyO1xuLy8gXHRmb250LXNpemU6IDE2cHg7XG4vLyBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gXHRtYXJnaW46IDAgYXV0byAyMHB4O1xuLy8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyBcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuLy8gfVxuLy8gLmVtLWJveCBhe1xuLy8gXHRjb2xvcjojNjkwO1xuLy8gfVxuLy8gLmVtLWJveCBhOmhvdmVye1xuLy8gXHRjb2xvcjojOUMwO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyB9XG5cbi8qIHRyZWUgZW1wdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udHJlZS1lbXB0eSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiAjNTM1QTYyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4ubm8tZGF0YSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpemUtY291bnRlciB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLnNpemUtY291bnRlciBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICNDQ0M7XG59XG5cbi8qIHBocGluZm9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5waHBpbmZvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuLyogdWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci10bCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmNvcm5lci10b3AsIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItdHIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci1ib3R0b20sIC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci1ibCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItYm90dG9tLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLWJyIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuXG5cbi8qIENyZWRpdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI0NyZWRpdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0Ojk0NXB4OyAvLyDop6Pmsbrmlrnms5XjgYzjgo/jgYvjgonjgZrjgIHkuIDml6bmsbrjgoHmiZPjgaHjgadcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTA7XG5cbiAgb3BhY2l0eTogMC44NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTg1KTsgLyogSUUgbHQgOCAqL1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7IC8qIElFIDggKi9cbiAgLWtodG1sLW9wYWNpdHk6IC44NTsgLyogU2FmYXJpIDEueCAqL1xuICAtbW96LW9wYWNpdHk6IDAuODU7XG5cbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNDcmVkaXRJbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIge1xuICBwYWRkaW5nOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgaDEge1xuICBmb250LXNpemU6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgaDIge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB4bWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgdWwgbGkge1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHVsIGxpIGEge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIC5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVySW5uZXIge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBtcShzcCkge1xuICBcdHdpZHRoOjEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIFBhZ2VzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBsaXN0LXRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxpc3QtdGFibGUgLnBhZ2Utc3RhdHVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBUcmVlTGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNQYWdlVHJlZUxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbiNUcmVlTGlzdCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuI1RyZWVMaXN0IGEge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGE6aG92ZXIge1xuICBjb2xvcjogI0FBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jY2JveENvbnRlbnQgYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZmlsZXRyZWUgc3Bhbi5mb2xkZXIsXG4uZmlsZXRyZWUgc3Bhbi5maWxlIHtcbiAgcGFkZGluZzogMXB4IDAgMXB4IDE4cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBJbnN0YWxsYXRpb25zXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI0luc3RhbGxhdGlvbnMgbGkuY2hlY2sge1xuICBjb2xvcjogI0NDQztcbn1cblxuI0luc3RhbGxhdGlvbnMgbGkuZmFpbGVkIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjRTAyO1xuICBjb2xvcjogI0YwMztcbn1cblxuI0luc3RhbGxhdGlvbnMgLmNoZWNrLXJlc3VsdCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuY2hlY2stcmVzdWx0IHNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4jSW5zdGFsbGF0aW9ucyBpbnB1dFt0eXBlPXRleHRdLFxuI0luc3RhbGxhdGlvbnMgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4jSW5zdGFsbGF0aW9ucyB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogM3B4IDVweDtcbn1cblxuI0luc3RhbGxhdGlvbnMgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuc3RlcC0xIHtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19pbnN0YWxsLnBuZykgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbSAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVXBkYXRlcnNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC5idG4tc2xpZGUtZm9ybSBhe1xuLy8gXHRjb2xvcjojNTM1QTYyO1xuLy8gXHRkaXNwbGF5OiBibG9jaztcbi8vIFx0cGFkZGluZzo1cHggMzBweDtcbi8vIFx0LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdC1tb3otYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuLy8gXHQtby1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdGJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0YmFja2dyb3VuZDojRjNGM0YzO1xuLy8gXHRiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjRkZGLCNGM0YzRjMpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI0ZGRiksY29sb3Itc3RvcCgxMDAlLCNGM0YzRjMpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNGRkYsI0YzRjNGMyk7XG4vLyB9XG4vLyAuYnRuLXNsaWRlLWZvcm0gYTpob3Zlcntcbi8vIFx0YmFja2dyb3VuZDojZjRmNGY0O1xuLy8gXHRiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZjRmNGY0LCNkZmRmZGYgMTAwJSk7XG4vLyBcdGJhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjZjRmNGY0KSxjb2xvci1zdG9wKDEwMCUsI2RmZGZkZikpO1xuLy8gXHRiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y0ZjRmNCwjZGZkZmRmIDEwMCUpO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyB9XG4vLyAuYnRuLXNsaWRlLWZvcm0gYTphY3RpdmV7XG4vLyBcdGJhY2tncm91bmQ6I2NkY2RjZDtcbi8vIFx0YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2NkY2RjZCwjZWVlIDEwMCUpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2NkY2RjZCksY29sb3Itc3RvcCgxMDAlLCNlZWUpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNjZGNkY2QsI2VlZSAxMDAlKTtcbi8vIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIERhc2hib2FyZFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0LFxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgcGFkZGluZzogMDtcbn1cblxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0IGEsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLnByZXYgYSB7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiBzcGFuIHNwYW4gYSxcbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVGhlbWVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4jUGFnZVRyZWVMaXN0IHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4udWktdGFicyAudWktdGFicy1uYXYgbGkge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktc3RhdGUtYWN0aXZlIGE6bGluaywgLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGEge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGE6aG92ZXIge1xuICBjb2xvcjogI0FBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udWktc3RhdGUtZGVmYXVsdCBhLCAudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssIC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jQ29udGVudHNGb3JtVGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIC51aS10YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4jQ29udGVudHNGb3JtVGFicyB0YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBDb250ZW50c1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuI0RhdGFMaXN0IHRkIC5hbGlhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTMycHg7XG59XG5cbiNSZWxhdGVkQ29udGVudHNTZXR0aW5nIC5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4jUmVsYXRlZENvbnRlbnRzU2V0dGluZyAuaWNvbi1hZGQtbGF5ZXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hZGRfbGF5ZXJkLnBuZ1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTI0cHg7XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIENrRWRpdG9yXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2tlX2Nocm9tZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2tlX3RvcCwgLmNrZV9ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjRUZFRkVGICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNFRkVGRUYsICNFRUUpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBFdGNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi5oZWxwdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5leWVjYXRjaC1saXN0IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI0Jhc2ljU2V0dGluZyAudXJsLFxuI0Jsb2dQb3N0Rm9ybSAudXJsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4jQmFzaWNTZXR0aW5nIC51cmwgYSB7XG4gIGNvbG9yOiAjOUMwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4jU2VjdGlvbkxhbmdBY2Nlc3NUeXBlIGxhYmVsLCAjU2VjdGlvbkRldmljZUFjY2Vzc1R5cGUgbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBjb250ZXh0LW1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZXh0LW1lbnUtaWNvbi1lZGl0IHtcbiAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG59XG5cbi5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGUge1xuICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xufVxuXG4uY29udGV4dC1tZW51LWljb246OmJlZm9yZSB7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZXh0LW1lbnUtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNGVtO1xuICBwYWRkaW5nOiAwIDJlbSAwIDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmZmY7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4uY29udGV4dC1tZW51LWl0ZW0gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4uY29udGV4dC1tZW51LWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudV9ob3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uY29udGV4dC1tZW51LWxpc3Qge1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi5kaXNwbGF5LW5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmNhLXNtYWxsLWxvYWRlciB7XG4gIHdpZHRoOjE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxuI1VwbG9hZGVyRm9ybSAudXBsb2FkZXItZmlsZS1maWxlIHtcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGwhaW1wb3J0YW50O1xufVxuXG4uYmNhLXNlYXJjaF9fYnRucyAuYmNhLWJ0bi1sZyB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG4iLCIuYmNhLWFwcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICBAaW5jbHVkZSBtcShzcCkge1xuICBcdGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5iY2EtaGVhZGVyIHtcblxuICB9XG4gIC5iY2EtY29udGFpbmVyIHtcblxuICB9XG4gIC5iY2EtZm9vdGVyIHtcblxuICB9XG59XG4iLCIuYmNhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuIiwiLmJjYS1tYWluIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX3ByaW1hcnk7XG4gIGxpbmUtaGVpZ2h0OjEuNDtcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG5cbiAgLy8g4p2XIC5jb250ZW50cy1ib2R5IOOBqOWQjOOBmOimgee0oCDinZdcbiAgJl9fYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAvL2E6bGluayB7XG4gICAgLy8gIGNvbG9yOiRjb2xvcl9wcmltYXJ5O1xuICAgIC8vfVxuICAgIC8vYTpob3ZlciB7XG4gICAgLy8gIGNvbG9yOiRjb2xvcl9zZWNvbmRhcnk7XG4gICAgLy99XG4gIH1cbiAgJl9fY29udGVudHMge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbWFpbl9jb250ZW50c19ib3JkZXJfY29sb3I7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBcdG1hcmdpbjowO1xuICAgIH1cbiAgfVxuICAmX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6I0Y0RjVGMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX21haW5fY29udGVudHNfYm9yZGVyX2NvbG9yO1xuICAgICYtdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJGNvbG9yX21haW5fdGl0bGU7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgICYtbWVudSB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgJl9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAmX19oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDFlbSAxZW0gMDtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMCAwLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAmW2RhdGEtYmNhLWhlYWRpbmctc2l6ZT1sZ10ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLWhlYWRpbmctc2l6ZT1tZF0ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgICB9XG4gIH1cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgcHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIHBhZGRpbmc6NXB4IDEwcHg7XG4gIH1cbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBwYWRkaW5nOjJweCA1cHg7XG4gIH1cbiAgJl9fbnVtYmVyLWxpc3Qge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjoyMHB4IDA7XG4gICAgfVxuICB9XG59XG4iLCIuYmNhLWljb24ge1xuICAmLS1kYXNoYm9hcmQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRhc2hib2FyZCk7XG4gIH1cbiAgJi0tY29udGVudHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNvbnRlbnRzKTtcbiAgfVxuICAmLS1zeXN0ZW0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSk7XG4gIH1cbiAgJi0tc2l0ZWNvbmZpZ3Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHNpdGVjb25maWdzKTtcbiAgfVxuICAmLS11c2VycyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXNlcnMpO1xuICB9XG4gICYtLXNpdGVzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzaXRlcyk7XG4gIH1cbiAgJi0tdGhlbWUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRoZW1lKTtcbiAgfVxuICAmLS1wbHVnaW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBsdWdpbik7XG4gIH1cbiAgJi0tdG9vbHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRvb2xzKTtcbiAgfVxuICAmLS1wdWJsaXNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihwdWJsaXNoKTtcbiAgfVxuICAmLS11bnB1Ymxpc2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgJi0tcHJldmlldyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocHJldmlldyk7XG4gIH1cbiAgJi0tZWRpdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG4gIH1cbiAgJi0tY29weSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgJi0tZGVsZXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xuICB9XG4gICYtLXRoLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRoLWxpc3QpO1xuICB9XG4gICYtLWJhY2stdG8tbGlzdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAmLS1mYXZvcml0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZmF2b3JpdGUpO1xuICB9XG4gICYtLW1lbnVpdGVtIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihtZW51aXRlbSk7XG4gIH1cbiAgJi0tYWRkIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gICYtLWhlbHAge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGhlbHApO1xuICB9XG4gICYtLXBlcm1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBlcm1pc3Npb24pO1xuICB9XG4gICYtLWFwcGx5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcHBseSk7XG4gIH1cbiAgJi0taG9tZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaG9tZSk7XG4gIH1cbiAgJi0tc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzd2l0Y2gpO1xuICB9XG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG9wZW4pO1xuICB9XG4gICYtLXRleHRjb3B5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih0ZXh0Y29weSk7XG4gIH1cbiAgJi0tZG93bmxvYWQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRvd25sb2FkKTtcbiAgfVxuICAmLS1kcmFnZ2FibGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cbiAgJi0tZm9sZGVyIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmb2xkZXIpO1xuICB9XG4gICYtLWZpbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZpbGUpO1xuICB9XG4gICYtLXVwLWRpcmVjdG9yeSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXAtZGlyZWN0b3J5KTtcbiAgfVxuICAmLS1hcnJvdy1yaWdodCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctcmlnaHQpO1xuICB9XG4gICYtLWFycm93LWxlZnQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGFycm93LWxlZnQpO1xuICB9XG4gICYtLWFycm93LXVwIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcnJvdy11cCk7XG4gIH1cbiAgJi0tYXJyb3ctZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctZG93bik7XG4gIH1cbiAgJi0tZmlsZS1saXN0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmaWxlLWxpc3QpO1xuICB9XG4gICYtLXVwZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXBkYXRlKTtcbiAgfVxuICAmLS1zZXR0aW5nIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzZXR0aW5nKTtcbiAgfVxuICAmLS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHNlYXJjaCk7XG4gIH1cbiAgJi0tY2xlYXIge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNsZWFyKTtcbiAgfVxuICAmLS1kYXRldGltZXBpY2tlci1kYXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkYXRldGltZXBpY2tlci1kYXRlKTtcbiAgfVxuICAmLS1kYXRldGltZXBpY2tlci10aW1lIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkYXRldGltZXBpY2tlci10aW1lKTtcbiAgfVxuICAmLS1saXN0LWRlZmF1bHQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtZGVmYXVsdCk7XG4gIH1cbiAgJi0tbGlzdC1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtY2lyY2xlKTtcbiAgfVxuICAmLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZXJyb3IpO1xuICB9XG4gICYtLWFsZXJ0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhbGVydCk7XG4gIH1cbiAgJi0tbm90aWZpY2F0aW9uIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihub3RpZmljYXRpb24pO1xuICB9XG4gICYtLWZhY2Vib29rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmYWNlYm9vayk7XG4gIH1cbiAgJi0tdHdpdHRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odHdpdHRlcik7XG4gIH1cbiAgJi0tbmV4dCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24obmV4dCk7XG4gIH1cbiAgJi0tYmFjayB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjayk7XG4gIH1cbiAgJi0tYXNjIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhc2MpO1xuICB9XG4gICYtLWRlc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRlc2MpO1xuICB9XG4gICYtLWNoZXZyb24tZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY2hldnJvbi1kb3duKTtcbiAgfVxuICAmLS1saXN0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihsaXN0KTtcbiAgfVxuICAmLS1wbHVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocGx1cy1zcXVhcmUpO1xuICB9XG4gICYtLXF1ZXN0aW9uLWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocXVlc3Rpb24tY2lyY2xlKTtcbiAgfVxuICAmLS1taW51cy1zcXVhcmUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1pbnVzLXNxdWFyZSk7XG4gIH1cbiAgJi0tYm9va21hcmsge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGJvb2ttYXJrKTtcbiAgfVxuICAmLS1hbGlhcyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYWxpYXMpO1xuICB9XG4gICYtLXJlbmFtZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocmVuYW1lKTtcbiAgfVxuICAmLS1saW5rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihsaW5rKTtcbiAgfVxuICAmLS1nbG9iZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZ2xvYmUpO1xuICB9XG4gICYtLW1haWwge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1haWwpO1xuICB9XG59XG4vLyDjg6njg5njg6vjg4bjgq3jgrnjg4jvvJrjg4fjg5Xjgqnjg6vjg4jjga/pnZ7ooajnpLpcbltjbGFzcyo9XCJiY2EtaWNvblwiXSAuYmNhLWljb24tbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyDjgrXjgqTjgrpcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2NsYXNzXj1cImJjYS1pY29uXCJdIHtcbiAgLy8gbGFyZ2VcbiAgJltkYXRhLWJjYS1pY29uLXNpemU9bGddIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuXG4gIC8vIHNtYWxsXG4gICZbZGF0YS1iY2EtaWNvbi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cblxuICAvLyB4c21hbGxcbiAgJltkYXRhLWJjYS1pY29uLXNpemU9eHNdIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBIZWFkZXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5cbi8qIExvZ29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNMb2dvIHtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xufVxuXG4uYmNhLWhlYWRlciB7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgRm9vdGVyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbi8vIFRPRE86IGlk44Gr44K544K/44Kk44Or44KS5oyH5a6a44GX44Gq44GEXG4vL1xuLy8vKiBGb290ZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vI0Zvb3Rlcntcbi8vfVxuLy8jRm9vdGVySW5uZXJ7XG4vL1x0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19mb290ZXIucG5nKTtcbi8vXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcbi8vXHRjb2xvcjogI0VFRTtcbi8vXHRwYWRkaW5nOiA0MHB4IDMwcHggNjBweDtcbi8vXHRtYXJnaW46IDA7XG4vL1x0bWluLXdpZHRoOjk2MHB4O1xuLy99XG4vLyNGb290ZXJJbm5lciBhe1xuLy9cdGNvbG9yOiAjQkJCO1xuLy9cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vfVxuLy8jRm9vdGVySW5uZXIgYTpob3Zlcntcbi8vXHRjb2xvcjogI0VFRTtcbi8vfVxuLy9cbi8vLyogRm9vdGVyTG9nb1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Zvb3RlckxvZ297XG4vL1x0d2lkdGg6IDE5MHB4O1xuLy9cdGZsb2F0OiBsZWZ0O1xuLy9cdHBhZGRpbmc6IDY1cHggMDtcbi8vfVxuLy9cbi8vLyogRm9vdGVyTGlua1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Zvb3RlckxpbmsgaDJ7XG4vL1x0bWFyZ2luLWJvdHRvbToxNXB4O1xuLy99XG4vL1xuLy8jRm9vdGVyTGluayBsaXtcbi8vLypcdHBhZGRpbmctcmlnaHQ6MzBweDsqL1xuLy9cdG1hcmdpbjo1cHggMDtcbi8vXHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2FkbWluL2JsdF9saXN0XzIucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4vL1x0cGFkZGluZy1sZWZ0OjE1cHg7XG4vL1x0bGluZS1oZWlnaHQ6MThweDtcbi8vfVxuLy8jRm9vdGVyTGlua3tcbi8vXHRmbG9hdDogbGVmdDtcbi8vXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2FkbWluL2JnX2JvcmRlcl8yLnBuZyk7XG4vL1x0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuLy9cdHBhZGRpbmctbGVmdDoxNXB4O1xuLy99XG4vL1xuLy8vKiBGb290ZXJCYW5uZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vXG4vLyNGb290ZXJCYW5uZXIge1xuLy9cdHBhZGRpbmctdG9wOjVweDtcbi8vXHRtYXJnaW4tYm90dG9tOjE1cHg7XG4vL31cbi8vI0Zvb3RlckJhbm5lciBsaSB7XG4vL1x0dGV4dC1hbGlnbjpyaWdodDtcbi8vXHRwYWRkaW5nOjBweCAyMHB4O1xuLy99XG4vLyNGb290ZXJCYW5uZXIgbGkgaW1ne1xuLy9cdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcbi8vfVxuLy8jRm9vdGVyQmFubmVyIGxpLmxhc3RDaGlsZHtcbi8vICAgbWFyZ2luLXRvcDo3cHg7XG4vL31cbi8vXG4vLy8qIEJhc2VyVmVyc2lvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Jhc2VyVmVyc2lvbiB7XG4vL1x0cGFkZGluZy1yaWdodDoyMHB4O1xuLy9cdHRleHQtYWxpZ246cmlnaHQ7XG4vL1x0Zm9udC1zaXplOjEycHg7XG4vL1x0Zm9udC1mYW1pbHk6VGFob21hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4vL1x0bWFyZ2luLWJvdHRvbToxNXB4O1xuLy99XG4vL1xuLy8vKiBDb3B5cmlnaHRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vXG4vLyNDb3B5cmlnaHQge1xuLy9cdHRleHQtYWxpZ246cmlnaHQ7XG4vL1x0Zm9udC1zaXplOjEwcHg7XG4vL1x0cGFkZGluZy1yaWdodDoyMHB4O1xuLy99XG4uYmNhLWZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2Zvb3RlcjtcbiAgJl9faW5uZXIge1xuICAgIG1pbi13aWR0aDogOTYwcHg7XG4gICAgcGFkZGluZy10b3A6IDM3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBcdG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyDjg63jgrDjgqTjg7PliY1cbiAgJl9faGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgd2lkdGg6IDgycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAmX19iYW5uZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAmX19iYXNlci12ZXJzaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJl9fYmFubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgJi0tZmFjZWJvb2sge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihmYWNlYm9vayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRjVEOTM7XG4gICAgICB9XG4gICAgICAmLS10d2l0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odHdpdHRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMzhweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgIGEge1xuICAgICAgICAmOmxpbmssXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyDjg63jgrDjgqTjg7PlvoxcbiAgJl9faW5uZXItLWZ1bGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4IDdweCAxMnB4O1xuICAgIC5iY2EtZm9vdGVyX19tYWluIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmJjYS1mb290ZXJfX2Jhc2VyLXZlcnNpb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAuYmNhLWZvb3Rlcl9fYmFubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYmNhLWZvb3Rlcl9fc3ViIHtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuIiwiJGhlaWdodDogNDBweDtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgYmFzZXJDTVMgVG9vbGJhclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuYm9keSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1IWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgYmFzZXJDTVMgVG9vbGJhcicsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYsIFwi44Oh44Kk44Oq44KqXCIsIFZlcmRhbmEsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJGhlaWdodCFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDE1MCFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgdG9wOiAwIWltcG9ydGFudDtcbiAgbGVmdDogMCFpbXBvcnRhbnQ7XG4gICYsXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ghaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZToxMnB4O1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfdG9vbGJhciFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuIWltcG9ydGFudDtcbiAgfVxuXG4gICYgJl9fbG9nbyB7XG4gICAgZmxleDogMCAxIGF1dG8haW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMTJweCAwIDEycHghaW1wb3J0YW50O1xuXG4gICAgJi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IWltcG9ydGFudDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvciFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtc3ltYm9sIHtcbiAgICAgIHBhZGRpbmc6IDRweCA3cHggNHB4IDRweCFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweCFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94IWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgIH1cblxuICAgICYtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX190b29scyB7XG4gICAgZmxleDogMSAwIGF1dG8haW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciFpbXBvcnRhbnQ7XG5cbiAgICAmLWJ1dHRvbiB7XG4gICAgICBhIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgLjRlbSAwIC4yZW0haW1wb3J0YW50O1xuICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luOiA4cHggMC4zZW0haW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzcHggOHB4IDNweCA1cHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweCFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjMzMzIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1hZGQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTVcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtZWRpdCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjMwM1wiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1wdWJsaXNoIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1tb2RlIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW46IDhweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHggM3B4IDVweCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFuZ2VyIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdXNlcnMsICZfX3Rvb2xzIHtcbiAgICAuYmMtYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICB9XG4gICAgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlIWltcG9ydGFudDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDJweCAyMHB4IWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0IWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGxpLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI2NjYyFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiAtMXB4IDAgMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl90b29sYmFyX3RleHQhaW1wb3J0YW50O1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICM1MzVhNjIhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDIwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfcHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdG9vbGJhcl90ZXh0IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbmF2IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZsZXgtYmFzaXM6IDIwOHB4O1xuICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuXG4gICZfX21haW4ge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX3ByaW1hcnk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcblxuICAgICYtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zdWIge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuXG4gICAgJixcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5iY2EtbmF2X19tYWluID4gJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAZXh0ZW5kICViY2EtaWNvbjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsaW5rLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgIC8vIGE6bGluayDjga7jg4fjg5Xjgqnjg6vjg4joqK3lrprjgpLmtojjgZnjgb7jgafmnInlirlcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2Rhcmtlc3Q7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC1pcy1jdXJyZW50PVwidHJ1ZVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2NvbG9yOiRjb2xvcl9kYXJrZXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgLy9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9wcmltYXJ5O1xuICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgLy8gcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIC8vIEBleHRlbmQgLmJjYS1pY29uLS1tZW51aXRlbTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGluayxcbiAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgLy8gYTpsaW5rIOOBruODh+ODleOCqeODq+ODiOioreWumuOCkua2iOOBmeOBvuOBp+acieWKuVxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9ob3ZlcjtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3JfYm9yZGVyLCAxMCUpO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g44K144OW44Oh44OL44Ol44O844KS6KGo56S6XG4gICAgJjpob3ZlciAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g54++5Zyo6YG45oqe5Lit44Gu44Oh44OL44Ol44O844Gn44K144OW44Oh44OL44Ol44O844GM44Gq44GE5aC05ZCIXG4gICAgJltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD1cInRydWVcIl0ge1xuICAgICAgLmJjYS1uYXZfX3N1Yi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOS4reOBjOWxlemWi+OBleOCjOOBpuOBhOOCi+aZglxuICAgICZbZGF0YS1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50X3BhcmVudDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAvL2NvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iY2EtbmF2X19zdWItbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50X3N1Ym1lbnU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8g54++5Zyo6ZaL44GE44Gm44GE44KL44Oa44O844K4XG4gICAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAyMHB4IDExcHggMzVweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYmNhLW5hdl9fc3ViLWxpc3Qge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOOCouOCpOOCs+ODs+W5heiqv+aVtFxuICAgICZbZGF0YS1jb250ZW50LXR5cGVdIHtcbiAgICAgIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC10eXBlPVwiZGFzaGJvYXJkXCJdIHtcbiAgICAgIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oZGFzaGJvYXJkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC10eXBlPVwiY29udGVudHNcIl0ge1xuICAgICAgLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihjb250ZW50cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWNvbnRlbnQtdHlwZT1cInN5c3RlbVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyDoqK3lrprjg6Hjg4vjg6Xjg7xcbiAgJl9fc3lzdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX21lbnVfYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbWVudV9ib3JkZXI7XG5cbiAgICBbZGF0YS1iY2Etc3RhdGU9XCJ0cnVlXCJdICYtdGl0bGUtaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihzeXN0ZW0pO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyDplovplonjgqLjgqTjgrPjg7NcbiAgICAgICYtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8g6ZaJ44GY44Gm44GE44KL5pmC44Gu44Oh44OL44Ol44O8aG92ZXJcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuXG4gICAgICAgICAgLy8g44K144OW44Oh44OL44Ol44O844KS6KGo56S6XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgjMDAwLCAwLjIpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQ7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yX2JhY2tncm91bmRfbWVudSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBleHRlbmQgJWJjYS1pY29uO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxpbmssXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAvLyBhOmxpbmsg44Gu44OH44OV44Kp44Or44OI6Kit5a6a44KS5raI44GZ44G+44Gn5pyJ5Yq5XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyDnj77lnKjpgbjmip7kuK3jga7mmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnQ7XG5cbiAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDjgrXjg5bjg6Hjg4vjg6Xjg7xcbiAgICAmLXN1Yi1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgcGFkZGluZzogN3B4IDIwcHggNXB4IDM1cHg7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAvLyDkuK3jgYzlsZXplovjgZXjgozjgabjgYTjgovmmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wYXJlbnQ7XG5cbiAgICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgLy9jb2xvcjokY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9zdWJtZW51O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuXG4gICAgICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA1cHggMzVweDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vIOePvuWcqOmWi+OBhOOBpuOBhOOCi+ODmuODvOOCuFxuICAgICAgICAgICAgICAmW2RhdGEtc3ViLWl0ZW0taXMtY3VycmVudD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAyMHB4IDExcHggMzVweDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN5c3RlbS10eXBlXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1pdGVtLWxpc3QtdGl0bGUgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInNpdGVjb25maWdzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oc2l0ZWNvbmZpZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInVzZXJzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odXNlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInNpdGVzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oc2l0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInRoZW1lXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odGhlbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInBsdWdpblwiXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHBsdWdpbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN5c3RlbS10eXBlPVwidG9vbHNcIl0ge1xuICAgICAgICAgIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbih0b29scyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuXG4gICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyDkuK3jgYzlsZXplovjgZXjgozjgabjgYTjgovmmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLmJjYS1uYXYge1xuICAgICAgICAgICAgJl9fc3lzdGVtIHtcbiAgICAgICAgICAgICAgJi1zdWItbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrO1xuXG4gICAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjokY29sb3JfbGlnaHRlc3Q7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zdWItbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDExcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g54++5Zyo6ZaL44GE44Gm44GE44KL44Oa44O844K4XG4gICAgICAgICZbZGF0YS1zdWItaXRlbS1pcy1jdXJyZW50PVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX191cGRhdGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuXG4gICAgJi1iYWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbmF2LWZhdm9yaXRlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIC8vIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9tZW51X2JvcmRlcjtcbiAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICYtYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKSB7XG4gICAgICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDEycHghaW1wb3J0YW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluayFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE0cHghaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0IWltcG9ydGFudDtcbiAgICB9XG4gICAgW2RhdGEtYmNhLXN0YXRlPVwib3BlblwiXSAmLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAmLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdHJhbnNpdGlvbjogMC4xcyBhbGw7XG4gICAgfVxuICB9XG4gICYtbGlzdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMCA0cHggMjFweDtcbiAgICAmLWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL3BhZGRpbmc6IDRweCAwcHggN3B4IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAyMHB4IDVweCAxNHB4O1xuICAgICAgICAvL2NvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAvL0BleHRlbmQgLmJjYS1pY29uLS1tZW51aXRlbTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogJG5hdl9pdGVtX3BhZGRpbmcgKiAxO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGluayxcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAvLyBhOmxpbmsg44Gu44OH44OV44Kp44Or44OI6Kit5a6a44KS5raI44GZ44G+44Gn5pyJ5Yq5XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2hvdmVyO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtZnVuY3Rpb25zIHtcbiAgICBmb250LXNpemU6IC43NWVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAjeyRuYXZfYmFzZV9wYWRkaW5nIC0gJG5hdl9pdGVtX3BhZGRpbmd9O1xuICAgICYtYWRkIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGFkZCkge1xuICAgICAgICBtYXJnaW46IDAgLjNlbSAwIDA7XG4gICAgICB9XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X2xpbms7XG4gICAgfVxuICAgICYtaGVscCB7XG4gICAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKSB7XG4gICAgICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxuICAubm8tZGF0YSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiLy9cbi8vICMg44Oc44K/44Oz44Ki44Kk44Kz44Oz77yI44Ki44Kk44Kz44Oz44Gu44G/L+ODhuOCreOCueODiOOBquOBlylcbi8vXG4uYmNhLWJ0bi1pY29uIHtcblxuICAvLyDjg4fjg5Xjgqnjg6vjg4jjg5zjgr/jg7NcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgfVxuXG4gIEBtaXhpbiBiY2EtYnRuLWljb24tY29tbW9uIHtcblxuICB9XG5cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld10ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHByZXZpZXcpO1xuICB9XG4gIC8vIOe3qOmbhlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihlZGl0KTtcbiAgfVxuICAvLyDopIfoo71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgLy8g6KSH6KO9XG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhbGlhcyk7XG4gIH1cbiAgLy8g5YmK6ZmkXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZGVsZXRlKTtcbiAgfVxuICAvLyDkuIDopqdcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGgtbGlzdCk7XG4gIH1cbiAgLy8g5LiA6Kan44Gr5oi744KLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAvLyDjgYrmsJfjgavlhaXjgopcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKTtcbiAgfVxuICAvLyDjg6Hjg4vjg6Xjg7zjgqLjgqTjg4bjg6BcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1lbnVpdGVtKTtcbiAgfVxuICAvLyDov73liqBcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hZGRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gIC8vIOODmOODq+ODl1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKTtcbiAgfVxuICAvLyDliLbpmZDvvIjpjbUpXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBlcm1pc3Npb24pO1xuICB9XG4gIC8vIOmBqeeUqFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXBwbHkpO1xuICB9XG4gIC8vIEhPTUVcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1ob21lXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaG9tZSk7XG4gIH1cbiAgLy8g44Ot44Kw44Kk44OzXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dIHtcbiAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuICAgICRjb2xvcl9kYXJrZW46IGRhcmtlbigkY29sb3JfcHJpbWFyeSwgNSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9kYXJrZW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvcl9wcmltYXJ5IDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfZGFya2VuIDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLy8gTG9naW5cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzd2l0Y2gpO1xuICB9XG4gIC8vIOmWi+OBj1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihvcGVuKTtcbiAgfVxuICAvLyDjg4bjgq3jgrnjg4jjgrPjg5Tjg7xcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRleHRjb3B5KTtcbiAgfVxuICAvLyDjg4Djgqbjg7Pjg63jg7zjg4lcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRvd25sb2FkKTtcbiAgfVxuICAvLyDjg4njg6njg4Pjgq/lj6/og71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkcmFnZ2FibGUpO1xuICB9XG4gIC8vIOODleOCqeODq+ODgFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWZvbGRlcl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZvbGRlcik7XG4gIH1cbiAgLy8g44OV44Kh44Kk44OrXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZpbGUpO1xuICB9XG4gIC8vIDHpmo7lsaTkuIrjgavmiLvjgotcbiAgJltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih1cC1kaXJlY3RvcnkpO1xuICB9XG4gIC8vIOefouWNsOOAgOWPs1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctcmlnaHQpO1xuICB9XG4gIC8vIOefouWNsOOAgOW3plxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcnJvdy1sZWZ0KTtcbiAgfVxuICAvLyDnn6LljbDjgIDkuIpcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy11cF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGFycm93LXVwKTtcbiAgfVxuICAvLyDnn6LljbDjgIDkuItcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctZG93bik7XG4gIH1cbiAgLy8g44OV44Kh44Kk44Or44Oq44K544OIXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZmlsZS1saXN0KTtcbiAgfVxuICAvLyDjgqLjg4Pjg5fjg4fjg7zjg4hcbiAgJltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih1cGRhdGUpO1xuICB9XG4gIC8vIOioreWumlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzZXR0aW5nKTtcbiAgfVxuXG4gIC8vIOOCteOCpOOCulxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cblxuICAvLyBzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cblxuICAvLyB4c21hbGxcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT14c10ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG5cbiAgLy8g44K544OG44O844K/44K5XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIOODl+ODqeOCpOODnuODquODvFxuICAmW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuICAvLyDnmb1cbiAgJltkYXRhLWJjYS1idG4tc3RhdHVzPXdoaXRlXSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g44Kw44Os44O8XG4gICZbZGF0YS1iY2EtYnRuLXN0YXR1cz1ncmF5XSB7XG4gICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9zZWNvbmRhcnlfYm9yZGVyO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9zZWNvbmRhcnlfYm9yZGVyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeV9ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gZGlzYWJsZWRcbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICAvL2JhY2tncm91bmQ6ICNlZWU7XG4gIH1cbn1cbiIsIi8vXG4vLyAjIOODnOOCv+ODs+OCouOCpOOCs+ODs++8iOOCouOCpOOCs+ODs+OBruOBvy/jg4bjgq3jgrnjg4jjgarjgZcpXG4vL1xuLmJjYS1idG4taWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICB9XG5cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld10ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHByZXZpZXcpO1xuICB9XG4gIC8vIOe3qOmbhlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihlZGl0KTtcbiAgfVxuICAvLyDopIfoo71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgLy8g5YmK6ZmkXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZGVsZXRlKTtcbiAgfVxuICAvLyDkuIDopqdcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGgtbGlzdCk7XG4gIH1cbiAgLy8g5LiA6Kan44Gr5oi744KLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAvLyDjgYrmsJfjgavlhaXjgopcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKTtcbiAgfVxuICAvLyDjg6Hjg4vjg6Xjg7zjgqLjgqTjg4bjg6BcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1lbnVpdGVtKTtcbiAgfVxuICAvLyDov73liqBcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hZGRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gIC8vIOODmOODq+ODl1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKTtcbiAgICAvLyBAaW5jbHVkZSBiY2EtaWNvbihyZXNjdWUpO1xuICB9XG4gIC8vIOWItumZkO+8iOmNtSlcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocGVybWlzc2lvbik7XG4gIH1cbiAgLy8gSE9NRVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihob21lKTtcbiAgfVxuXG4gIC8vIOODreOCsOOCpOODs1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXSB7XG4gICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAkY29sb3JfZGFya2VuOiBkYXJrZW4oJGNvbG9yX3ByaW1hcnksIDUlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZGFya2VuO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfcHJpbWFyeSAxMCUsICRjb2xvcl9kYXJrZW4gMTAwJSk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3Q7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yX2RhcmtlbiAxMCUsICRjb2xvcl9kYXJrZW4gMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLy8g6ZaL44GPXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG9wZW4pO1xuICB9XG4gIC8vIOODhuOCreOCueODiOOCs+ODlOODvFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGV4dGNvcHkpO1xuICB9XG4gIC8vIOODgOOCpuODs+ODreODvOODiVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZG93bmxvYWQpO1xuICB9XG4gIC8vIOODieODqeODg+OCr+WPr+iDvVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cblxuICAvLyDjgrXjgqTjgrpcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gbGFyZ2VcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT1sZ10ge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG5cbiAgLy8gc21hbGxcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT1zbV0ge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG5cbiAgLy8geHNtYWxsXG4gICZbZGF0YS1iY2EtYnRuLXNpemU9eHNdIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxuXG4gIC8vIOOCueODhuODvOOCv+OCuVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyDjg5fjg6njgqTjg57jg6rjg7xcbiAgJltkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAvLyBkaXNhYmxlZFxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICAgIC8vYmFja2dyb3VuZDogI2VlZTtcbiAgfVxufVxuIiwiLyogQmFubmVyQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtYmFubmVycyB7XG4gICZfX3VsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICZfX2xpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn0iLCIvKiBiY2EtYWN0aW9uLXRhYmxlLWxpc3R1cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJjYS1hY3Rpb24tdGFibGUtbGlzdHVwIHtcbiAgc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLy9oZWlnaHQ6MzJweDtcbiAgfVxuICBzZWxlY3QgKyBidXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3RvcDotMnB4O1xuICB9XG59XG4iLCIvLyB0YWJsZeezu1xuXG4uYmNhLXRhYmxlIHtcbiAgJltkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUxXSB7XG4gICAgdGhlYWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgICAgdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgICB0ZCB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgICAgdGQge1xuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWwxIHtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG4gICAgLmJjYS1jdXJyZW50cm93IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogbGlzdC10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGV7XG4vL1x0Ym9yZGVyOiAxcHggc29saWQgI0RERDtcbi8vXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuLy9cdG1hcmdpbi1ib3R0b206MTVweDtcbi8vXHR3aWR0aDoxMDAlO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoe1xuLy9cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbi8vXHR0ZXh0LWFsaWduOiBsZWZ0O1xuLy9cdC8qYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19saXN0LnBuZyk7Ki9cbi8vXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogI0VGRUZFRjtcbi8vXHRwYWRkaW5nOjVweCAxMHB4O1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4vL1x0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vXHRjb2xvcjojNTM1QTYyO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoIGF7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vL1x0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vfVxuLy8uY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0aCBhOmhvdmVye1xuLy9cdGNvbG9yOiM5QzA7XG4vL31cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGggaW1nLFxuLy8uY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ZCBpbWd7XG4vL1x0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoIGEge1xuLy9cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuLy9cdGNvbG9yOiM2OTA7XG4vL31cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGR7XG4vL1x0cGFkZGluZzogNXB4IDEwcHg7XG4vL1x0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xuLy9cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREQ7XG4vL1x0Ym9yZGVyLXRvcDogMXB4IGRvdHRlZCAjREREO1xuLy9cdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERDtcbi8vfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGQuZXllX2NhdGNoIGltZyB7XG4vLyBcdG1heC13aWR0aDogMTAwcHg7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ZCBhe1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGQgYTpob3Zlcntcbi8vIFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5vZGR7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5ldmVue1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNGQUZBRkE7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5kaXNhYmxlcm93IHtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojQ0NDO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuY3VycmVudHJvdyB7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6IzMzOTJlMztcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLmN1cnJlbnRyb3cgdGQgc21hbGwge1xuLy8gXHRjb2xvcjojRkZGO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuYWN0aXZlcm93e1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNDMzA7XG4vLyBcdGNvbG9yOiNmZmY7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5hY3RpdmVyb3cgYXtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLmhvdmVycm93e1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZGU7XG4vLyBcdGNvbG9yOiMzMzM7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5ob3ZlcnJvdyBhe1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuc2VsZWN0ZWRyb3d7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6IzJGNkZBQjtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLnNlbGVjdGVkcm93IHNtYWxsLFxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuc2VsZWN0ZWRyb3cgYXtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5saXN0LXRhYmxlIC5uby1kYXRhIHtcbi8vIFx0cGFkZGluZzoyMHB4IDA7XG4vLyBcdHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIC50YWcge1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7XG4vLyBcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyBcdHBhZGRpbmc6MnB4IDNweDtcbi8vIFx0Zm9udC1zaXplOiAxMHB4O1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuLy8gXHR2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbi8vIFx0bWFyZ2luLWxlZnQ6M3B4O1xuLy8gXHRtYXJnaW4tcmlnaHQ6MXB4O1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gfVxuLy8gLmxpc3QtdG9vbCB7XG4vLyBcdHdoaXRlLXNwYWNlOm5vd3JhcDtcbi8vIH1cblxuLy8gLnJvdy10b29sc3tcbi8vIFx0d2hpdGUtc3BhY2U6bm93cmFwO1xuLy8gfVxuLy8gLnJvdy10b29scyBpbWd7XG4vLyBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyB9XG4vLyAubGlzdC10b29sIGlucHV0LFxuLy8gLmxpc3QtdG9vbCBzZWxlY3Qge1xuLy8gXHRmb250LXNpemU6IDEycHg7XG4vLyB9XG4vLyAubGlzdC10b29sIGJ1dHRvbiB7XG4vLyBcdHBhZGRpbmc6MHB4IDdweDtcbi8vIFx0Y3Vyc29yOiBwb2ludGVyO1xuLy8gfVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJjYS10YWJsZS1saXN0dXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuXG4gIC5iY2EtbWFpbi1ib2R5ICYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gICZfX3RoZWFkLXRoLFxuICAmX190Ym9keS10aCxcbiAgJl9fdGJvZHktdGQge1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMWVtIDAuNWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0ciAmX190aGVhZC10aCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rX3RhYmxlX2xpc3R1cDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF90YWJsZV9saXN0dXA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAvLyDpgbjmip5cbiAgICAmLS1zZWxlY3Qge1xuICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcblxuICAgICAgICAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Ege1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfbGlua190YWJsZV9saXN0dXA7XG5cbiAgICAuYmNhLWljb24tLWFzYyxcbiAgICAuYmNhLWljb24tLWRlc2Mge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIC8vdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmLmFzYyxcbiAgICAmLmRlc2Mge1xuICAgICAgLmJjYS1pY29uLS1hc2MsXG4gICAgICAuYmNhLWljb24tLWRlc2Mge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICZfX3Rib2R5LXRoLFxuICAmX190Ym9keS10ZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfdGFibGVfYm9yZGVyX2NvbG9yO1xuICAgIC8vIOihjOOBruODm+ODkOODvFxuICAgIHRyOmhvdmVyICYge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3RhYmxlX2xpc3R1cF9ob3ZlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX190Ym9keS10aCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICZfX3Rib2R5LXRkIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIC8vIOmBuOaKnlxuICAgICYtLXNlbGVjdCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgd2lkdGg6IDEyLjVweDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g44K/44Kk44OI44OrXG4gICAgJi0tdGl0bGUge1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG5cbiAgICAvLyDjgqvjg4bjgrTjg6pcbiAgICAmLS1jYXRlZ29yeSB7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC8vIOOCv+OCsFxuICAgICYtLXRhZyB7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuXG4gICAgICAudGFnIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywgJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOaXpeS7mFxuICAgICYtLWRhdGUge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyDjgqLjgq/jgrfjg6fjg7NcbiAgICAmLS1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAuYmNhLWJ0bi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ci51aS1zb3J0YWJsZS1oZWxwZXIge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvcl90YWJsZV9ib3JkZXJfY29sb3IhaW1wb3J0YW50O1xuICAgIHdpZHRoOmF1dG8gIWltcG9ydGFudDtcbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHRyLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MywgMjQ1LCAyMDMsIDAuODQpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmRpc2FibGVyb3cge1xuICAgIHRoLCB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLmV5ZV9jYXRjaC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLmV5ZV9jYXRjaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIFtkYXRhLWJjYS10ZXh0LXNpemU9bGddIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gIC5iY2EtY3VycmVudHJvdyB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5O1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxuICB9XG59XG4iLCIvLyBAZGVwbGljYXRlZFxuLy8g44GT44Gu44Kz44Oz44Od44O844ON44Oz44OI44Gv5buD5q2i44GV44KM44G+44GZ44CCXG5cbi8qIENydW1iXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8jQ3J1bWJ7XG4vL1x0Y29sb3I6ICNDQ0M7XG4vL1x0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuLy9cdHBhZGRpbmc6IDhweCAxMHB4IDdweDtcbi8vXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4vL1x0Zm9udC1zaXplOjExcHg7XG4vL1x0bGluZS1oZWlnaHQ6MTVweDtcbi8vfVxuLy8jQ3J1bWIgIGF7XG4vL1x0Y29sb3I6ICNCQkI7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy9cdHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO1xuLy99XG4vLyNDcnVtYiBhOmhvdmVye1xuLy9cdGNvbG9yOiAjRUVFO1xuLy99XG4vLyNDcnVtYiBzdHJvbmcge1xuLy9cdGNvbG9yOiNGRkY7XG4vL31cblxuLy8gQGltcG9ydCAnLi4vdmVuZG9yL0ZvbnQtQXdlc29tZS9mb250LWF3ZXNvbWUnO1xuXG4vLyAuYmNhLWNydW1iIHtcbi8vIFx0Y29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbi8vIFx0cGFkZGluZzogN3B4IDAgN3B4O1xuLy8gXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gXHRmb250LXNpemU6IDEzcHg7XG4vLyBcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuLy8gXHRvbCB7XG4vLyBcdFx0bGkge1xuLy8gXHRcdFx0Ly9mbG9hdDogbGVmdDtcbi8vIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyBcdFx0XHRhIHtcbi8vIFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy8gXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0XHRcdHBhZGRpbmc6IDAgMS42ZW0gMCAwO1xuLy8gXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuLy8gXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyBcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vIFx0XHRcdFx0bGluZS1oZWlnaHQ6MThweDtcbi8vIFx0XHRcdFx0QGV4dGVuZCAuI3skZmEtY3NzLXByZWZpeH07XG4vLyBcdFx0XHRcdEBleHRlbmQgLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0O1xuLy8gXHRcdFx0XHQmOmJlZm9yZSB7XG4vLyBcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0XHRcdHRvcDogLS4xZW07XG4vLyBcdFx0XHRcdFx0cmlnaHQ6IDAuNGVtO1xuLy8gXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcbi8vIFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRhOmhvdmVyIHtcbi8vIFx0XHRcdFx0XHQvL2NvbG9yOiAjRUVFO1xuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0XHRzdHJvbmcge1xuLy8gXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuXG4vLyBcdC5iY2EtaWNvbi0taG9tZSB7XG4vLyBcdFx0Zm9udC1zaXplOjE4cHg7XG4vLyBcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vIFx0fVxuLy8gfVxuIiwiLmJjYS1jb250ZW50LW1lbnUge1xuICBwYWRkaW5nOiAwO1xuXG4gICZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICB9XG59XG4iLCIuYmNhLWNvbnRlbnQtaW5mbyB7XG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8vZm9udC1zaXplOiAxLjZyZW07XG4gICAgJi1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtZmVlZCB7XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgJi1pdGVtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICAgICYtZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTo4MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYmNhLXVwZGF0ZS1sb2cge1xuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmLWl0ZW0ge1xuICAgICAgcGFkZGluZy1ib3R0b206OXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOjgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2Etc2VhcmNoIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9tYWluX2NvbnRlbnRzX2JvcmRlcl9jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYWxpZ24tc2VsZjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgJl9faGVhZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDFlbSAyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2lucHV0LWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLypkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsqL1xuICB9XG5cbiAgJl9faW5wdXQtaXRlbSB7XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgLypmbGV4OiAwIDEgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4ydnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAmLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fYnRucyB7XG4gICAgLypkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgICBtYXJnaW46IDFlbSAwIDAgNHB4O1xuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAxZW0gMCAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLyogYmNhLXBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLy5wYWdpbmF0aW9uIHtcbi8vXHRtYXJnaW4tYm90dG9tOjIwcHg7XG4vL31cbi8vLnBhZ2luYXRpb24ge1xuLy9cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4vL1x0dGV4dC1hbGlnbjogcmlnaHQ7XG4vL1x0bGluZS1oZWlnaHQ6IDE4cHg7XG4vL31cbi8vLnBhZ2luYXRpb24gLnBhZ2UtcmVzdWx0e1xuLy9cdG1hcmdpbjogNXB4IDVweCAwO1xuLy9cdGZsb2F0OnJpZ2h0O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuLy9cdGZsb2F0OmxlZnQ7XG4vL31cbi8vLnBhZ2luYXRpb24gc3BhbiBzcGFuIGEge1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICM5QzA7XG4vL1x0bWFyZ2luOiAwIDJweCA0cHg7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy9cdGRpc3BsYXk6YmxvY2s7XG4vL1x0ZmxvYXQ6bGVmdDtcbi8vfVxuLy8ucGFnaW5hdGlvbiBzcGFuIHNwYW4gYTpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjogI0ZGRkZGRjtcbi8vfVxuLy8ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogI0UyRTJFMjtcbi8vXHRmb250LXdlaWdodDpib2xkO1xuLy9cdGJvcmRlcjoxcHggc29saWQgI0UyRTJFMjtcbi8vXHRtYXJnaW46IDAgMnB4IDRweDtcbi8vXHRkaXNwbGF5OmJsb2NrO1xuLy9cdGZsb2F0OmxlZnQ7XG4vL31cbi8vLnBhZ2luYXRpb24gLm5leHQsIC5wYWdpbmF0aW9uIC5wcmV2IHtcbi8vXHRtYXJnaW46IDAgMnB4IDRweDtcbi8vXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vL1x0Ym9yZGVyOiAxcHggc29saWQgIzlDMDtcbi8vXHRmbG9hdDpsZWZ0O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5uZXh0OmhvdmVyLCAucGFnaW5hdGlvbiAucHJldjpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjojZmZmO1xuLy99XG4vLy5wYWdpbmF0aW9uIHNwYW4gc3BhbiBhLFxuLy8ucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4vLy5wYWdpbmF0aW9uIC5jdXJyZW50e1xuLy9cdHBhZGRpbmc6IDNweCA5cHg7XG4vL31cbi8vLnBhZ2luYXRpb24gLm5leHQgYSwgLnBhZ2luYXRpb24gLnByZXYgYXtcbi8vXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vL1x0ZGlzcGxheTpibG9jaztcbi8vXHRwYWRkaW5nOiAzcHggOXB4O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5uZXh0IGE6aG92ZXIsIC5wYWdpbmF0aW9uIC5wcmV2IGE6aG92ZXJ7XG4vL1x0Y29sb3I6I0ZGRjtcbi8vfVxuLy8ucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4vLy5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3Zlcntcbi8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4vL1x0bWFyZ2luOiAwIDJweDtcbi8vXHRkaXNwbGF5OmJsb2NrO1xuLy9cdGZsb2F0OmxlZnQ7XG4vL1x0Y29sb3I6I0RGREZERjtcbi8vfVxuXG4uYmNhLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5iY2EtcGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy9mbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbiAgLmJjYS1wYWdlLXJlc3VsdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHggMDtcbiAgICAvL2Zsb2F0OiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG5cbiAgc3BhbiBhLFxuICBzcGFuIHNwYW4gYSxcbiAgLmRpc2FibGVkLFxuICAuY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAuY3VycmVudCB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgY29sb3I6JGNvbG9yX3BhZ2luYXRpb25fbGluayFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NjYyFpbXBvcnRhbnQ7XG4gIH1cblxuICBzcGFuIHNwYW4gYSB7XG4gICAgY29sb3I6ICRjb2xvcl9wYWdpbmF0aW9uX2xpbms7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcGFnaW5hdGlvbl9saW5rO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICB9XG4gIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG4gIC5uZXh0LCAucHJldiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yX3BhZ2luYXRpb25fbGluaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhZ2luYXRpb25fbGluaztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpc2FibGVkLFxuICAuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICB9XG59IiwiLyogYmNhLXRvdG9wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBUb1RvcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8jVG9Ub3Age1xuLy9cdHRleHQtYWxpZ246IHJpZ2h0O1xuLy9cdHBhZGRpbmctcmlnaHQ6MjBweDtcbi8vXHRwYWRkaW5nLWJvdHRvbToxNXB4O1xuLy99XG4vLyNUb1RvcCBhIHtcbi8vXHRib3JkZXI6IDFweCBzb2xpZCAjOUMwO1xuLy9cdHBhZGRpbmc6IDRweCAxMHB4O1xuLy9cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vXHRmb250LXNpemU6IDEwcHg7XG4vL1x0Y29sb3I6IzlDMDtcbi8vfVxuLy8jVG9Ub3AgYTpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjogI0ZGRjtcbi8vfVxuXG4uYmNhLXRvdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3NlY29uZGFyeTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3Q7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIExvZ2luXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmNhLWxvZ2luIHtcbiAgJixcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDMwcHggYXV0bztcbiAgcGFkZGluZzogNDBweCAyNXB4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0ZXN0O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMjMwcHg7XG4gIH1cblxuICAmLWZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxLjJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJjYS10ZXh0Ym94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuYmNhLXRleHRib3hfX2lucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjY5ZW0gMWVtO1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5iY2EtYnRuLS1sb2dpbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICB9XG5cbiAgLmJjYS1sb2dpbi1mb3JtLWN0cmwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuYmNhLWxvZ2luLWZvcm0tY2hlY2tlciB7XG4gIH1cblxuICAuYmNhLWxvZ2luLWZvcmdvdC1wYXNzIHtcbiAgfVxuXG4gIC5iY2EtbG9naW4tZm9ybS1jaGVja2JveCB7XG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiB7XG4gIC5iY2EtbWFpbiB7XG4gICAgJl9fY29udGVudHMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjQ3JlZGl0U2Nyb2xsZXIsICNDcmVkaXRTY3JvbGxlciBhIHtcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgI0NyZWRpdCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAjQ3JlZGl0U2Nyb2xsZXJJbm5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5iY2EtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNUYxO1xuICB9XG5cbiAgLmJjYS1jcnVtYixcbiAgLmJjYS1tYWluLWJvZHktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuYmNhLWxpc3QtbnVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgfVxuICAmX19kYXRhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gIH1cbn1cbiIsIi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxle1xuLy8gXHRib3JkZXI6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuLy8gXHRtYXJnaW4tYm90dG9tOjMwcHg7XG4vLyBcdHdpZHRoOjEwMCU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAuZm9ybS10YWJsZSB0aHtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gXHR0ZXh0LWFsaWduOiBsZWZ0O1xuLy8gXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4vLyBcdHBhZGRpbmc6NXB4IDEwcHg7XG4vLyBcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLyBcdHdpZHRoOjIwJTtcbi8vIFx0Ym9yZGVyOiAxcHggc29saWQgI0RERDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGF7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjpub25lO1xuLy8gXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGggYTpob3Zlcntcbi8vIFx0Y29sb3I6IzlDMDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGltZyB7XG4vLyBcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGEge1xuLy8gXHRsaW5lLWhlaWdodDogMjBweDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRke1xuLy8gXHRwYWRkaW5nOiA1cHggMTBweDtcbi8vIFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItdG9wOiAxcHggZG90dGVkICNEREQ7XG4vLyBcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERDtcbi8vIFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojRkZGO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGQgdGV4dGFyZWEge1xuLy8gXHR3aWR0aDogODYlO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgaW5wdXQuZnVsbC13aWR0aCB7XG4vLyBcdHdpZHRoOjg2JTtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRkIGltZyB7XG4vLyBcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vIFx0bWF4LXdpZHRoOiAxMDAlO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgLmNoZWNrYm94IHtcbi8vIFx0ZmxvYXQ6bGVmdDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIC5lcnJvci1tZXNzYWdle1xuLy8gXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyBcdC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vIFx0Ym9yZGVyLXJhZGl1czogMTBweDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIGlucHV0LmFjdGl2ZSxcbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRleHRhcmVhLmFjdGl2ZSxcbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHNlbGVjdC5hY3RpdmUge1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZGU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAuZm9ybS10YWJsZSBidXR0b24ge1xuLy8gXHRwYWRkaW5nOjBweCA3cHg7XG4vLyBcdGN1cnNvcjogcG9pbnRlcjtcbi8vIH1cblxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGgge1xuLy8gICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vIH1cblxuLmJjYS1mb3JtLXRhYmxlIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAmX19sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICYuLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwIDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuYmNhLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTAuMTVlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAmX19pbnB1dCB7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAmX19pbnB1dC13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHRyOmxhc3QtY2hpbGQgdGgsXG4gIHRyOmxhc3QtY2hpbGQgdGR7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSFpbXBvcnRhbnQ7XG4gIH1cbiAgJl9fZ3JvdXAge1xuICAgICYgKyAmIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG4gICAgJi1zdGF0ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmJjYS1yYWRpby1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAvL3BhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyLXRhYmxlIHtcbiAgICAmLWxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjVlbSAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAmLWlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbiAgJl9faW5uZXItc3VibWl0IHtcbiAgICBtYXJnaW46IDFlbSAwIDA7XG4gIH1cblxuICAuYmNhLXBvc3RfX3VybCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuYmNhLW1haWxDb250ZW50U2VuZGVyMSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gIH1cblxuICAvLyDoqK3lrprnlLvpnaLns7vvvJrjg5zjg7zjg4Djg7zjgarjgZdcbiAgJltkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB7XG5cbiAgICAkY29sb3JfdGFibGVfYm9yZGVyX2NvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC5iY2EtZm9ybS10YWJsZSB7XG5cbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAmLi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC4yZW0gMCAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmNhLWxhYmVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMC4xNWVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbnB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIC5iY2Etc2VsZWN0LFxuICAgICAgICAuYmNhLXRleHRib3gsXG4gICAgICAgIC5iY2EtdGV4dGFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZXhwbGFuYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJjYS10ZXh0Ym94IHtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5idG4uaGVscCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG4gIH1cbiAgLmJjYS1oZWxwIHtcbiAgICBmb250LXNpemU6MjBweDtcbiAgfVxuXG59XG5cbiNCYXNpY1NldHRpbmcgdGFibGUge1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG59IiwiLm1lc3NhZ2Uge1xuICBjb2xvcjogJGNvbG9yX25vdGlmaWNhdGlvbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4jTWVzc2FnZUJveCAubWVzc2FnZSxcbiNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZSxcbiNCY01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlLFxuI1VwZGF0ZU1lc3NhZ2Uge1xuICBjb2xvcjogJGNvbG9yX25vdGlmaWNhdGlvbjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgQGluY2x1ZGUgYmNhLWljb24obm90aWZpY2F0aW9uKSB7XG4gICAgbWFyZ2luOiAwIC4zZW0gMCAwO1xuICB9XG59XG5cbi8vIGpRdWVyeS5iY1V0aWwuanMg44Gn5L2/55SoXG4jTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZSxcbiNhdXRoTWVzc2FnZSxcbiNBbGVydE1lc3NhZ2UsXG4jQmNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdle1xuICBjb2xvcjogJGNvbG9yX2RhbmdlciFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGJjYS1pY29uKGFsZXJ0KSB7XG4gICAgbWFyZ2luOiAwIC4zZW0gMCAwO1xuICB9XG59XG5cbi8qIGZsYXNoTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNhdXRoTWVzc2FnZSxcbiNmbGFzaE1lc3NhZ2UsXG4jQWxlcnRNZXNzYWdlLFxuI0JjU3lzdGVtTWVzc2FnZSxcbiNVcGRhdGVNZXNzYWdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMjVweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNCY01lc3NhZ2VCb3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogSGVscCxTZWFyY2gsTGltaXTlhbHpgJroqK3lrppcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jSGVscCAuaGVhZCwgI0xpbWl0IC5oZWFkIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4jSGVscCAuYm9keSwgI0xpbWl0IC5ib2R5IHtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuI0hlbHAgLmNsb3NlLCAjTGltaXQgLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI0hlbHAgaDIsICNMaW1pdCBoMiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbWVkaXVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiBIZWxwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4jSGVscCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4jSGVscCAuYm9keSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNIZWxwIC5leGFtcGxlLWJveCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNEREQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4jSGVscCAuZXhhbXBsZS1ib3ggLmhlYWQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI0hlbHAgdWwsXG4jSGVscCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG59XG5cbiNIZWxwIGxpIHtcbiAgLypwYWRkaW5nOiAwIDIwcHg7Ki9cbiAgbWFyZ2luOiA1cHggMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuI0hlbHAgbGkgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsInRhYmxlLmNha2Utc3FsLWxvZyB7XG4gIHdpZHRoOiA5MCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjY2O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNjY2O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxudGFibGUuY2FrZS1zcWwtbG9nIGNhcHRpb24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM2NjY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM2NjY7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdHIgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjY2NjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuIiwiJWJ0bi1jb21tb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiKDI1NSwgMjU1LCAyNTUpIDEwJSwgcmdiKDI0NCwgMjQ1LCAyNDEpIDEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0IDBzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICB9XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gIH1cbn1cbi5iY2EtYnRuIHtcbiAgQGV4dGVuZCAlYnRuLWNvbW1vbjtcblxuICBAbWl4aW4gYnRuLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgLy9mb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcbiAgICB9XG4gIH1cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNKOODl+ODrOODk+ODpeODvO+8iVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddIHtcbiAgICAvLyBAaW5jbHVkZSBiY2EtaWNvbihwcmV2aWV3KTtcbiAgfVxuICAvLyDnt6jpm4ZcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG4gIH1cbiAgLy8g6KSH6KO9XG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNvcHkpO1xuICB9XG4gIC8vIOS/neWtmFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXNhdmVdIHtcbiAgICBAaW5jbHVkZSBidG4tcHJpbWFyeTtcbiAgfVxuICAvLyDliYrpmaRcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xuICB9XG4gIC8vIOS4gOimp+OBq+aIu+OCi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGJhY2stdG8tbGlzdCk7XG4gIH1cbiAgLy8g44GK5rCX44Gr5YWl44KKXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmYXZvcml0ZSk7XG4gIH1cbiAgLy8g44Oh44OL44Ol44O844Ki44Kk44OG44OgXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihtZW51aXRlbSk7XG4gIH1cbiAgLy8g6L+95YqgXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYWRkKTtcbiAgICBAaW5jbHVkZSBidG4tcHJpbWFyeTtcbiAgfVxuICAvLyDjg5jjg6vjg5dcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaGVscCk7XG4gIH1cbiAgLy8g5Yi26ZmQ77yI6Y21KVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihwZXJtaXNzaW9uKTtcbiAgfVxuICAvLyBIT01FXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGhvbWUpO1xuICB9XG4gIC8vIExvZ2luXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dIHtcbiAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuICAgICRjb2xvcl9kYXJrZW46IGRhcmtlbigkY29sb3JfcHJpbWFyeSwgNSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9kYXJrZW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvcl9wcmltYXJ5IDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfZGFya2VuIDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLy8g5qSc57SiXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9c2VhcmNoXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oc2VhcmNoKTtcbiAgfVxuXG4gIC8vIOOCr+ODquOColxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY2xlYXIpO1xuICB9XG4gIC8vIOODhuOCreOCueODiOOCs+ODlOODvFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGV4dGNvcHkpO1xuICB9XG4gIC8vIOODgOOCpuODs+ODreODvOODiVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZG93bmxvYWQpO1xuICB9XG4gIC8vIOODieODqeODg+OCr+WPr+iDvVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cblxuICAvLyDjgrXjgqTjgrpcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIHhsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXhsXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV94X2xhcmdlOyAvLyAxNnB4ICpcbiAgfVxuICAvLyBsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9sYXJnZTsgLy8gMTZweCAqXG4gICAgLy9wYWRkaW5nOiAuNWVtIC44ZW0gLjRlbTtcbiAgfVxuICAvLyBzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAvL2ZvbnQtc2l6ZTogMC45MXJlbTtcbiAgICAvL3BhZGRpbmc6IC40ZW0gLjhlbSAuNWVtO1xuICB9XG4gIC8vIHhzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXhzXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV94X3NtYWxsO1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBwYWRkaW5nOiAuNmVtIC44ZW0gLjRlbTtcbiAgfVxuXG4gIC8vIOaoquW5hVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8geGxhcmdlXG4gICZbZGF0YS1iY2EtYnRuLXdpZHRoPXhsXSB7XG4gICAgcGFkZGluZy1yaWdodDogNWVtO1xuICAgIHBhZGRpbmctbGVmdDogNWVtO1xuICB9XG4gIC8vIGxhcmdlXG4gICZbZGF0YS1iY2EtYnRuLXdpZHRoPWxnXSB7XG4gICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICB9XG5cbiAgLy8gY2F0ZWdvcnlcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gdGV4dFxuICAmW2RhdGEtYmNhLWJ0bi1jYXRlZ29yeT10ZXh0XSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8g6ImyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmW2RhdGEtYmNhLWJ0bi1jb2xvcj1kYW5nZXJdIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZGFuZ2VyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g44K544OG44O844K/44K5XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIOODl+ODqeOCpOODnuODquODvFxuICAmW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLy8gZGlzYWJsZWRcbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICAvL2JhY2tncm91bmQ6ICNlZWU7XG4gIH1cbn1cbi8vIOODneODg+ODl+OCouODg+ODl+ODgOOCpOOCouODreOCsFxuLnVpLWRpYWxvZy1idXR0b25zZXQge1xuICBidXR0b24ge1xuICAgIEBleHRlbmQgJWJ0bi1jb21tb247XG4gIH1cbn1cbi5idXR0b24tc21hbGwge1xuICBAZXh0ZW5kICVidG4tY29tbW9uO1xufVxuXG5cbi8vIC5zdWJtaXQge1xuLy8gXHRwb3NpdGlvbjpyZWxhdGl2ZTtcbi8vIFx0dGV4dC1hbGlnbjpjZW50ZXI7XG4vLyB9XG4vLyAuc3VibWl0IC5idXR0b24sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgLmJ1dHRvbntcbi8vIFx0Y29sb3I6IzUzNUE2Mjtcbi8vIFx0Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO1xuLy8gXHRjdXJzb3I6cG9pbnRlcjtcbi8vIFx0dGV4dC1zaGFkb3c6cmdiYSgyNTUsMjU1LDI1NSwwLjQpIDFweCAxcHggMDtcbi8vIFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDtcbi8vIFx0LW1vei1ib3JkZXItcmFkaXVzOjJweDtcbi8vIFx0LW8tYm9yZGVyLXJhZGl1czoycHg7XG4vLyBcdGJvcmRlci1yYWRpdXM6MnB4O1xuLy8gXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdC1vLWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuLy8gXHRiYWNrZ3JvdW5kOiNGM0YzRjM7XG4vLyBcdGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNGRkYsI0YzRjNGMyk7XG4vLyBcdGJhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjRkZGKSxjb2xvci1zdG9wKDEwMCUsI0YzRjNGMykpO1xuLy8gXHRiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI0ZGRiwjRjNGM0YzKTtcbi8vIFx0bWFyZ2luOjEwcHg7XG4vLyBcdHBhZGRpbmc6M3B4IDQwcHg7XG4vLyBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gXHRmb250LXNpemU6IDEuMmVtO1xuLy8gXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gXHRsaW5lLWhlaWdodDogMjRweDtcbi8vIH1cbi8vIC5zdWJtaXQgLmJ1dHRvbjpob3Zlcixcbi8vIC51aS13aWRnZXQtY29udGVudCAuYnV0dG9uOmhvdmVye1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjpub25lO1xuLy8gXHRiYWNrZ3JvdW5kOiNmNGY0ZjQ7XG4vLyBcdGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNmNGY0ZjQsI2RmZGZkZiAxMDAlKTtcbi8vIFx0YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNmNGY0ZjQpLGNvbG9yLXN0b3AoMTAwJSwjZGZkZmRmKSk7XG4vLyBcdGJhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjRmNGY0LCNkZmRmZGYgMTAwJSk7XG4vLyB9XG4vLyAuc3VibWl0IC5idXR0b246YWN0aXZlLFxuLy8gLnVpLXdpZGdldC1jb250ZW50IC5idXR0b246YWN0aXZle1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyBcdGJhY2tncm91bmQ6I2NkY2RjZDtcbi8vIFx0YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2NkY2RjZCwjZWVlIDEwMCUpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2NkY2RjZCksY29sb3Itc3RvcCgxMDAlLCNlZWUpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNjZGNkY2QsI2VlZSAxMDAlKTtcbi8vIH1cbi8vIC5zdWJtaXQgLmJ1dHRvbltkaXNhYmxlZF0sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgLmJ1dHRvbltkaXNhYmxlZF17XG4vLyBcdG9wYWNpdHk6LjVcbi8vIH1cbi8vIC5zdWJtaXQgYS5idXR0b24sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgYS5idXR0b257XG4vLyBcdHBhZGRpbmctdG9wOjVweDtcbi8vIFx0cGFkZGluZy1ib3R0b206NS41cHg7XG4vLyB9XG4vLyAqOmZpcnN0LWNoaWxkK2h0bWwgLnN1Ym1pdCBhLmJ1dHRvbixcbi8vIC51aS13aWRnZXQtY29udGVudCBhLmJ1dHRvbntcbi8vIFx0cG9zaXRpb246YWJzb2x1dGU7XG4vLyBcdHRvcDoxcHg7XG4vLyBcdHBhZGRpbmctdG9wOjNweDtcbi8vIFx0cGFkZGluZy1ib3R0b206M3B4O1xuLy8gfVxuXG4vLyAjSGVscCAuYnV0dG9uLCAjTGltaXQgLmJ1dHRvbntcbi8vIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy8gfVxuXG4vLyAvKiBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIC5idXR0b24tc21hbGx7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG4vLyBcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuLy8gXHRwYWRkaW5nOjRweCAxMHB4IDRweDtcbi8vIFx0bWFyZ2luLWJvdHRvbTowO1xuLy8gXHRmb250LXNpemU6MTNweDtcbi8vIFx0bGluZS1oZWlnaHQ6MThweDtcbi8vIFx0Y29sb3I6IzMzMyFpbXBvcnRhbnQ7XG4vLyBcdHRleHQtYWxpZ246Y2VudGVyO1xuLy8gXHR0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gXHRjdXJzb3I6cG9pbnRlcjtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZTZlNmU2KTtcbi8vIFx0YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2ZmZiksIHRvKCNlNmU2ZTYpKTtcbi8vIFx0YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2U2ZTZlNik7XG4vLyBcdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNjY2M7XG4vLyBcdGJvcmRlci1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4vLyBcdGJvcmRlci1jb2xvcjojZTZlNmU2ICNlNmU2ZTYgI2JmYmZiZjtcbi8vIFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjojYjNiM2IzO1xuLy8gXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O1xuLy8gXHQtbW96LWJvcmRlci1yYWRpdXM6NHB4O1xuLy8gXHRib3JkZXItcmFkaXVzOjRweDtcbi8vIFx0ZmlsdGVyOnByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNlNmU2ZTYnLCBHcmFkaWVudFR5cGU9MCk7XG4vLyBcdGZpbHRlcjpwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4vLyBcdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4vLyBcdC1tb3otYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4vLyBcdGJveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuLy8gXHRib3JkZXItY29sb3I6I2NjYztcbi8vIFx0Ym9yZGVyLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbi8vIH1cbi8vIC5idXR0b24tc21hbGw6aG92ZXJ7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtcbi8vIFx0Y29sb3I6IzMzMztcbi8vIFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtcbi8vIFx0YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNXB4O1xuLy8gXHQtd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHQtbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHQtbXMtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xcyBsaW5lYXI7XG4vLyBcdC1vLXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHR0cmFuc2l0aW9uOmJhY2tncm91bmQtcG9zaXRpb24gLjFzIGxpbmVhcjtcbi8vIH1cblxuLy8gLy8gLmJ0buOBqOOCu+ODg+ODiOOBp+S9v+OCj+OCjOOCi1xuLy8gLmhlbHB7XG4vLyBcdGN1cnNvcjogcG9pbnRlcjtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gfVxuXG4vLyAvLyBIVE1M5LiK5a2Y5Zyo44GZ44KL44GM44CB44K544K/44Kk44Or44Gv44Gq44GEXG4vLyAuYnRuIHtcblxuLy8gfVxuXG5cblxuXG5cbiIsIi5iY2EtcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW46IDAuMmVtIDFlbSAwIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9bGddIHsgLy/lpKfjgY3jgYTjgrXjgqTjgrpcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbGFyZ2U7XG4gIH1cblxuICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gIH1cblxuICAmLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG5cbiAgICAuYmNhLXJhZGlvIHtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuXG4gICAgYnIgKyAuYmNhLXJhZGlvIHtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBtYXJnaW46IDBweDtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvL21hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICAgIH1cblxuICAgICZbZGF0YS1iY2EtcmFkaW8tc2l6ZT1sZ10geyAvL+Wkp+OBjeOBhOOCteOCpOOCulxuICAgICAgKyBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9sYXJnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLy9iYWNrZ3JvdW5kOiAjRUVFRUVFO1xuICAgIH1cblxuICAgICYuZm9ybS1lcnJvciArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZGFuZ2VyO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0O1xuICAgIH1cblxuICAgICYuZm9ybS1lcnJvcjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9kYW5nZXI7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZDpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIH1cblxuICAgICY6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmYgaW5zZXQsICRmb2N1c19zaGFkb3c7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJi5mb3JtLWVycm9yOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0LCAkZm9jdXNfc2hhZG93X2Vycm9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIuYmNhLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwLjJlbSAxZW0gMCAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgJltkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICB9XG4gICZbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1zbV0ge1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgfVxuXG4gICYtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAuYmNhLWNoZWNrYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgLW1vei1vcGFjaXR5OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgICAmOmNoZWNrZWQge1xuICAgICAgKyBsYWJlbCxcbiAgICAgICsgLmJjYS1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgKyBsYWJlbCxcbiAgICAgICsgLmJjYS1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9faW5wdXQgKyBsYWJlbCxcbiAgJl9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IC0wLjJlbTtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwZW07XG4gICAgICAvL2xlZnQ6IDAuNDVlbTtcbiAgICAgIGxlZnQ6IDAuNWVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMC41ZW07XG4gICAgICBoZWlnaHQ6IDAuOWVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgfVxuICAgICZbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1sZ10ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSArIGxhYmVsOmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0gKyBsYWJlbDphZnRlcntcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICM5OTk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTtcbiAgfVxufVxuXG4vL1xuLy8uYmNhLWZpbGUge1xuLy8gICYtY2hlY2tib3gtaXRlbXtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveC1pdGVtO1xuLy8gIH1cbi8vICAmLWNoZWNrYm94e1xuLy8gICAgQGV4dGVuZCAuYmNhLWNoZWNrYm94O1xuLy8gIH1cbi8vICAmLWNoZWNrYm94LWxhYmVsIHtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveC1sYWJlbDtcbi8vICB9XG4vL31cbiIsIi5iY2Etc2VsZWN0IHtcbiAgJl9fc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vaWNuX3NlbGVjdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMC41ZW0gLyAxMHB4IGF1dG8sICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW07XG4gICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAyLjJlbSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDEuMmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgICZbZGF0YS1iY2Etc2VsZWN0LXNpemU9bGddIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U7XG4gICAgfVxuICAgICZbZGF0YS1iY2Etc2VsZWN0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyogYmNhLWRhdGEtbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJjYS1kYXRhLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAmX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gICZfX3N1YiB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG4iLCIuYmNhLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNGRkY7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIG1hcmdpbjogLjVlbSAuNTVlbSAuNWVtO1xuICBwYWRkaW5nOiAuMWVtIC42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG5cbiAgJltkYXRhLWJjYS1sYWJlbC10eXBlPVwicmVxdWlyZWRcIl0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2RhbmdlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cblxuICAmW2RhdGEtYmNhLWxhYmVsLXR5cGU9XCJvcHRpb25hbFwiXSB7XG4gICAgYmFja2dyb3VuZDogIzAwRTsgLy8g5LuuXG4gIH1cbn1cbiIsIi5iY2EtcGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHJvdy1nYXA6IDIwcHg7XG4gIGNvbHVtbi1nYXA6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuICAmID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gIH1cblxuICAmLWJveCB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbGFyZ2U7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX2lubGluZS1maWVsZHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgLmJjYS1yYWRpby1ncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgJi1zZXBhcmF0b3Ige1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYm9yZGVyO1xuICAgICAgICBtYXJnaW46IDAgMmVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmNhLXBsdWdpbi11cGRhdGUge1xuICAuYmNhLXBhbmVsLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG59XG5cbi8qIOWPpOOBhOOCueOCv+OCpOODqyDjgqTjg7Pjgrnjg4jjg7zjg6vnlLvpnaLjgarjgalcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLW1haW5fX2JvZHkgZGl2LmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzJTtcbn1cblxuLy8ucGFuZWwtYm94IHtcbi8vXHRib3JkZXI6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzoxMHB4IDIwcHg7XG4vL1x0bWFyZ2luOjIwcHggMDtcbi8vfVxuLy8ucGFuZWwtYm94IGxpIC5kYXRlIHtcbi8vXHQvKmZvbnQtd2VpZ2h0OiBib2xkOyovXG4vL31cbi8vLnBhbmVsLWJveCB1bCB7XG4vL1x0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuLy9cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuLy99XG4vLyNJbnN0YWxsYXRpb25zIC5wYW5lbC1ib3gge1xuLy9cdG1hcmdpbjowIGF1dG8gMjBweCBhdXRvO1xuLy99XG4vLyNJbnN0YWxsYXRpb25zIC5wYW5lbC1ib3ggdWwgbGkge1xuLy9cdG1hcmdpbi1ib3R0b206IDEwcHg7XG4vL1x0Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzozcHggMTBweDtcbi8vXHRiYWNrZ3JvdW5kOiBub25lO1xuLy99XG4vLyNBZG1pbkRhc2hib2FyZCAucGFuZWwtYm94IHtcbi8vXHRtYXJnaW46MTBweDtcbi8vfVxuLy8jQWRtaW5EYXNoYm9hcmQgLnBhbmVsLWJveCBsaXtcbi8vXHRtYXJnaW4tYm90dG9tOiA1cHg7XG4vL1x0Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzozcHggMTBweDtcbi8vXHRiYWNrZ3JvdW5kOiBub25lO1xuLy99XG4iLCIuYmNhLXRleHRib3gtY29sb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICZfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAkaW5wdXRfdGV4dF9mb250X3NpemU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U7XG4gICAgfVxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgfVxuICAgICZbZGF0YS1tYXJnaW49Ym90dG9tXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGZvY3VzX3NoYWRvdztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtdGV4dGJveCB7XG4gIGRpc3BsYXk6IGlubGluZTtcblxuICAmX19pbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAwLjVlbSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgbWFyZ2luOiA0cHg7XG5cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cblxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuXG4gICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB9XG5cbiAgICAmW2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wbGFjZWhvbGRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtdGV4dGFyZWEge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIC8vd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gICZfX3RleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAkaW5wdXRfdGV4dF9mb250X3NpemU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICB9XG4gICAgJltkYXRhLXdpZHRoPWZ1bGxdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yX3RleHRfcGxhY2Vob2xkZXI7XG5cdH1cbiAgfVxufVxuIiwiLmJjYS1maWxlIHtcblxuICAmX19kZWxldGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMWVtIC40ZW0gMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtaW5wdXQge1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgLW1vei1vcGFjaXR5OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCxcbiAgICAgICAgKyAuYmNhLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICsgbGFiZWwsXG4gICAgICAgICsgLmJjYS1maWxlX19kZWxldGUtbGFiZWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtaW5wdXQgKyBsYWJlbCxcbiAgICAmLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC4yZW07XG4gICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0JCQkJCQjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwZW07XG4gICAgICAgIC8vbGVmdDogMC40NWVtO1xuICAgICAgICBsZWZ0OiAwLjVlbTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDAuOWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4yNGVtIHNvbGlkICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgICB9XG4gICAgICAmW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9bGddIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgICAgJltkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vLmJjYS1maWxlIHtcbi8vICAmLWNoZWNrYm94LWl0ZW17XG4vLyAgICBAZXh0ZW5kIC5iY2EtY2hlY2tib3gtaXRlbTtcbi8vICB9XG4vLyAgJi1jaGVja2JveHtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveDtcbi8vICB9XG4vLyAgJi1jaGVja2JveC1sYWJlbCB7XG4vLyAgICBAZXh0ZW5kIC5iY2EtY2hlY2tib3gtbGFiZWw7XG4vLyAgfVxuLy99IiwiLypcbiBkYXRlcGlja2VyXG4gIHNwYW5cdFx0XHRiY2EtZGF0ZXBpY2tlclxuICBzcGFuKGRhdGUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX2RhdGVcbiAgdGV4dChkYXRlKVx0XHRcdGJjYS1kYXRlcGlja2VyX19kYXRlLWlucHV0XG4gIGxhYmVsKGRhdGUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX2RhdGUtbGFiZWxcbiAgc3Bhbih0aW1lKVx0XHRcdGJjYS1kYXRlcGlja2VyX190aW1lXG4gIHRleHQodGltZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fdGltZS1pbnB1dFxuICBsYWJlbCh0aW1lKVx0XHRcdGJjYS1kYXRlcGlja2VyX190aW1lLWxhYmVsXG5cbjxzcGFuIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyIHJlcXVpcmVkXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlXCI+XG4gICAgPGxhYmVsIGZvcj1cIkJsb2dQb3N0UG9zdHNEYXRlRGF0ZVwiIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsXCI+5pel5LuYPC9sYWJlbD5cbiAgICA8aW5wdXQgbmFtZT1cImRhdGFbQmxvZ1Bvc3RdW3Bvc3RzX2RhdGVfZGF0ZV1cIiBzaXplPVwiMTJcIiBtYXhsZW5ndGg9XCIxMFwiXG4gICAgICBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1pbnB1dCBoYXNEYXRlcGlja2VyXCIgdmFsdWU9XCIyMDE4LzEwLzE1XCIgdHlwZT1cInRleHRcIiBpZD1cIkJsb2dQb3N0UG9zdHNEYXRlRGF0ZVwiPlxuICAgIDxzY3JpcHQ+PC9zY3JpcHQ+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWVcIj5cbiAgICA8bGFiZWwgZm9yPVwiQmxvZ1Bvc3RQb3N0c0RhdGVUaW1lXCIgY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWxcIj7mmYLplpM8L2xhYmVsPlxuICAgIDxpbnB1dCBuYW1lPVwiZGF0YVtCbG9nUG9zdF1bcG9zdHNfZGF0ZV90aW1lXVwiIHNpemU9XCI4XCIgbWF4bGVuZ3RoPVwiOFwiIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWlucHV0IHVpLXRpbWVwaWNrZXItaW5wdXRcIiB2YWx1ZT1cIjE5OjE0OjEyXCIgdHlwZT1cInRleHRcIiBpZD1cIkJsb2dQb3N0UG9zdHNEYXRlVGltZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICA8L3NwYW4+XG4gIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImRhdGFbQmxvZ1Bvc3RdW3Bvc3RzX2RhdGVdXCIgdmFsdWU9XCIyMDE4LTEwLTE1IDE5OjE0OjEyXCIgaWQ9XCJCbG9nUG9zdFBvc3RzRGF0ZVwiPlxuPC9zcGFuPlxuXG4gKi9cbi5iY2EtZGF0ZXRpbWVwaWNrZXIge1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmX19kYXRlLFxuICAmX190aW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJi1sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIC8vY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAvL2N1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmJjYS1kYXRldGltZXBpY2tlciB7XG4gICAgICAgICZfX2RhdGUsXG4gICAgICAgICZfX3RpbWUge1xuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWlucHV0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIGNhbGMoMC41ZW0gKyAxNnB4KSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDAuNWVtO1xuICAgICAgbWFyZ2luOjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW07XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10ge1xuICAgICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICAgICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgICAgfVxuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aGFzKC5mb3JtLWVycm9yKSBpbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2RhbmdlcjtcbiAgfVxuICAmOmhhcyguZm9ybS1lcnJvcikgaW5wdXQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3dfZXJyb3I7XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICAmLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGRhdGV0aW1lcGlja2VyLWRhdGUpO1xuICAgIH1cbiAgfVxuICAmX190aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICYtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgYmNhLWljb24oZGF0ZXRpbWVwaWNrZXItdGltZSk7XG4gICAgfVxuICAgICYtaW5wdXQge1xuICAgICAgd2lkdGg6IDZlbTtcbiAgICB9XG4gIH1cblxuICAmX19kZWxpbWl0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG5cbiAgJl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICB9XG4gICZfX3N0YXJ0LFxuICAmX19lbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuIiwiLy8gbGlzdCBwYW5lbFxuXG4uYmNhLWxpc3QtcGFuZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDMwMHB4KTtcbiAgZ3JpZC1yb3ctZ2FwOiAyMHB4O1xuICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICYgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIH1cbiAgLnJvdy10b29scyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgLmJjYS1idG4taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gIC50aGVtZSB7XG4gICAgJi1uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICYtc2NyZWVuc2hvdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICAgICAgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgJi1zY3JlZW5zaG90IGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJi12ZXJzaW9uLFxuICAgICYtYXV0aG9yIHtcbiAgICAgIG1hcmdpbjoxMHB4IDAgNXB4O1xuICAgIH1cbiAgICAmLWF1dGhvciBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdG9wOiA0NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgd2lkdGg6IDIzMHB4O1xuICB9XG4gIC5uby1kYXRhIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuLmJjYS1saXN0LXBhbmVsOmhhcygubm8tZGF0YSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5iY2EtY3VycmVudC10aGVtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgJl9fbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICZfX21haW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgJl9fc3ViIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgJl9fc2NyZWVuc2hvdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnRoZW1lIHtcbiAgICAmLWluZm8ge1xuXG4gICAgfVxuICAgICYtbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICYtc2NyZWVuc2hvdCB7XG4gICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIC8vIGltZyB7XG4gICAgICAvLyBcdHdpZHRoOiAyOThweDtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICB9XG5cbiAgICAmLXBvcHVwLWNvbnRlbnRzIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7XG4gICAgICAudGhlbWUtc2NyZWVuc2hvdCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDI5OHB4O1xuICAgICAgICB9XG4gICAgICAgIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3ctdG9vbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIC5iY2EtYnRuLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0b3A6IDU2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICB3aWR0aDogMjg2cHg7XG4gIH1cblxufVxuXG4jQ3VycmVudFRoZW1lIHtcbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgfVxuICAudGhlbWUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgfVxuICAjVGhlbWVMb2FkRGVmYXVsdERhdGFQYXR0ZXJuRm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG59XG5cbi8qXG4jQ3VycmVudFRoZW1lIHtcblx0Ym9yZGVyOjVweCBzb2xpZCAjZTJlMmUyO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jQ3VycmVudFRoZW1lIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbiNDdXJyZW50VGhlbWUgLnJvdy10b29scyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDo1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyOjNweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nOjNweDtcbn1cbiNDdXJyZW50VGhlbWUgLnRoZW1lLWluZm8ge1xuXHRmbG9hdDpsZWZ0O1xuXHR3aWR0aDoyNDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1yaWdodDo1MHB4O1xuXHRoZWlnaHQ6OTBweDtcbn1cblxuI0N1cnJlbnRUaGVtZSAuY3VycmVudC10aGVtZS1sZWZ0IHtcblx0d2lkdGg6MzAwcHg7XG5cdG1hcmdpbi1yaWdodDoyMHB4O1xuXHRmbG9hdDpsZWZ0O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRsaW5lLWhlaWdodDogMS42ZW07XG5cdGNsZWFyOnJpZ2h0O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcblx0cGFkZGluZzoyMHB4IDIwcHggMzBweCAyMHB4O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRmbG9hdDpsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6MjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRtYXJnaW4tdG9wOjEwcHg7XG59XG4jQ3VycmVudFRoZW1lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmN1cnJlbnQtdGhlbWUtbGVmdCAuZXJyb3ItbWVzc2FnZSB7XG5cdG1hcmdpbjowO1xuXHR3aGl0ZS1zcGFjZTpub3JtYWw7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMTZweDtcblx0dG9wOjU2cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzo3cHg7XG5cdHdpZHRoOjI4NnB4O1xufVxuKi9cbiIsIi5iY2Etc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICZfX3Bvc3QtZGV0YWlsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gIC8vICZfX3N1Ym1pdCB7XG4gIC8vICAgZGlzcGxheTogZmxleDtcbiAgLy8gICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyAgICZfX21haW4ge1xuXG4gIC8vICAgICAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1cInNhdmVcIl0ge1xuICAvLyAgICAgICB3aWR0aDogMjAwcHg7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgICZfX3N1YiB7XG4gIC8vICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgLy8gICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgLy8gICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcblxuICAvLyAgIH1cblxuICAvLyAgIFtkYXRhLWJjYS1idG4tdHlwZV0ge1xuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAvLyAgIH1cbiAgLy8gICBbZGF0YS1iY2EtYnRuLXR5cGU9XCJkZWxldGVcIl0ge1xuICAvLyAgICAgLy9tYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIOODluODreOCsOaWsOedgOiomOS6i+OBruS4iumDqFxuICAmX19wb3N0LXRvcCB7XG4gICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbG9hdDpyaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbiAgICAuYmNhLXBvc3RfX25vIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgIC5iY2EtcG9zdF9fdXJsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuYmNhLXRleHQtdXJsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1zZWN0aW9uLXR5cGU9Zm9ybS1ncm91cF0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbiIsIlxuLmJjYS10ZXh0LWNvdW50ZXItdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjJlbTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogI0NDQztcbiAgfVxufVxuIiwiLyogYWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgJl9fbWFpbiB7XG5cbiAgfVxuICAmX19zdWIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIH1cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbiAgJl9fYmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICB9XG4gICZbZGF0YS1iY2EtdHlwZT10eXBlMl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5iY2EtYWN0aW9ucyB7XG4gICAgICAmX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgICZfX2FkZHMge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICZbZGF0YS1iY2EtbGlzdC1sYXlvdXQ9aG9yaXpvbl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtZGVmYXVsdCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICAgIC8vIG1hcmdpbi1yaWdodDogMC40ZW07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC5iY2EtbGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBiY2EtaWNvbihsaXN0LWNpcmNsZSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC40ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1saXN0LWRlbGltaXRlcj1jb21tYV0ge1xuICAgIC5iY2EtbGlzdF9faXRlbSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5iY2EtbGlzdC1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufSIsIi5iY2EtZmlsZS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICBwYWRkaW5nOiAxMHB4O1xuICAmX19pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmX19uby1kYXRhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi8vIHRib3jns7tcblxuLmJjYS1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9wcmltYXJ5O1xuXG4gICZbZGF0YS1iY2EtYm94LXR5cGU9dHlwZTFdIHtcbiAgfVxufVxuIiwiLy8g44Ki44Kv44K744K344OT44Oq44OG44KjIOOCueOCr+ODquODvOODs+ODquODvOODgOODvOWvvuetllxuLy8g5oqY44KK44Gf44Gf44G/XG4uYmNhLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBtYXJnaW46IC0xcHg7XG59IiwiLy8g5oqY44KK44Gf44Gf44G/XG4uYmNhLWNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy9tYXgtaGVpZ2h0OiAwO1xuICAvL3RyYW5zaXRpb246IDAuNHMgYWxsO1xuICAmX19idG4taWNvbiB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9sYXJnZTtcbiAgfVxuICAvLyDpnZ7ooajnpLpcbiAgLmJjYS1jb2xsYXBzZV9faW5uZXIge1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL2xpbmUtaGVpZ2h0OiAwO1xuICAgIC8vb3BhY2l0eTogMDtcbiAgICAvL3Zpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL3RyYW5zaXRpb246IDAuNHMgYWxsO1xuICAgIC8vbWFyZ2luLXRvcDogLTEwMCU7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG5cbiAgLy8g6KGo56S6XG4gICZbZGF0YS1iY2Etc3RhdGU9b3Blbl0ge1xuICAgIC8vbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAuYmNhLWNvbGxhcHNlX19pbm5lciB7XG4gICAgICAvL2xpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAvL29wYWNpdHk6IDE7XG4gICAgICAvL3Zpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAvL292ZXJmbG93OiBpbmhlcml0O1xuICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgLy9tYXJnaW4tdG9wOiAwJTtcbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8g5bCC55So44Oc44K/44OzXG4gICZfX2J0biB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfeF9sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIOWxlemWi+aZguOBq+S4iuS4i+Wbnui7olxuICAgIFtkYXRhLWJjYS1zdGF0ZT1vcGVuXSAmLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cbn0iLCIuYmNhLWVtLWJveCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9tZWRpdW07XG4gIG1hcmdpbjogMTVweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBhIHtcbiAgICBjb2xvcjogIzY5MDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOUMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufSIsIi5iY2EtY3VycmVudC1ib3gge1xuICAvLyBib3JkZXI6NXB4IHNvbGlkICNEREQ7XG4gIHBhZGRpbmc6IDFweCAwO1xuICAvLyBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAvLyBjb2xvcjogIzUzNUE2MjtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvcl9kYW5nZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIudWktZGlhbG9nIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIGRkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4udWktd2lkZ2V0IHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl17XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW0haW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gIH1cbn1cblxuLnVpLXRhYnMge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktdGFicy1uYXYge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS10YWJzLXBhbmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQyAhaW1wb3J0YW50O1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlciAhaW1wb3J0YW50O1xuICBkaXY6Zmlyc3QtY2hpbGQgZGl2IHtcbiAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAvLyBwYWRkaW5nOiAzcHggMTBweDtcbiAgfVxufVxuXG4udWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICB3aWR0aDogMjZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTEzcHggIWltcG9ydGFudDtcbn1cblxuLnVpLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX21lZGl1bSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dCAwcyAhaW1wb3J0YW50O1xuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSkgIWltcG9ydGFudDtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVpLXN0YXRlLWRlZmF1bHQge1xuICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIC8vcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIC8vZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIC8vcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbSAhaW1wb3J0YW50O1xuICAvL2xpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAvL2ZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtICFpbXBvcnRhbnQ7XG4gIC8vIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKSAhaW1wb3J0YW50O1xuICAvLyB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0IDBzICFpbXBvcnRhbnQ7XG4gIC8vICY6aG92ZXIge1xuICAvLyBcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBcdGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gIC8vIFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudSAhaW1wb3J0YW50O1xuICAvLyBcdGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHJnYigyNTUsMjU1LDI1NSkgMTAwJSxyZ2IoMjU1LDI1NSwyNTUpIDEwMCUpICFpbXBvcnRhbnQ7XG4gIC8vIH1cbiAgLy8gJjpmb2N1c3tcbiAgLy8gXHRib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93ICFpbXBvcnRhbnQ7XG4gIC8vIH1cbn1cblxuLnVpLXRhYnMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWktYnV0dG9uLXRleHQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS1pY29uLWNsb3NldGhpY2sge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4vKiB1aS1kaWFsb2dcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS1kaWFsb2cgbGFiZWwuZXJyb3IsIC5lcnJvci1tZXNzYWdlIHtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICBjb2xvcjogJGNvbG9yX2RhbmdlcjtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBwYWRkaW5nOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBiY2EtaWNvbihlcnJvcikge1xuICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgfVxufVxuXG4udWktZGlhbG9nIC51aS1idXR0b24tdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWktZGlhbG9nIC5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udWktZGlhbG9nIGxhYmVsLmVycm9yIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLnVpLXdpZGdldC1oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWktZGlhbG9nIGRsIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi51aS1kaWFsb2cgZHQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIGRkIHtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnVpLWRpYWxvZyBkZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIGR0IGxhYmVsIHtcbiAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udWktZGlhbG9nIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi51aS1kaWFsb2cge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuICBwYWRkaW5nOiAxcHggMTBweDtcbn1cblxuLnVpLWRpYWxvZyAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAxcHggMXB4IDA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW8tYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiAjRjNGM0YzO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNGRkYsICNGM0YzRjMpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNGRkYpLCBjb2xvci1zdG9wKDEwMCUsICNGM0YzRjMpKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI0ZGRiwgI0YzRjNGMyk7XG59XG5cbi51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbCFpbXBvcnRhbnQ7XG4gICAgY29sb3I6JGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxufVxuLnVpLXRhYnMtcGFuZWwge1xuICAgIGEge1xuICAgICAgY29sb3I6JGNvbG9yX3RleHRfbGluayFpbXBvcnRhbnQ7O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDs7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6JGNvbG9yX3RleHRfaG92ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyIWltcG9ydGFudDtcbiAgLy9iYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O1xufVxuLnVpLXdpZGdldC1oZWFkZXIsXG4uY2tlX2RpYWxvZ190aXRsZSB7XG4gICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3IhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5IWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICBmb250LXNpemU6JGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbCFpbXBvcnRhbnQ7XG59XG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gIGNvbG9yOiRjb2xvcl90ZXh0X3ByaW1hcnkhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsMC4yKSFpbXBvcnRhbnQ7XG59XG4udWktZGF0ZXBpY2tlci10b2RheSAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2RkZCAhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzljY2M2NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIHRoIHtcbiAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwIWltcG9ydGFudDtcbn1cbi51aS1kaWFsb2cgdGQge1xuICBwYWRkaW5nOiAxZW0gMCFpbXBvcnRhbnQ7XG59XG5cbiNVcGxvYWRlclNlYXJjaCB7XG4gIGJvcmRlcjoxcHggc29saWQgJGNvbG9yX2JvcmRlciFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkYhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4uY2tlX2RpYWxvZyB7XG4gIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0IHtcbiAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICAmICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLy9tYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICB9XG4gICAgJltkYXRhLWJjYS1yYWRpby1zaXplPWxnXSB7IC8v5aSn44GN44GE44K144Kk44K6XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICB9XG4gICAgfVxuICAgICYgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC8vYmFja2dyb3VuZDogI0VFRUVFRTtcbiAgICB9XG4gICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDBweCA0cHggI2ZmZiBpbnNldDtcbiAgICB9XG4gICAgJjpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMHB4IDRweCAjZmZmIGluc2V0LCAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgfVxuICBzZWxlY3QuYmNhLXNlbGVjdF9fc2VsZWN0ICxcbiAgc2VsZWN0LmNrZV9kaWFsb2dfdWlfaW5wdXRfc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vaWNuX3NlbGVjdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMC41ZW0vMTBweCBhdXRvLCAjRkZGRkZGIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX21lZGl1bTtcbiAgICBwYWRkaW5nOjAgMjZweCAwIDRweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQhaW1wb3J0YW50O1xuICAgIGhlaWdodDphdXRvIWltcG9ydGFudDtcbiAgICB3aWR0aDphdXRvIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjokY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAmW2RhdGEtYmNhLXNlbGVjdC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLXNlbGVjdC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG4gIGlucHV0LmJjYS10ZXh0Ym94X19pbnB1dCxcbiAgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0LFxuICBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkLFxuICB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhIHtcbiAgICBsaW5lLWhlaWdodDogMS40IWltcG9ydGFudDtcbiAgICBoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzowIDRweCFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIH1cbiAgICAmW2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cbiAgLmNrZV9kaWFsb2dfYm9keSBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbToycHghaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6MnB4IWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIC5iY2EtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6ICRidXR0b25fcGFkZGluZ190b3AgMWVtICRidXR0b25fcGFkZGluZ19ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0IDBzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnk7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSk7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGZvY3VzX3NoYWRvdztcbiAgICB9XG4gIH1cbiAgLmNrZV9kaWFsb2dfY29udGVudHMgLmZpbGUtbGlzdCB7XG4gICAgcGFkZGluZzowO1xuICAgICNEaXZQYW5lbExpc3QgLmZpbGUtbGlzdC1ib2R5IHtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgIH1cbiAgfVxuICBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjZiNmI2O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KSwgMCAwIDJweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgaW5zZXQsIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIGluc2V0O1xuICAgIGJhY2tncm91bmQ6ICNlNGU0ZTQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNlNGU0ZTQpO1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG4gIGEuY2tlX2RpYWxvZ191aV9idXR0b25fb2sgc3BhbntcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuICBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM5ZTllOWU7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmMmYyZjIsI2NjYyk7XG4gIH1cbiAgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vazpmb2N1cywgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vazphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzk2OTY5NjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLDAsMCwuNCkgaW5zZXQ7XG4gIH1cbiAgLmNrZV9kaWFsb2dfY29udGVudHMgLmZpbGUtbGlzdC1ib2R5IHtcbiAgICBtYXJnaW4tdG9wOjE0cHg7XG4gIH1cbiAgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgsXG4gIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzo3cHggN3B4IWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgfVxuICAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0LWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgcGFkZGluZzowO1xuICB9XG4gIHRyOmhvdmVyIHtcbiAgICAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIuanN0cmVlLXByb3RvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG5cbiAgLmpzdHJlZS1jb250YWluZXItdWwge1xuICAgIC5qc3RyZWUtbm9kZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG5cbiAgICAgIC5qc3RyZWUtY2hpbGRyZW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtbmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5qc3RyZWUtYW5jaG9yIHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCouOCr+OCt+ODp+ODs1xuICAgICAgLmZ1bmN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAvL2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2Z1bmN0aW9uLnBuZ1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oZWxsaXBzaXMtaCk7XG4gICAgICB9XG4gICAgICAvLyDjg5vjg5Djg7zmmYJcbiAgICAgIC5qc3RyZWUtd2hvbGVyb3ctaG92ZXJlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfZGFyayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmpzdHJlZS1ob3ZlcmVkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9kYXJrZXN0IWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLy8g44Kv44Oq44OD44Kv5pmCXG4gICAgICAuanN0cmVlLXdob2xlcm93LWNsaWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmpzdHJlZS1jbGlja2VkIHtcbiAgICAgICAgJiArIC5jb250ZW50LW5hbWUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3QhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5qc3RyZWUtaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIOOCr+ODquODg+OCr+ODrOOCs+ODvOODieOBruODm+ODkOODvOaZglxuICAgICAgLmpzdHJlZS1ob3ZlcmVkLmpzdHJlZS1jbGlja2VkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdCFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCqOOCpOODquOCouOCueODrOOCs+ODvOODiVxuICAgICAgLmFsaWFzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FsaWFzX2xheWVyZC5wbmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgICAgLy8g6Z2e5YWs6ZaL44Os44Kz44O844OJXG4gICAgICAuanN0cmVlLXVucHVibGlzaC1vZGQsXG4gICAgICAuanN0cmVlLXVucHVibGlzaC1ldmVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2Rpc2FibGVkO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8g44Ki44Kk44Kz44OzXG4gICAgLmpzdHJlZS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJWJjYS1pY29uO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICYuYmNhLWljb24tLWZvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjZWRjNTI4O1xuICAgICAgfVxuICAgIH1cbiAgICAuanN0cmVlLW9wZW4ge1xuICAgICAgJiA+IC5qc3RyZWUtYW5jaG9yIHtcbiAgICAgICAgLmJjYS1pY29uLS1mb2xkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGZvbGRlci1vcGVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIOOCouOCr+OCt+ODp+ODs+OCpuOCo+ODs+ODieOCplxuICAmLWNvbnRleHRtZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRlc3QgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBsaSB7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g44Ki44Kk44Kz44OzXG4gICAgICAgIGkge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAlYmNhLWljb247XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJjYS1pY29uLS1mb2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNlZGM1Mjg7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYmNhLWljb24tLWFsaWFzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmZhODNkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJjYS1pY29uLS1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmZhODNkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8g44Ki44Kv44K344On44OzID4g44Ko44Kk44Oq44Ki44K544Oh44OL44Ol44O8XG4gICAgLmljb24tYWxpYXMtbGF5ZXJkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gICAgfVxuICAgIC8vIOOCouOCr+OCt+ODp+ODsyAuIOODl+ODqeOCsOOCpOODs+i/veWKoFxuICAgIC5pY29uLWFkZC1sYXllcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FkZF9sYXllcmQucG5nXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6LTIycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi51aS1kaWFsb2cgLnVwbG9hZGVyLWZpbGUtaW1hZ2UgLnVybCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB3aWR0aDphdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OjIwcHg7XG59XG4udWktZGlhbG9nIC51cGxvYWRlci1maWxlLWltYWdlIC51cmwgYXtcbiAgY29sb3I6JGNvbG9yX3RleHRfbGluayAhaW1wb3J0YW50O1xufVxuLnVpLWRpYWxvZyAjVXBsb2FkZXJGaWxlSW1hZ2Uge1xuICB3aWR0aDo1MDBweDtcbn1cbiIsIi5iY2EtbWFpbiB7XG4gICZfX3N1Ym1lbnUge1xuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgICYtbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTokYnV0dG9uX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnN0ZXAtMSB7XG4gIC5iY2Etc2VjdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uc3RlcDIge1xuICAuY2hlY2sge1xuICAgIC5jaGVjay1yZXN1bHQge1xuICAgICAgY29sb3I6I2RkZDtcbiAgICB9XG4gIH1cbiAgLmZhaWxlZCB7XG4gICAgLmNoZWNrLXJlc3VsdCB7XG4gICAgICBjb2xvcjokY29sb3JfZGFuZ2VyO1xuICAgIH1cbiAgfVxuICAuY2hlY2stcmVzdWx0IHtcbiAgICBtYXJnaW46MjBweCAwO1xuICAgIGZvbnQtc2l6ZToycmVtO1xuICB9XG59XG4uc3RlcC0zLFxuLnN0ZXAtNCB7XG4gIGRpdi5mbG9hdC1sZWZ0IHtcbiAgICB3aWR0aDphdXRvO1xuICB9XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46MjBweCAwO1xuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmNhLWNoZWNrYm94X19sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG59XG4uc3RlcC01IHtcbiAgbGkge1xuICAgIG1hcmdpbjoyMHB4IDA7XG4gIH1cbn1cbiIsIi50aGVtZS1wb3B1cC1jb250ZW50cyB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAudGhlbWUtbmFtZSxcbiAgLnRoZW1lLXZlcnNpb24sXG4gIC50aGVtZS1hdXRob3IsXG4gIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzo1cHggMjBweDtcbiAgfVxuICAudGhlbWUtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLnRoZW1lLXNjcmVlbnNob3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmJjYS1jdXJyZW50LXRoZW1lX19zY3JlZW5zaG90LFxuICAudGhlbWUtc2NyZWVuc2hvdCB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG5cbn1cbiIsIi8qIFdpZGdldFNldHRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNXaWRnZXRTZXR0aW5nICNXaWRnZXRzVHlwZSBoMyB7XG5cdHBhZGRpbmctbGVmdDogMzBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2VlZWVlYSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuI1dpZGdldFNldHRpbmcgI1dpZGdldHNUeXBlIC5XaWRnZXRzVHlwZVNlY3Rpb24ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBtYXJnaW46IDEwcHggYXV0byA1cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0RERDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbiAgcGFkZGluZzogMDtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5oZWFkIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBtYXJnaW46IDEwcHggYXV0byA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNTM1QTYyO1xuICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX3ByaW1hcnk7XG5cbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5oZWFkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZjRmNGY0LCAjZGZkZmRmIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmNGY0ZjQpLCBjb2xvci1zdG9wKDEwMCUsICNkZmRmZGYpKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y0ZjRmNCwgI2RmZGZkZiAxMDAlKTtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5oZWFkOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2NkY2RjZCwgI2VlZSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjY2RjZGNkKSwgY29sb3Itc3RvcCgxMDAlLCAjZWVlKSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNjZGNkY2QsICNlZWUgMTAwJSk7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS1kcmFnZ2FibGUtZHJhZ2dpbmcge1xuICAvKndpZHRoOjEwMCU7Ki9cbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5oZWFkIHtcbiAgcGFkZGluZzogOHB4IDE1cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC5zZXR0aW5nIC5oZWFkIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC5zZXR0aW5nIC5kZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5hY3Rpb24ge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5jb250ZW50IHtcbiAgcGFkZGluZzogM3B4IDEwcHggMTBweCAxMHB4O1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLXdpZGdldC1jb250ZW50IC5jb250ZW50IHAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZSAudWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICNkZGQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNkZGQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2UgLmRlc2NyaXB0aW9uIHtcbiAgLyptYXJnaW46MCAxMnB4IDIwcHg7Ki9cbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkY29sb3JfYm9yZGVyO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkY29sb3JfYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yX2JvcmRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlT3V0ZXIsXG4jV2lkZ2V0U2V0dGluZyAjVGFyZ2V0T3V0ZXIge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgLyotd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7Ki9cbiAgLyotbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7Ki9cbiAgLypib3JkZXItcmFkaXVzOiAxMHB4OyovXG59XG5cbiNXaWRnZXRTZXR0aW5nICNUYXJnZXQge1xuICBtaW4taGVpZ2h0OiAyMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjVGFyZ2V0IC5lbmFibGVkIC5oZWFkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC50b3BEcm9wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuI1dpZGdldFNldHRpbmcgLnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI1dpZGdldFNldHRpbmcgLnBsYWNlaG9sZGVyIHtcbiAgaGVpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjV2lkZ2V0QXJlYVVwZGF0ZVRpdGxlRm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuI1dpZGdldFNldHRpbmcgI1RhcmdldCAuc2V0dGluZyB0ZXh0YXJlYSB7XG4gIHdpZHRoOiA5OCU7XG4gIGhlaWdodDogMzEwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2UgaDMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9tZWRpdW07XG4gIHBhZGRpbmctYm90dG9tOjEwcHg7XG59XG5cbiNMaXN0QWpheExvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuI1dpZGdldFNldHRpbmcgaDIge1xuICBmb250LXNpemU6JGxhYmVsX2ZvbnRfc2l6ZV9sYXJnZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiIsIi5jdXN0b20tZmllbGQtc2V0dGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJl9fcGFuZWwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWluLWhlaWdodDogMjEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBtaW4td2lkdGg6IDM2MHB4O1xuICB9XG5cbiAgLnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmN1c3RvbS1maWVsZC1jb250ZW50IHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDEwcHggYXV0byAxMHB4O1xuXG4gICAgJl9faGVhZCB7XG4gICAgICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmNGY0ZjQpLCBjb2xvci1zdG9wKDEwMCUsICNkZmRmZGYpKTtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAmLWRlbGV0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xuICAgICAgfVxuXG4gICAgICAmLXNldHRpbmcge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgfVxuXG4gIC5jdXN0b20tZmllbGQtZ3JvdXAge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDEwcHg7XG5cbiAgICAuY3VzdG9tLWZpZWxkLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkYwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5cbiNDdXN0b21GaWVsZFNldHRpbmdUYXJnZXQge1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jQ3VzdG9tRmllbGRQcmV2aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQ0M7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBib3gtc2hhZG93OiAwIC01cHggM3B4IC0zcHggIzk5OTtcblxuICAucHJldmlldy1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxufVxuXG4uY3VzdG9tLWZpZWxkLXByZXZpZXctaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgLmJjYS10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICB9XG59XG5cbiNDdXN0b21MaW5rUHJldmlldyB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQ0M7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA1NnB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBib3gtc2hhZG93OiAwIC01cHggM3B4IC0zcHggIzk5OTtcblxuICAucHJldmlldy1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxufVxuXG4uY3VzdG9tLWxpbmstcHJldmlldy1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgc3BhbiB7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgfVxuXG59XG5cbi5iY2EtY2MtbG9vcCB0YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuXG4uYmNhLWNjLWxvb3AtYWRkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iY2EtY2MtbG9vcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJjYS1jYy1sb29wLWJsb2NrID4gYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5idC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4uYnQtY29udGVudCB1bCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5idC1jb250ZW50IHVsIGxpIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnQtY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmJ0LWNvbnRlbnQgbGkgLmV4YW1wbGUtYm94IHtcbiAgYm9yZGVyOiAzcHggc29saWQgI0RERDtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbiIsIi8qKlxuICogYmFzZXJDTVMgOiAgQmFzZWQgV2Vic2l0ZSBEZXZlbG9wbWVudCBQcm9qZWN0IDxodHRwczovL2Jhc2VyY21zLm5ldD5cbiAqIENvcHlyaWdodCAoYykgYmFzZXJDTVMgVXNlciBDb21tdW5pdHkgPGh0dHBzOi8vYmFzZXJjbXMubmV0L2NvbW11bml0eS8+XG4gKlxuICogQGNvcHlyaWdodCAgICAgQ29weXJpZ2h0IChjKSBiYXNlckNNUyBVc2VyIENvbW11bml0eVxuICogQGxpbmsgICAgICAgICAgaHR0cHM6Ly9iYXNlcmNtcy5uZXQgYmFzZXJDTVMgUHJvamVjdFxuICogQHNpbmNlICAgICAgICAgNS4wLjBcbiAqIEBsaWNlbnNlICAgICAgIGh0dHA6Ly9iYXNlcmNtcy5uZXQvbGljZW5zZS9pbmRleC5odG1sIE1JVCBMaWNlbnNlXG4gKi9cblxuXG4ubW9kYWwubW9kYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtd2luZG93IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXgtaGVpZ2h0OiA5NXZoO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZGwge1xuICAgIGR0IHtcbiAgICAgIG1hcmdpbjoxMHB4IDAgNXB4IDA7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbjo1cHggMCA1cHggMDtcbiAgICB9XG4gIH1cbiAgLmludmFsaWQtZmVlZGJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMjAwMTQ7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICBwYWRkaW5nOiAwLjFlbSAwLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb2RhbC1lbnRlci1hY3RpdmUsIC5tb2RhbC1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG5cbiAgLm1vZGFsLXdpbmRvdyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzLCB0cmFuc2Zvcm0gMC40cztcbiAgfVxufVxuXG4ubW9kYWwtbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UgMC40cztcbn1cblxuLm1vZGFsLWVudGVyLCAubW9kYWwtbGVhdmUtdG8ge1xuICBvcGFjaXR5OiAwO1xuXG4gIC5tb2RhbC13aW5kb3cge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxufVxuXG5cbiJdfQ== */ \ No newline at end of file +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9hZG1pbi9zdHlsZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS1jb2xvcmJveC9leGFtcGxlMy9jb2xvcmJveC5jc3MiLCJjc3MvdmVuZG9yL0ZvbnQtQXdlc29tZS9mb250YXdlc29tZS5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX2NvcmUuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19sYXJnZXIuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19maXhlZC13aWR0aC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX2xpc3Quc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19hbmltYXRlZC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX21peGlucy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3N0YWNrZWQuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL19pY29ucy5zY3NzIiwiY3NzL3ZlbmRvci9Gb250LUF3ZXNvbWUvX3NjcmVlbi1yZWFkZXIuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL3NvbGlkLnNjc3MiLCJjc3MvdmVuZG9yL0ZvbnQtQXdlc29tZS9icmFuZHMuc2NzcyIsImNzcy92ZW5kb3IvRm9udC1Bd2Vzb21lL3JlZ3VsYXIuc2NzcyIsImNzcy90aGVtZS92YXIvX2ljb25zLnNjc3MiLCJjc3MvdGhlbWUvX3V0aWxpdHkuc2NzcyIsImNzcy9iYXNlL19nZW5lcmFsLnNjc3MiLCJjc3MvdGhlbWUvdmFyL19jb2xvcnMuc2NzcyIsImNzcy90aGVtZS92YXIvX2RpbWVuc2lvbnMuc2NzcyIsImNzcy9iYXNlL19taXhpbi5zY3NzIiwiY3NzL3RoZW1lL191bmtub3duLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYXBwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY29udGFpbmVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbWFpbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjc3MvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdG9vbGJhci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX25hdi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX25hdi1mYXZvcml0ZS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2J0bi1pY29uLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYnRuLWljb24tdGV4dC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2Jhbm5lcnMuc2NzcyIsImNzcy9jb21wb25lbnRzL19hY3Rpb24tdGFibGUtbGlzdHVwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsImNzcy9jb21wb25lbnRzL190YWJsZS1saXN0dXAuc2NzcyIsImNzcy9jb21wb25lbnRzL19jcnVtYi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtbWVudS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtaW5mby5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ZlZWQuc2NzcyIsImNzcy9jb21wb25lbnRzL191cGRhdGUtbG9nLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3RvdG9wLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbG9naW4uc2NzcyIsImNzcy9jb21wb25lbnRzL19saXN0LW51bS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2Zvcm0tdGFibGUuc2NzcyIsImNzcy9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsImNzcy9jb21wb25lbnRzL19oZWxwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY2FrZS1zcWwtbG9nLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcmFkaW8uc2NzcyIsImNzcy9jb21wb25lbnRzL19jaGVja2JveC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3NlbGVjdC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2RhdGEtbGlzdC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fcGFuZWwuc2NzcyIsImNzcy9jb21wb25lbnRzL19pbnB1dC1jb2xvci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3RleHRib3guc2NzcyIsImNzcy9jb21wb25lbnRzL190ZXh0YXJlYS5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2ZpbGUuc2NzcyIsImNzcy9jb21wb25lbnRzL19kYXRldGltZXBpY2tlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2xpc3QtcGFuZWwuc2NzcyIsImNzcy9jb21wb25lbnRzL19jdXJyZW50LXRoZW1lLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fc2VjdGlvbi5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3NpemUtY291bnRlci5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2FjdGlvbnMuc2NzcyIsImNzcy9jb21wb25lbnRzL19saXN0LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fbGlzdC1oZWFkLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fZmlsZS1saXN0LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYm94LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fY29sbGFwcy5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2VtLWJveC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX2N1cnJlbnQtYm94LnNjc3MiLCJjc3MvY29tcG9uZW50cy9fanF1ZXJ5LXVpLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fanN0cmVlLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fdXBsb2FkZXIuc2NzcyIsImNzcy9jb21wb25lbnRzL19zdWJtZW51LnNjc3MiLCJjc3MvY29tcG9uZW50cy9faW5zdGFsbC5zY3NzIiwiY3NzL2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fd2lkZ2V0LWFyZWEuc2NzcyIsImNzcy9jb21wb25lbnRzL19jdXN0b20tZmllbGQuc2NzcyIsImNzcy9jb21wb25lbnRzL19qcXVlcnkuYnQuanMuc2NzcyIsImNzcy9jb21wb25lbnRzL19tb2RhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQiwyRUFBMkU7QUFFM0U7K0VBQytFO0FBRS9FOzs7RUFHRTtBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDO0FBRUE7K0VBQytFO0FBRS9FOztFQUVFO0FBRUY7RUFDRSxTQUFTO0FBQ1g7QUFFQTs7RUFFRTtBQUVGO0VBQ0UsY0FBYztBQUNoQjtBQUVBOzs7RUFHRTtBQUVGO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjtBQUVBOytFQUMrRTtBQUUvRTs7O0VBR0U7QUFFRjtFQUNFLHVCQUF1QixFQUFFLE1BQU07RUFDL0IsU0FBUyxFQUFFLE1BQU07RUFDakIsaUJBQWlCLEVBQUUsTUFBTTtBQUMzQjtBQUVBOzs7RUFHRTtBQUVGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4QjtBQUVBOytFQUMrRTtBQUUvRTs7RUFFRTtBQUVGO0VBQ0UsNkJBQTZCO0FBQy9CO0FBRUE7OztFQUdFO0FBRUY7RUFDRSxtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLDBCQUEwQixFQUFFLE1BQU07RUFDbEMsaUNBQWlD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UnhDO0FjMVJBO0VBQW1DLGdCQUFBO0FkOFJuQztBYzdSQTtFQUFzQyxnQkFBQTtBZGlTdEM7QWNoU0E7RUFBbUMsZ0JBQUE7QWRvU25DO0FjblNBO0VBQXVDLGdCQUFBO0FkdVN2QztBY3RTQTtFQUFzQyxnQkFBQTtBZDBTdEM7QWN6U0E7RUFBZ0UsZ0JBQUE7QWQ2U2hFO0FjNVNBO0VBQW1DLGdCQUFBO0FkZ1RuQztBYy9TQTtFQUFtQyxnQkFBQTtBZG1UbkM7QWNsVEE7RUFBb0MsZ0JBQUE7QWRzVHBDO0FjclRBO0VBQXNDLGdCQUFBO0FkeVR0QztBY3hUQTtFQUE4QyxnQkFBQTtBZDRUOUM7QWMzVEE7RUFBOEMsZ0JBQUE7QWQrVDlDO0FjOVRBO0VBQStDLGdCQUFBO0Fka1UvQztBY2pVQTtFQUE0QyxnQkFBQTtBZHFVNUM7QWNwVUE7RUFBdUMsZ0JBQUE7QWR3VXZDO0FjdlVBO0VBQXVDLGdCQUFBO0FkMlV2QztBYzFVQTtFQUF3QyxnQkFBQTtBZDhVeEM7QWM3VUE7RUFBcUMsZ0JBQUE7QWRpVnJDO0FjaFZBO0VBQWtDLGdCQUFBO0Fkb1ZsQztBY25WQTtFQUEwQyxnQkFBQTtBZHVWMUM7QWN0VkE7RUFBb0MsZ0JBQUE7QWQwVnBDO0FjelZBO0VBQWlDLGdCQUFBO0FkNlZqQztBYzVWQTtFQUFzQyxnQkFBQTtBZGdXdEM7QWMvVkE7RUFBMEMsZ0JBQUE7QWRtVzFDO0FjbFdBO0VBQWtDLGdCQUFBO0Fkc1dsQztBY3JXQTtFQUFrQyxnQkFBQTtBZHlXbEM7QWN4V0E7RUFBc0MsZ0JBQUE7QWQ0V3RDO0FjM1dBO0VBQXNDLGdCQUFBO0FkK1d0QztBYzlXQTtFQUFvQyxnQkFBQTtBZGtYcEM7QWNqWEE7RUFBb0MsZ0JBQUE7QWRxWHBDO0FjcFhBO0VBQWtELGdCQUFBO0Fkd1hsRDtBY3ZYQTtFQUFrRCxnQkFBQTtBZDJYbEQ7QWMxWEE7RUFBbUQsZ0JBQUE7QWQ4WG5EO0FjN1hBO0VBQWdELGdCQUFBO0FkaVloRDtBY2hZQTtFQUE4QyxnQkFBQTtBZG9ZOUM7QWNuWUE7RUFBOEMsZ0JBQUE7QWR1WTlDO0FjdFlBO0VBQStDLGdCQUFBO0FkMFkvQztBY3pZQTtFQUE0QyxnQkFBQTtBZDZZNUM7QWM1WUE7RUFBdUMsZ0JBQUE7QWRnWnZDO0FjL1lBO0VBQXVDLGdCQUFBO0FkbVp2QztBY2xaQTtFQUF3QyxnQkFBQTtBZHNaeEM7QWNyWkE7RUFBcUMsZ0JBQUE7QWR5WnJDO0FjeFpBO0VBQXVDLGdCQUFBO0FkNFp2QztBYzNaQTtFQUF5QyxnQkFBQTtBZCtaekM7QWM5WkE7RUFBeUMsZ0JBQUE7QWRrYXpDO0FjamFBO0VBQXVDLGdCQUFBO0FkcWF2QztBY3BhQTtFQUF3RCxnQkFBQTtBZHdheEQ7QWN2YUE7RUFBcUMsZ0JBQUE7QWQyYXJDO0FjMWFBO0VBQXVDLGdCQUFBO0FkOGF2QztBYzdhQTtFQUErQixnQkFBQTtBZGliL0I7QWNoYkE7RUFBa0MsZ0JBQUE7QWRvYmxDO0FjbmJBO0VBQXNDLGdCQUFBO0FkdWJ0QztBY3RiQTtFQUFpQyxnQkFBQTtBZDBiakM7QWN6YkE7RUFBb0MsZ0JBQUE7QWQ2YnBDO0FjNWJBO0VBQThDLGdCQUFBO0FkZ2M5QztBYy9iQTtFQUF5QyxnQkFBQTtBZG1jekM7QWNsY0E7RUFBb0MsZ0JBQUE7QWRzY3BDO0FjcmNBO0VBQW1DLGdCQUFBO0FkeWNuQztBY3hjQTtFQUFrQyxnQkFBQTtBZDRjbEM7QWMzY0E7RUFBZ0MsZ0JBQUE7QWQrY2hDO0FjOWNBO0VBQWlDLGdCQUFBO0Fka2RqQztBY2pkQTtFQUEwQyxnQkFBQTtBZHFkMUM7QWNwZEE7RUFBc0MsZ0JBQUE7QWR3ZHRDO0FjdmRBO0VBQXFDLGdCQUFBO0FkMmRyQztBYzFkQTtFQUFrQyxnQkFBQTtBZDhkbEM7QWM3ZEE7RUFBMEMsZ0JBQUE7QWRpZTFDO0FjaGVBO0VBQWdDLGdCQUFBO0Fkb2VoQztBY25lQTtFQUFxQyxnQkFBQTtBZHVlckM7QWN0ZUE7RUFBcUMsZ0JBQUE7QWQwZXJDO0FjemVBO0VBQW9DLGdCQUFBO0FkNmVwQztBYzVlQTtFQUFpQyxnQkFBQTtBZGdmakM7QWMvZUE7RUFBMEMsZ0JBQUE7QWRtZjFDO0FjbGZBO0VBQTRDLGdCQUFBO0Fkc2Y1QztBY3JmQTtFQUFpQyxnQkFBQTtBZHlmakM7QWN4ZkE7RUFBMEMsZ0JBQUE7QWQ0ZjFDO0FjM2ZBO0VBQXlDLGdCQUFBO0FkK2Z6QztBYzlmQTtFQUF5QyxnQkFBQTtBZGtnQnpDO0FjamdCQTtFQUE0QyxnQkFBQTtBZHFnQjVDO0FjcGdCQTtFQUFtRCxnQkFBQTtBZHdnQm5EO0FjdmdCQTtFQUF1QyxnQkFBQTtBZDJnQnZDO0FjMWdCQTtFQUFnQyxnQkFBQTtBZDhnQmhDO0FjN2dCQTtFQUFpQyxnQkFBQTtBZGloQmpDO0FjaGhCQTtFQUFvQyxnQkFBQTtBZG9oQnBDO0FjbmhCQTtFQUEyQyxnQkFBQTtBZHVoQjNDO0FjdGhCQTtFQUFpQyxnQkFBQTtBZDBoQmpDO0FjemhCQTtFQUF1QyxnQkFBQTtBZDZoQnZDO0FjNWhCQTtFQUF5QyxnQkFBQTtBZGdpQnpDO0FjL2hCQTtFQUFrQyxnQkFBQTtBZG1pQmxDO0FjbGlCQTtFQUFvQyxnQkFBQTtBZHNpQnBDO0FjcmlCQTtFQUFzQyxnQkFBQTtBZHlpQnRDO0FjeGlCQTtFQUF1QyxnQkFBQTtBZDRpQnZDO0FjM2lCQTtFQUFzQyxnQkFBQTtBZCtpQnRDO0FjOWlCQTtFQUEwQyxnQkFBQTtBZGtqQjFDO0FjampCQTtFQUFzQyxnQkFBQTtBZHFqQnRDO0FjcGpCQTtFQUFvQyxnQkFBQTtBZHdqQnBDO0FjdmpCQTtFQUFpQyxnQkFBQTtBZDJqQmpDO0FjMWpCQTtFQUFzQyxnQkFBQTtBZDhqQnRDO0FjN2pCQTtFQUF1QyxnQkFBQTtBZGlrQnZDO0FjaGtCQTtFQUFvQyxnQkFBQTtBZG9rQnBDO0FjbmtCQTtFQUEwQyxnQkFBQTtBZHVrQjFDO0FjdGtCQTtFQUFrQyxnQkFBQTtBZDBrQmxDO0FjemtCQTtFQUFpQyxnQkFBQTtBZDZrQmpDO0FjNWtCQTtFQUFvQyxnQkFBQTtBZGdsQnBDO0FjL2tCQTtFQUFzQyxnQkFBQTtBZG1sQnRDO0FjbGxCQTtFQUFzQyxnQkFBQTtBZHNsQnRDO0FjcmxCQTtFQUF3QyxnQkFBQTtBZHlsQnhDO0FjeGxCQTtFQUFpQyxnQkFBQTtBZDRsQmpDO0FjM2xCQTtFQUFpQyxnQkFBQTtBZCtsQmpDO0FjOWxCQTtFQUFpQyxnQkFBQTtBZGttQmpDO0Fjam1CQTtFQUFpQyxnQkFBQTtBZHFtQmpDO0FjcG1CQTtFQUFpQyxnQkFBQTtBZHdtQmpDO0Fjdm1CQTtFQUFpQyxnQkFBQTtBZDJtQmpDO0FjMW1CQTtFQUFzQyxnQkFBQTtBZDhtQnRDO0FjN21CQTtFQUF5QyxnQkFBQTtBZGluQnpDO0FjaG5CQTtFQUFzQyxnQkFBQTtBZG9uQnRDO0Fjbm5CQTtFQUF3QyxnQkFBQTtBZHVuQnhDO0FjdG5CQTtFQUFxQyxnQkFBQTtBZDBuQnJDO0Fjem5CQTtFQUFzQyxnQkFBQTtBZDZuQnRDO0FjNW5CQTtFQUF5QyxnQkFBQTtBZGdvQnpDO0FjL25CQTtFQUFnQyxnQkFBQTtBZG1vQmhDO0FjbG9CQTtFQUFxQyxnQkFBQTtBZHNvQnJDO0Fjcm9CQTtFQUFrQyxnQkFBQTtBZHlvQmxDO0FjeG9CQTtFQUFvQyxnQkFBQTtBZDRvQnBDO0FjM29CQTtFQUFrQyxnQkFBQTtBZCtvQmxDO0FjOW9CQTtFQUF3QyxnQkFBQTtBZGtwQnhDO0FjanBCQTtFQUFzQyxnQkFBQTtBZHFwQnRDO0FjcHBCQTtFQUE4QyxnQkFBQTtBZHdwQjlDO0FjdnBCQTtFQUE0QyxnQkFBQTtBZDJwQjVDO0FjMXBCQTtFQUFrQyxnQkFBQTtBZDhwQmxDO0FjN3BCQTtFQUFrQyxnQkFBQTtBZGlxQmxDO0FjaHFCQTtFQUFnQyxnQkFBQTtBZG9xQmhDO0FjbnFCQTtFQUFtQyxnQkFBQTtBZHVxQm5DO0FjdHFCQTtFQUFnQyxnQkFBQTtBZDBxQmhDO0FjenFCQTtFQUFxQyxnQkFBQTtBZDZxQnJDO0FjNXFCQTtFQUFxQyxnQkFBQTtBZGdyQnJDO0FjL3FCQTtFQUFxQyxnQkFBQTtBZG1yQnJDO0FjbHJCQTtFQUFpQyxnQkFBQTtBZHNyQmpDO0FjcnJCQTtFQUE2QyxnQkFBQTtBZHlyQjdDO0FjeHJCQTtFQUFnQyxnQkFBQTtBZDRyQmhDO0FjM3JCQTtFQUFvQyxnQkFBQTtBZCtyQnBDO0FjOXJCQTtFQUEwQyxnQkFBQTtBZGtzQjFDO0FjanNCQTtFQUF1QyxnQkFBQTtBZHFzQnZDO0FjcHNCQTtFQUF1QyxnQkFBQTtBZHdzQnZDO0FjdnNCQTtFQUFxQyxnQkFBQTtBZDJzQnJDO0FjMXNCQTtFQUF5QyxnQkFBQTtBZDhzQnpDO0FjN3NCQTtFQUEyQyxnQkFBQTtBZGl0QjNDO0FjaHRCQTtFQUF5QyxnQkFBQTtBZG90QnpDO0FjbnRCQTtFQUEyQyxnQkFBQTtBZHV0QjNDO0FjdHRCQTtFQUEwQyxnQkFBQTtBZDB0QjFDO0FjenRCQTtFQUEyQyxnQkFBQTtBZDZ0QjNDO0FjNXRCQTtFQUEwQyxnQkFBQTtBZGd1QjFDO0FjL3RCQTtFQUFtQyxnQkFBQTtBZG11Qm5DO0FjbHVCQTtFQUF5QyxnQkFBQTtBZHN1QnpDO0FjcnVCQTtFQUF1QyxnQkFBQTtBZHl1QnZDO0FjeHVCQTtFQUFnRCxnQkFBQTtBZDR1QmhEO0FjM3VCQTtFQUF1QyxnQkFBQTtBZCt1QnZDO0FjOXVCQTtFQUFxQyxnQkFBQTtBZGt2QnJDO0FjanZCQTtFQUFxQyxnQkFBQTtBZHF2QnJDO0FjcHZCQTtFQUFnQyxnQkFBQTtBZHd2QmhDO0FjdnZCQTtFQUFvQyxnQkFBQTtBZDJ2QnBDO0FjMXZCQTtFQUF3QyxnQkFBQTtBZDh2QnhDO0FjN3ZCQTtFQUFzQyxnQkFBQTtBZGl3QnRDO0FjaHdCQTtFQUFxQyxnQkFBQTtBZG93QnJDO0FjbndCQTtFQUF1QyxnQkFBQTtBZHV3QnZDO0FjdHdCQTtFQUF1QyxnQkFBQTtBZDB3QnZDO0FjendCQTtFQUF3QyxnQkFBQTtBZDZ3QnhDO0FjNXdCQTtFQUE4QyxnQkFBQTtBZGd4QjlDO0FjL3dCQTtFQUE4QyxnQkFBQTtBZG14QjlDO0FjbHhCQTtFQUErQyxnQkFBQTtBZHN4Qi9DO0FjcnhCQTtFQUE0QyxnQkFBQTtBZHl4QjVDO0FjeHhCQTtFQUFxQyxnQkFBQTtBZDR4QnJDO0FjM3hCQTtFQUFtQyxnQkFBQTtBZCt4Qm5DO0FjOXhCQTtFQUE0QyxnQkFBQTtBZGt5QjVDO0FjanlCQTtFQUFzQyxnQkFBQTtBZHF5QnRDO0FjcHlCQTtFQUEwQyxnQkFBQTtBZHd5QjFDO0FjdnlCQTtFQUFnQyxnQkFBQTtBZDJ5QmhDO0FjMXlCQTtFQUEwQyxnQkFBQTtBZDh5QjFDO0FjN3lCQTtFQUFvQyxnQkFBQTtBZGl6QnBDO0FjaHpCQTtFQUF5QyxnQkFBQTtBZG96QnpDO0FjbnpCQTtFQUEyQyxnQkFBQTtBZHV6QjNDO0FjdHpCQTtFQUF3QyxnQkFBQTtBZDB6QnhDO0FjenpCQTtFQUFtQyxnQkFBQTtBZDZ6Qm5DO0FjNXpCQTtFQUEwQyxnQkFBQTtBZGcwQjFDO0FjL3pCQTtFQUFzQyxnQkFBQTtBZG0wQnRDO0FjbDBCQTtFQUFzQyxnQkFBQTtBZHMwQnRDO0FjcjBCQTtFQUFvQyxnQkFBQTtBZHkwQnBDO0FjeDBCQTtFQUF1QyxnQkFBQTtBZDQwQnZDO0FjMzBCQTtFQUFtQyxnQkFBQTtBZCswQm5DO0FjOTBCQTtFQUF3QyxnQkFBQTtBZGsxQnhDO0FjajFCQTtFQUFrQyxnQkFBQTtBZHExQmxDO0FjcDFCQTtFQUF1QyxnQkFBQTtBZHcxQnZDO0FjdjFCQTtFQUErQyxnQkFBQTtBZDIxQi9DO0FjMTFCQTtFQUE2QyxnQkFBQTtBZDgxQjdDO0FjNzFCQTtFQUF1QyxnQkFBQTtBZGkyQnZDO0FjaDJCQTtFQUFzQyxnQkFBQTtBZG8yQnRDO0FjbjJCQTtFQUF1QyxnQkFBQTtBZHUyQnZDO0FjdDJCQTtFQUFzQyxnQkFBQTtBZDAyQnRDO0FjejJCQTtFQUFrQyxnQkFBQTtBZDYyQmxDO0FjNTJCQTtFQUF5QyxnQkFBQTtBZGczQnpDO0FjLzJCQTtFQUF5QyxnQkFBQTtBZG0zQnpDO0FjbDNCQTtFQUF5QyxnQkFBQTtBZHMzQnpDO0FjcjNCQTtFQUFtQyxnQkFBQTtBZHkzQm5DO0FjeDNCQTtFQUFrQyxnQkFBQTtBZDQzQmxDO0FjMzNCQTtFQUF5QyxnQkFBQTtBZCszQnpDO0FjOTNCQTtFQUF3QyxnQkFBQTtBZGs0QnhDO0FjajRCQTtFQUF1QyxnQkFBQTtBZHE0QnZDO0FjcDRCQTtFQUF5QyxnQkFBQTtBZHc0QnpDO0FjdjRCQTtFQUF1QyxnQkFBQTtBZDI0QnZDO0FjMTRCQTtFQUF3QyxnQkFBQTtBZDg0QnhDO0FjNzRCQTtFQUF1QyxnQkFBQTtBZGk1QnZDO0FjaDVCQTtFQUFnRCxnQkFBQTtBZG81QmhEO0FjbjVCQTtFQUFnRCxnQkFBQTtBZHU1QmhEO0FjdDVCQTtFQUFpRCxnQkFBQTtBZDA1QmpEO0FjejVCQTtFQUE4QyxnQkFBQTtBZDY1QjlDO0FjNTVCQTtFQUF5QyxnQkFBQTtBZGc2QnpDO0FjLzVCQTtFQUF5QyxnQkFBQTtBZG02QnpDO0FjbDZCQTtFQUEwQyxnQkFBQTtBZHM2QjFDO0FjcjZCQTtFQUF1QyxnQkFBQTtBZHk2QnZDO0FjeDZCQTtFQUFrQyxnQkFBQTtBZDQ2QmxDO0FjMzZCQTtFQUFtQyxnQkFBQTtBZCs2Qm5DO0FjOTZCQTtFQUF1QyxnQkFBQTtBZGs3QnZDO0FjajdCQTtFQUFtQyxnQkFBQTtBZHE3Qm5DO0FjcDdCQTtFQUFtQyxnQkFBQTtBZHc3Qm5DO0FjdjdCQTtFQUF5QyxnQkFBQTtBZDI3QnpDO0FjMTdCQTtFQUFpQyxnQkFBQTtBZDg3QmpDO0FjNzdCQTtFQUEyQyxnQkFBQTtBZGk4QjNDO0FjaDhCQTtFQUFzQyxnQkFBQTtBZG84QnRDO0FjbjhCQTtFQUE0QyxnQkFBQTtBZHU4QjVDO0FjdDhCQTtFQUEyQyxnQkFBQTtBZDA4QjNDO0FjejhCQTtFQUFrQyxnQkFBQTtBZDY4QmxDO0FjNThCQTtFQUFrQyxnQkFBQTtBZGc5QmxDO0FjLzhCQTtFQUE4QyxnQkFBQTtBZG05QjlDO0FjbDlCQTtFQUFrQyxnQkFBQTtBZHM5QmxDO0FjcjlCQTtFQUErQyxnQkFBQTtBZHk5Qi9DO0FjeDlCQTtFQUEyQyxnQkFBQTtBZDQ5QjNDO0FjMzlCQTtFQUF1QyxnQkFBQTtBZCs5QnZDO0FjOTlCQTtFQUE0QyxnQkFBQTtBZGsrQjVDO0FjaitCQTtFQUF1QyxnQkFBQTtBZHErQnZDO0FjcCtCQTtFQUFnRCxnQkFBQTtBZHcrQmhEO0FjditCQTtFQUFzQyxnQkFBQTtBZDIrQnRDO0FjMStCQTtFQUEyQyxnQkFBQTtBZDgrQjNDO0FjNytCQTtFQUE2QyxnQkFBQTtBZGkvQjdDO0FjaC9CQTtFQUF1QyxnQkFBQTtBZG8vQnZDO0Fjbi9CQTtFQUF1QyxnQkFBQTtBZHUvQnZDO0FjdC9CQTtFQUF5QyxnQkFBQTtBZDAvQnpDO0Fjei9CQTtFQUFxQyxnQkFBQTtBZDYvQnJDO0FjNS9CQTtFQUFpQyxnQkFBQTtBZGdnQ2pDO0FjLy9CQTtFQUF3QyxnQkFBQTtBZG1nQ3hDO0FjbGdDQTtFQUFvQyxnQkFBQTtBZHNnQ3BDO0FjcmdDQTtFQUFxQyxnQkFBQTtBZHlnQ3JDO0FjeGdDQTtFQUFtQyxnQkFBQTtBZDRnQ25DO0FjM2dDQTtFQUFnQyxnQkFBQTtBZCtnQ2hDO0FjOWdDQTtFQUFpQyxnQkFBQTtBZGtoQ2pDO0FjamhDQTtFQUFrQyxnQkFBQTtBZHFoQ2xDO0FjcGhDQTtFQUFvQyxnQkFBQTtBZHdoQ3BDO0FjdmhDQTtFQUFvQyxnQkFBQTtBZDJoQ3BDO0FjMWhDQTtFQUF3QyxnQkFBQTtBZDhoQ3hDO0FjN2hDQTtFQUEyQyxnQkFBQTtBZGlpQzNDO0FjaGlDQTtFQUF5QyxnQkFBQTtBZG9pQ3pDO0FjbmlDQTtFQUE0QyxnQkFBQTtBZHVpQzVDO0FjdGlDQTtFQUEwQyxnQkFBQTtBZDBpQzFDO0FjemlDQTtFQUFxQyxnQkFBQTtBZDZpQ3JDO0FjNWlDQTtFQUE0QyxnQkFBQTtBZGdqQzVDO0FjL2lDQTtFQUF5QyxnQkFBQTtBZG1qQ3pDO0FjbGpDQTtFQUFvQyxnQkFBQTtBZHNqQ3BDO0FjcmpDQTtFQUFxQyxnQkFBQTtBZHlqQ3JDO0FjeGpDQTtFQUFnRCxnQkFBQTtBZDRqQ2hEO0FjM2pDQTtFQUEyQyxnQkFBQTtBZCtqQzNDO0FjOWpDQTtFQUF1QyxnQkFBQTtBZGtrQ3ZDO0FjamtDQTtFQUEyQyxnQkFBQTtBZHFrQzNDO0FjcGtDQTtFQUFtQyxnQkFBQTtBZHdrQ25DO0FjdmtDQTtFQUFtQyxnQkFBQTtBZDJrQ25DO0FjMWtDQTtFQUF3QyxnQkFBQTtBZDhrQ3hDO0FjN2tDQTtFQUFpQyxnQkFBQTtBZGlsQ2pDO0FjaGxDQTtFQUFzQyxnQkFBQTtBZG9sQ3RDO0FjbmxDQTtFQUFrQyxnQkFBQTtBZHVsQ2xDO0FjdGxDQTtFQUFtQyxnQkFBQTtBZDBsQ25DO0FjemxDQTtFQUE2QyxnQkFBQTtBZDZsQzdDO0FjNWxDQTtFQUFnRCxnQkFBQTtBZGdtQ2hEO0FjL2xDQTtFQUFnRCxnQkFBQTtBZG1tQ2hEO0FjbG1DQTtFQUFtRCxnQkFBQTtBZHNtQ25EO0Fjcm1DQTtFQUFtRCxnQkFBQTtBZHltQ25EO0FjeG1DQTtFQUFnRCxnQkFBQTtBZDRtQ2hEO0FjM21DQTtFQUFnRCxnQkFBQTtBZCttQ2hEO0FjOW1DQTtFQUFvRCxnQkFBQTtBZGtuQ3BEO0Fjam5DQTtFQUFtRCxnQkFBQTtBZHFuQ25EO0FjcG5DQTtFQUFnRCxnQkFBQTtBZHduQ2hEO0Fjdm5DQTtFQUFzRCxnQkFBQTtBZDJuQ3REO0FjMW5DQTtFQUEyRCxnQkFBQTtBZDhuQzNEO0FjN25DQTtFQUFtRCxnQkFBQTtBZGlvQ25EO0FjaG9DQTtFQUFrRCxnQkFBQTtBZG9vQ2xEO0Fjbm9DQTtFQUF3QyxnQkFBQTtBZHVvQ3hDO0FjdG9DQTtFQUEwQyxnQkFBQTtBZDBvQzFDO0Fjem9DQTtFQUFpQyxnQkFBQTtBZDZvQ2pDO0FjNW9DQTtFQUFxQyxnQkFBQTtBZGdwQ3JDO0FjL29DQTtFQUFrQyxnQkFBQTtBZG1wQ2xDO0FjbHBDQTtFQUF1QyxnQkFBQTtBZHNwQ3ZDO0FjcnBDQTtFQUFpQyxnQkFBQTtBZHlwQ2pDO0FjeHBDQTtFQUFrQyxnQkFBQTtBZDRwQ2xDO0FjM3BDQTtFQUFtQyxnQkFBQTtBZCtwQ25DO0FjOXBDQTtFQUFpQyxnQkFBQTtBZGtxQ2pDO0FjanFDQTtFQUFxQyxnQkFBQTtBZHFxQ3JDO0FjcHFDQTtFQUFpQyxnQkFBQTtBZHdxQ2pDO0FjdnFDQTtFQUFrQyxnQkFBQTtBZDJxQ2xDO0FjMXFDQTtFQUFnQyxnQkFBQTtBZDhxQ2hDO0FjN3FDQTtFQUF1QyxnQkFBQTtBZGlyQ3ZDO0FjaHJDQTtFQUFvQyxnQkFBQTtBZG9yQ3BDO0FjbnJDQTtFQUEyQyxnQkFBQTtBZHVyQzNDO0FjdHJDQTtFQUFxQyxnQkFBQTtBZDByQ3JDO0FjenJDQTtFQUFxQyxnQkFBQTtBZDZyQ3JDO0FjNXJDQTtFQUFpQyxnQkFBQTtBZGdzQ2pDO0FjL3JDQTtFQUFzQyxnQkFBQTtBZG1zQ3RDO0FjbHNDQTtFQUFxQyxnQkFBQTtBZHNzQ3JDO0FjcnNDQTtFQUFzQyxnQkFBQTtBZHlzQ3RDO0FjeHNDQTtFQUFvQyxnQkFBQTtBZDRzQ3BDO0FjM3NDQTtFQUFvQyxnQkFBQTtBZCtzQ3BDO0FjOXNDQTtFQUFnQyxnQkFBQTtBZGt0Q2hDO0FjanRDQTtFQUF1QyxnQkFBQTtBZHF0Q3ZDO0FjcHRDQTtFQUF5QyxnQkFBQTtBZHd0Q3pDO0FjdnRDQTtFQUFnQyxnQkFBQTtBZDJ0Q2hDO0FjMXRDQTtFQUFzQyxnQkFBQTtBZDh0Q3RDO0FjN3RDQTtFQUFxQyxnQkFBQTtBZGl1Q3JDO0FjaHVDQTtFQUFpQyxnQkFBQTtBZG91Q2pDO0FjbnVDQTtFQUFxQyxnQkFBQTtBZHV1Q3JDO0FjdHVDQTtFQUFvQyxnQkFBQTtBZDB1Q3BDO0FjenVDQTtFQUFzQyxnQkFBQTtBZDZ1Q3RDO0FjNXVDQTtFQUFzQyxnQkFBQTtBZGd2Q3RDO0FjL3VDQTtFQUFxQyxnQkFBQTtBZG12Q3JDO0FjbHZDQTtFQUFxQyxnQkFBQTtBZHN2Q3JDO0FjcnZDQTtFQUF1QyxnQkFBQTtBZHl2Q3ZDO0FjeHZDQTtFQUFxQyxnQkFBQTtBZDR2Q3JDO0FjM3ZDQTtFQUFpQyxnQkFBQTtBZCt2Q2pDO0FjOXZDQTtFQUEwQyxnQkFBQTtBZGt3QzFDO0FjandDQTtFQUErQyxnQkFBQTtBZHF3Qy9DO0FjcHdDQTtFQUF1QyxnQkFBQTtBZHd3Q3ZDO0FjdndDQTtFQUFvQyxnQkFBQTtBZDJ3Q3BDO0FjMXdDQTtFQUFzQyxnQkFBQTtBZDh3Q3RDO0FjN3dDQTtFQUFtQyxnQkFBQTtBZGl4Q25DO0FjaHhDQTtFQUFrQyxnQkFBQTtBZG94Q2xDO0FjbnhDQTtFQUFnQyxnQkFBQTtBZHV4Q2hDO0FjdHhDQTtFQUFtQyxnQkFBQTtBZDB4Q25DO0FjenhDQTtFQUFtQyxnQkFBQTtBZDZ4Q25DO0FjNXhDQTtFQUFnQyxnQkFBQTtBZGd5Q2hDO0FjL3hDQTtFQUF3QyxnQkFBQTtBZG15Q3hDO0FjbHlDQTtFQUFrQyxnQkFBQTtBZHN5Q2xDO0FjcnlDQTtFQUEwQyxnQkFBQTtBZHl5QzFDO0FjeHlDQTtFQUFtQyxnQkFBQTtBZDR5Q25DO0FjM3lDQTtFQUF3QyxnQkFBQTtBZCt5Q3hDO0FjOXlDQTtFQUFzQyxnQkFBQTtBZGt6Q3RDO0FjanpDQTtFQUF1QyxnQkFBQTtBZHF6Q3ZDO0FjcHpDQTtFQUFpQyxnQkFBQTtBZHd6Q2pDO0FjdnpDQTtFQUFxQyxnQkFBQTtBZDJ6Q3JDO0FjMXpDQTtFQUEwQyxnQkFBQTtBZDh6QzFDO0FjN3pDQTtFQUE2QyxnQkFBQTtBZGkwQzdDO0FjaDBDQTtFQUFtQyxnQkFBQTtBZG8wQ25DO0FjbjBDQTtFQUF5QyxnQkFBQTtBZHUwQ3pDO0FjdDBDQTtFQUFxQyxnQkFBQTtBZDAwQ3JDO0FjejBDQTtFQUE0QyxnQkFBQTtBZDYwQzVDO0FjNTBDQTtFQUFvQyxnQkFBQTtBZGcxQ3BDO0FjLzBDQTtFQUFpQyxnQkFBQTtBZG0xQ2pDO0FjbDFDQTtFQUEwQyxnQkFBQTtBZHMxQzFDO0FjcjFDQTtFQUEyQyxnQkFBQTtBZHkxQzNDO0FjeDFDQTtFQUFtQyxnQkFBQTtBZDQxQ25DO0FjMzFDQTtFQUFxQyxnQkFBQTtBZCsxQ3JDO0FjOTFDQTtFQUFxQyxnQkFBQTtBZGsyQ3JDO0FjajJDQTtFQUEwQyxnQkFBQTtBZHEyQzFDO0FjcDJDQTtFQUFvQyxnQkFBQTtBZHcyQ3BDO0FjdjJDQTtFQUFtQyxnQkFBQTtBZDIyQ25DO0FjMTJDQTtFQUF1QyxnQkFBQTtBZDgyQ3ZDO0FjNzJDQTtFQUFpQyxnQkFBQTtBZGkzQ2pDO0FjaDNDQTtFQUFpQyxnQkFBQTtBZG8zQ2pDO0FjbjNDQTtFQUFpQyxnQkFBQTtBZHUzQ2pDO0FjdDNDQTtFQUFnQyxnQkFBQTtBZDAzQ2hDO0FjejNDQTtFQUFrQyxnQkFBQTtBZDYzQ2xDO0FjNTNDQTtFQUFzQyxnQkFBQTtBZGc0Q3RDO0FjLzNDQTtFQUF1QyxnQkFBQTtBZG00Q3ZDO0FjbDRDQTtFQUF1QyxnQkFBQTtBZHM0Q3ZDO0FjcjRDQTtFQUFpQyxnQkFBQTtBZHk0Q2pDO0FjeDRDQTtFQUFrQyxnQkFBQTtBZDQ0Q2xDO0FjMzRDQTtFQUFtQyxnQkFBQTtBZCs0Q25DO0FjOTRDQTtFQUFxQyxnQkFBQTtBZGs1Q3JDO0FjajVDQTtFQUEwQyxnQkFBQTtBZHE1QzFDO0FjcDVDQTtFQUErQyxnQkFBQTtBZHc1Qy9DO0FjdjVDQTtFQUE0QyxnQkFBQTtBZDI1QzVDO0FjMTVDQTtFQUFtQyxnQkFBQTtBZDg1Q25DO0FjNzVDQTtFQUFtQyxnQkFBQTtBZGk2Q25DO0FjaDZDQTtFQUFtQyxnQkFBQTtBZG82Q25DO0FjbjZDQTtFQUFtQyxnQkFBQTtBZHU2Q25DO0FjdDZDQTtFQUFxQyxnQkFBQTtBZDA2Q3JDO0FjejZDQTtFQUFxQyxnQkFBQTtBZDY2Q3JDO0FjNTZDQTtFQUFpQyxnQkFBQTtBZGc3Q2pDO0FjLzZDQTtFQUFzQyxnQkFBQTtBZG03Q3RDO0FjbDdDQTtFQUFxQyxnQkFBQTtBZHM3Q3JDO0FjcjdDQTtFQUF5QyxnQkFBQTtBZHk3Q3pDO0FjeDdDQTtFQUF3QyxnQkFBQTtBZDQ3Q3hDO0FjMzdDQTtFQUErQyxnQkFBQTtBZCs3Qy9DO0FjOTdDQTtFQUFpRCxnQkFBQTtBZGs4Q2pEO0FjajhDQTtFQUFtQyxnQkFBQTtBZHE4Q25DO0FjcDhDQTtFQUE4QyxnQkFBQTtBZHc4QzlDO0FjdjhDQTtFQUF5QyxnQkFBQTtBZDI4Q3pDO0FjMThDQTtFQUE4QyxnQkFBQTtBZDg4QzlDO0FjNzhDQTtFQUFxRCxnQkFBQTtBZGk5Q3JEO0FjaDlDQTtFQUFnQyxnQkFBQTtBZG85Q2hDO0FjbjlDQTtFQUF3QyxnQkFBQTtBZHU5Q3hDO0FjdDlDQTtFQUFzQyxnQkFBQTtBZDA5Q3RDO0FjejlDQTtFQUFxQyxnQkFBQTtBZDY5Q3JDO0FjNTlDQTtFQUF1QyxnQkFBQTtBZGcrQ3ZDO0FjLzlDQTtFQUErQyxnQkFBQTtBZG0rQy9DO0FjbCtDQTtFQUE0QyxnQkFBQTtBZHMrQzVDO0FjcitDQTtFQUFpRCxnQkFBQTtBZHkrQ2pEO0FjeCtDQTtFQUEwQyxnQkFBQTtBZDQrQzFDO0FjMytDQTtFQUF5QyxnQkFBQTtBZCsrQ3pDO0FjOStDQTtFQUFnQyxnQkFBQTtBZGsvQ2hDO0Fjai9DQTtFQUFvQyxnQkFBQTtBZHEvQ3BDO0FjcC9DQTtFQUF3QyxnQkFBQTtBZHcvQ3hDO0Fjdi9DQTtFQUFrQyxnQkFBQTtBZDIvQ2xDO0FjMS9DQTtFQUFtQyxnQkFBQTtBZDgvQ25DO0FjNy9DQTtFQUFtQyxnQkFBQTtBZGlnRG5DO0FjaGdEQTtFQUF3QyxnQkFBQTtBZG9nRHhDO0FjbmdEQTtFQUFrQyxnQkFBQTtBZHVnRGxDO0FjdGdEQTtFQUFpQyxnQkFBQTtBZDBnRGpDO0FjemdEQTtFQUFxQyxnQkFBQTtBZDZnRHJDO0FjNWdEQTtFQUF5QyxnQkFBQTtBZGdoRHpDO0FjL2dEQTtFQUF1QyxnQkFBQTtBZG1oRHZDO0FjbGhEQTtFQUFzQyxnQkFBQTtBZHNoRHRDO0FjcmhEQTtFQUEwQyxnQkFBQTtBZHloRDFDO0FjeGhEQTtFQUFxQyxnQkFBQTtBZDRoRHJDO0FjM2hEQTtFQUEwQyxnQkFBQTtBZCtoRDFDO0FjOWhEQTtFQUF1QyxnQkFBQTtBZGtpRHZDO0FjamlEQTtFQUF3QyxnQkFBQTtBZHFpRHhDO0FjcGlEQTtFQUF1QyxnQkFBQTtBZHdpRHZDO0FjdmlEQTtFQUF3QyxnQkFBQTtBZDJpRHhDO0FjMWlEQTtFQUF5QyxnQkFBQTtBZDhpRHpDO0FjN2lEQTtFQUFnRCxnQkFBQTtBZGlqRGhEO0FjaGpEQTtFQUF5QyxnQkFBQTtBZG9qRHpDO0FjbmpEQTtFQUE2QyxnQkFBQTtBZHVqRDdDO0FjdGpEQTtFQUFxQyxnQkFBQTtBZDBqRHJDO0FjempEQTtFQUE0QyxnQkFBQTtBZDZqRDVDO0FjNWpEQTtFQUE4QyxnQkFBQTtBZGdrRDlDO0FjL2pEQTtFQUEyQyxnQkFBQTtBZG1rRDNDO0FjbGtEQTtFQUF3QyxnQkFBQTtBZHNrRHhDO0FjcmtEQTtFQUF1QyxnQkFBQTtBZHlrRHZDO0FjeGtEQTtFQUFzQyxnQkFBQTtBZDRrRHRDO0FjM2tEQTtFQUFpQyxnQkFBQTtBZCtrRGpDO0FjOWtEQTtFQUFzQyxnQkFBQTtBZGtsRHRDO0FjamxEQTtFQUFpQyxnQkFBQTtBZHFsRGpDO0FjcGxEQTtFQUFtQyxnQkFBQTtBZHdsRG5DO0FjdmxEQTtFQUF3QyxnQkFBQTtBZDJsRHhDO0FjMWxEQTtFQUFpQyxnQkFBQTtBZDhsRGpDO0FjN2xEQTtFQUFxQyxnQkFBQTtBZGltRHJDO0FjaG1EQTtFQUE4QyxnQkFBQTtBZG9tRDlDO0Fjbm1EQTtFQUFvQyxnQkFBQTtBZHVtRHBDO0FjdG1EQTtFQUFzQyxnQkFBQTtBZDBtRHRDO0Fjem1EQTtFQUF3QyxnQkFBQTtBZDZtRHhDO0FjNW1EQTtFQUE0QyxnQkFBQTtBZGduRDVDO0FjL21EQTtFQUF1QyxnQkFBQTtBZG1uRHZDO0FjbG5EQTtFQUFpQyxnQkFBQTtBZHNuRGpDO0Fjcm5EQTtFQUF3QyxnQkFBQTtBZHluRHhDO0FjeG5EQTtFQUFpQyxnQkFBQTtBZDRuRGpDO0FjM25EQTtFQUEyQyxnQkFBQTtBZCtuRDNDO0FjOW5EQTtFQUFxQyxnQkFBQTtBZGtvRHJDO0Fjam9EQTtFQUFrQyxnQkFBQTtBZHFvRGxDO0FjcG9EQTtFQUFtQyxnQkFBQTtBZHdvRG5DO0Fjdm9EQTtFQUFzQyxnQkFBQTtBZDJvRHRDO0FjMW9EQTtFQUFvQyxnQkFBQTtBZDhvRHBDO0FjN29EQTtFQUFnQyxnQkFBQTtBZGlwRGhDO0FjaHBEQTtFQUFtQyxnQkFBQTtBZG9wRG5DO0FjbnBEQTtFQUF5QyxnQkFBQTtBZHVwRHpDO0FjdHBEQTtFQUF3QyxnQkFBQTtBZDBwRHhDO0FjenBEQTtFQUF3QyxnQkFBQTtBZDZwRHhDO0FjNXBEQTtFQUFpQyxnQkFBQTtBZGdxRGpDO0FjL3BEQTtFQUF5QyxnQkFBQTtBZG1xRHpDO0FjbHFEQTtFQUE2QyxnQkFBQTtBZHNxRDdDO0FjcnFEQTtFQUE4QyxnQkFBQTtBZHlxRDlDO0FjeHFEQTtFQUFtRCxnQkFBQTtBZDRxRG5EO0FjM3FEQTtFQUFzQyxnQkFBQTtBZCtxRHRDO0FjOXFEQTtFQUF5QyxnQkFBQTtBZGtyRHpDO0FjanJEQTtFQUEwQyxnQkFBQTtBZHFyRDFDO0FjcHJEQTtFQUF5QyxnQkFBQTtBZHdyRHpDO0FjdnJEQTtFQUE2QyxnQkFBQTtBZDJyRDdDO0FjMXJEQTtFQUFxQyxnQkFBQTtBZDhyRHJDO0FjN3JEQTtFQUFvQyxnQkFBQTtBZGlzRHBDO0FjaHNEQTtFQUF1QyxnQkFBQTtBZG9zRHZDO0FjbnNEQTtFQUEyQyxnQkFBQTtBZHVzRDNDO0FjdHNEQTtFQUFvQyxnQkFBQTtBZDBzRHBDO0FjenNEQTtFQUFpQyxnQkFBQTtBZDZzRGpDO0FjNXNEQTtFQUFrQyxnQkFBQTtBZGd0RGxDO0FjL3NEQTtFQUF1QyxnQkFBQTtBZG10RHZDO0FjbHREQTtFQUFvQyxnQkFBQTtBZHN0RHBDO0FjcnREQTtFQUEwQyxnQkFBQTtBZHl0RDFDO0FjeHREQTtFQUFtQyxnQkFBQTtBZDR0RG5DO0FjM3REQTtFQUE4QyxnQkFBQTtBZCt0RDlDO0FjOXREQTtFQUE0QyxnQkFBQTtBZGt1RDVDO0FjanVEQTtFQUFvQyxnQkFBQTtBZHF1RHBDO0FjcHVEQTtFQUFxQyxnQkFBQTtBZHd1RHJDO0FjdnVEQTtFQUFrQyxnQkFBQTtBZDJ1RGxDO0FjMXVEQTtFQUFnQyxnQkFBQTtBZDh1RGhDO0FjN3VEQTtFQUF1QyxnQkFBQTtBZGl2RHZDO0FjaHZEQTtFQUF1QyxnQkFBQTtBZG92RHZDO0FjbnZEQTtFQUErQixnQkFBQTtBZHV2RC9CO0FjdHZEQTtFQUFzQyxnQkFBQTtBZDB2RHRDO0FjenZEQTtFQUFrQyxnQkFBQTtBZDZ2RGxDO0FjNXZEQTtFQUFpQyxnQkFBQTtBZGd3RGpDO0FjL3ZEQTtFQUFrQyxnQkFBQTtBZG13RGxDO0FjbHdEQTtFQUFnQyxnQkFBQTtBZHN3RGhDO0FjcndEQTtFQUF1QyxnQkFBQTtBZHl3RHZDO0FjeHdEQTtFQUFtQyxnQkFBQTtBZDR3RG5DO0FjM3dEQTtFQUF1QyxnQkFBQTtBZCt3RHZDO0FjOXdEQTtFQUEwQyxnQkFBQTtBZGt4RDFDO0FjanhEQTtFQUFzQyxnQkFBQTtBZHF4RHRDO0FjcHhEQTtFQUFtQyxnQkFBQTtBZHd4RG5DO0FjdnhEQTtFQUFtQyxnQkFBQTtBZDJ4RG5DO0FjMXhEQTtFQUF5QyxnQkFBQTtBZDh4RHpDO0FjN3hEQTtFQUEwQyxnQkFBQTtBZGl5RDFDO0FjaHlEQTtFQUE4QyxnQkFBQTtBZG95RDlDO0FjbnlEQTtFQUEwQyxnQkFBQTtBZHV5RDFDO0FjdHlEQTtFQUFvQyxnQkFBQTtBZDB5RHBDO0FjenlEQTtFQUFrQyxnQkFBQTtBZDZ5RGxDO0FjNXlEQTtFQUFvQyxnQkFBQTtBZGd6RHBDO0FjL3lEQTtFQUFrQyxnQkFBQTtBZG16RGxDO0FjbHpEQTtFQUF5QyxnQkFBQTtBZHN6RHpDO0FjcnpEQTtFQUEyQyxnQkFBQTtBZHl6RDNDO0FjeHpEQTtFQUF1QyxnQkFBQTtBZDR6RHZDO0FjM3pEQTtFQUF5QyxnQkFBQTtBZCt6RHpDO0FjOXpEQTtFQUFtQyxnQkFBQTtBZGswRG5DO0FjajBEQTtFQUFzQyxnQkFBQTtBZHEwRHRDO0FjcDBEQTtFQUFzQyxnQkFBQTtBZHcwRHRDO0FjdjBEQTtFQUF3QyxnQkFBQTtBZDIwRHhDO0FjMTBEQTtFQUFtQyxnQkFBQTtBZDgwRG5DO0FjNzBEQTtFQUF5QyxnQkFBQTtBZGkxRHpDO0FjaDFEQTtFQUF3QyxnQkFBQTtBZG8xRHhDO0FjbjFEQTtFQUF3QyxnQkFBQTtBZHUxRHhDO0FjdDFEQTtFQUEwQyxnQkFBQTtBZDAxRDFDO0FjejFEQTtFQUErQyxnQkFBQTtBZDYxRC9DO0FjNTFEQTtFQUEwQyxnQkFBQTtBZGcyRDFDO0FjLzFEQTtFQUFvQyxnQkFBQTtBZG0yRHBDO0FjbDJEQTtFQUEyQyxnQkFBQTtBZHMyRDNDO0FjcjJEQTtFQUFxQyxnQkFBQTtBZHkyRHJDO0FjeDJEQTtFQUFpQyxnQkFBQTtBZDQyRGpDO0FjMzJEQTtFQUF5QyxnQkFBQTtBZCsyRHpDO0FjOTJEQTtFQUErQyxnQkFBQTtBZGszRC9DO0FjajNEQTtFQUFvQyxnQkFBQTtBZHEzRHBDO0FjcDNEQTtFQUFpQyxnQkFBQTtBZHczRGpDO0FjdjNEQTtFQUFxQyxnQkFBQTtBZDIzRHJDO0FjMTNEQTtFQUFzQyxnQkFBQTtBZDgzRHRDO0FjNzNEQTtFQUE0QyxnQkFBQTtBZGk0RDVDO0FjaDREQTtFQUF3QyxnQkFBQTtBZG80RHhDO0FjbjREQTtFQUF3QyxnQkFBQTtBZHU0RHhDO0FjdDREQTtFQUE4QyxnQkFBQTtBZDA0RDlDO0FjejREQTtFQUF1QyxnQkFBQTtBZDY0RHZDO0FjNTREQTtFQUF1QyxnQkFBQTtBZGc1RHZDO0FjLzREQTtFQUF3QyxnQkFBQTtBZG01RHhDO0FjbDVEQTtFQUErQyxnQkFBQTtBZHM1RC9DO0FjcjVEQTtFQUE2QyxnQkFBQTtBZHk1RDdDO0FjeDVEQTtFQUFzQyxnQkFBQTtBZDQ1RHRDO0FjMzVEQTtFQUE0QyxnQkFBQTtBZCs1RDVDO0FjOTVEQTtFQUF1QyxnQkFBQTtBZGs2RHZDO0FjajZEQTtFQUFnRCxnQkFBQTtBZHE2RGhEO0FjcDZEQTtFQUEwQyxnQkFBQTtBZHc2RDFDO0FjdjZEQTtFQUFxQyxnQkFBQTtBZDI2RHJDO0FjMTZEQTtFQUFrQyxnQkFBQTtBZDg2RGxDO0FjNzZEQTtFQUFtQyxnQkFBQTtBZGk3RG5DO0FjaDdEQTtFQUFpQyxnQkFBQTtBZG83RGpDO0FjbjdEQTtFQUFxQyxnQkFBQTtBZHU3RHJDO0FjdDdEQTtFQUF3QyxnQkFBQTtBZDA3RHhDO0FjejdEQTtFQUErQyxnQkFBQTtBZDY3RC9DO0FjNTdEQTtFQUF1QyxnQkFBQTtBZGc4RHZDO0FjLzdEQTtFQUFzQyxnQkFBQTtBZG04RHRDO0FjbDhEQTtFQUFtQyxnQkFBQTtBZHM4RG5DO0FjcjhEQTtFQUFrQyxnQkFBQTtBZHk4RGxDO0FjeDhEQTtFQUF5QyxnQkFBQTtBZDQ4RHpDO0FjMzhEQTtFQUErQyxnQkFBQTtBZCs4RC9DO0FjOThEQTtFQUE2QyxnQkFBQTtBZGs5RDdDO0FjajlEQTtFQUF3QyxnQkFBQTtBZHE5RHhDO0FjcDlEQTtFQUErQyxnQkFBQTtBZHc5RC9DO0FjdjlEQTtFQUF1QyxnQkFBQTtBZDI5RHZDO0FjMTlEQTtFQUF1QyxnQkFBQTtBZDg5RHZDO0FjNzlEQTtFQUE0QyxnQkFBQTtBZGkrRDVDO0FjaCtEQTtFQUE0QyxnQkFBQTtBZG8rRDVDO0FjbitEQTtFQUE2QyxnQkFBQTtBZHUrRDdDO0FjdCtEQTtFQUEwQyxnQkFBQTtBZDArRDFDO0FjeitEQTtFQUF5QyxnQkFBQTtBZDYrRHpDO0FjNStEQTtFQUFzQyxnQkFBQTtBZGcvRHRDO0FjLytEQTtFQUEwQyxnQkFBQTtBZG0vRDFDO0FjbC9EQTtFQUF1QyxnQkFBQTtBZHMvRHZDO0Fjci9EQTtFQUFrQyxnQkFBQTtBZHkvRGxDO0FjeC9EQTtFQUEwQyxnQkFBQTtBZDQvRDFDO0FjMy9EQTtFQUFzQyxnQkFBQTtBZCsvRHRDO0FjOS9EQTtFQUFxQyxnQkFBQTtBZGtnRXJDO0FjamdFQTtFQUFxQyxnQkFBQTtBZHFnRXJDO0FjcGdFQTtFQUFvQyxnQkFBQTtBZHdnRXBDO0FjdmdFQTtFQUF1QyxnQkFBQTtBZDJnRXZDO0FjMWdFQTtFQUFtQyxnQkFBQTtBZDhnRW5DO0FjN2dFQTtFQUFnQyxnQkFBQTtBZGloRWhDO0FjaGhFQTtFQUFvQyxnQkFBQTtBZG9oRXBDO0FjbmhFQTtFQUF1QyxnQkFBQTtBZHVoRXZDO0FjdGhFQTtFQUEyQyxnQkFBQTtBZDBoRTNDO0FjemhFQTtFQUFvQyxnQkFBQTtBZDZoRXBDO0FjNWhFQTtFQUFrQyxnQkFBQTtBZGdpRWxDO0FjL2hFQTtFQUF5QyxnQkFBQTtBZG1pRXpDO0FjbGlFQTtFQUFzQyxnQkFBQTtBZHNpRXRDO0FjcmlFQTtFQUF1QyxnQkFBQTtBZHlpRXZDO0FjeGlFQTtFQUF3QyxnQkFBQTtBZDRpRXhDO0FjM2lFQTtFQUFtQyxnQkFBQTtBZCtpRW5DO0FjOWlFQTtFQUFrQyxnQkFBQTtBZGtqRWxDO0FjampFQTtFQUFpQyxnQkFBQTtBZHFqRWpDO0FjcGpFQTtFQUEwQyxnQkFBQTtBZHdqRTFDO0FjdmpFQTtFQUFvQyxnQkFBQTtBZDJqRXBDO0FjMWpFQTtFQUF3QyxnQkFBQTtBZDhqRXhDO0FjN2pFQTtFQUF3QyxnQkFBQTtBZGlrRXhDO0FjaGtFQTtFQUFpQyxnQkFBQTtBZG9rRWpDO0FjbmtFQTtFQUFrQyxnQkFBQTtBZHVrRWxDO0FjdGtFQTtFQUFxQyxnQkFBQTtBZDBrRXJDO0FjemtFQTtFQUFrQyxnQkFBQTtBZDZrRWxDO0FjNWtFQTtFQUF1QyxnQkFBQTtBZGdsRXZDO0FjL2tFQTtFQUFxQyxnQkFBQTtBZG1sRXJDO0FjbGxFQTtFQUF5QyxnQkFBQTtBZHNsRXpDO0FjcmxFQTtFQUE0QyxnQkFBQTtBZHlsRTVDO0FjeGxFQTtFQUFvQyxnQkFBQTtBZDRsRXBDO0FjM2xFQTtFQUFtQyxnQkFBQTtBZCtsRW5DO0FjOWxFQTtFQUFrQyxnQkFBQTtBZGttRWxDO0Fjam1FQTtFQUFtQyxnQkFBQTtBZHFtRW5DO0FjcG1FQTtFQUFzQyxnQkFBQTtBZHdtRXRDO0Fjdm1FQTtFQUEwQyxnQkFBQTtBZDJtRTFDO0FjMW1FQTtFQUEyQyxnQkFBQTtBZDhtRTNDO0FjN21FQTtFQUE0QyxnQkFBQTtBZGluRTVDO0FjaG5FQTtFQUF5QyxnQkFBQTtBZG9uRXpDO0Fjbm5FQTtFQUFrQyxnQkFBQTtBZHVuRWxDO0FjdG5FQTtFQUFvQyxnQkFBQTtBZDBuRXBDO0Fjem5FQTtFQUFrQyxnQkFBQTtBZDZuRWxDO0FjNW5FQTtFQUFvQyxnQkFBQTtBZGdvRXBDO0FjL25FQTtFQUFxQyxnQkFBQTtBZG1vRXJDO0FjbG9FQTtFQUFzQyxnQkFBQTtBZHNvRXRDO0Fjcm9FQTtFQUFvQyxnQkFBQTtBZHlvRXBDO0FjeG9FQTtFQUFxQyxnQkFBQTtBZDRvRXJDO0FjM29FQTtFQUFvQyxnQkFBQTtBZCtvRXBDO0FjOW9FQTtFQUF3QyxnQkFBQTtBZGtwRXhDO0FjanBFQTtFQUFrQyxnQkFBQTtBZHFwRWxDO0FjcHBFQTtFQUFrQyxnQkFBQTtBZHdwRWxDO0FjdnBFQTtFQUFtQyxnQkFBQTtBZDJwRW5DO0FjMXBFQTtFQUFpQyxnQkFBQTtBZDhwRWpDO0FjN3BFQTtFQUFrQyxnQkFBQTtBZGlxRWxDO0FjaHFFQTtFQUFtQyxnQkFBQTtBZG9xRW5DO0FjbnFFQTtFQUFxQyxnQkFBQTtBZHVxRXJDO0FjdHFFQTtFQUFxQyxnQkFBQTtBZDBxRXJDO0FjenFFQTtFQUFpQyxnQkFBQTtBZDZxRWpDO0FjNXFFQTtFQUF3QyxnQkFBQTtBZGdyRXhDO0FjL3FFQTtFQUFzQyxnQkFBQTtBZG1yRXRDO0FjbHJFQTtFQUFxQyxnQkFBQTtBZHNyRXJDO0FjcnJFQTtFQUE4QyxnQkFBQTtBZHlyRTlDO0FjeHJFQTtFQUFxQyxnQkFBQTtBZDRyRXJDO0FjM3JFQTtFQUFvQyxnQkFBQTtBZCtyRXBDO0FjOXJFQTtFQUFtQyxnQkFBQTtBZGtzRW5DO0FjanNFQTtFQUFvQyxnQkFBQTtBZHFzRXBDO0FjcHNFQTtFQUFtQyxnQkFBQTtBZHdzRW5DO0FjdnNFQTtFQUF3QyxnQkFBQTtBZDJzRXhDO0FjMXNFQTtFQUFpQyxnQkFBQTtBZDhzRWpDO0FjN3NFQTtFQUFpQyxnQkFBQTtBZGl0RWpDO0FjaHRFQTtFQUF1QyxnQkFBQTtBZG90RXZDO0FjbnRFQTtFQUFvQyxnQkFBQTtBZHV0RXBDO0FjdHRFQTtFQUFpQyxnQkFBQTtBZDB0RWpDO0FjenRFQTtFQUFrQyxnQkFBQTtBZDZ0RWxDO0FjNXRFQTtFQUFrQyxnQkFBQTtBZGd1RWxDO0FjL3RFQTtFQUFtQyxnQkFBQTtBZG11RW5DO0FjbHVFQTtFQUEyQyxnQkFBQTtBZHN1RTNDO0FjcnVFQTtFQUErQixnQkFBQTtBZHl1RS9CO0FjeHVFQTtFQUFzQyxnQkFBQTtBZDR1RXRDO0FjM3VFQTtFQUFxQyxnQkFBQTtBZCt1RXJDO0FjOXVFQTtFQUFrQyxnQkFBQTtBZGt2RWxDO0FjanZFQTtFQUFtQyxnQkFBQTtBZHF2RW5DO0FjcHZFQTtFQUFnQyxnQkFBQTtBZHd2RWhDO0FjdnZFQTtFQUFvQyxnQkFBQTtBZDJ2RXBDO0FjMXZFQTtFQUFxQyxnQkFBQTtBZDh2RXJDO0FjN3ZFQTtFQUFtQyxnQkFBQTtBZGl3RW5DO0FjaHdFQTtFQUFtQyxnQkFBQTtBZG93RW5DO0FjbndFQTtFQUF3QyxnQkFBQTtBZHV3RXhDO0FjdHdFQTtFQUEwQyxnQkFBQTtBZDB3RTFDO0FjendFQTtFQUFpQyxnQkFBQTtBZDZ3RWpDO0FjNXdFQTtFQUFzQyxnQkFBQTtBZGd4RXRDO0FjL3dFQTtFQUE0QyxnQkFBQTtBZG14RTVDO0FjbHhFQTtFQUFzQyxnQkFBQTtBZHN4RXRDO0FjcnhFQTtFQUFtQyxnQkFBQTtBZHl4RW5DO0FjeHhFQTtFQUFxQyxnQkFBQTtBZDR4RXJDO0FjM3hFQTtFQUFxQyxnQkFBQTtBZCt4RXJDO0FjOXhFQTtFQUFtQyxnQkFBQTtBZGt5RW5DO0FjanlFQTtFQUF3QyxnQkFBQTtBZHF5RXhDO0FjcHlFQTtFQUEyQyxnQkFBQTtBZHd5RTNDO0FjdnlFQTtFQUFvQyxnQkFBQTtBZDJ5RXBDO0FjMXlFQTtFQUFtQyxnQkFBQTtBZDh5RW5DO0FjN3lFQTtFQUEwQyxnQkFBQTtBZGl6RTFDO0FjaHpFQTtFQUFrQyxnQkFBQTtBZG96RWxDO0FjbnpFQTtFQUF1QyxnQkFBQTtBZHV6RXZDO0FjdHpFQTtFQUF5QyxnQkFBQTtBZDB6RXpDO0FjenpFQTtFQUF1QyxnQkFBQTtBZDZ6RXZDO0FjNXpFQTtFQUF3QyxnQkFBQTtBZGcwRXhDO0FjL3pFQTtFQUFpQyxnQkFBQTtBZG0wRWpDO0FjbDBFQTtFQUFvQyxnQkFBQTtBZHMwRXBDO0FjcjBFQTtFQUFrQyxnQkFBQTtBZHkwRWxDO0FjeDBFQTtFQUFpQyxnQkFBQTtBZDQwRWpDO0FjMzBFQTtFQUFzQyxnQkFBQTtBZCswRXRDO0FjOTBFQTtFQUE0QyxnQkFBQTtBZGsxRTVDO0FjajFFQTtFQUEyQyxnQkFBQTtBZHExRTNDO0FjcDFFQTtFQUF5QyxnQkFBQTtBZHcxRXpDO0FjdjFFQTtFQUFzQyxnQkFBQTtBZDIxRXRDO0FjMTFFQTtFQUFzQyxnQkFBQTtBZDgxRXRDO0FjNzFFQTtFQUFpQyxnQkFBQTtBZGkyRWpDO0FjaDJFQTtFQUFpQyxnQkFBQTtBZG8yRWpDO0FjbjJFQTtFQUFxQyxnQkFBQTtBZHUyRXJDO0FjdDJFQTtFQUF3QyxnQkFBQTtBZDAyRXhDO0FjejJFQTtFQUFtQyxnQkFBQTtBZDYyRW5DO0FjNTJFQTtFQUFrQyxnQkFBQTtBZGczRWxDO0FjLzJFQTtFQUFzQyxnQkFBQTtBZG0zRXRDO0FjbDNFQTtFQUFpQyxnQkFBQTtBZHMzRWpDO0FjcjNFQTtFQUFxQyxnQkFBQTtBZHkzRXJDO0FjeDNFQTtFQUFvQyxnQkFBQTtBZDQzRXBDO0FjMzNFQTtFQUFvQyxnQkFBQTtBZCszRXBDO0FjOTNFQTtFQUEyQyxnQkFBQTtBZGs0RTNDO0FjajRFQTtFQUFpQyxnQkFBQTtBZHE0RWpDO0FjcDRFQTtFQUFzQyxnQkFBQTtBZHc0RXRDO0FjdjRFQTtFQUFnRCxnQkFBQTtBZDI0RWhEO0FjMTRFQTtFQUFnRCxnQkFBQTtBZDg0RWhEO0FjNzRFQTtFQUFpRCxnQkFBQTtBZGk1RWpEO0FjaDVFQTtFQUE4QyxnQkFBQTtBZG81RTlDO0FjbjVFQTtFQUF1QyxnQkFBQTtBZHU1RXZDO0FjdDVFQTtFQUF5QyxnQkFBQTtBZDA1RXpDO0FjejVFQTtFQUFpQyxnQkFBQTtBZDY1RWpDO0FjNTVFQTtFQUFvQyxnQkFBQTtBZGc2RXBDO0FjLzVFQTtFQUFrQyxnQkFBQTtBZG02RWxDO0FjbDZFQTtFQUFtQyxnQkFBQTtBZHM2RW5DO0FjcjZFQTtFQUFzQyxnQkFBQTtBZHk2RXRDO0FjeDZFQTtFQUFzQyxnQkFBQTtBZDQ2RXRDO0FjMzZFQTtFQUFpQyxnQkFBQTtBZCs2RWpDO0FjOTZFQTtFQUF3QyxnQkFBQTtBZGs3RXhDO0FjajdFQTtFQUFnQyxnQkFBQTtBZHE3RWhDO0FjcDdFQTtFQUF1QyxnQkFBQTtBZHc3RXZDO0FjdjdFQTtFQUEyQyxnQkFBQTtBZDI3RTNDO0FjMTdFQTtFQUF1QyxnQkFBQTtBZDg3RXZDO0FjNzdFQTtFQUEyQyxnQkFBQTtBZGk4RTNDO0FjaDhFQTtFQUFvQyxnQkFBQTtBZG84RXBDO0FjbjhFQTtFQUFzQyxnQkFBQTtBZHU4RXRDO0FjdDhFQTtFQUFxQyxnQkFBQTtBZDA4RXJDO0FjejhFQTtFQUFtQyxnQkFBQTtBZDY4RW5DO0FjNThFQTtFQUFpQyxnQkFBQTtBZGc5RWpDO0FjLzhFQTtFQUF3QyxnQkFBQTtBZG05RXhDO0FjbDlFQTtFQUF3QyxnQkFBQTtBZHM5RXhDO0FjcjlFQTtFQUEwQyxnQkFBQTtBZHk5RTFDO0FjeDlFQTtFQUEwQyxnQkFBQTtBZDQ5RTFDO0FjMzlFQTtFQUFpQyxnQkFBQTtBZCs5RWpDO0FjOTlFQTtFQUFxQyxnQkFBQTtBZGsrRXJDO0FjaitFQTtFQUFtQyxnQkFBQTtBZHErRW5DO0FjcCtFQTtFQUFrQyxnQkFBQTtBZHcrRWxDO0FjditFQTtFQUFvQyxnQkFBQTtBZDIrRXBDO0FjMStFQTtFQUFtQyxnQkFBQTtBZDgrRW5DO0FjNytFQTtFQUFxQyxnQkFBQTtBZGkvRXJDO0FjaC9FQTtFQUFtQyxnQkFBQTtBZG8vRW5DO0Fjbi9FQTtFQUFrQyxnQkFBQTtBZHUvRWxDO0FjdC9FQTtFQUFtQyxnQkFBQTtBZDAvRW5DO0Fjei9FQTtFQUFxQyxnQkFBQTtBZDYvRXJDO0FjNS9FQTtFQUFnQyxnQkFBQTtBZGdnRmhDO0FjLy9FQTtFQUFzQyxnQkFBQTtBZG1nRnRDO0FjbGdGQTtFQUE2QyxnQkFBQTtBZHNnRjdDO0FjcmdGQTtFQUFtQyxnQkFBQTtBZHlnRm5DO0FjeGdGQTtFQUFxQyxnQkFBQTtBZDRnRnJDO0FjM2dGQTtFQUFvQyxnQkFBQTtBZCtnRnBDO0FjOWdGQTtFQUFvQyxnQkFBQTtBZGtoRnBDO0FjamhGQTtFQUFtQyxnQkFBQTtBZHFoRm5DO0FjcGhGQTtFQUFzQyxnQkFBQTtBZHdoRnRDO0FjdmhGQTtFQUF1QyxnQkFBQTtBZDJoRnZDO0FjMWhGQTtFQUEyQyxnQkFBQTtBZDhoRjNDO0FjN2hGQTtFQUFpRCxnQkFBQTtBZGlpRmpEO0FjaGlGQTtFQUE2QyxnQkFBQTtBZG9pRjdDO0FjbmlGQTtFQUF1QyxnQkFBQTtBZHVpRnZDO0FjdGlGQTtFQUFzQyxnQkFBQTtBZDBpRnRDO0FjemlGQTtFQUFrQyxnQkFBQTtBZDZpRmxDO0FjNWlGQTtFQUF5QyxnQkFBQTtBZGdqRnpDO0FjL2lGQTtFQUF5QyxnQkFBQTtBZG1qRnpDO0FjbGpGQTtFQUFtQyxnQkFBQTtBZHNqRm5DO0FjcmpGQTtFQUFnQyxnQkFBQTtBZHlqRmhDO0FjeGpGQTtFQUFxQyxnQkFBQTtBZDRqRnJDO0FjM2pGQTtFQUFtQyxnQkFBQTtBZCtqRm5DO0FjOWpGQTtFQUFtQyxnQkFBQTtBZGtrRm5DO0FjamtGQTtFQUF1QyxnQkFBQTtBZHFrRnZDO0FjcGtGQTtFQUFpQyxnQkFBQTtBZHdrRmpDO0FjdmtGQTtFQUFtQyxnQkFBQTtBZDJrRm5DO0FjMWtGQTtFQUF1QyxnQkFBQTtBZDhrRnZDO0FjN2tGQTtFQUEyQyxnQkFBQTtBZGlsRjNDO0FjaGxGQTtFQUE0QyxnQkFBQTtBZG9sRjVDO0FjbmxGQTtFQUFnRCxnQkFBQTtBZHVsRmhEO0FjdGxGQTtFQUF3QyxnQkFBQTtBZDBsRnhDO0FjemxGQTtFQUE0QyxnQkFBQTtBZDZsRjVDO0FjNWxGQTtFQUFxQyxnQkFBQTtBZGdtRnJDO0FjL2xGQTtFQUFpQyxnQkFBQTtBZG1tRmpDO0FjbG1GQTtFQUEwQyxnQkFBQTtBZHNtRjFDO0Fjcm1GQTtFQUFtQyxnQkFBQTtBZHltRm5DO0FjeG1GQTtFQUF1QyxnQkFBQTtBZDRtRnZDO0FjM21GQTtFQUFxQyxnQkFBQTtBZCttRnJDO0FjOW1GQTtFQUEwQyxnQkFBQTtBZGtuRjFDO0Fjam5GQTtFQUFvQyxnQkFBQTtBZHFuRnBDO0FjcG5GQTtFQUFrQyxnQkFBQTtBZHduRmxDO0Fjdm5GQTtFQUFvQyxnQkFBQTtBZDJuRnBDO0FjMW5GQTtFQUFpQyxnQkFBQTtBZDhuRmpDO0FjN25GQTtFQUEwQyxnQkFBQTtBZGlvRjFDO0FjaG9GQTtFQUFtQyxnQkFBQTtBZG9vRm5DO0Fjbm9GQTtFQUFzQyxnQkFBQTtBZHVvRnRDO0FjdG9GQTtFQUFtQyxnQkFBQTtBZDBvRm5DO0Fjem9GQTtFQUE0QyxnQkFBQTtBZDZvRjVDO0FjNW9GQTtFQUFpQyxnQkFBQTtBZGdwRmpDO0FjL29GQTtFQUFvQyxnQkFBQTtBZG1wRnBDO0FjbHBGQTtFQUFzQyxnQkFBQTtBZHNwRnRDO0FjcnBGQTtFQUEwQyxnQkFBQTtBZHlwRjFDO0FjeHBGQTtFQUFnQyxnQkFBQTtBZDRwRmhDO0FjM3BGQTtFQUFnQyxnQkFBQTtBZCtwRmhDO0FjOXBGQTtFQUF3QyxnQkFBQTtBZGtxRnhDO0FjanFGQTtFQUF5QyxnQkFBQTtBZHFxRnpDO0FjcHFGQTtFQUEyQyxnQkFBQTtBZHdxRjNDO0FjdnFGQTtFQUEwQyxnQkFBQTtBZDJxRjFDO0FjMXFGQTtFQUFpRCxnQkFBQTtBZDhxRmpEO0FjN3FGQTtFQUFvQyxnQkFBQTtBZGlyRnBDO0FjaHJGQTtFQUF5QyxnQkFBQTtBZG9yRnpDO0FjbnJGQTtFQUErQixnQkFBQTtBZHVyRi9CO0FjdHJGQTtFQUFxQyxnQkFBQTtBZDByRnJDO0FjenJGQTtFQUFtQyxnQkFBQTtBZDZyRm5DO0FjNXJGQTtFQUFrQyxnQkFBQTtBZGdzRmxDO0FjL3JGQTtFQUEwQyxnQkFBQTtBZG1zRjFDO0FjbHNGQTtFQUFnQyxnQkFBQTtBZHNzRmhDO0FjcnNGQTtFQUFrQyxnQkFBQTtBZHlzRmxDO0FjeHNGQTtFQUFvQyxnQkFBQTtBZDRzRnBDO0FjM3NGQTtFQUFrQyxnQkFBQTtBZCtzRmxDO0FjOXNGQTtFQUFzQyxnQkFBQTtBZGt0RnRDO0FjanRGQTtFQUFrQyxnQkFBQTtBZHF0RmxDO0FjcHRGQTtFQUF3QyxnQkFBQTtBZHd0RnhDO0FjdnRGQTtFQUF5QyxnQkFBQTtBZDJ0RnpDO0FjMXRGQTtFQUFvQyxnQkFBQTtBZDh0RnBDO0FjN3RGQTtFQUFtQyxnQkFBQTtBZGl1Rm5DO0FjaHVGQTtFQUFtQyxnQkFBQTtBZG91Rm5DO0FjbnVGQTtFQUF3QyxnQkFBQTtBZHV1RnhDO0FjdHVGQTtFQUFzQyxnQkFBQTtBZDB1RnRDO0FjenVGQTtFQUEwQyxnQkFBQTtBZDZ1RjFDO0FjNXVGQTtFQUFzQyxnQkFBQTtBZGd2RnRDO0FjL3VGQTtFQUFvQyxnQkFBQTtBZG12RnBDO0FjbHZGQTtFQUFxQyxnQkFBQTtBZHN2RnJDO0FjcnZGQTtFQUEyQyxnQkFBQTtBZHl2RjNDO0FjeHZGQTtFQUFrQyxnQkFBQTtBZDR2RmxDO0FjM3ZGQTtFQUFvQyxnQkFBQTtBZCt2RnBDO0FjOXZGQTtFQUFrQyxnQkFBQTtBZGt3RmxDO0FjandGQTtFQUF5QyxnQkFBQTtBZHF3RnpDO0FjcHdGQTtFQUFnQyxnQkFBQTtBZHd3RmhDO0FjdndGQTtFQUFtQyxnQkFBQTtBZDJ3Rm5DO0FjMXdGQTtFQUFrQyxnQkFBQTtBZDh3RmxDO0FjN3dGQTtFQUFnQyxnQkFBQTtBZGl4RmhDO0FjaHhGQTtFQUFvQyxnQkFBQTtBZG94RnBDO0FjbnhGQTtFQUFzQyxnQkFBQTtBZHV4RnRDO0FjdHhGQTtFQUFvQyxnQkFBQTtBZDB4RnBDO0FjenhGQTtFQUF1QyxnQkFBQTtBZDZ4RnZDO0FjNXhGQTtFQUF1QyxnQkFBQTtBZGd5RnZDO0FjL3hGQTtFQUF5QyxnQkFBQTtBZG15RnpDO0FjbHlGQTtFQUF5QyxnQkFBQTtBZHN5RnpDO0FjcnlGQTtFQUF5QyxnQkFBQTtBZHl5RnpDO0FjeHlGQTtFQUF1QyxnQkFBQTtBZDR5RnZDO0FjM3lGQTtFQUFvQyxnQkFBQTtBZCt5RnBDO0FjOXlGQTtFQUF1QyxnQkFBQTtBZGt6RnZDO0FjanpGQTtFQUFzQyxnQkFBQTtBZHF6RnRDO0FjcHpGQTtFQUF5QyxnQkFBQTtBZHd6RnpDO0FjdnpGQTtFQUF3QyxnQkFBQTtBZDJ6RnhDO0FjMXpGQTtFQUE4QyxnQkFBQTtBZDh6RjlDO0FjN3pGQTtFQUE2QyxnQkFBQTtBZGkwRjdDO0FjaDBGQTtFQUFrQyxnQkFBQTtBZG8wRmxDO0FjbjBGQTtFQUF3QyxnQkFBQTtBZHUwRnhDO0FjdDBGQTtFQUF5QyxnQkFBQTtBZDAwRnpDO0FjejBGQTtFQUF5QyxnQkFBQTtBZDYwRnpDO0FjNTBGQTtFQUFnQyxnQkFBQTtBZGcxRmhDO0FjLzBGQTtFQUF1QyxnQkFBQTtBZG0xRnZDO0FjbDFGQTtFQUEyQyxnQkFBQTtBZHMxRjNDO0FjcjFGQTtFQUEyQyxnQkFBQTtBZHkxRjNDO0FjeDFGQTtFQUEwQyxnQkFBQTtBZDQxRjFDO0FjMzFGQTtFQUF1QyxnQkFBQTtBZCsxRnZDO0FjOTFGQTtFQUFrQyxnQkFBQTtBZGsyRmxDO0FjajJGQTtFQUFzQyxnQkFBQTtBZHEyRnRDO0FjcDJGQTtFQUF3QyxnQkFBQTtBZHcyRnhDO0FjdjJGQTtFQUE2QyxnQkFBQTtBZDIyRjdDO0FjMTJGQTtFQUF3QyxnQkFBQTtBZDgyRnhDO0FjNzJGQTtFQUE2QyxnQkFBQTtBZGkzRjdDO0FjaDNGQTtFQUFrQyxnQkFBQTtBZG8zRmxDO0FjbjNGQTtFQUEwQyxnQkFBQTtBZHUzRjFDO0FjdDNGQTtFQUE0QyxnQkFBQTtBZDAzRjVDO0FjejNGQTtFQUFpQyxnQkFBQTtBZDYzRmpDO0FjNTNGQTtFQUF3QyxnQkFBQTtBZGc0RnhDO0FjLzNGQTtFQUF3QyxnQkFBQTtBZG00RnhDO0FjbDRGQTtFQUFpQyxnQkFBQTtBZHM0RmpDO0FjcjRGQTtFQUFpQyxnQkFBQTtBZHk0RmpDO0FjeDRGQTtFQUF3QyxnQkFBQTtBZDQ0RnhDO0FjMzRGQTtFQUF3QyxnQkFBQTtBZCs0RnhDO0FjOTRGQTtFQUFvQyxnQkFBQTtBZGs1RnBDO0FjajVGQTtFQUFpQyxnQkFBQTtBZHE1RmpDO0FjcDVGQTtFQUFtQyxnQkFBQTtBZHc1Rm5DO0FjdjVGQTtFQUFnQyxnQkFBQTtBZDI1RmhDO0FjMTVGQTtFQUFzQyxnQkFBQTtBZDg1RnRDO0FjNzVGQTtFQUFpQyxnQkFBQTtBZGk2RmpDO0FjaDZGQTtFQUFxQyxnQkFBQTtBZG82RnJDO0FjbjZGQTtFQUF1QyxnQkFBQTtBZHU2RnZDO0FjdDZGQTtFQUFzQyxnQkFBQTtBZDA2RnRDO0FjejZGQTtFQUFpQyxnQkFBQTtBZDY2RmpDO0FjNTZGQTtFQUEwQyxnQkFBQTtBZGc3RjFDO0FjLzZGQTtFQUF5QyxnQkFBQTtBZG03RnpDO0FjbDdGQTtFQUFnRCxnQkFBQTtBZHM3RmhEO0FjcjdGQTtFQUFvRCxnQkFBQTtBZHk3RnBEO0FjeDdGQTtFQUFrQyxnQkFBQTtBZDQ3RmxDO0FjMzdGQTtFQUF1QyxnQkFBQTtBZCs3RnZDO0FjOTdGQTtFQUF5QyxnQkFBQTtBZGs4RnpDO0FjajhGQTtFQUE0QyxnQkFBQTtBZHE4RjVDO0FjcDhGQTtFQUFtQyxnQkFBQTtBZHc4Rm5DO0FjdjhGQTtFQUF5QyxnQkFBQTtBZDI4RnpDO0FjMThGQTtFQUFtQyxnQkFBQTtBZDg4Rm5DO0FjNzhGQTtFQUErQixnQkFBQTtBZGk5Ri9CO0FjaDlGQTtFQUFtQyxnQkFBQTtBZG85Rm5DO0FjbjlGQTtFQUFxQyxnQkFBQTtBZHU5RnJDO0FjdDlGQTtFQUE0QyxnQkFBQTtBZDA5RjVDO0FjejlGQTtFQUFzQyxnQkFBQTtBZDY5RnRDO0FjNTlGQTtFQUFzQyxnQkFBQTtBZGcrRnRDO0FjLzlGQTtFQUFrQyxnQkFBQTtBZG0rRmxDO0FjbCtGQTtFQUF1QyxnQkFBQTtBZHMrRnZDO0FjcitGQTtFQUF3QyxnQkFBQTtBZHkrRnhDO0FjeCtGQTtFQUFrQyxnQkFBQTtBZDQrRmxDO0FjMytGQTtFQUFzQyxnQkFBQTtBZCsrRnRDO0FjOStGQTtFQUFzQyxnQkFBQTtBZGsvRnRDO0Fjai9GQTtFQUEwQyxnQkFBQTtBZHEvRjFDO0FjcC9GQTtFQUFvQyxnQkFBQTtBZHcvRnBDO0Fjdi9GQTtFQUFtQyxnQkFBQTtBZDIvRm5DO0FjMS9GQTtFQUF5QyxnQkFBQTtBZDgvRnpDO0FjNy9GQTtFQUFvQyxnQkFBQTtBZGlnR3BDO0FjaGdHQTtFQUFrQyxnQkFBQTtBZG9nR2xDO0FjbmdHQTtFQUF3QyxnQkFBQTtBZHVnR3hDO0FjdGdHQTtFQUFtQyxnQkFBQTtBZDBnR25DO0FjemdHQTtFQUFrQyxnQkFBQTtBZDZnR2xDO0FjNWdHQTtFQUFvQyxnQkFBQTtBZGdoR3BDO0FjL2dHQTtFQUFvQyxnQkFBQTtBZG1oR3BDO0FjbGhHQTtFQUFzQyxnQkFBQTtBZHNoR3RDO0FjcmhHQTtFQUFtQyxnQkFBQTtBZHloR25DO0FjeGhHQTtFQUF5QyxnQkFBQTtBZDRoR3pDO0FjM2hHQTtFQUEwQyxnQkFBQTtBZCtoRzFDO0FjOWhHQTtFQUFtQyxnQkFBQTtBZGtpR25DO0FjamlHQTtFQUFpQyxnQkFBQTtBZHFpR2pDO0FjcGlHQTtFQUFxQyxnQkFBQTtBZHdpR3JDO0FjdmlHQTtFQUF1QyxnQkFBQTtBZDJpR3ZDO0FjMWlHQTtFQUFtQyxnQkFBQTtBZDhpR25DO0FjN2lHQTtFQUFrQyxnQkFBQTtBZGlqR2xDO0FjaGpHQTtFQUFzQyxnQkFBQTtBZG9qR3RDO0FjbmpHQTtFQUFtQyxnQkFBQTtBZHVqR25DO0FjdGpHQTtFQUF1QyxnQkFBQTtBZDBqR3ZDO0FjempHQTtFQUF5QyxnQkFBQTtBZDZqR3pDO0FjNWpHQTtFQUFzQyxnQkFBQTtBZGdrR3RDO0FjL2pHQTtFQUFxQyxnQkFBQTtBZG1rR3JDO0FjbGtHQTtFQUFvQyxnQkFBQTtBZHNrR3BDO0FjcmtHQTtFQUFnQyxnQkFBQTtBZHlrR2hDO0FjeGtHQTtFQUFtQyxnQkFBQTtBZDRrR25DO0FjM2tHQTtFQUFpQyxnQkFBQTtBZCtrR2pDO0FjOWtHQTtFQUFpQyxnQkFBQTtBZGtsR2pDO0FjamxHQTtFQUFrQyxnQkFBQTtBZHFsR2xDO0FjcGxHQTtFQUFtQyxnQkFBQTtBZHdsR25DO0FjdmxHQTtFQUF1QyxnQkFBQTtBZDJsR3ZDO0FjMWxHQTtFQUFvQyxnQkFBQTtBZDhsR3BDO0FjN2xHQTtFQUFrQyxnQkFBQTtBZGltR2xDO0FjaG1HQTtFQUFnQyxnQkFBQTtBZG9tR2hDO0Fjbm1HQTtFQUF1QyxnQkFBQTtBZHVtR3ZDO0FjdG1HQTtFQUF1QyxnQkFBQTtBZDBtR3ZDO0Fjem1HQTtFQUFrQyxnQkFBQTtBZDZtR2xDO0FjNW1HQTtFQUEyQyxnQkFBQTtBZGduRzNDO0FjL21HQTtFQUE2QyxnQkFBQTtBZG1uRzdDO0FjbG5HQTtFQUEyQyxnQkFBQTtBZHNuRzNDO0Fjcm5HQTtFQUFvQyxnQkFBQTtBZHluR3BDO0FjeG5HQTtFQUF1QyxnQkFBQTtBZDRuR3ZDO0FjM25HQTtFQUFvQyxnQkFBQTtBZCtuR3BDO0FjOW5HQTtFQUFxQyxnQkFBQTtBZGtvR3JDO0Fjam9HQTtFQUFtQyxnQkFBQTtBZHFvR25DO0FjcG9HQTtFQUF1QyxnQkFBQTtBZHdvR3ZDO0Fjdm9HQTtFQUFpQyxnQkFBQTtBZDJvR2pDO0FjMW9HQTtFQUFzQyxnQkFBQTtBZDhvR3RDO0FjN29HQTtFQUEyQyxnQkFBQTtBZGlwRzNDO0FjaHBHQTtFQUFpQyxnQkFBQTtBZG9wR2pDO0FjbnBHQTtFQUFtQyxnQkFBQTtBZHVwR25DO0FjdHBHQTtFQUFtQyxnQkFBQTtBZDBwR25DO0FjenBHQTtFQUF3QyxnQkFBQTtBZDZwR3hDO0FjNXBHQTtFQUFtQyxnQkFBQTtBZGdxR25DO0FjL3BHQTtFQUFtQyxnQkFBQTtBZG1xR25DO0FjbHFHQTtFQUFvQyxnQkFBQTtBZHNxR3BDO0FjcnFHQTtFQUFtQyxnQkFBQTtBZHlxR25DO0FjeHFHQTtFQUEwQyxnQkFBQTtBZDRxRzFDO0FjM3FHQTtFQUE0QyxnQkFBQTtBZCtxRzVDO0FjOXFHQTtFQUF5QyxnQkFBQTtBZGtyR3pDO0FjanJHQTtFQUF3QyxnQkFBQTtBZHFyR3hDO0FjcHJHQTtFQUF3QyxnQkFBQTtBZHdyR3hDO0FjdnJHQTtFQUFxQyxnQkFBQTtBZDJyR3JDO0FjMXJHQTtFQUFxQyxnQkFBQTtBZDhyR3JDO0FjN3JHQTtFQUFtQyxnQkFBQTtBZGlzR25DO0FjaHNHQTtFQUFtQyxnQkFBQTtBZG9zR25DO0FjbnNHQTtFQUF5QyxnQkFBQTtBZHVzR3pDO0FjdHNHQTtFQUFtQyxnQkFBQTtBZDBzR25DO0FjenNHQTtFQUFrQyxnQkFBQTtBZDZzR2xDO0FjNXNHQTtFQUFzQyxnQkFBQTtBZGd0R3RDO0FjL3NHQTtFQUE2QyxnQkFBQTtBZG10RzdDO0FjbHRHQTtFQUF5QyxnQkFBQTtBZHN0R3pDO0FjcnRHQTtFQUF3QyxnQkFBQTtBZHl0R3hDO0FjeHRHQTtFQUF1QyxnQkFBQTtBZDR0R3ZDO0FjM3RHQTtFQUFpQyxnQkFBQTtBZCt0R2pDO0FjOXRHQTtFQUEwQyxnQkFBQTtBZGt1RzFDO0FjanVHQTtFQUF5QyxnQkFBQTtBZHF1R3pDO0FjcHVHQTtFQUF3QyxnQkFBQTtBZHd1R3hDO0FjdnVHQTtFQUF5QyxnQkFBQTtBZDJ1R3pDO0FjMXVHQTtFQUE0QyxnQkFBQTtBZDh1RzVDO0FjN3VHQTtFQUEwQyxnQkFBQTtBZGl2RzFDO0FjaHZHQTtFQUFxQyxnQkFBQTtBZG92R3JDO0FjbnZHQTtFQUFtQyxnQkFBQTtBZHV2R25DO0FjdHZHQTtFQUF3QyxnQkFBQTtBZDB2R3hDO0FjenZHQTtFQUFpQyxnQkFBQTtBZDZ2R2pDO0FjNXZHQTtFQUF3QyxnQkFBQTtBZGd3R3hDO0FjL3ZHQTtFQUEwQyxnQkFBQTtBZG13RzFDO0FjbHdHQTtFQUF5QyxnQkFBQTtBZHN3R3pDO0FjcndHQTtFQUFtQyxnQkFBQTtBZHl3R25DO0FjeHdHQTtFQUFzQyxnQkFBQTtBZDR3R3RDO0FjM3dHQTtFQUFxQyxnQkFBQTtBZCt3R3JDO0FjOXdHQTtFQUF3QyxnQkFBQTtBZGt4R3hDO0FjanhHQTtFQUFvQyxnQkFBQTtBZHF4R3BDO0FjcHhHQTtFQUFvQyxnQkFBQTtBZHd4R3BDO0FjdnhHQTtFQUFpQyxnQkFBQTtBZDJ4R2pDO0FjMXhHQTtFQUFvQyxnQkFBQTtBZDh4R3BDO0FjN3hHQTtFQUFtQyxnQkFBQTtBZGl5R25DO0FjaHlHQTtFQUFtQyxnQkFBQTtBZG95R25DO0FjbnlHQTtFQUEwQyxnQkFBQTtBZHV5RzFDO0FjdHlHQTtFQUFrQyxnQkFBQTtBZDB5R2xDO0FjenlHQTtFQUE2QyxnQkFBQTtBZDZ5RzdDO0FjNXlHQTtFQUFxQyxnQkFBQTtBZGd6R3JDO0FjL3lHQTtFQUFrQyxnQkFBQTtBZG16R2xDO0FjbHpHQTtFQUFrQyxnQkFBQTtBZHN6R2xDO0FjcnpHQTtFQUF1QyxnQkFBQTtBZHl6R3ZDO0FjeHpHQTtFQUFrQyxnQkFBQTtBZDR6R2xDO0FjM3pHQTtFQUFtQyxnQkFBQTtBZCt6R25DO0FjOXpHQTtFQUFzQyxnQkFBQTtBZGswR3RDO0FjajBHQTtFQUF1QyxnQkFBQTtBZHEwR3ZDO0FjcDBHQTtFQUFrQyxnQkFBQTtBZHcwR2xDO0FjdjBHQTtFQUF1QyxnQkFBQTtBZDIwR3ZDO0FjMTBHQTtFQUF1QyxnQkFBQTtBZDgwR3ZDO0FjNzBHQTtFQUFpQyxnQkFBQTtBZGkxR2pDO0FjaDFHQTtFQUFvQyxnQkFBQTtBZG8xR3BDO0FjbjFHQTtFQUF3QyxnQkFBQTtBZHUxR3hDO0FjdDFHQTtFQUFnQyxnQkFBQTtBZDAxR2hDO0FjejFHQTtFQUFxQyxnQkFBQTtBZDYxR3JDO0FjNTFHQTtFQUEyQyxnQkFBQTtBZGcyRzNDO0FjLzFHQTtFQUE0QyxnQkFBQTtBZG0yRzVDO0FjbDJHQTtFQUF5QyxnQkFBQTtBZHMyR3pDO0FjcjJHQTtFQUFzQyxnQkFBQTtBZHkyR3RDO0FjeDJHQTtFQUFvQyxnQkFBQTtBZDQyR3BDO0FjMzJHQTtFQUFxQyxnQkFBQTtBZCsyR3JDO0FjOTJHQTtFQUFrQyxnQkFBQTtBZGszR2xDO0FjajNHQTtFQUF3QyxnQkFBQTtBZHEzR3hDO0FjcDNHQTtFQUFpQyxnQkFBQTtBZHczR2pDO0FjdjNHQTtFQUE0QyxnQkFBQTtBZDIzRzVDO0FjMTNHQTtFQUEwQyxnQkFBQTtBZDgzRzFDO0FjNzNHQTtFQUE2QyxnQkFBQTtBZGk0RzdDO0FjaDRHQTtFQUEyQyxnQkFBQTtBZG80RzNDO0FjbjRHQTtFQUFzQyxnQkFBQTtBZHU0R3RDO0FjdDRHQTtFQUE4QyxnQkFBQTtBZDA0RzlDO0FjejRHQTtFQUE0QyxnQkFBQTtBZDY0RzVDO0FjNTRHQTtFQUFvQyxnQkFBQTtBZGc1R3BDO0FjLzRHQTtFQUF1QyxnQkFBQTtBZG01R3ZDO0FjbDVHQTtFQUF1QyxnQkFBQTtBZHM1R3ZDO0FjcjVHQTtFQUFnQyxnQkFBQTtBZHk1R2hDO0FjeDVHQTtFQUEwQyxnQkFBQTtBZDQ1RzFDO0FjMzVHQTtFQUFvQyxnQkFBQTtBZCs1R3BDO0FjOTVHQTtFQUF5QyxnQkFBQTtBZGs2R3pDO0FjajZHQTtFQUFtQyxnQkFBQTtBZHE2R25DO0FjcDZHQTtFQUFvQyxnQkFBQTtBZHc2R3BDO0FjdjZHQTtFQUFvQyxnQkFBQTtBZDI2R3BDO0FjMTZHQTtFQUFvQyxnQkFBQTtBZDg2R3BDO0FjNzZHQTtFQUFzQyxnQkFBQTtBZGk3R3RDO0FjaDdHQTtFQUFtQyxnQkFBQTtBZG83R25DO0FjbjdHQTtFQUF3QyxnQkFBQTtBZHU3R3hDO0FjdDdHQTtFQUE0QyxnQkFBQTtBZDA3RzVDO0FjejdHQTtFQUF3QyxnQkFBQTtBZDY3R3hDO0FjNTdHQTtFQUEyQyxnQkFBQTtBZGc4RzNDO0FjLzdHQTtFQUEyQyxnQkFBQTtBZG04RzNDO0FjbDhHQTtFQUFrQyxnQkFBQTtBZHM4R2xDO0FjcjhHQTtFQUFpQyxnQkFBQTtBZHk4R2pDO0FjeDhHQTtFQUE4QyxnQkFBQTtBZDQ4RzlDO0FjMzhHQTtFQUFzQyxnQkFBQTtBZCs4R3RDO0FjOThHQTtFQUEwQyxnQkFBQTtBZGs5RzFDO0FjajlHQTtFQUEwQyxnQkFBQTtBZHE5RzFDO0FjcDlHQTtFQUF5QyxnQkFBQTtBZHc5R3pDO0FjdjlHQTtFQUF1QyxnQkFBQTtBZDI5R3ZDO0FjMTlHQTtFQUFrQyxnQkFBQTtBZDg5R2xDO0FjNzlHQTtFQUF5QyxnQkFBQTtBZGkrR3pDO0FjaCtHQTtFQUF5QyxnQkFBQTtBZG8rR3pDO0FjbitHQTtFQUEwQyxnQkFBQTtBZHUrRzFDO0FjdCtHQTtFQUF5QyxnQkFBQTtBZDArR3pDO0FjeitHQTtFQUF3QyxnQkFBQTtBZDYrR3hDO0FjNStHQTtFQUF5QyxnQkFBQTtBZGcvR3pDO0FjLytHQTtFQUF3QyxnQkFBQTtBZG0vR3hDO0FjbC9HQTtFQUFpQyxnQkFBQTtBZHMvR2pDO0Fjci9HQTtFQUF3QyxnQkFBQTtBZHkvR3hDO0FjeC9HQTtFQUFzQyxnQkFBQTtBZDQvR3RDO0FjMy9HQTtFQUFrQyxnQkFBQTtBZCsvR2xDO0FjOS9HQTtFQUFzQyxnQkFBQTtBZGtnSHRDO0FjamdIQTtFQUFtQyxnQkFBQTtBZHFnSG5DO0FjcGdIQTtFQUFtQyxnQkFBQTtBZHdnSG5DO0FjdmdIQTtFQUF3QyxnQkFBQTtBZDJnSHhDO0FjMWdIQTtFQUEwQyxnQkFBQTtBZDhnSDFDO0FjN2dIQTtFQUFtQyxnQkFBQTtBZGloSG5DO0FjaGhIQTtFQUFxQyxnQkFBQTtBZG9oSHJDO0FjbmhIQTtFQUF3QyxnQkFBQTtBZHVoSHhDO0FjdGhIQTtFQUF5QyxnQkFBQTtBZDBoSHpDO0FjemhIQTtFQUF3QyxnQkFBQTtBZDZoSHhDO0FjNWhIQTtFQUErQyxnQkFBQTtBZGdpSC9DO0FjL2hIQTtFQUFzQyxnQkFBQTtBZG1pSHRDO0FjbGlIQTtFQUFtQyxnQkFBQTtBZHNpSG5DO0FjcmlIQTtFQUFxQyxnQkFBQTtBZHlpSHJDO0FjeGlIQTtFQUE2QyxnQkFBQTtBZDRpSDdDO0FjM2lIQTtFQUFnQyxnQkFBQTtBZCtpSGhDO0FjOWlIQTtFQUF3QyxnQkFBQTtBZGtqSHhDO0FjampIQTtFQUF3QyxnQkFBQTtBZHFqSHhDO0FjcGpIQTtFQUFtQyxnQkFBQTtBZHdqSG5DO0FjdmpIQTtFQUFxQyxnQkFBQTtBZDJqSHJDO0FjMWpIQTtFQUFpQyxnQkFBQTtBZDhqSGpDO0FjN2pIQTtFQUF1QyxnQkFBQTtBZGlrSHZDO0FjaGtIQTtFQUFvQyxnQkFBQTtBZG9rSHBDO0FjbmtIQTtFQUEwQyxnQkFBQTtBZHVrSDFDO0FjdGtIQTtFQUFvQyxnQkFBQTtBZDBrSHBDO0FjemtIQTtFQUFzQyxnQkFBQTtBZDZrSHRDO0FjNWtIQTtFQUFpQyxnQkFBQTtBZGdsSGpDO0FjL2tIQTtFQUFxQyxnQkFBQTtBZG1sSHJDO0FjbGxIQTtFQUFvQyxnQkFBQTtBZHNsSHBDO0FjcmxIQTtFQUFrQyxnQkFBQTtBZHlsSGxDO0FjeGxIQTtFQUF5QyxnQkFBQTtBZDRsSHpDO0FjM2xIQTtFQUFtQyxnQkFBQTtBZCtsSG5DO0FjOWxIQTtFQUF1QyxnQkFBQTtBZGttSHZDO0Fjam1IQTtFQUFvQyxnQkFBQTtBZHFtSHBDO0FjcG1IQTtFQUEyQyxnQkFBQTtBZHdtSDNDO0Fjdm1IQTtFQUFnQyxnQkFBQTtBZDJtSGhDO0FjMW1IQTtFQUFpQyxnQkFBQTtBZDhtSGpDO0FjN21IQTtFQUFpQyxnQkFBQTtBZGluSGpDO0FjaG5IQTtFQUFrQyxnQkFBQTtBZG9uSGxDO0Fjbm5IQTtFQUFpQyxnQkFBQTtBZHVuSGpDO0FjdG5IQTtFQUFzQyxnQkFBQTtBZDBuSHRDO0Fjem5IQTtFQUFrQyxnQkFBQTtBZDZuSGxDO0FjNW5IQTtFQUF1QyxnQkFBQTtBZGdvSHZDO0FjL25IQTtFQUFxQyxnQkFBQTtBZG1vSHJDO0FjbG9IQTtFQUEyQyxnQkFBQTtBZHNvSDNDO0Fjcm9IQTtFQUE2QyxnQkFBQTtBZHlvSDdDO0FjeG9IQTtFQUE0QyxnQkFBQTtBZDRvSDVDO0FjM29IQTtFQUEwQyxnQkFBQTtBZCtvSDFDO0FjOW9IQTtFQUFrQyxnQkFBQTtBZGtwSGxDO0FjanBIQTtFQUFxQyxnQkFBQTtBZHFwSHJDO0FjcHBIQTtFQUF3QyxnQkFBQTtBZHdwSHhDO0FjdnBIQTtFQUF1QyxnQkFBQTtBZDJwSHZDO0FjMXBIQTtFQUErQixnQkFBQTtBZDhwSC9CO0FjN3BIQTtFQUFxQyxnQkFBQTtBZGlxSHJDO0FjaHFIQTtFQUFvQyxnQkFBQTtBZG9xSHBDO0FjbnFIQTtFQUF5QyxnQkFBQTtBZHVxSHpDO0FjdHFIQTtFQUEwQyxnQkFBQTtBZDBxSDFDO0FjenFIQTtFQUFvQyxnQkFBQTtBZDZxSHBDO0FjNXFIQTtFQUFzQyxnQkFBQTtBZGdySHRDO0FjL3FIQTtFQUF3QyxnQkFBQTtBZG1ySHhDO0FjbHJIQTtFQUE4QyxnQkFBQTtBZHNySDlDO0FjcnJIQTtFQUE2QyxnQkFBQTtBZHlySDdDO0FjeHJIQTtFQUE2QyxnQkFBQTtBZDRySDdDO0FjM3JIQTtFQUFnRCxnQkFBQTtBZCtySGhEO0FjOXJIQTtFQUF1RCxnQkFBQTtBZGtzSHZEO0FjanNIQTtFQUF3QyxnQkFBQTtBZHFzSHhDO0FjcHNIQTtFQUF3QyxnQkFBQTtBZHdzSHhDO0FjdnNIQTtFQUFzQyxnQkFBQTtBZDJzSHRDO0FjMXNIQTtFQUFzQyxnQkFBQTtBZDhzSHRDO0FjN3NIQTtFQUF1QyxnQkFBQTtBZGl0SHZDO0FjaHRIQTtFQUFrQyxnQkFBQTtBZG90SGxDO0FjbnRIQTtFQUF5QyxnQkFBQTtBZHV0SHpDO0FjdHRIQTtFQUFpQyxnQkFBQTtBZDB0SGpDO0FjenRIQTtFQUF1QyxnQkFBQTtBZDZ0SHZDO0FjNXRIQTtFQUFrQyxnQkFBQTtBZGd1SGxDO0FjL3RIQTtFQUF1QyxnQkFBQTtBZG11SHZDO0FjbHVIQTtFQUFzQyxnQkFBQTtBZHN1SHRDO0FjcnVIQTtFQUFtQyxnQkFBQTtBZHl1SG5DO0FjeHVIQTtFQUF5QyxnQkFBQTtBZDR1SHpDO0FjM3VIQTtFQUFvQyxnQkFBQTtBZCt1SHBDO0FjOXVIQTtFQUFrQyxnQkFBQTtBZGt2SGxDO0FjanZIQTtFQUFrQyxnQkFBQTtBZHF2SGxDO0FjcHZIQTtFQUFrQyxnQkFBQTtBZHd2SGxDO0FjdnZIQTtFQUF1QyxnQkFBQTtBZDJ2SHZDO0FjMXZIQTtFQUFvQyxnQkFBQTtBZDh2SHBDO0FjN3ZIQTtFQUE2QyxnQkFBQTtBZGl3SDdDO0FjaHdIQTtFQUFzQyxnQkFBQTtBZG93SHRDO0FjbndIQTtFQUEwQyxnQkFBQTtBZHV3SDFDO0FjdHdIQTtFQUFrQyxnQkFBQTtBZDB3SGxDO0FjendIQTtFQUFpQyxnQkFBQTtBZDZ3SGpDO0FjNXdIQTtFQUF3QyxnQkFBQTtBZGd4SHhDO0FjL3dIQTtFQUE0QyxnQkFBQTtBZG14SDVDO0FjbHhIQTtFQUFrQyxnQkFBQTtBZHN4SGxDO0FjcnhIQTtFQUFzQyxnQkFBQTtBZHl4SHRDO0FjeHhIQTtFQUEwQyxnQkFBQTtBZDR4SDFDO0FjM3hIQTtFQUE4QyxnQkFBQTtBZCt4SDlDO0FjOXhIQTtFQUFpQyxnQkFBQTtBZGt5SGpDO0FjanlIQTtFQUFtQyxnQkFBQTtBZHF5SG5DO0FjcHlIQTtFQUF3QyxnQkFBQTtBZHd5SHhDO0FjdnlIQTtFQUFtQyxnQkFBQTtBZDJ5SG5DO0FjMXlIQTtFQUFrQyxnQkFBQTtBZDh5SGxDO0FjN3lIQTtFQUEwQyxnQkFBQTtBZGl6SDFDO0FjaHpIQTtFQUEwQyxnQkFBQTtBZG96SDFDO0FjbnpIQTtFQUF5QyxnQkFBQTtBZHV6SHpDO0FjdHpIQTtFQUF5QyxnQkFBQTtBZDB6SHpDO0FjenpIQTtFQUFtQyxnQkFBQTtBZDZ6SG5DO0FjNXpIQTtFQUFnQyxnQkFBQTtBZGcwSGhDO0FjL3pIQTtFQUFtQyxnQkFBQTtBZG0wSG5DO0FjbDBIQTtFQUEwQyxnQkFBQTtBZHMwSDFDO0FjcjBIQTtFQUErQixnQkFBQTtBZHkwSC9CO0FjeDBIQTtFQUFtQyxnQkFBQTtBZDQwSG5DO0FjMzBIQTtFQUFvQyxhQUFBO0FkKzBIcEM7QWM5MEhBO0VBQTJDLGdCQUFBO0FkazFIM0M7QWNqMUhBO0VBQWtDLGdCQUFBO0FkcTFIbEM7QWNwMUhBO0VBQWlDLGdCQUFBO0FkdzFIakM7QWN2MUhBO0VBQW1DLGdCQUFBO0FkMjFIbkM7QWMxMUhBO0VBQWtDLGdCQUFBO0FkODFIbEM7QWM3MUhBO0VBQXFDLGdCQUFBO0FkaTJIckM7QWNoMkhBO0VBQTJDLGdCQUFBO0FkbzJIM0M7QWNuMkhBO0VBQXNDLGdCQUFBO0FkdTJIdEM7QWN0MkhBO0VBQWlDLGdCQUFBO0FkMDJIakM7QWN6MkhBO0VBQXFDLGdCQUFBO0FkNjJIckM7QWM1MkhBO0VBQXdDLGdCQUFBO0FkZzNIeEM7QWMvMkhBO0VBQTZDLGdCQUFBO0FkbTNIN0M7QWNsM0hBO0VBQXVDLGdCQUFBO0FkczNIdkM7QWNyM0hBO0VBQW1DLGdCQUFBO0FkeTNIbkM7QWN4M0hBO0VBQW1DLGdCQUFBO0FkNDNIbkM7QWMzM0hBO0VBQXVDLGdCQUFBO0FkKzNIdkM7QWM5M0hBO0VBQW9DLGdCQUFBO0FkazRIcEM7QWNqNEhBO0VBQW1DLGdCQUFBO0FkcTRIbkM7QWNwNEhBO0VBQWdDLGdCQUFBO0FkdzRIaEM7QWN2NEhBO0VBQWdDLGdCQUFBO0FkMjRIaEM7QWMxNEhBO0VBQWlDLGdCQUFBO0FkODRIakM7QWM3NEhBO0VBQXFDLGdCQUFBO0FkaTVIckM7QWNoNUhBO0VBQTJDLGdCQUFBO0FkbzVIM0M7QWNuNUhBO0VBQTJDLGdCQUFBO0FkdTVIM0M7QWN0NUhBO0VBQXVDLGdCQUFBO0FkMDVIdkM7QWN6NUhBO0VBQXdDLGdCQUFBO0FkNjVIeEM7QWM1NUhBO0VBQXVDLGdCQUFBO0FkZzZIdkM7QWMvNUhBO0VBQXFDLGdCQUFBO0FkbTZIckM7QWNsNkhBO0VBQXNDLGdCQUFBO0FkczZIdEM7QWNyNkhBO0VBQXlDLGdCQUFBO0FkeTZIekM7QWN4NkhBO0VBQTBDLGdCQUFBO0FkNDZIMUM7QWMzNkhBO0VBQXlDLGdCQUFBO0FkKzZIekM7QWM5NkhBO0VBQXNDLGdCQUFBO0FkazdIdEM7QWNqN0hBO0VBQW9DLGdCQUFBO0FkcTdIcEM7QWNwN0hBO0VBQXVDLGdCQUFBO0FkdzdIdkM7QWN2N0hBO0VBQXVDLGdCQUFBO0FkMjdIdkM7QWMxN0hBO0VBQXVDLGdCQUFBO0FkODdIdkM7QWM3N0hBO0VBQXNDLGdCQUFBO0FkaThIdEM7QWNoOEhBO0VBQXdDLGdCQUFBO0FkbzhIeEM7QWNuOEhBO0VBQXdDLGdCQUFBO0FkdThIeEM7QWN0OEhBO0VBQXVDLGdCQUFBO0FkMDhIdkM7QWN6OEhBO0VBQXFDLGdCQUFBO0FkNjhIckM7QWM1OEhBO0VBQXFDLGdCQUFBO0FkZzlIckM7QWMvOEhBO0VBQXVDLGdCQUFBO0FkbTlIdkM7QWNsOUhBO0VBQWtDLGdCQUFBO0FkczlIbEM7QWNyOUhBO0VBQXNDLGdCQUFBO0FkeTlIdEM7QWN4OUhBO0VBQWlDLGdCQUFBO0FkNDlIakM7QWMzOUhBO0VBQXFDLGdCQUFBO0FkKzlIckM7QWM5OUhBO0VBQTBDLGdCQUFBO0FkaytIMUM7QWNqK0hBO0VBQXFDLGdCQUFBO0FkcStIckM7QWNwK0hBO0VBQW1DLGdCQUFBO0FkdytIbkM7QWN2K0hBO0VBQTBDLGdCQUFBO0FkMitIMUM7QWMxK0hBO0VBQWtDLGdCQUFBO0FkOCtIbEM7QWM3K0hBO0VBQXlDLGdCQUFBO0FkaS9IekM7QWNoL0hBO0VBQXVDLGdCQUFBO0Fkby9IdkM7QWNuL0hBO0VBQW9DLGdCQUFBO0FkdS9IcEM7QWN0L0hBO0VBQW1DLGdCQUFBO0FkMC9IbkM7QWN6L0hBO0VBQTBDLGdCQUFBO0FkNi9IMUM7QWM1L0hBO0VBQWlDLGdCQUFBO0FkZ2dJakM7QWMvL0hBO0VBQWtDLGdCQUFBO0FkbWdJbEM7QWNsZ0lBO0VBQWtDLGdCQUFBO0Fkc2dJbEM7QWNyZ0lBO0VBQWtDLGdCQUFBO0FkeWdJbEM7QWN4Z0lBO0VBQXdDLGdCQUFBO0FkNGdJeEM7QWMzZ0lBO0VBQW1DLGdCQUFBO0FkK2dJbkM7QWM5Z0lBO0VBQWtDLGdCQUFBO0Fka2hJbEM7QWNqaElBO0VBQXlDLGdCQUFBO0FkcWhJekM7QWNwaElBO0VBQW9DLGdCQUFBO0Fkd2hJcEM7QWN2aElBO0VBQWlDLGdCQUFBO0FkMmhJakM7QWMxaElBO0VBQStCLGdCQUFBO0FkOGhJL0I7QWM3aElBO0VBQWdDLGdCQUFBO0FkaWlJaEM7QWNoaUlBO0VBQTRDLGdCQUFBO0Fkb2lJNUM7QWNuaUlBO0VBQXdDLGdCQUFBO0FkdWlJeEM7QWN0aUlBO0VBQXdDLGdCQUFBO0FkMGlJeEM7QWN6aUlBO0VBQXVDLGdCQUFBO0FkNmlJdkM7QWM1aUlBO0VBQXNDLGdCQUFBO0FkZ2pJdEM7QWMvaUlBO0VBQXFDLGdCQUFBO0FkbWpJckM7QWNsaklBO0VBQXlDLGdCQUFBO0Fkc2pJekM7QWNyaklBO0VBQWtDLGdCQUFBO0FkeWpJbEM7QWN4aklBO0VBQW9DLGdCQUFBO0FkNGpJcEM7QWMzaklBO0VBQW1DLGdCQUFBO0FkK2pJbkM7QWM5aklBO0VBQXNDLGdCQUFBO0Fka2tJdEM7QWNqa0lBO0VBQWtDLGdCQUFBO0FkcWtJbEM7QWNwa0lBO0VBQXdDLGdCQUFBO0Fkd2tJeEM7QWN2a0lBO0VBQWlDLGdCQUFBO0FkMmtJakM7QWMxa0lBO0VBQW1DLGdCQUFBO0FkOGtJbkM7QWM3a0lBO0VBQWtDLGdCQUFBO0FkaWxJbEM7QWNobElBO0VBQW1DLGdCQUFBO0Fkb2xJbkM7QWNubElBO0VBQTJDLGdCQUFBO0FkdWxJM0M7QWN0bElBO0VBQW1DLGdCQUFBO0FkMGxJbkM7QWN6bElBO0VBQXFDLGdCQUFBO0FkNmxJckM7QWM1bElBO0VBQTRDLGdCQUFBO0FkZ21JNUM7QWMvbElBO0VBQXVDLGdCQUFBO0FkbW1JdkM7QWNsbUlBO0VBQWtDLGdCQUFBO0Fkc21JbEM7QWNybUlBO0VBQWlDLGdCQUFBO0FkeW1JakM7QWN4bUlBO0VBQXdDLGdCQUFBO0FkNG1JeEM7QWMzbUlBO0VBQWlDLGdCQUFBO0FkK21JakM7QWM5bUlBO0VBQXlDLGdCQUFBO0Fka25JekM7QWNqbklBO0VBQTRDLGdCQUFBO0FkcW5JNUM7QWNwbklBO0VBQTRDLGdCQUFBO0Fkd25JNUM7QWN2bklBO0VBQTJDLGdCQUFBO0FkMm5JM0M7QWMxbklBO0VBQW9DLGdCQUFBO0FkOG5JcEM7QWM3bklBO0VBQXdDLGdCQUFBO0FkaW9JeEM7QWNob0lBO0VBQXVDLGdCQUFBO0Fkb29JdkM7QWNub0lBO0VBQTJDLGdCQUFBO0FkdW9JM0M7QWN0b0lBO0VBQWdDLGdCQUFBO0FkMG9JaEM7QWN6b0lBO0VBQWlELGdCQUFBO0FkNm9JakQ7QWM1b0lBO0VBQWdELGdCQUFBO0FkZ3BJaEQ7QWMvb0lBO0VBQXFDLGdCQUFBO0FkbXBJckM7QWNscElBO0VBQXNDLGdCQUFBO0Fkc3BJdEM7QWNycElBO0VBQTZDLGdCQUFBO0FkeXBJN0M7QWN4cElBO0VBQXVDLGdCQUFBO0FkNHBJdkM7QWMzcElBO0VBQXVDLGdCQUFBO0FkK3BJdkM7QWM5cElBO0VBQW9DLGdCQUFBO0Fka3FJcEM7QWNqcUlBO0VBQW9DLGdCQUFBO0FkcXFJcEM7QWNwcUlBO0VBQW1DLGdCQUFBO0Fkd3FJbkM7QWN2cUlBO0VBQWtDLGdCQUFBO0FkMnFJbEM7QWMxcUlBO0VBQWlDLGdCQUFBO0FkOHFJakM7QWM3cUlBO0VBQWlDLGdCQUFBO0FkaXJJakM7QWNocklBO0VBQXdDLGdCQUFBO0Fkb3JJeEM7QWNucklBO0VBQXlDLGdCQUFBO0FkdXJJekM7QWN0cklBO0VBQWtDLGdCQUFBO0FkMHJJbEM7QWN6cklBO0VBQW1DLGdCQUFBO0FkNnJJbkM7QWM1cklBO0VBQW1DLGdCQUFBO0FkZ3NJbkM7QWMvcklBO0VBQWlELGdCQUFBO0FkbXNJakQ7QWNsc0lBO0VBQWlDLGdCQUFBO0Fkc3NJakM7QWNyc0lBO0VBQWlDLGdCQUFBO0FkeXNJakM7QWN4c0lBO0VBQXFDLGdCQUFBO0FkNHNJckM7QWMzc0lBO0VBQXFDLGdCQUFBO0FkK3NJckM7QWM5c0lBO0VBQWtDLGdCQUFBO0Fka3RJbEM7QWNqdElBO0VBQW9DLGdCQUFBO0FkcXRJcEM7QWNwdElBO0VBQTJDLGdCQUFBO0Fkd3RJM0M7QWN2dElBO0VBQWtDLGdCQUFBO0FkMnRJbEM7QWU3aUxBO0VIMEJFLFNBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FadWhMRjtBWTdnTEU7RUFFRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBWitnTEo7QWdCcGtMQTs7O0VBQUE7QUFNQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCVEo0QjtFU0s1Qiw4Q0FBQTtFQUNBLDRVQUFBO0FoQnFrTEY7QWdCOWpMQTs7Ozs7Ozs7RUFFRSxrQ0FBQTtFQUNBLGdCQUFBO0FoQnNrTEY7QWlCNWxMQTs7O0VBQUE7QUFNQTtFQUNFLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCVko0QjtFVUs1QiwrQ0FBQTtFQUNBLGlWQUFBO0FqQjZsTEY7QWlCdGxMQTtFQUNFLG9DQUFBO0FqQndsTEY7QWtCNW1MQTs7O0VBQUE7QUFNQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCWEo0QjtFV0s1QixnREFBQTtFQUNBLHNWQUFBO0FsQjZtTEY7QWtCdG1MQTtFQUNFLGtDQUFBO0VBQ0EsZ0JBQUE7QWxCd21MRjtBbUJwbkxBOzs7O0VBQUE7QUFlQTs7OztFQUFBO0FBb0JBOzs7O0VBQUE7QUF1RkE7Ozs7RUFBQTtBQWFBOzs7O0VBQUE7QUFhQTs7OztFQUFBO0FBZUE7Ozs7RUFBQTtBQStEQTtFQUNFLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FuQnc3S0Y7QW1CNzhLRTtFQUVFLGdCQUFBO0FuQjg4S0o7QW1CaDlLRTtFQUVFLGdCQUFBO0FuQmk5S0o7QW1CbjlLRTtFQUVFLGdCQUFBO0FuQm85S0o7QW1CdDlLRTtFQUVFLGdCQUFBO0FuQnU5S0o7QW1CejlLRTtFQUVFLGdCQUFBO0FuQjA5S0o7QW1CNTlLRTtFQUVFLGdCQUFBO0FuQjY5S0o7QW1CLzlLRTtFQUVFLGdCQUFBO0FuQmcrS0o7QW1CbCtLRTtFQUVFLGdCQUFBO0FuQm0rS0o7QW1CcitLRTtFQUVFLGdCQUFBO0FuQnMrS0o7QW1CeCtLRTtFQUVFLGdCQUFBO0FuQnkrS0o7QW1CMytLRTtFQUVFLGdCQUFBO0FuQjQrS0o7QW1COStLRTtFQUVFLGdCQUFBO0FuQisrS0o7QW1Cai9LRTtFQUVFLGdCQUFBO0FuQmsvS0o7QW1CcC9LRTtFQUVFLGdCQUFBO0FuQnEvS0o7QW1Cdi9LRTtFQUVFLGdCQUFBO0FuQncvS0o7QW1CMS9LRTtFQUVFLGdCQUFBO0FuQjIvS0o7QW1CNy9LRTtFQUVFLGdCQUFBO0FuQjgvS0o7QW1CaGdMRTtFQUVFLGdCQUFBO0FuQmlnTEo7QW1CbmdMRTtFQUVFLGdCQUFBO0FuQm9nTEo7QW1CdGdMRTtFQUVFLGdCQUFBO0FuQnVnTEo7QW1CemdMRTtFQUVFLGdCQUFBO0FuQjBnTEo7QW1CNWdMRTtFQUVFLGdCQUFBO0FuQjZnTEo7QW1CL2dMRTtFQUVFLGdCQUFBO0FuQmdoTEo7QW1CbGhMRTtFQUVFLGdCQUFBO0FuQm1oTEo7QW1CcmhMRTtFQUVFLGdCQUFBO0FuQnNoTEo7QW1CeGhMRTtFQUVFLGdCQUFBO0FuQnloTEo7QW1CM2hMRTtFQUVFLGdCQUFBO0FuQjRoTEo7QW1COWhMRTtFQUVFLGdCQUFBO0FuQitoTEo7QW1CamlMRTtFQUVFLGdCQUFBO0FuQmtpTEo7QW1CcGlMRTtFQUVFLGdCQUFBO0FuQnFpTEo7QW1CdmlMRTtFQUVFLGdCQUFBO0FuQndpTEo7QW1CMWlMRTtFQUVFLGdCQUFBO0FuQjJpTEo7QW1CN2lMRTtFQUVFLGdCQUFBO0FuQjhpTEo7QW1CaGpMRTtFQUVFLGdCQUFBO0FuQmlqTEo7QW1CbmpMRTtFQUVFLGdCQUFBO0FuQm9qTEo7QW1CdGpMRTtFQUVFLGdCQUFBO0FuQnVqTEo7QW1CempMRTtFQUVFLGdCQUFBO0FuQjBqTEo7QW1CNWpMRTtFQUVFLGdCQUFBO0FuQjZqTEo7QW1CL2pMRTtFQUVFLGdCQUFBO0FuQmdrTEo7QW1CbGtMRTtFQUVFLGdCQUFBO0FuQm1rTEo7QW1CcmtMRTtFQUVFLGdCQUFBO0FuQnNrTEo7QW1CeGtMRTtFQUVFLGdCQUFBO0FuQnlrTEo7QW1CM2tMRTtFQUVFLGdCQUFBO0FuQjRrTEo7QW1COWtMRTtFQUVFLGdCQUFBO0FuQitrTEo7QW1CamxMRTtFQUVFLGdCQUFBO0FuQmtsTEo7QW1CcGxMRTtFQUVFLGdCQUFBO0FuQnFsTEo7QW1CdmxMRTtFQUVFLGdCQUFBO0FuQndsTEo7QW1CMWxMRTtFQUVFLGdCQUFBO0FuQjJsTEo7QW1CN2xMRTtFQUVFLGdCQUFBO0FuQjhsTEo7QW1CaG1MRTtFQUVFLGdCQUFBO0FuQmltTEo7QW1Cbm1MRTtFQUVFLGdCQUFBO0FuQm9tTEo7QW1CdG1MRTs7OztFQUVFLGdCQUFBO0FuQjBtTEo7QW1CNW1MRTs7OztFQUVFLGdCQUFBO0FuQmduTEo7QW1CbG5MRTtFQUVFLGdCQUFBO0FuQm1uTEo7QW1Ccm5MRTtFQUVFLGFBQUE7QW5Cc25MSjtBbUJ4bkxFO0VBRUUsZ0JBQUE7QW5CeW5MSjtBbUIzbkxFO0VBRUUsZ0JBQUE7QW5CNG5MSjtBbUI5bkxFO0VBRUUsZ0JBQUE7QW5CK25MSjtBbUJqb0xFO0VBRUUsZ0JBQUE7QW5Ca29MSjtBbUJwb0xFO0VBRUUsZ0JBQUE7QW5CcW9MSjtBbUJ2b0xFO0VBRUUsZ0JBQUE7QW5Cd29MSjtBbUIxb0xFO0VBRUUsZ0JBQUE7QW5CMm9MSjtBbUI3b0xFO0VBRUUsZ0JBQUE7QW5COG9MSjtBbUJocExFO0VBRUUsZ0JBQUE7QW5CaXBMSjtBbUJucExFO0VBRUUsZ0JBQUE7QW5Cb3BMSjtBbUJ0cExFO0VBRUUsZ0JBQUE7QW5CdXBMSjtBbUJ6cExFO0VBRUUsZ0JBQUE7QW5CMHBMSjtB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QTtFQUNBLG1CQUFBO0FuQncvTUo7QW1CMy9NRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjYvTUo7QW1CaGdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtnTko7QW1CcmdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVnTko7QW1CMWdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRnTko7QW1CL2dORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmloTko7QW1CcGhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNoTko7QW1CemhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJoTko7QW1COWhORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmdpTko7QW1CbmlORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFpTko7QW1CeGlORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBpTko7QW1CN2lORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitpTko7QW1CbGpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm9qTko7QW1CdmpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnlqTko7QW1CNWpORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjhqTko7QW1CamtORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm1rTko7QW1CdGtORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQndrTko7QW1CM2tORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZrTko7QW1CaGxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtsTko7QW1CcmxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVsTko7QW1CMWxORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRsTko7QW1CL2xORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmltTko7QW1CcG1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNtTko7QW1Cem1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJtTko7QW1COW1ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmduTko7QW1Cbm5ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFuTko7QW1CeG5ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBuTko7QW1CN25ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQituTko7QW1CbG9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm9vTko7QW1Cdm9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnlvTko7QW1CNW9ORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjhvTko7QW1CanBORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm1wTko7QW1CdHBORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQndwTko7QW1CM3BORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZwTko7QW1CaHFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmtxTko7QW1CcnFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnVxTko7QW1CMXFORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjRxTko7QW1CL3FORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmlyTko7QW1CcHJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnNyTko7QW1CenJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJyTko7QW1COXJORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmdzTko7QW1CbnNORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFzTko7QW1CeHNORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBzTko7QW1CN3NORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitzTko7QW1CbHRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm90Tko7QW1CdnRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnl0Tko7QW1CNXRORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjh0Tko7QW1CanVORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm11Tko7QW1CdHVORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnd1Tko7QW1CM3VORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZ1Tko7QW1CaHZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmt2Tko7QW1CcnZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnV2Tko7QW1CMXZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjR2Tko7QW1CL3ZORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQml3Tko7QW1CcHdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnN3Tko7QW1CendORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJ3Tko7QW1COXdORTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFB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cUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNiTGM7RWFNZCxvQkFBQTtBbkNxNVBGO0FtQ3A1UEU7RUFDRSxxQkFBQTtFQUNBLGNiUGM7QXRCNjVQbEI7QW1CbnNQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnFzUEo7QW1CeHNQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjBzUEo7QW1CN3NQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQitzUEo7QW1CbHRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm90UEo7QW1CdnRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnl0UEo7QW1CNXRQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjh0UEo7QW1CanVQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQm11UEo7QW1CdHVQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnd1UEo7QW1CM3VQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjZ1UEo7QW1CaHZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmt2UEo7QW1CcnZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnV2UEo7QW1CMXZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjR2UEo7QW1CL3ZQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQml3UEo7QW1CcHdQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQnN3UEo7QW1CendQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQjJ3UEo7QW1COXdQRTtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FuQmd4UEo7QW1DOTVQRTtFQUNFLFdiOUVhO0VhZ0ZiLHlCQUFBO0VBQ0EsNERBQUE7QW5DKzVQSjtBbUM5NVBJO0VBRUUsV2JwRlc7RWFxRlgsNERBQUE7QW5DKzVQTjtBbUI1eFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5COHhQSjtBbUJqeVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CbXlQSjtBbUJ0eVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5Cd3lQSjtBbUIzeVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CNnlQSjtBbUJoelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5Ca3pQSjtBbUJyelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CdXpQSjtBbUIxelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CNHpQSjtBbUIvelBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CaTBQSjtBbUJwMFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CczBQSjtBbUJ6MFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CMjBQSjtBbUI5MFBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CZzFQSjtBbUJuMVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CcTFQSjtBbUJ4MVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CMDFQSjtBbUI3MVBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CKzFQSjtBbUJsMlBFO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7QW5CbzJQSjtBbUN0NlBFO0VBQ0UsaUJBQUE7QW5DdzZQSjtBbUNwNlBFO0VBQ0UsaUJBQUE7QW5DczZQSjtBbUNsNlBFO0VBQ0UsaUJBQUE7QW5DbzZQSjtBbUM3NVBFO0VBQ0UsV0FBQTtFQUNBLG1CYmpMWTtBdEJnbFFoQjtBbUM5NVBJO0VBQ0UsV0FBQTtB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K1dGO0F5Rjc5V0E7RUFDRSxrQkFBQTtBekZnK1dGO0F5Rjk5V0k7RUFDRSxvQkFBQTtBekZnK1dOO0F5Rjk5V0k7RUFDRSxtQkFBQTtBekZnK1dOO0F5Rjc5V0U7RUFDRSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBekYrOVdKO0F5RjM5V0E7RUFDRSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtBekY4OVdGO0F5RjM5V0E7RUFDRSx3QkFBQTtBekY4OVdGO0F5RjU5V0U7RUFDRSx3Q0FBQTtBekY4OVdKO0F5RjE5V0E7RUFDRSxrQ0FBQTtBekY2OVdGO0F5RjE5V0E7RUFDRSxVQUFBO0F6RjY5V0Y7QXlGMzlXRTtFQUNFLFVBQUE7RUFDQSw0QkFBQTtBekY2OVdKIiwiZmlsZSI6ImNzcy9hZG1pbi9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzXCI7XG5AaW1wb3J0IFwianF1ZXJ5LWNvbG9yYm94L2V4YW1wbGUzL2NvbG9yYm94LmNzc1wiO1xuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjguMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuLmZhLCAuYmNhLWljb24tLW1haWw6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5mdW5jdGlvbjo6YmVmb3JlLCAuYmNhLWljb24tLWdsb2JlOjpiZWZvcmUsIC5iY2EtaWNvbi0tYm9va21hcms6OmJlZm9yZSwgLmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSwgLmJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGU6OmJlZm9yZSwgLmJjYS1pY29uLS1wbHVzLXNxdWFyZTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3Q6OmJlZm9yZSwgLmJjYS1pY29uLS1jaGV2cm9uLWRvd246OmJlZm9yZSwgLmJjYS1pY29uLS1kZXNjOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXNjOjpiZWZvcmUsIC5iY2EtaWNvbi0tYmFjazo6YmVmb3JlLCAuYmNhLWljb24tLW5leHQ6OmJlZm9yZSwgLmJjYS1mb290ZXJfX3Nuc19fbGluay0tdHdpdHRlcjo6YmVmb3JlLCAuYmNhLWljb24tLXR3aXR0ZXI6OmJlZm9yZSwgLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSwgLmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlLCAjTWVzc2FnZUJveCAubWVzc2FnZTo6YmVmb3JlLFxuI01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI1VwZGF0ZU1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1ub3RpZmljYXRpb246OmJlZm9yZSwgI01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbiNhdXRoTWVzc2FnZTo6YmVmb3JlLFxuI0FsZXJ0TWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLWFsZXJ0OjpiZWZvcmUsIC51aS1kaWFsb2cgbGFiZWwuZXJyb3I6OmJlZm9yZSwgLmVycm9yLW1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1lcnJvcjo6YmVmb3JlLCAuYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdC1jaXJjbGU6OmJlZm9yZSwgLmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5iY2EtaWNvbi0tbGlzdC1kZWZhdWx0OjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSwgLmJjYS1pY29uLS1kYXRldGltZXBpY2tlci1kYXRlOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXTo6YmVmb3JlLCAuYmNhLWljb24tLWNsZWFyOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXNlYXJjaF06OmJlZm9yZSwgLmJjYS1pY29uLS1zZWFyY2g6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zZXR0aW5nXTo6YmVmb3JlLCAuYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXBkYXRlOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWZpbGUtbGlzdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWRvd25dOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXVwXTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LXVwOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctbGVmdF06OmJlZm9yZSwgLmJjYS1pY29uLS1hcnJvdy1sZWZ0OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctcmlnaHRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctcmlnaHQ6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXAtZGlyZWN0b3J5OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlOjpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtYW5jaG9yIC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlLCAuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuYmNhLWljb24tLWRyYWdnYWJsZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWljb24tLWRvd25sb2FkOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGV4dGNvcHk6OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmJjYS1pY29uLS1vcGVuOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c3dpdGNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXN3aXRjaDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuYmNhLWljb24tLWhvbWU6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcHBseV06OmJlZm9yZSwgLmJjYS1pY29uLS1hcHBseTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWljb24tLXBlcm1pc3Npb246OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWhlbHA6OmJlZm9yZSwgLmJjYS1pY29uLS1oZWxwOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQ6OmJlZm9yZSwgLmJjYS1pY29uLS1hZGQ6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1pY29uLS1tZW51aXRlbTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1idXR0b246OmJlZm9yZSwgLmJjYS1pY29uLS1mYXZvcml0ZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWJhY2stdG8tbGlzdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hbGlhc106OmJlZm9yZSwgLmJjYS1pY29uLS1hbGlhczo6YmVmb3JlLCAuYmNhLWljb24tLWxpbms6OmJlZm9yZSwgLmJjYS1pY29uLS1yZW5hbWU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSwgLmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWljb24tLWNvcHk6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmJjYS1pY29uLS1lZGl0OjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1lZGl0OjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXB1Ymxpc2g6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10b29sc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdG9vbHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1wbHVnaW5dIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXBsdWdpbjo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRoZW1lXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS10aGVtZTo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zaXRlczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXVzZXJzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS11c2Vyczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVjb25maWdzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1zaXRlY29uZmlnczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlXSAuYmNhLW5hdl9fc3lzdGVtLWl0ZW0tbGlzdC10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b246OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1zeXN0ZW1dIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tY29udGVudHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1kYXNoYm9hcmRdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGFzaGJvYXJkOjpiZWZvcmUsXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFiIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmEtbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDY2N2VtO1xufVxuXG4uZmEteHMge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuLmZhLXNtIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4uZmEtMXgge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xufVxuXG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTtcbn1cblxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG5cbi5mYS02eCB7XG4gIGZvbnQtc2l6ZTogNmVtO1xufVxuXG4uZmEtN3gge1xuICBmb250LXNpemU6IDdlbTtcbn1cblxuLmZhLTh4IHtcbiAgZm9udC1zaXplOiA4ZW07XG59XG5cbi5mYS05eCB7XG4gIGZvbnQtc2l6ZTogOWVtO1xufVxuXG4uZmEtMTB4IHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4uZmEtZncge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxLjI1ZW07XG59XG5cbi5mYS11bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZmEtdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhLWxpIHtcbiAgbGVmdDogLTJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmEtYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xZW07XG4gIHBhZGRpbmc6IDAuMmVtIDAuMjVlbSAwLjE1ZW07XG59XG5cbi5mYS1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZhLXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5mYS5mYS1wdWxsLWxlZnQsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLW1haWw6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5mYS1wdWxsLWxlZnQuZnVuY3Rpb246OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZ2xvYmU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYm9va21hcms6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbWludXMtc3F1YXJlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1wbHVzLXNxdWFyZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWNoZXZyb24tZG93bjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1kZXNjOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFzYzo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1iYWNrOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLW5leHQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSwgI01lc3NhZ2VCb3ggLmZhLXB1bGwtbGVmdC5tZXNzYWdlOjpiZWZvcmUsXG4jTWVzc2FnZUJveCAuZmEtcHVsbC1sZWZ0Lm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5mYS1wdWxsLWxlZnQubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbi5mYS1wdWxsLWxlZnQjVXBkYXRlTWVzc2FnZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1ub3RpZmljYXRpb246OmJlZm9yZSwgI01lc3NhZ2VCb3ggLmZhLXB1bGwtbGVmdC5hbGVydC1tZXNzYWdlOjpiZWZvcmUsXG4uZmEtcHVsbC1sZWZ0I2F1dGhNZXNzYWdlOjpiZWZvcmUsXG4uZmEtcHVsbC1sZWZ0I0FsZXJ0TWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuZmEtcHVsbC1sZWZ0LmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYWxlcnQ6OmJlZm9yZSwgLnVpLWRpYWxvZyBsYWJlbC5mYS1wdWxsLWxlZnQuZXJyb3I6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5lcnJvci1tZXNzYWdlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWVycm9yOjpiZWZvcmUsIC5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuZmEtcHVsbC1sZWZ0LmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWxpc3QtY2lyY2xlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbGlzdC1kZWZhdWx0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLXRpbWU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y2xlYXJdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWNsZWFyOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zZWFyY2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXNlYXJjaDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zZXR0aW5nXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1zZXR0aW5nOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwZGF0ZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tdXBkYXRlOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGUtbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZmlsZS1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWRvd25dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFycm93LWRvd246OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctdXBdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFycm93LXVwOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFycm93LWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctcmlnaHRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWFycm93LXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwLWRpcmVjdG9yeV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tdXAtZGlyZWN0b3J5OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWZpbGU6OmJlZm9yZSwgLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1hbmNob3IgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZvbGRlcl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLWRyYWdnYWJsZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1kb3dubG9hZDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS10ZXh0Y29weTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLW9wZW46OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c3dpdGNoXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1zd2l0Y2g6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0taG9tZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcHBseV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tYXBwbHk6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tcGVybWlzc2lvbjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWhlbHA6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0taGVscDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1uYXYtZmF2b3JpdGUtZnVuY3Rpb25zLWFkZDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1hZGQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tbWVudWl0ZW06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbjo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1mYXZvcml0ZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS10aC1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFsaWFzXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1hbGlhczo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1saW5rOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXJlbmFtZTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1kZWxldGU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGU6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tY29weTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1lZGl0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuY29udGV4dC1tZW51LWljb24tZWRpdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXByZXZpZXc6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tdW5wdWJsaXNoOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXB1Ymxpc2g6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10b29sc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS10b29sczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXBsdWdpbl0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1wbHVnaW46OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10aGVtZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS10aGVtZTo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXNpdGVzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXNpdGVzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tdXNlcnM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlY29uZmlnc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1zaXRlY29uZmlnczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlXSAuYmNhLW5hdl9fc3lzdGVtLWl0ZW0tbGlzdC10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tdGl0bGUgYnV0dG9uLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPXN5c3RlbV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEuZmEtcHVsbC1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLWxlZnQuYmNhLWljb24tLXN5c3RlbTo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWNvbnRlbnRzXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYS5mYS1wdWxsLWxlZnQ6OmJlZm9yZSwgLmZhLXB1bGwtbGVmdC5iY2EtaWNvbi0tY29udGVudHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1kYXNoYm9hcmRdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhLmZhLXB1bGwtbGVmdDo6YmVmb3JlLCAuZmEtcHVsbC1sZWZ0LmJjYS1pY29uLS1kYXNoYm9hcmQ6OmJlZm9yZSxcbi5mYXMuZmEtcHVsbC1sZWZ0LFxuLmZhci5mYS1wdWxsLWxlZnQsXG4uZmFsLmZhLXB1bGwtbGVmdCxcbi5mYWIuZmEtcHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cbi5mYS5mYS1wdWxsLXJpZ2h0LCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbWFpbDo6YmVmb3JlLCAuanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmZhLXB1bGwtcmlnaHQuZnVuY3Rpb246OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWdsb2JlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1ib29rbWFyazo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbWludXMtc3F1YXJlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXBsdXMtc3F1YXJlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1jaGV2cm9uLWRvd246OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWRlc2M6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFzYzo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYmFjazo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbmV4dDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXR3aXR0ZXI6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWZvb3Rlcl9fc25zX19saW5rLS1mYWNlYm9vazo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSwgI01lc3NhZ2VCb3ggLmZhLXB1bGwtcmlnaHQubWVzc2FnZTo6YmVmb3JlLFxuI01lc3NhZ2VCb3ggLmZhLXB1bGwtcmlnaHQubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLmZhLXB1bGwtcmlnaHQubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbi5mYS1wdWxsLXJpZ2h0I1VwZGF0ZU1lc3NhZ2U6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLW5vdGlmaWNhdGlvbjo6YmVmb3JlLCAjTWVzc2FnZUJveCAuZmEtcHVsbC1yaWdodC5hbGVydC1tZXNzYWdlOjpiZWZvcmUsXG4uZmEtcHVsbC1yaWdodCNhdXRoTWVzc2FnZTo6YmVmb3JlLFxuLmZhLXB1bGwtcmlnaHQjQWxlcnRNZXNzYWdlOjpiZWZvcmUsXG4jQmNNZXNzYWdlQm94IC5mYS1wdWxsLXJpZ2h0LmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFsZXJ0OjpiZWZvcmUsIC51aS1kaWFsb2cgbGFiZWwuZmEtcHVsbC1yaWdodC5lcnJvcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5lcnJvci1tZXNzYWdlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1lcnJvcjo6YmVmb3JlLCAuYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmZhLXB1bGwtcmlnaHQuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWxpc3QtY2lyY2xlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1saXN0X19pdGVtOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1saXN0LWRlZmF1bHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tY2xlYXI6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zZWFyY2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1zZWFyY2g6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1zZXR0aW5nOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS11cGRhdGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGUtbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWZpbGUtbGlzdDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctZG93bl06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFycm93LWRvd246OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXVwXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYXJyb3ctdXA6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1hcnJvdy1sZWZ0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1yaWdodF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFycm93LXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS11cC1kaXJlY3Rvcnk6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1maWxlOjpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtYW5jaG9yIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZvbGRlcl06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZHJhZ2dhYmxlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1kb3dubG9hZDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdGV4dGNvcHk6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1vcGVuOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1zd2l0Y2g6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWhvbWU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tYXBwbHk6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXBlcm1pc3Npb246OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0taGVscDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFkZDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tbWVudWl0ZW06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1idXR0b246OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWZhdm9yaXRlOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS10aC1saXN0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hbGlhc106OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWFsaWFzOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1saW5rOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1yZW5hbWU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWRlbGV0ZTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGU6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWNvcHk6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLWVkaXQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuY29udGV4dC1tZW51LWljb24tZWRpdDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXByZXZpZXc6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRvb2xzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdG9vbHM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1wbHVnaW5dIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1wbHVnaW46OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10aGVtZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXRoZW1lOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1zaXRlczo6YmVmb3JlLCAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXVzZXJzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tdXNlcnM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlY29uZmlnc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXNpdGVjb25maWdzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGVdIC5iY2EtbmF2X19zeXN0ZW0taXRlbS1saXN0LXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tdGl0bGUgYnV0dG9uLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1zeXN0ZW1dIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhLmZhLXB1bGwtcmlnaHQ6OmJlZm9yZSwgLmZhLXB1bGwtcmlnaHQuYmNhLWljb24tLXN5c3RlbTo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWNvbnRlbnRzXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYS5mYS1wdWxsLXJpZ2h0OjpiZWZvcmUsIC5mYS1wdWxsLXJpZ2h0LmJjYS1pY29uLS1jb250ZW50czo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWRhc2hib2FyZF0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEuZmEtcHVsbC1yaWdodDo6YmVmb3JlLCAuZmEtcHVsbC1yaWdodC5iY2EtaWNvbi0tZGFzaGJvYXJkOjpiZWZvcmUsXG4uZmFzLmZhLXB1bGwtcmlnaHQsXG4uZmFyLmZhLXB1bGwtcmlnaHQsXG4uZmFsLmZhLXB1bGwtcmlnaHQsXG4uZmFiLmZhLXB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG59XG5cbi5mYS1zcGluIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLmZhLXB1bHNlIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLmZhLXJvdGF0ZS05MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uZmEtcm90YXRlLTE4MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MilcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmZhLXJvdGF0ZS0yNzAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cblxuLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLmZhLWZsaXAtYm90aCwgLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xufVxuXG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCxcbjpyb290IC5mYS1mbGlwLWJvdGgge1xuICBmaWx0ZXI6IG5vbmU7XG59XG5cbi5mYS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIuNWVtO1xufVxuXG4uZmEtc3RhY2stMXgsXG4uZmEtc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmEtc3RhY2stMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmZhLWludmVyc2Uge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG5yZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XG59XG5cbi5mYS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjhcIjtcbn1cblxuLmZhLWFjY3Vzb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7XG59XG5cbi5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmFmXCI7XG59XG5cbi5mYS1hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0MVwiO1xufVxuXG4uZmEtYWRkcmVzcy1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7XG59XG5cbi5mYS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjtcbn1cblxuLmZhLWFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MlwiO1xufVxuXG4uZmEtYWRuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcwXCI7XG59XG5cbi5mYS1hZG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3OFwiO1xufVxuXG4uZmEtYWR2ZXJzYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjtcbn1cblxuLmZhLWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZiXCI7XG59XG5cbi5mYS1haXItZnJlc2hlbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQwXCI7XG59XG5cbi5mYS1haXJibmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzRcIjtcbn1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjtcbn1cblxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuXG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuXG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiO1xufVxuXG4uZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzhcIjtcbn1cblxuLmZhLWFsaXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0MlwiO1xufVxuXG4uZmEtYWxsZXJnaWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYxXCI7XG59XG5cbi5mYS1hbWF6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzBcIjtcbn1cblxuLmZhLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjtcbn1cblxuLmZhLWFtYnVsYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOVwiO1xufVxuXG4uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjtcbn1cblxuLmZhLWFtaWxpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZFwiO1xufVxuXG4uZmEtYW5jaG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7XG59XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG5cbi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDlcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAzXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMFwiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cblxuLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDdcIjtcbn1cblxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cblxuLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG59XG5cbi5mYS1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuXG4uZmEtYW5ncnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTZcIjtcbn1cblxuLmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmVcIjtcbn1cblxuLmZhLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjBcIjtcbn1cblxuLmZhLWFua2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDRcIjtcbn1cblxuLmZhLWFwcC1zdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZlwiO1xufVxuXG4uZmEtYXBwLXN0b3JlLWlvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MFwiO1xufVxuXG4uZmEtYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzFcIjtcbn1cblxuLmZhLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7XG59XG5cbi5mYS1hcHBsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDFcIjtcbn1cblxuLmZhLWFwcGxlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNVwiO1xufVxuXG4uZmEtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuXG4uZmEtYXJjaHdheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1N1wiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU4XCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNTlcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWFcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWJcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOFwiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWFcIjtcbn1cblxuLmZhLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cblxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cblxuLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG59XG5cbi5mYS1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MlwiO1xufVxuXG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuXG4uZmEtYXJyb3dzLWFsdC1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7XG59XG5cbi5mYS1hcnJvd3MtYWx0LXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjtcbn1cblxuLmZhLWFydHN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2FcIjtcbn1cblxuLmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuXG4uZmEtYXN0ZXJpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjlcIjtcbn1cblxuLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjtcbn1cblxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG5cbi5mYS1hdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1OFwiO1xufVxuXG4uZmEtYXRsYXNzaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdiXCI7XG59XG5cbi5mYS1hdG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQyXCI7XG59XG5cbi5mYS1hdWRpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzczXCI7XG59XG5cbi5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZVwiO1xufVxuXG4uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7XG59XG5cbi5mYS1hdmlhbmV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc0XCI7XG59XG5cbi5mYS1hdmlhdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjFcIjtcbn1cblxuLmZhLWF3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU5XCI7XG59XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjtcbn1cblxuLmZhLWJhYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2NcIjtcbn1cblxuLmZhLWJhYnktY2FycmlhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2RcIjtcbn1cblxuLmZhLWJhY2tzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1YVwiO1xufVxuXG4uZmEtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGFcIjtcbn1cblxuLmZhLWJhY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U1XCI7XG59XG5cbi5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XG59XG5cbi5mYS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cblxuLmZhLWJhbmQtYWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYyXCI7XG59XG5cbi5mYS1iYW5kY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNVwiO1xufVxuXG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuXG4uZmEtYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuXG4uZmEtYmFzZWJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzM1wiO1xufVxuXG4uZmEtYmFza2V0YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM0XCI7XG59XG5cbi5mYS1iYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7XG59XG5cbi5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjtcbn1cblxuLmZhLWJhdHRlcnktaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuXG4uZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQzXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XG59XG5cbi5mYS1iYXR0bGUtbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7XG59XG5cbi5mYS1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cblxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjtcbn1cblxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7XG59XG5cbi5mYS1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XG59XG5cbi5mYS1iZWxsLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG5cbi5mYS1iZXppZXItY3VydmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWJcIjtcbn1cblxuLmZhLWJpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQ3XCI7XG59XG5cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG5cbi5mYS1iaW1vYmplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzhcIjtcbn1cblxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjtcbn1cblxuLmZhLWJpb2hhemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4MFwiO1xufVxuXG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7XG59XG5cbi5mYS1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc5XCI7XG59XG5cbi5mYS1iaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdhXCI7XG59XG5cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjtcbn1cblxuLmZhLWJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjtcbn1cblxuLmZhLWJsZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTdcIjtcbn1cblxuLmZhLWJsZW5kZXItcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YjZcIjtcbn1cblxuLmZhLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlkXCI7XG59XG5cbi5mYS1ibG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgxXCI7XG59XG5cbi5mYS1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdjXCI7XG59XG5cbi5mYS1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2RcIjtcbn1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiO1xufVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjtcbn1cblxuLmZhLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzJcIjtcbn1cblxuLmZhLWJvbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjtcbn1cblxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTJcIjtcbn1cblxuLmZhLWJvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDdcIjtcbn1cblxuLmZhLWJvbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWNcIjtcbn1cblxuLmZhLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmRcIjtcbn1cblxuLmZhLWJvb2stZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiN1wiO1xufVxuXG4uZmEtYm9vay1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U2XCI7XG59XG5cbi5mYS1ib29rLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MThcIjtcbn1cblxuLmZhLWJvb2stcmVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRhXCI7XG59XG5cbi5mYS1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuXG4uZmEtYm9vdHN0cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM2XCI7XG59XG5cbi5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzZcIjtcbn1cblxuLmZhLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2NlwiO1xufVxuXG4uZmEtYm94LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OWVcIjtcbn1cblxuLmZhLWJveGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDY4XCI7XG59XG5cbi5mYS1icmFpbGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmExXCI7XG59XG5cbi5mYS1icmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkY1wiO1xufVxuXG4uZmEtYnJlYWQtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZWNcIjtcbn1cblxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiO1xufVxuXG4uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjlcIjtcbn1cblxuLmZhLWJyb2FkY2FzdC10b3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxOVwiO1xufVxuXG4uZmEtYnJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWFcIjtcbn1cblxuLmZhLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVkXCI7XG59XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjtcbn1cblxuLmZhLWJ1ZmZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzN1wiO1xufVxuXG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG5cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuXG4uZmEtYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTFcIjtcbn1cblxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG5cbi5mYS1idXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZhXCI7XG59XG5cbi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdmXCI7XG59XG5cbi5mYS1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjtcbn1cblxuLmZhLWJ1cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWVcIjtcbn1cblxuLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGFcIjtcbn1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjtcbn1cblxuLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWNcIjtcbn1cblxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG5cbi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc0XCI7XG59XG5cbi5mYS1jYWxlbmRhci1kYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XG59XG5cbi5mYS1jYWxlbmRhci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG59XG5cbi5mYS1jYWxlbmRhci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiO1xufVxuXG4uZmEtY2FsZW5kYXItd2VlazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NFwiO1xufVxuXG4uZmEtY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMwXCI7XG59XG5cbi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjtcbn1cblxuLmZhLWNhbXBncm91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YmJcIjtcbn1cblxuLmZhLWNhbmFkaWFuLW1hcGxlLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODVcIjtcbn1cblxuLmZhLWNhbmR5LWNhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODZcIjtcbn1cblxuLmZhLWNhbm5hYmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVmXCI7XG59XG5cbi5mYS1jYXBzdWxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2YlwiO1xufVxuXG4uZmEtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7XG59XG5cbi5mYS1jYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRlXCI7XG59XG5cbi5mYS1jYXItYmF0dGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkZlwiO1xufVxuXG4uZmEtY2FyLWNyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWUxXCI7XG59XG5cbi5mYS1jYXItc2lkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlNFwiO1xufVxuXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuXG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuXG4uZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjtcbn1cblxuLmZhLWNhcmV0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG5cbi5mYS1jYXJyb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODdcIjtcbn1cblxuLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiO1xufVxuXG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG5cbi5mYS1jYXNoLXJlZ2lzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg4XCI7XG59XG5cbi5mYS1jYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YmVcIjtcbn1cblxuLmZhLWNjLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmRcIjtcbn1cblxuLmZhLWNjLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjtcbn1cblxuLmZhLWNjLWFwcGxlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiO1xufVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjtcbn1cblxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjtcbn1cblxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuXG4uZmEtY2Mtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG59XG5cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG59XG5cbi5mYS1jZW50ZXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgwXCI7XG59XG5cbi5mYS1jZW50b3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODlcIjtcbn1cblxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG5cbi5mYS1jaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjMFwiO1xufVxuXG4uZmEtY2hhbGtib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxYlwiO1xufVxuXG4uZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFjXCI7XG59XG5cbi5mYS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWU3XCI7XG59XG5cbi5mYS1jaGFydC1hcmVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZlXCI7XG59XG5cbi5mYS1jaGFydC1iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cblxuLmZhLWNoYXJ0LWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDFcIjtcbn1cblxuLmZhLWNoYXJ0LXBpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiO1xufVxuXG4uZmEtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjtcbn1cblxuLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuXG4uZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYwXCI7XG59XG5cbi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjtcbn1cblxuLmZhLWNoZWVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlZlwiO1xufVxuXG4uZmEtY2hlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzlcIjtcbn1cblxuLmZhLWNoZXNzLWJpc2hvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzYVwiO1xufVxuXG4uZmEtY2hlc3MtYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0M2NcIjtcbn1cblxuLmZhLWNoZXNzLWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0M2ZcIjtcbn1cblxuLmZhLWNoZXNzLWtuaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0MVwiO1xufVxuXG4uZmEtY2hlc3MtcGF3bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0M1wiO1xufVxuXG4uZmEtY2hlc3MtcXVlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDVcIjtcbn1cblxuLmZhLWNoZXNzLXJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDdcIjtcbn1cblxuLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjtcbn1cblxuLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjtcbn1cblxuLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiO1xufVxuXG4uZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG5cbi5mYS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjhcIjtcbn1cblxuLmZhLWNocm9tZWNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzhcIjtcbn1cblxuLmZhLWNodXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZFwiO1xufVxuXG4uZmEtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG59XG5cbi5mYS1jaXJjbGUtbm90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cblxuLmZhLWNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGZcIjtcbn1cblxuLmZhLWNsaW5pYy1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2YyXCI7XG59XG5cbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjhcIjtcbn1cblxuLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2Y1wiO1xufVxuXG4uZmEtY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmRcIjtcbn1cblxuLmZhLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG5cbi5mYS1jbG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZFwiO1xufVxuXG4uZmEtY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjtcbn1cblxuLmZhLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMyXCI7XG59XG5cbi5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODFcIjtcbn1cblxuLmZhLWNsb3VkLW1lYXRiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzNiXCI7XG59XG5cbi5mYS1jbG91ZC1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMzXCI7XG59XG5cbi5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2NcIjtcbn1cblxuLmZhLWNsb3VkLXJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2RcIjtcbn1cblxuLmZhLWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDBcIjtcbn1cblxuLmZhLWNsb3VkLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjNFwiO1xufVxuXG4uZmEtY2xvdWQtc3VuLXJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDNcIjtcbn1cblxuLmZhLWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjtcbn1cblxuLmZhLWNsb3Vkc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODNcIjtcbn1cblxuLmZhLWNsb3Vkc21pdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODRcIjtcbn1cblxuLmZhLWNsb3VkdmVyc2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NVwiO1xufVxuXG4uZmEtY29ja3RhaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjFcIjtcbn1cblxuLmZhLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjtcbn1cblxuLmZhLWNvZGUtYnJhbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG5cbi5mYS1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNiXCI7XG59XG5cbi5mYS1jb2RpZXBpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NFwiO1xufVxuXG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG5cbi5mYS1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjtcbn1cblxuLmZhLWNvZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cblxuLmZhLWNvaW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFlXCI7XG59XG5cbi5mYS1jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG5cbi5mYS1jb21tZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5cbi5mYS1jb21tZW50LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiO1xufVxuXG4uZmEtY29tbWVudC1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTFcIjtcbn1cblxuLmZhLWNvbW1lbnQtZG90czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZFwiO1xufVxuXG4uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Y1XCI7XG59XG5cbi5mYS1jb21tZW50LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGIzXCI7XG59XG5cbi5mYS1jb21tZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NlwiO1xufVxuXG4uZmEtY29tbWVudHMtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjUzXCI7XG59XG5cbi5mYS1jb21wYWN0LWRpc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWZcIjtcbn1cblxuLmZhLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cblxuLmZhLWNvbXByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY2XCI7XG59XG5cbi5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhjXCI7XG59XG5cbi5mYS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2MlwiO1xufVxuXG4uZmEtY29uZmx1ZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4ZFwiO1xufVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjtcbn1cblxuLmZhLWNvbnRhbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZFwiO1xufVxuXG4uZmEtY29va2llOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYzXCI7XG59XG5cbi5mYS1jb29raWUtYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NFwiO1xufVxuXG4uZmEtY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuXG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY5XCI7XG59XG5cbi5mYS1jb3VjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiOFwiO1xufVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVlXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU4XCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU5XCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVhXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGViXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVjXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZlwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYxXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjNcIjtcbn1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5cbi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM5XCI7XG59XG5cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG5cbi5mYS1jcm9wLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NVwiO1xufVxuXG4uZmEtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTRcIjtcbn1cblxuLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWJcIjtcbn1cblxuLmZhLWNyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjBcIjtcbn1cblxuLmZhLWNyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIxXCI7XG59XG5cbi5mYS1jcnV0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjdcIjtcbn1cblxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjtcbn1cblxuLmZhLWNzczMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhiXCI7XG59XG5cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG5cbi5mYS1jdWJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiM1wiO1xufVxuXG4uZmEtY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7XG59XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7XG59XG5cbi5mYS1kLWFuZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhkXCI7XG59XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiO1xufVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbn1cblxuLmZhLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMwXCI7XG59XG5cbi5mYS1kZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7XG59XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cblxuLmZhLWRlbW9jcmF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQ3XCI7XG59XG5cbi5mYS1kZXBsb3lkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGVcIjtcbn1cblxuLmZhLWRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGZcIjtcbn1cblxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiO1xufVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiO1xufVxuXG4uZmEtZGhhcm1hY2hha3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU1XCI7XG59XG5cbi5mYS1kaGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTBcIjtcbn1cblxuLmZhLWRpYWdub3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MFwiO1xufVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjtcbn1cblxuLmZhLWRpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjJcIjtcbn1cblxuLmZhLWRpY2UtZDIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNmXCI7XG59XG5cbi5mYS1kaWNlLWQ2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQxXCI7XG59XG5cbi5mYS1kaWNlLWZpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjNcIjtcbn1cblxuLmZhLWRpY2UtZm91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNFwiO1xufVxuXG4uZmEtZGljZS1vbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjVcIjtcbn1cblxuLmZhLWRpY2Utc2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI2XCI7XG59XG5cbi5mYS1kaWNlLXRocmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI3XCI7XG59XG5cbi5mYS1kaWNlLXR3bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyOFwiO1xufVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiO1xufVxuXG4uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MVwiO1xufVxuXG4uZmEtZGlnaXRhbC10YWNob2dyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY2XCI7XG59XG5cbi5mYS1kaXJlY3Rpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWViXCI7XG59XG5cbi5mYS1kaXNjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkyXCI7XG59XG5cbi5mYS1kaXNjb3Vyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTNcIjtcbn1cblxuLmZhLWRpdmlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyOVwiO1xufVxuXG4uZmEtZGl6enk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjdcIjtcbn1cblxuLmZhLWRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MVwiO1xufVxuXG4uZmEtZG9jaHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk0XCI7XG59XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjtcbn1cblxuLmZhLWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkM1wiO1xufVxuXG4uZmEtZG9sbGFyLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cblxuLmZhLWRvbGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcyXCI7XG59XG5cbi5mYS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc0XCI7XG59XG5cbi5mYS1kb25hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjlcIjtcbn1cblxuLmZhLWRvb3ItY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJhXCI7XG59XG5cbi5mYS1kb29yLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmJcIjtcbn1cblxuLmZhLWRvdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cblxuLmZhLWRvdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmFcIjtcbn1cblxuLmZhLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE5XCI7XG59XG5cbi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk2XCI7XG59XG5cbi5mYS1kcmFmdGluZy1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY4XCI7XG59XG5cbi5mYS1kcmFnb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDVcIjtcbn1cblxuLmZhLWRyYXctcG9seWdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlZVwiO1xufVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjtcbn1cblxuLmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiO1xufVxuXG4uZmEtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiO1xufVxuXG4uZmEtZHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2OVwiO1xufVxuXG4uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2YVwiO1xufVxuXG4uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDdcIjtcbn1cblxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiO1xufVxuXG4uZmEtZHVtYmJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGJcIjtcbn1cblxuLmZhLWR1bXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkzXCI7XG59XG5cbi5mYS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk0XCI7XG59XG5cbi5mYS1kdW5nZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQ5XCI7XG59XG5cbi5mYS1keWFsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTlcIjtcbn1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjtcbn1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjtcbn1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjtcbn1cblxuLmZhLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDRcIjtcbn1cblxuLmZhLWVnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmYlwiO1xufVxuXG4uZmEtZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTJcIjtcbn1cblxuLmZhLWVsZW1lbnRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMFwiO1xufVxuXG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuXG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuXG4uZmEtZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmMVwiO1xufVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjtcbn1cblxuLmZhLWVtcGlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMVwiO1xufVxuXG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cblxuLmZhLWVudmVsb3BlLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjtcbn1cblxuLmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1OFwiO1xufVxuXG4uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG5cbi5mYS1lbnZpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjtcbn1cblxuLmZhLWVxdWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyY1wiO1xufVxuXG4uZmEtZXJhc2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjtcbn1cblxuLmZhLWV0aGVyZXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJlXCI7XG59XG5cbi5mYS1ldGhlcm5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5NlwiO1xufVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiO1xufVxuXG4uZmEtZXVyby1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG5cbi5mYS1ldmVybm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzOVwiO1xufVxuXG4uZmEtZXhjaGFuZ2UtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYyXCI7XG59XG5cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuXG4uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG5cbi5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuXG4uZmEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XG59XG5cbi5mYS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxZVwiO1xufVxuXG4uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7XG59XG5cbi5mYS1leHRlcm5hbC1saW5rLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1ZFwiO1xufVxuXG4uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7XG59XG5cbi5mYS1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cblxuLmZhLWV5ZS1kcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7XG59XG5cbi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cblxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG5cbi5mYS1mYWNlYm9vay1mOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzllXCI7XG59XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjtcbn1cblxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xufVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjtcbn1cblxuLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDlcIjtcbn1cblxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuXG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7XG59XG5cbi5mYS1mZWF0aGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJkXCI7XG59XG5cbi5mYS1mZWF0aGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2YlwiO1xufVxuXG4uZmEtZmVkZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTdcIjtcbn1cblxuLmZhLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OFwiO1xufVxuXG4uZmEtZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XG59XG5cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjtcbn1cblxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cblxuLmZhLWZpbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5cbi5mYS1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjtcbn1cblxuLmZhLWZpbGUtYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cblxuLmZhLWZpbGUtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuXG4uZmEtZmlsZS1jb250cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2Y1wiO1xufVxuXG4uZmEtZmlsZS1jc3Y6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGRcIjtcbn1cblxuLmZhLWZpbGUtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmRcIjtcbn1cblxuLmZhLWZpbGUtZXhjZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cblxuLmZhLWZpbGUtZXhwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZlXCI7XG59XG5cbi5mYS1maWxlLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7XG59XG5cbi5mYS1maWxlLWltcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZlwiO1xufVxuXG4uZmEtZmlsZS1pbnZvaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTcwXCI7XG59XG5cbi5mYS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTcxXCI7XG59XG5cbi5mYS1maWxlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzdcIjtcbn1cblxuLmZhLWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzhcIjtcbn1cblxuLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG5cbi5mYS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjtcbn1cblxuLmZhLWZpbGUtcHJlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTcyXCI7XG59XG5cbi5mYS1maWxlLXNpZ25hdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3M1wiO1xufVxuXG4uZmEtZmlsZS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzRcIjtcbn1cblxuLmZhLWZpbGUtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjtcbn1cblxuLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMlwiO1xufVxuXG4uZmEtZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NVwiO1xufVxuXG4uZmEtZmlsbC1kcmlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc2XCI7XG59XG5cbi5mYS1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XG59XG5cbi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjBcIjtcbn1cblxuLmZhLWZpbmdlcnByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc3XCI7XG59XG5cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG5cbi5mYS1maXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNFwiO1xufVxuXG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjtcbn1cblxuLmZhLWZpcmVmb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjlcIjtcbn1cblxuLmZhLWZpcnN0LWFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OVwiO1xufVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjtcbn1cblxuLmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYVwiO1xufVxuXG4uZmEtZmlyc3RkcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMVwiO1xufVxuXG4uZmEtZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OFwiO1xufVxuXG4uZmEtZmlzdC1yYWlzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGVcIjtcbn1cblxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cblxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG5cbi5mYS1mbGFnLXVzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0ZFwiO1xufVxuXG4uZmEtZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cblxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuXG4uZmEtZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7XG59XG5cbi5mYS1mbHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc5XCI7XG59XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjtcbn1cblxuLmZhLWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuXG4uZmEtZm9sZGVyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjVkXCI7XG59XG5cbi5mYS1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuXG4uZmEtZm9sZGVyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NWVcIjtcbn1cblxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjVcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTZcIjtcbn1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MFwiO1xufVxuXG4uZmEtZm9udGljb25zLWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EyXCI7XG59XG5cbi5mYS1mb290YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRlXCI7XG59XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjtcbn1cblxuLmZhLWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTNcIjtcbn1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7XG59XG5cbi5mYS1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRlXCI7XG59XG5cbi5mYS1mb3Vyc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7XG59XG5cbi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNVwiO1xufVxuXG4uZmEtZnJlZWJzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNFwiO1xufVxuXG4uZmEtZnJvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyZVwiO1xufVxuXG4uZmEtZnJvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjtcbn1cblxuLmZhLWZyb3duLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2FcIjtcbn1cblxuLmZhLWZ1bGNydW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGJcIjtcbn1cblxuLmZhLWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjJcIjtcbn1cblxuLmZhLWZ1dGJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiO1xufVxuXG4uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGNcIjtcbn1cblxuLmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZFwiO1xufVxuXG4uZmEtZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuXG4uZmEtZ2FzLXB1bXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmZcIjtcbn1cblxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG5cbi5mYS1nZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cblxuLmZhLWdlbmRlcmxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmRcIjtcbn1cblxuLmZhLWdldC1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjtcbn1cblxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7XG59XG5cbi5mYS1nZy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjFcIjtcbn1cblxuLmZhLWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmUyXCI7XG59XG5cbi5mYS1naWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZiXCI7XG59XG5cbi5mYS1naWZ0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5Y1wiO1xufVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG59XG5cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG5cbi5mYS1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWJcIjtcbn1cblxuLmZhLWdpdGh1Yi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTNcIjtcbn1cblxuLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTJcIjtcbn1cblxuLmZhLWdpdGtyYWtlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNlwiO1xufVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7XG59XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjtcbn1cblxuLmZhLWdsYXNzLWNoZWVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5ZlwiO1xufVxuXG4uZmEtZ2xhc3MtbWFydGluaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuXG4uZmEtZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2JcIjtcbn1cblxuLmZhLWdsYXNzLXdoaXNrZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTBcIjtcbn1cblxuLmZhLWdsYXNzZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzBcIjtcbn1cblxuLmZhLWdsaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE1XCI7XG59XG5cbi5mYS1nbGlkZS1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE2XCI7XG59XG5cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuXG4uZmEtZ2xvYmUtYWZyaWNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdjXCI7XG59XG5cbi5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZFwiO1xufVxuXG4uZmEtZ2xvYmUtYXNpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZVwiO1xufVxuXG4uZmEtZ2xvYmUtZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2EyXCI7XG59XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjtcbn1cblxuLmZhLWdvbGYtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MFwiO1xufVxuXG4uZmEtZ29vZHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E4XCI7XG59XG5cbi5mYS1nb29kcmVhZHMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOVwiO1xufVxuXG4uZmEtZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7XG59XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjtcbn1cblxuLmZhLWdvb2dsZS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FiXCI7XG59XG5cbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiO1xufVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiO1xufVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7XG59XG5cbi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7XG59XG5cbi5mYS1nb3B1cmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY0XCI7XG59XG5cbi5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjtcbn1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjtcbn1cblxuLmZhLWdyZWF0ZXItdGhhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMVwiO1xufVxuXG4uZmEtZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMyXCI7XG59XG5cbi5mYS1ncmltYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdmXCI7XG59XG5cbi5mYS1ncmluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgwXCI7XG59XG5cbi5mYS1ncmluLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4MVwiO1xufVxuXG4uZmEtZ3Jpbi1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgyXCI7XG59XG5cbi5mYS1ncmluLWJlYW0tc3dlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODNcIjtcbn1cblxuLmZhLWdyaW4taGVhcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg0XCI7XG59XG5cbi5mYS1ncmluLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NVwiO1xufVxuXG4uZmEtZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODZcIjtcbn1cblxuLmZhLWdyaW4tc3RhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODdcIjtcbn1cblxuLmZhLWdyaW4tdGVhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODhcIjtcbn1cblxuLmZhLWdyaW4tdG9uZ3VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg5XCI7XG59XG5cbi5mYS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGFcIjtcbn1cblxuLmZhLWdyaW4tdG9uZ3VlLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGJcIjtcbn1cblxuLmZhLWdyaW4td2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4Y1wiO1xufVxuXG4uZmEtZ3JpcC1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThkXCI7XG59XG5cbi5mYS1ncmlwLWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E0XCI7XG59XG5cbi5mYS1ncmlwLWxpbmVzLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E1XCI7XG59XG5cbi5mYS1ncmlwLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThlXCI7XG59XG5cbi5mYS1ncmlwZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhY1wiO1xufVxuXG4uZmEtZ3J1bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWRcIjtcbn1cblxuLmZhLWd1aXRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhNlwiO1xufVxuXG4uZmEtZ3VscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZVwiO1xufVxuXG4uZmEtaC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7XG59XG5cbi5mYS1oYWNrZXItbmV3cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjtcbn1cblxuLmZhLWhhY2tlcnJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjdcIjtcbn1cblxuLmZhLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwNVwiO1xufVxuXG4uZmEtaGFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmUzXCI7XG59XG5cbi5mYS1oYW1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NVwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJkXCI7XG59XG5cbi5mYS1oYW5kLWhvbGRpbmctaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmVcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzBcIjtcbn1cblxuLmZhLWhhbmQtbGl6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU4XCI7XG59XG5cbi5mYS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MDZcIjtcbn1cblxuLmZhLWhhbmQtcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjtcbn1cblxuLmZhLWhhbmQtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuXG4uZmEtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG5cbi5mYS1oYW5kLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjtcbn1cblxuLmZhLWhhbmQtcm9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiO1xufVxuXG4uZmEtaGFuZC1zY2lzc29yczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1N1wiO1xufVxuXG4uZmEtaGFuZC1zcG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OVwiO1xufVxuXG4uZmEtaGFuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzJcIjtcbn1cblxuLmZhLWhhbmRzLWhlbHBpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzRcIjtcbn1cblxuLmZhLWhhbmRzaGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiO1xufVxuXG4uZmEtaGFudWtpYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTZcIjtcbn1cblxuLmZhLWhhcmQtaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA3XCI7XG59XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkyXCI7XG59XG5cbi5mYS1oYXQtd2l6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmU4XCI7XG59XG5cbi5mYS1oYXlrYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjZcIjtcbn1cblxuLmZhLWhkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuXG4uZmEtaGVhZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiO1xufVxuXG4uZmEtaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNVwiO1xufVxuXG4uZmEtaGVhZHBob25lcy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGZcIjtcbn1cblxuLmZhLWhlYWRzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTBcIjtcbn1cblxuLmZhLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5cbi5mYS1oZWFydC1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTlcIjtcbn1cblxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuXG4uZmEtaGVsaWNvcHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzM1wiO1xufVxuXG4uZmEtaGlnaGxpZ2h0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTFcIjtcbn1cblxuLmZhLWhpa2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlY1wiO1xufVxuXG4uZmEtaGlwcG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZWRcIjtcbn1cblxuLmZhLWhpcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTJcIjtcbn1cblxuLmZhLWhpcmUtYS1oZWxwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjBcIjtcbn1cblxuLmZhLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGFcIjtcbn1cblxuLmZhLWhvY2tleS1wdWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUzXCI7XG59XG5cbi5mYS1ob2xseS1iZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhYVwiO1xufVxuXG4uZmEtaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuXG4uZmEtaG9vbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjdcIjtcbn1cblxuLmZhLWhvcm5iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkyXCI7XG59XG5cbi5mYS1ob3JzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMFwiO1xufVxuXG4uZmEtaG9yc2UtaGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhYlwiO1xufVxuXG4uZmEtaG9zcGl0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cblxuLmZhLWhvc3BpdGFsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZFwiO1xufVxuXG4uZmEtaG9zcGl0YWwtc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdlXCI7XG59XG5cbi5mYS1ob3QtdHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkzXCI7XG59XG5cbi5mYS1ob3Rkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MGZcIjtcbn1cblxuLmZhLWhvdGVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk0XCI7XG59XG5cbi5mYS1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjtcbn1cblxuLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NFwiO1xufVxuXG4uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiO1xufVxuXG4uZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjtcbn1cblxuLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiO1xufVxuXG4uZmEtaG91c2UtZGFtYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYxXCI7XG59XG5cbi5mYS1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3Y1wiO1xufVxuXG4uZmEtaHJ5dm5pYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMlwiO1xufVxuXG4uZmEtaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjtcbn1cblxuLmZhLWh1YnNwb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjJcIjtcbn1cblxuLmZhLWktY3Vyc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ2XCI7XG59XG5cbi5mYS1pY2UtY3JlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTBcIjtcbn1cblxuLmZhLWljaWNsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWRcIjtcbn1cblxuLmZhLWlkLWJhZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMxXCI7XG59XG5cbi5mYS1pZC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7XG59XG5cbi5mYS1pZC1jYXJkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZlwiO1xufVxuXG4uZmEtaWdsb286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWVcIjtcbn1cblxuLmZhLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG5cbi5mYS1pbWFnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDJcIjtcbn1cblxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjtcbn1cblxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG5cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cblxuLmZhLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XG59XG5cbi5mYS1pbmZpbml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzNFwiO1xufVxuXG4uZmEtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiO1xufVxuXG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cblxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuXG4uZmEtaW50ZXJjb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWZcIjtcbn1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7XG59XG5cbi5mYS1pbnZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMFwiO1xufVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuXG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG5cbi5mYS1pdGNoLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNhXCI7XG59XG5cbi5mYS1pdHVuZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjRcIjtcbn1cblxuLmZhLWl0dW5lcy1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I1XCI7XG59XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7XG59XG5cbi5mYS1qZWRpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY5XCI7XG59XG5cbi5mYS1qZWRpLW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBlXCI7XG59XG5cbi5mYS1qZW5raW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I2XCI7XG59XG5cbi5mYS1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IxXCI7XG59XG5cbi5mYS1qb2dldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiN1wiO1xufVxuXG4uZmEtam9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTVcIjtcbn1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiO1xufVxuXG4uZmEtam91cm5hbC13aGlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmFcIjtcbn1cblxuLmZhLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I4XCI7XG59XG5cbi5mYS1qcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjtcbn1cblxuLmZhLWpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7XG59XG5cbi5mYS1rYWFiYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YlwiO1xufVxuXG4uZmEta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZhXCI7XG59XG5cbi5mYS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cblxuLmZhLWtleWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjVcIjtcbn1cblxuLmZhLWtleWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7XG59XG5cbi5mYS1rZXljZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmFcIjtcbn1cblxuLmZhLWtoYW5kYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2ZFwiO1xufVxuXG4uZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmJcIjtcbn1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjtcbn1cblxuLmZhLWtpc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTZcIjtcbn1cblxuLmZhLWtpc3MtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5N1wiO1xufVxuXG4uZmEta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk4XCI7XG59XG5cbi5mYS1raXdpLWJpcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzVcIjtcbn1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiO1xufVxuXG4uZmEtbGFuZG1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmZcIjtcbn1cblxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFiXCI7XG59XG5cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cblxuLmZhLWxhcHRvcC1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZjXCI7XG59XG5cbi5mYS1sYXB0b3AtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxMlwiO1xufVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiO1xufVxuXG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG59XG5cbi5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7XG59XG5cbi5mYS1sYXVnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OVwiO1xufVxuXG4uZmEtbGF1Z2gtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YVwiO1xufVxuXG4uZmEtbGF1Z2gtc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTliXCI7XG59XG5cbi5mYS1sYXVnaC13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTljXCI7XG59XG5cbi5mYS1sYXllci1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmZFwiO1xufVxuXG4uZmEtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2Y1wiO1xufVxuXG4uZmEtbGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiO1xufVxuXG4uZmEtbGVtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjtcbn1cblxuLmZhLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjtcbn1cblxuLmZhLWxlc3MtdGhhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzNlwiO1xufVxuXG4uZmEtbGVzcy10aGFuLWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM3XCI7XG59XG5cbi5mYS1sZXZlbC1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZVwiO1xufVxuXG4uZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JmXCI7XG59XG5cbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cblxuLmZhLWxpZ2h0YnVsYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiO1xufVxuXG4uZmEtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuXG4uZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbn1cblxuLmZhLWxpbmtlZGluLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7XG59XG5cbi5mYS1saW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjhcIjtcbn1cblxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7XG59XG5cbi5mYS1saXJhLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cblxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cblxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5cbi5mYS1saXN0LW9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XG59XG5cbi5mYS1saXN0LXVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG59XG5cbi5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNFwiO1xufVxuXG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuXG4uZmEtbG9jay1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MxXCI7XG59XG5cbi5mYS1sb25nLWFycm93LWFsdC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA5XCI7XG59XG5cbi5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBhXCI7XG59XG5cbi5mYS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwYlwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGNcIjtcbn1cblxuLmZhLWxvdy12aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYThcIjtcbn1cblxuLmZhLWx1Z2dhZ2UtY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZFwiO1xufVxuXG4uZmEtbHlmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjM1wiO1xufVxuXG4uZmEtbWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNFwiO1xufVxuXG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjtcbn1cblxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuXG4uZmEtbWFpbC1idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc0XCI7XG59XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjtcbn1cblxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODNcIjtcbn1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7XG59XG5cbi5mYS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzlcIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWZcIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEwXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNVwiO1xufVxuXG4uZmEtbWFwLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NlwiO1xufVxuXG4uZmEtbWFwLXNpZ25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc3XCI7XG59XG5cbi5mYS1tYXJrZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYwZlwiO1xufVxuXG4uZmEtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWExXCI7XG59XG5cbi5mYS1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuXG4uZmEtbWFycy1zdHJva2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cblxuLmZhLW1hc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmFcIjtcbn1cblxuLmZhLW1hc3RvZG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY2XCI7XG59XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbn1cblxuLmZhLW1lZGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEyXCI7XG59XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7XG59XG5cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjtcbn1cblxuLmZhLW1lZGl1bS1tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M3XCI7XG59XG5cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cblxuLmZhLW1lZHJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M4XCI7XG59XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjtcbn1cblxuLmZhLW1lZ2Fwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEzXCI7XG59XG5cbi5mYS1tZWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cblxuLmZhLW1laC1ibGFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNFwiO1xufVxuXG4uZmEtbWVoLXJvbGxpbmctZXllczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNVwiO1xufVxuXG4uZmEtbWVtb3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM4XCI7XG59XG5cbi5mYS1tZW5kZWxleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiM1wiO1xufVxuXG4uZmEtbWVub3JhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3NlwiO1xufVxuXG4uZmEtbWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiO1xufVxuXG4uZmEtbWV0ZW9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzUzXCI7XG59XG5cbi5mYS1taWNyb2NoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGJcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M5XCI7XG59XG5cbi5mYS1taWNyb3Bob25lLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzOVwiO1xufVxuXG4uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMVwiO1xufVxuXG4uZmEtbWljcm9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMFwiO1xufVxuXG4uZmEtbWljcm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NhXCI7XG59XG5cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuXG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG59XG5cbi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cblxuLmZhLW1pdHRlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiNVwiO1xufVxuXG4uZmEtbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NiXCI7XG59XG5cbi5mYS1taXhjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OVwiO1xufVxuXG4uZmEtbWl6dW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NjXCI7XG59XG5cbi5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cblxuLmZhLW1vYmlsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2RcIjtcbn1cblxuLmZhLW1vZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODVcIjtcbn1cblxuLmZhLW1vbmVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiO1xufVxuXG4uZmEtbW9uZXktYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNlwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjtcbn1cblxuLmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzYVwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC13YXZlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzYlwiO1xufVxuXG4uZmEtbW9uZXktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2NcIjtcbn1cblxuLmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZFwiO1xufVxuXG4uZmEtbW9udW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTZcIjtcbn1cblxuLmZhLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cblxuLmZhLW1vcnRhci1wZXN0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTdcIjtcbn1cblxuLmZhLW1vc3F1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3OFwiO1xufVxuXG4uZmEtbW90b3JjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxY1wiO1xufVxuXG4uZmEtbW91bnRhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmNcIjtcbn1cblxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDVcIjtcbn1cblxuLmZhLW11Zy1ob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjZcIjtcbn1cblxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7XG59XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7XG59XG5cbi5mYS1uZW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEyXCI7XG59XG5cbi5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmZmXCI7XG59XG5cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cblxuLmZhLW5ld3NwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiO1xufVxuXG4uZmEtbmltYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE4XCI7XG59XG5cbi5mYS1uaW50ZW5kby1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MThcIjtcbn1cblxuLmZhLW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTlcIjtcbn1cblxuLmZhLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjtcbn1cblxuLmZhLW5vdC1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZVwiO1xufVxuXG4uZmEtbm90ZXMtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4MVwiO1xufVxuXG4uZmEtbnBtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7XG59XG5cbi5mYS1uczg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDVcIjtcbn1cblxuLmZhLW51dHJpdGlvbml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q2XCI7XG59XG5cbi5mYS1vYmplY3QtZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDdcIjtcbn1cblxuLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ4XCI7XG59XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7XG59XG5cbi5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiO1xufVxuXG4uZmEtb2lsLWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxM1wiO1xufVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7XG59XG5cbi5mYS1vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3OVwiO1xufVxuXG4uZmEtb3BlbmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2RcIjtcbn1cblxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xufVxuXG4uZmEtb3BlcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmFcIjtcbn1cblxuLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjtcbn1cblxuLmZhLW9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYVwiO1xufVxuXG4uZmEtb3R0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MDBcIjtcbn1cblxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cblxuLmZhLXBhZ2U0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q3XCI7XG59XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjtcbn1cblxuLmZhLXBhZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE1XCI7XG59XG5cbi5mYS1wYWludC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiO1xufVxuXG4uZmEtcGFpbnQtcm9sbGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFhXCI7XG59XG5cbi5mYS1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNmXCI7XG59XG5cbi5mYS1wYWxmZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDhcIjtcbn1cblxuLmZhLXBhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4MlwiO1xufVxuXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjtcbn1cblxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiO1xufVxuXG4uZmEtcGFyYWNodXRlLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjZFwiO1xufVxuXG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7XG59XG5cbi5mYS1wYXJraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQwXCI7XG59XG5cbi5mYS1wYXNzcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhYlwiO1xufVxuXG4uZmEtcGFzdGFmYXJpYW5pc206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2JcIjtcbn1cblxuLmZhLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7XG59XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7XG59XG5cbi5mYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0Y1wiO1xufVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhiXCI7XG59XG5cbi5mYS1wYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjBcIjtcbn1cblxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuXG4uZmEtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2NcIjtcbn1cblxuLmZhLXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNFwiO1xufVxuXG4uZmEtcGVuLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNVwiO1xufVxuXG4uZmEtcGVuLWZhbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFjXCI7XG59XG5cbi5mYS1wZW4tbmliOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFkXCI7XG59XG5cbi5mYS1wZW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7XG59XG5cbi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5cbi5mYS1wZW5jaWwtcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWVcIjtcbn1cblxuLmZhLXBlbm55LWFyY2FkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwNFwiO1xufVxuXG4uZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGNlXCI7XG59XG5cbi5mYS1wZXBwZXItaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE2XCI7XG59XG5cbi5mYS1wZXJjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk1XCI7XG59XG5cbi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQxXCI7XG59XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjtcbn1cblxuLmZhLXBlcnNvbi1ib290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1NlwiO1xufVxuXG4uZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGJcIjtcbn1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7XG59XG5cbi5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTExXCI7XG59XG5cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuXG4uZmEtcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGRcIjtcbn1cblxuLmZhLXBob25lLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuXG4uZmEtcGhvbmUtdm9sdW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7XG59XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG5cbi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNVwiO1xufVxuXG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiO1xufVxuXG4uZmEtcGlnZ3ktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkM1wiO1xufVxuXG4uZmEtcGlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODRcIjtcbn1cblxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiO1xufVxuXG4uZmEtcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzFcIjtcbn1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjtcbn1cblxuLmZhLXBpenphLXNsaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE4XCI7XG59XG5cbi5mYS1wbGFjZS1vZi13b3JzaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdmXCI7XG59XG5cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiO1xufVxuXG4uZmEtcGxhbmUtYXJyaXZhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZlwiO1xufVxuXG4uZmEtcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIwXCI7XG59XG5cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7XG59XG5cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjtcbn1cblxuLmZhLXBsdWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTZcIjtcbn1cblxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cblxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG5cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuXG4uZmEtcG9kY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZVwiO1xufVxuXG4uZmEtcG9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4MVwiO1xufVxuXG4uZmEtcG9sbC1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgyXCI7XG59XG5cbi5mYS1wb286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmVcIjtcbn1cblxuLmZhLXBvby1zdG9ybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YVwiO1xufVxuXG4uZmEtcG9vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxOVwiO1xufVxuXG4uZmEtcG9ydHJhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTBcIjtcbn1cblxuLmZhLXBvdW5kLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cblxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuXG4uZmEtcHJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4M1wiO1xufVxuXG4uZmEtcHJheWluZy1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4NFwiO1xufVxuXG4uZmEtcHJlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIxXCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg1XCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NlwiO1xufVxuXG4uZmEtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmZcIjtcbn1cblxuLmZhLXByb2NlZHVyZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODdcIjtcbn1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiO1xufVxuXG4uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQyXCI7XG59XG5cbi5mYS1wdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTFcIjtcbn1cblxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiO1xufVxuXG4uZmEtcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UyXCI7XG59XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiO1xufVxuXG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XG59XG5cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG5cbi5mYS1xdWlkZGl0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NThcIjtcbn1cblxuLmZhLXF1aW5zY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OVwiO1xufVxuXG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzRcIjtcbn1cblxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjtcbn1cblxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG5cbi5mYS1xdXJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4N1wiO1xufVxuXG4uZmEtci1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY3XCI7XG59XG5cbi5mYS1yYWRpYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjlcIjtcbn1cblxuLmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmFcIjtcbn1cblxuLmZhLXJhaW5ib3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWJcIjtcbn1cblxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NFwiO1xufVxuXG4uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JiXCI7XG59XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ5XCI7XG59XG5cbi5mYS1yZWFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYlwiO1xufVxuXG4uZmEtcmVhY3RldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWRcIjtcbn1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiO1xufVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjtcbn1cblxuLmZhLXJlY2VpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDNcIjtcbn1cblxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cblxuLmZhLXJlZC1yaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlM1wiO1xufVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7XG59XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjtcbn1cblxuLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTJcIjtcbn1cblxuLmZhLXJlZGhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiY1wiO1xufVxuXG4uZmEtcmVkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuXG4uZmEtcmVkby1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjlcIjtcbn1cblxuLmZhLXJlZ2lzdGVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWRcIjtcbn1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xufVxuXG4uZmEtcmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTVcIjtcbn1cblxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuXG4uZmEtcmVwbHlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U2XCI7XG59XG5cbi5mYS1yZXB1YmxpY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVlXCI7XG59XG5cbi5mYS1yZXNlYXJjaGdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjhcIjtcbn1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiO1xufVxuXG4uZmEtcmVzdHJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmRcIjtcbn1cblxuLmZhLXJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzlcIjtcbn1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiO1xufVxuXG4uZmEtcmliYm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ2XCI7XG59XG5cbi5mYS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBiXCI7XG59XG5cbi5mYS1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7XG59XG5cbi5mYS1yb2JvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0NFwiO1xufVxuXG4uZmEtcm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7XG59XG5cbi5mYS1yb2NrZXRjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U4XCI7XG59XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7XG59XG5cbi5mYS1yb3V0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkN1wiO1xufVxuXG4uZmEtcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XG59XG5cbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XG59XG5cbi5mYS1ydWJsZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5cbi5mYS1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0NVwiO1xufVxuXG4uZmEtcnVsZXItY29tYmluZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDZcIjtcbn1cblxuLmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDdcIjtcbn1cblxuLmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ4XCI7XG59XG5cbi5mYS1ydW5uaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBjXCI7XG59XG5cbi5mYS1ydXBlZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5cbi5mYS1zYWQtY3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIzXCI7XG59XG5cbi5mYS1zYWQtdGVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNFwiO1xufVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7XG59XG5cbi5mYS1zYWxlc2ZvcmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNiXCI7XG59XG5cbi5mYS1zYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFlXCI7XG59XG5cbi5mYS1zYXRlbGxpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmZcIjtcbn1cblxuLmZhLXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2MwXCI7XG59XG5cbi5mYS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XG59XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjtcbn1cblxuLmZhLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0OVwiO1xufVxuXG4uZmEtc2NyZXdkcml2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGFcIjtcbn1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiO1xufVxuXG4uZmEtc2Nyb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBlXCI7XG59XG5cbi5mYS1zZC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2MyXCI7XG59XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cblxuLmZhLXNlYXJjaC1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODhcIjtcbn1cblxuLmZhLXNlYXJjaC1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4OVwiO1xufVxuXG4uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEwXCI7XG59XG5cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuXG4uZmEtc2VhcmNoZW5naW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWJcIjtcbn1cblxuLmZhLXNlZWRsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ4XCI7XG59XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiO1xufVxuXG4uZmEtc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEzXCI7XG59XG5cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjtcbn1cblxuLmZhLXNlcnZpY2VzdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlY1wiO1xufVxuXG4uZmEtc2hhcGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjFmXCI7XG59XG5cbi5mYS1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NFwiO1xufVxuXG4uZmEtc2hhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUwXCI7XG59XG5cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUxXCI7XG59XG5cbi5mYS1zaGFyZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjtcbn1cblxuLmZhLXNoZWtlbC1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XG59XG5cbi5mYS1zaGllbGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VkXCI7XG59XG5cbi5mYS1zaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFhXCI7XG59XG5cbi5mYS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhiXCI7XG59XG5cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cblxuLmZhLXNob2UtcHJpbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRiXCI7XG59XG5cbi5mYS1zaG9wcGluZy1iYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTBcIjtcbn1cblxuLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiO1xufVxuXG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuXG4uZmEtc2hvcHdhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjtcbn1cblxuLmZhLXNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjY1wiO1xufVxuXG4uZmEtc2h1dHRsZS12YW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjZcIjtcbn1cblxuLmZhLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDlcIjtcbn1cblxuLmZhLXNpZ24taW4tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY2XCI7XG59XG5cbi5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7XG59XG5cbi5mYS1zaWduLW91dC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cblxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuXG4uZmEtc2lnbmF0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI3XCI7XG59XG5cbi5mYS1zaW0tY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNFwiO1xufVxuXG4uZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTVcIjtcbn1cblxuLmZhLXNpc3RyaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWVcIjtcbn1cblxuLmZhLXNpdGVtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjtcbn1cblxuLmZhLXNpdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTJcIjtcbn1cblxuLmZhLXNrYXRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzVcIjtcbn1cblxuLmZhLXNrZXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNlwiO1xufVxuXG4uZmEtc2tpaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M5XCI7XG59XG5cbi5mYS1za2lpbmctbm9yZGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NhXCI7XG59XG5cbi5mYS1za3VsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0Y1wiO1xufVxuXG4uZmEtc2t1bGwtY3Jvc3Nib25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxNFwiO1xufVxuXG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjtcbn1cblxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG5cbi5mYS1zbGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiO1xufVxuXG4uZmEtc2xhY2staGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZlwiO1xufVxuXG4uZmEtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MTVcIjtcbn1cblxuLmZhLXNsZWlnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjY1wiO1xufVxuXG4uZmEtc2xpZGVycy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG5cbi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7XG59XG5cbi5mYS1zbWlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiO1xufVxuXG4uZmEtc21pbGUtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViOFwiO1xufVxuXG4uZmEtc21pbGUtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYVwiO1xufVxuXG4uZmEtc21vZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZlwiO1xufVxuXG4uZmEtc21va2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4ZFwiO1xufVxuXG4uZmEtc21va2luZy1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGRcIjtcbn1cblxuLmZhLXNtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjZFwiO1xufVxuXG4uZmEtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjtcbn1cblxuLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFjXCI7XG59XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjtcbn1cblxuLmZhLXNub3dib2FyZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjZVwiO1xufVxuXG4uZmEtc25vd2ZsYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7XG59XG5cbi5mYS1zbm93bWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QwXCI7XG59XG5cbi5mYS1zbm93cGxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkMlwiO1xufVxuXG4uZmEtc29ja3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTZcIjtcbn1cblxuLmZhLXNvbGFyLXBhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJhXCI7XG59XG5cbi5mYS1zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjtcbn1cblxuLmZhLXNvcnQtYWxwaGEtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG5cbi5mYS1zb3J0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGRcIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG5cbi5mYS1zb3J0LW51bWVyaWMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cblxuLmZhLXNvcnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGVcIjtcbn1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjtcbn1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjtcbn1cblxuLmZhLXNwYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViYlwiO1xufVxuXG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuXG4uZmEtc3BlYWthcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmM1wiO1xufVxuXG4uZmEtc3BlYWtlci1kZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNjXCI7XG59XG5cbi5mYS1zcGlkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MTdcIjtcbn1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjtcbn1cblxuLmZhLXNwbG90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmNcIjtcbn1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjtcbn1cblxuLmZhLXNwcmF5LWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZFwiO1xufVxuXG4uZmEtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG5cbi5mYS1zcXVhcmUtZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1Y1wiO1xufVxuXG4uZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk4XCI7XG59XG5cbi5mYS1zcXVhcmVzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZVwiO1xufVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjtcbn1cblxuLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7XG59XG5cbi5mYS1zdGFtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZlwiO1xufVxuXG4uZmEtc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuXG4uZmEtc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTlcIjtcbn1cblxuLmZhLXN0YXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuXG4uZmEtc3Rhci1oYWxmLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjMFwiO1xufVxuXG4uZmEtc3Rhci1vZi1kYXZpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5YVwiO1xufVxuXG4uZmEtc3Rhci1vZi1saWZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjIxXCI7XG59XG5cbi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7XG59XG5cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuXG4uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7XG59XG5cbi5mYS1zdGVhbS1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjZcIjtcbn1cblxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cblxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiO1xufVxuXG4uZmEtc3RldGhvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjFcIjtcbn1cblxuLmZhLXN0aWNrZXItbXVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiO1xufVxuXG4uZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjtcbn1cblxuLmZhLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGRcIjtcbn1cblxuLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XG59XG5cbi5mYS1zdG9wd2F0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjJcIjtcbn1cblxuLmZhLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRlXCI7XG59XG5cbi5mYS1zdG9yZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGZcIjtcbn1cblxuLmZhLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyOFwiO1xufVxuXG4uZmEtc3RyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUwXCI7XG59XG5cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuXG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjY1wiO1xufVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7XG59XG5cbi5mYS1zdHJpcGUtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYVwiO1xufVxuXG4uZmEtc3Ryb29wd2FmZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTFcIjtcbn1cblxuLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOFwiO1xufVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cblxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiO1xufVxuXG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XG59XG5cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjtcbn1cblxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG5cbi5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMxXCI7XG59XG5cbi5mYS1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7XG59XG5cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiO1xufVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7XG59XG5cbi5mYS1zdXJwcmlzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjMlwiO1xufVxuXG4uZmEtc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkNlwiO1xufVxuXG4uZmEtc3dhdGNoYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjM1wiO1xufVxuXG4uZmEtc3dpbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjNFwiO1xufVxuXG4uZmEtc3dpbW1pbmctcG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjNVwiO1xufVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiO1xufVxuXG4uZmEtc3luYWdvZ3VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjliXCI7XG59XG5cbi5mYS1zeW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XG59XG5cbi5mYS1zeW5jLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMVwiO1xufVxuXG4uZmEtc3lyaW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4ZVwiO1xufVxuXG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cblxuLmZhLXRhYmxlLXRlbm5pczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZFwiO1xufVxuXG4uZmEtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XG59XG5cbi5mYS10YWJsZXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZhXCI7XG59XG5cbi5mYS10YWJsZXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDkwXCI7XG59XG5cbi5mYS10YWNob21ldGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiO1xufVxuXG4uZmEtdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJiXCI7XG59XG5cbi5mYS10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJjXCI7XG59XG5cbi5mYS10YXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRiXCI7XG59XG5cbi5mYS10YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuXG4uZmEtdGF4aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYVwiO1xufVxuXG4uZmEtdGVhbXNwZWFrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY5XCI7XG59XG5cbi5mYS10ZWV0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYyZVwiO1xufVxuXG4uZmEtdGVldGgtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYyZlwiO1xufVxuXG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjtcbn1cblxuLmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZlXCI7XG59XG5cbi5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzY5XCI7XG59XG5cbi5mYS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NmJcIjtcbn1cblxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDVcIjtcbn1cblxuLmZhLXRlbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q3XCI7XG59XG5cbi5mYS10ZXJtaW5hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMFwiO1xufVxuXG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cblxuLmZhLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzVcIjtcbn1cblxuLmZhLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG5cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuXG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuXG4uZmEtdGhlLXJlZC15ZXRpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjlkXCI7XG59XG5cbi5mYS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjMwXCI7XG59XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7XG59XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDkxXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYlwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOVwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYVwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzhcIjtcbn1cblxuLmZhLXRoaW5rLXBlYWtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMxXCI7XG59XG5cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuXG4uZmEtdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG5cbi5mYS10aHVtYnRhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGRcIjtcbn1cblxuLmZhLXRpY2tldC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmZcIjtcbn1cblxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5cbi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTdcIjtcbn1cblxuLmZhLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjtcbn1cblxuLmZhLXRpbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzdcIjtcbn1cblxuLmZhLXRpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM4XCI7XG59XG5cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XG59XG5cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cblxuLmZhLXRvaWxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkOFwiO1xufVxuXG4uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzFlXCI7XG59XG5cbi5mYS10b29sYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUyXCI7XG59XG5cbi5mYS10b29sczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkOVwiO1xufVxuXG4uZmEtdG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzlcIjtcbn1cblxuLmZhLXRvcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmEwXCI7XG59XG5cbi5mYS10b3JpaS1nYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmExXCI7XG59XG5cbi5mYS10cmFjdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzIyXCI7XG59XG5cbi5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEzXCI7XG59XG5cbi5mYS10cmFkZW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWNcIjtcbn1cblxuLmZhLXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MzdcIjtcbn1cblxuLmZhLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM4XCI7XG59XG5cbi5mYS10cmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RhXCI7XG59XG5cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuXG4uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI1XCI7XG59XG5cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuXG4uZmEtdHJhc2gtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7XG59XG5cbi5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODI5XCI7XG59XG5cbi5mYS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgyYVwiO1xufVxuXG4uZmEtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYlwiO1xufVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7XG59XG5cbi5mYS10cmlwYWR2aXNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MlwiO1xufVxuXG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuXG4uZmEtdHJ1Y2stbG9hZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkZVwiO1xufVxuXG4uZmEtdHJ1Y2stbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzYlwiO1xufVxuXG4uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRmXCI7XG59XG5cbi5mYS10cnVjay1waWNrdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2NcIjtcbn1cblxuLmZhLXRzaGlydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1M1wiO1xufVxuXG4uZmEtdHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7XG59XG5cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjtcbn1cblxuLmZhLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7XG59XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cblxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLwnZWPXCI7XG59XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xufVxuXG4uZmEtdHlwbzM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmJcIjtcbn1cblxuLmZhLXViZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDJcIjtcbn1cblxuLmZhLXVidW50dTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkZlwiO1xufVxuXG4uZmEtdWlraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDNcIjtcbn1cblxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG5cbi5mYS11bWJyZWxsYS1iZWFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjYVwiO1xufVxuXG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG5cbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG5cbi5mYS11bmRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlYVwiO1xufVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjtcbn1cblxuLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWFcIjtcbn1cblxuLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjtcbn1cblxuLmZhLXVubGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuXG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG5cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XG59XG5cbi5mYS11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA1XCI7XG59XG5cbi5mYS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTNcIjtcbn1cblxuLmZhLXVwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMFwiO1xufVxuXG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7XG59XG5cbi5mYS11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG5cbi5mYS11c2VyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNlwiO1xufVxuXG4uZmEtdXNlci1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmFcIjtcbn1cblxuLmZhLXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZiXCI7XG59XG5cbi5mYS11c2VyLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZjXCI7XG59XG5cbi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiO1xufVxuXG4uZmEtdXNlci1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZFwiO1xufVxuXG4uZmEtdXNlci1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmVcIjtcbn1cblxuLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZlwiO1xufVxuXG4uZmEtdXNlci1mcmllbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAwXCI7XG59XG5cbi5mYS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAxXCI7XG59XG5cbi5mYS11c2VyLWluanVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjhcIjtcbn1cblxuLmZhLXVzZXItbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwMlwiO1xufVxuXG4uZmEtdXNlci1tZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMFwiO1xufVxuXG4uZmEtdXNlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwM1wiO1xufVxuXG4uZmEtdXNlci1uaW5qYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNFwiO1xufVxuXG4uZmEtdXNlci1udXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgyZlwiO1xufVxuXG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7XG59XG5cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuXG4uZmEtdXNlci1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDVcIjtcbn1cblxuLmZhLXVzZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDZcIjtcbn1cblxuLmZhLXVzZXItdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA3XCI7XG59XG5cbi5mYS11c2VyLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwOFwiO1xufVxuXG4uZmEtdXNlci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuXG4uZmEtdXNlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzBcIjtcbn1cblxuLmZhLXVzZXJzLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwOVwiO1xufVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiO1xufVxuXG4uZmEtdXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDdcIjtcbn1cblxuLmZhLXV0ZW5zaWwtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTVcIjtcbn1cblxuLmZhLXV0ZW5zaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU3XCI7XG59XG5cbi5mYS12YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDhcIjtcbn1cblxuLmZhLXZlY3Rvci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2JcIjtcbn1cblxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG5cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cblxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjhcIjtcbn1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbn1cblxuLmZhLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOVwiO1xufVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiO1xufVxuXG4uZmEtdmlhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MlwiO1xufVxuXG4uZmEtdmlhbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTNcIjtcbn1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7XG59XG5cbi5mYS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuXG4uZmEtdmlkZW8tc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTJcIjtcbn1cblxuLmZhLXZpaGFyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhN1wiO1xufVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjtcbn1cblxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiO1xufVxuXG4uZmEtdmltZW8tdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZFwiO1xufVxuXG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuXG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiO1xufVxuXG4uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVmXCI7XG59XG5cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiO1xufVxuXG4uZmEtdm9sdW1lLW11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTlcIjtcbn1cblxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjtcbn1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiO1xufVxuXG4uZmEtdm90ZS15ZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NzJcIjtcbn1cblxuLmZhLXZyLWNhcmRib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyOVwiO1xufVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjtcbn1cblxuLmZhLXdhbGtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTRcIjtcbn1cblxuLmZhLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NVwiO1xufVxuXG4uZmEtd2FyZWhvdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk0XCI7XG59XG5cbi5mYS13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3M1wiO1xufVxuXG4uZmEtd2F2ZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2VcIjtcbn1cblxuLmZhLXdhemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2ZcIjtcbn1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiO1xufVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjtcbn1cblxuLmZhLXdlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5NlwiO1xufVxuXG4uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2RcIjtcbn1cblxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cblxuLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwY1wiO1xufVxuXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuXG4uZmEtd2htY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGRcIjtcbn1cblxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjtcbn1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY2XCI7XG59XG5cbi5mYS13aW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzJlXCI7XG59XG5cbi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjtcbn1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMFwiO1xufVxuXG4uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQxXCI7XG59XG5cbi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiO1xufVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiO1xufVxuXG4uZmEtd2luZS1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MmZcIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTNcIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNlXCI7XG59XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjtcbn1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7XG59XG5cbi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE0XCI7XG59XG5cbi5mYS13b24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XG59XG5cbi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDExXCI7XG59XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XG59XG5cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRlXCI7XG59XG5cbi5mYS13cGZvcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk4XCI7XG59XG5cbi5mYS13cHJlc3NyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7XG59XG5cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cblxuLmZhLXgtcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk3XCI7XG59XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7XG59XG5cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7XG59XG5cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xufVxuXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XG59XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiO1xufVxuXG4uZmEteWFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQwXCI7XG59XG5cbi5mYS15YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTNcIjtcbn1cblxuLmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE0XCI7XG59XG5cbi5mYS15YXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UzXCI7XG59XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7XG59XG5cbi5mYS15ZW4tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuXG4uZmEteWluLXlhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YWRcIjtcbn1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7XG59XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7XG59XG5cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMVwiO1xufVxuXG4uZmEtemhpaHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2ZcIjtcbn1cblxuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjguMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGF1dG87XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbi5mYSwgLmJjYS1pY29uLS1tYWlsOjpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuZnVuY3Rpb246OmJlZm9yZSwgLmJjYS1pY29uLS1nbG9iZTo6YmVmb3JlLCAuYmNhLWljb24tLWJvb2ttYXJrOjpiZWZvcmUsIC5iY2EtaWNvbi0tbWludXMtc3F1YXJlOjpiZWZvcmUsIC5iY2EtaWNvbi0tcXVlc3Rpb24tY2lyY2xlOjpiZWZvcmUsIC5iY2EtaWNvbi0tcGx1cy1zcXVhcmU6OmJlZm9yZSwgLmJjYS1pY29uLS1saXN0OjpiZWZvcmUsIC5iY2EtaWNvbi0tY2hldnJvbi1kb3duOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGVzYzo6YmVmb3JlLCAuYmNhLWljb24tLWFzYzo6YmVmb3JlLCAuYmNhLWljb24tLWJhY2s6OmJlZm9yZSwgLmJjYS1pY29uLS1uZXh0OjpiZWZvcmUsIC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSwgLmJjYS1pY29uLS10d2l0dGVyOjpiZWZvcmUsIC5iY2EtZm9vdGVyX19zbnNfX2xpbmstLWZhY2Vib29rOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSwgI01lc3NhZ2VCb3ggLm1lc3NhZ2U6OmJlZm9yZSxcbiNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNVcGRhdGVNZXNzYWdlOjpiZWZvcmUsIC5iY2EtaWNvbi0tbm90aWZpY2F0aW9uOjpiZWZvcmUsICNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdlOjpiZWZvcmUsXG4jYXV0aE1lc3NhZ2U6OmJlZm9yZSxcbiNBbGVydE1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1hbGVydDo6YmVmb3JlLCAudWktZGlhbG9nIGxhYmVsLmVycm9yOjpiZWZvcmUsIC5lcnJvci1tZXNzYWdlOjpiZWZvcmUsIC5iY2EtaWNvbi0tZXJyb3I6OmJlZm9yZSwgLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtdHlwZT1jaXJjbGVdIC5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3QtY2lyY2xlOjpiZWZvcmUsIC5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3QtZGVmYXVsdDo6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItdGltZTo6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1jbGVhcl06OmJlZm9yZSwgLmJjYS1pY29uLS1jbGVhcjo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zZWFyY2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2VhcmNoOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c2V0dGluZ106OmJlZm9yZSwgLmJjYS1pY29uLS1zZXR0aW5nOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXBkYXRlXTo6YmVmb3JlLCAuYmNhLWljb24tLXVwZGF0ZTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGUtbGlzdF06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlLWxpc3Q6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LWRvd246OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy11cF06OmJlZm9yZSwgLmJjYS1pY29uLS1hcnJvdy11cDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXJyb3ctbGVmdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LXJpZ2h0OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXAtZGlyZWN0b3J5XTo6YmVmb3JlLCAuYmNhLWljb24tLXVwLWRpcmVjdG9yeTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlLCAuanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLWFuY2hvciAuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZvbGRlcl06OmJlZm9yZSwgLmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSwgLmJjYS1pY29uLS1kcmFnZ2FibGU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSwgLmJjYS1pY29uLS1kb3dubG9hZDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XTo6YmVmb3JlLCAuYmNhLWljb24tLXRleHRjb3B5OjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5iY2EtaWNvbi0tb3Blbjo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXN3aXRjaF06OmJlZm9yZSwgLmJjYS1pY29uLS1zd2l0Y2g6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1pY29uLS1ob21lOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXBwbHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tYXBwbHk6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmJjYS1pY29uLS1wZXJtaXNzaW9uOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1oZWxwOjpiZWZvcmUsIC5iY2EtaWNvbi0taGVscDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlLCAuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtYWRkOjpiZWZvcmUsIC5iY2EtaWNvbi0tYWRkOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5iY2EtaWNvbi0tbWVudWl0ZW06OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV06OmJlZm9yZSwgLmJjYS1uYXYtZmF2b3JpdGUtdGl0bGUtYnV0dG9uOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmF2b3JpdGU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSwgLmJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmJjYS1pY29uLS10aC1saXN0OjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYWxpYXM6OmJlZm9yZSwgLmJjYS1pY29uLS1saW5rOjpiZWZvcmUsIC5iY2EtaWNvbi0tcmVuYW1lOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGVsZXRlOjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGU6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1pY29uLS1jb3B5OjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZWRpdDo6YmVmb3JlLCAuY29udGV4dC1tZW51LWljb24tZWRpdDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWljb24tLXByZXZpZXc6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF06OmJlZm9yZSwgLmJjYS1pY29uLS11bnB1Ymxpc2g6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1pY29uLS1wdWJsaXNoOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dG9vbHNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXRvb2xzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9cGx1Z2luXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS1wbHVnaW46OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10aGVtZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGhlbWU6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2l0ZXM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT11c2Vyc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdXNlcnM6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlY29uZmlnc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2l0ZWNvbmZpZ3M6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZV0gLmJjYS1uYXZfX3N5c3RlbS1pdGVtLWxpc3QtdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tdGl0bGUgYnV0dG9uOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9c3lzdGVtXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXN5c3RlbTo6YmVmb3JlLCAuYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWNvbnRlbnRzXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLWNvbnRlbnRzOjpiZWZvcmUsIC5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9ZGFzaGJvYXJkXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLWRhc2hib2FyZDo6YmVmb3JlLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjguMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1icmFuZHMtNDAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1icmFuZHMtNDAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLWJyYW5kcy00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1icmFuZHMtNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhYiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiO1xufVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1yZWd1bGFyLTQwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtcmVndWxhci00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtcmVndWxhci00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXJlZ3VsYXItNDAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtcmVndWxhci00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyoqXG4gKlxuICog5bem44OK44OTXG4gKlxuICovXG4vKipcbiAqXG4gKiDlt6bjg4rjg5PvvIjoqK3lrprvvIlcbiAqXG4gKi9cbi8qKlxuICpcbiAqIOODnOOCv+ODs+OCouOCpOOCs+ODs1xuICpcbiAqL1xuLyoqXG4gKlxuICog44OV44Kp44O844Og6Zai6YCjXG4gKlxuICovXG4vKipcbiAqXG4gKiDjg6rjgrnjg4jplqLpgKNcbiAqXG4gKi9cbi8qKlxuICpcbiAqIOOCqOODqeODvCAvIOOCouODqeODvOODiOihqOekulxuICpcbiAqL1xuLyoqXG4gKlxuICogU05TXG4gKlxuICovXG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaSA+IGEgaTpiZWZvcmUsIC5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtaWNvbjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlLWxhYmVsOmJlZm9yZSwgLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbDpiZWZvcmUge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9ZGFzaGJvYXJkXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLWRhc2hib2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTVcIjtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LXR5cGU9Y29udGVudHNdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tY29udGVudHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlXSAuYmNhLW5hdl9fc3lzdGVtLWl0ZW0tbGlzdC10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b246OmJlZm9yZSwgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1zeXN0ZW1dIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc3lzdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlY29uZmlnc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tc2l0ZWNvbmZpZ3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXVzZXJzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSwgLmJjYS1pY29uLS11c2Vyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXNpdGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10aGVtZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdGhlbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXBsdWdpbl0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tcGx1Z2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10b29sc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUsIC5iY2EtaWNvbi0tdG9vbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXB1Ymxpc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZWRpdDo6YmVmb3JlLCAuY29udGV4dC1tZW51LWljb24tZWRpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1jb3B5XTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtaWNvbi0tY29weTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGVsZXRlOjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7XG59XG4uYmNhLWljb24tLXJlbmFtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cbi5iY2EtaWNvbi0tbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdOjpiZWZvcmUsIC5iY2EtaWNvbi0tYWxpYXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9dGgtbGlzdF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1iYWNrLXRvLWxpc3RdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlLCAuYmNhLWljb24tLWJhY2stdG8tbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWJ1dHRvbjo6YmVmb3JlLCAuYmNhLWljb24tLWZhdm9yaXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSwgLmJjYS1pY29uLS1tZW51aXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUsIC5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQ6OmJlZm9yZSwgLmJjYS1pY29uLS1hZGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aGVscF06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlLCAuYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscDo6YmVmb3JlLCAuYmNhLWljb24tLWhlbHA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXTo6YmVmb3JlLCAuYmNhLWljb24tLXBlcm1pc3Npb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlLCAuYmNhLWljb24tLWFwcGx5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSwgLmJjYS1pY29uLS1ob21lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tc3dpdGNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSwgLmJjYS1pY29uLS1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dGV4dGNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSwgLmJjYS1pY29uLS10ZXh0Y29weTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZG93bmxvYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE5XCI7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlLCAuYmNhLWljb24tLWRyYWdnYWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlLCAuYmNhLWljb24tLWZvbGRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtYW5jaG9yIC5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1maWxlXTo6YmVmb3JlLCAuYmNhLWljb24tLWZpbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXVwLWRpcmVjdG9yeV06OmJlZm9yZSwgLmJjYS1pY29uLS11cC1kaXJlY3Rvcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1sZWZ0XTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LWxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXVwXTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LXVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MlwiO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXTo6YmVmb3JlLCAuYmNhLWljb24tLWFycm93LWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYzXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGUtbGlzdF06OmJlZm9yZSwgLmJjYS1pY29uLS1maWxlLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dXBkYXRlXTo6YmVmb3JlLCAuYmNhLWljb24tLXVwZGF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c2V0dGluZ106OmJlZm9yZSwgLmJjYS1pY29uLS1zZXR0aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9c2VhcmNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXNlYXJjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXTo6YmVmb3JlLCAuYmNhLWljb24tLWNsZWFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1sYWJlbDo6YmVmb3JlLCAuYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItdGltZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbi5iY2EtbGlzdF9faXRlbTo6YmVmb3JlLCAuYmNhLWljb24tLWxpc3QtZGVmYXVsdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5iY2EtbGlzdFtkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSAuYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSwgLmJjYS1pY29uLS1saXN0LWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cbi51aS1kaWFsb2cgbGFiZWwuZXJyb3I6OmJlZm9yZSwgLmVycm9yLW1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1lcnJvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbiNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdlOjpiZWZvcmUsXG4jYXV0aE1lc3NhZ2U6OmJlZm9yZSxcbiNBbGVydE1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSwgLmJjYS1pY29uLS1hbGVydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbiNNZXNzYWdlQm94IC5tZXNzYWdlOjpiZWZvcmUsXG4jTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNCY01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlOjpiZWZvcmUsXG4jVXBkYXRlTWVzc2FnZTo6YmVmb3JlLCAuYmNhLWljb24tLW5vdGlmaWNhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLWZhY2Vib29rOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzllXCI7XG59XG4uYmNhLWZvb3Rlcl9fc25zX19saW5rLS10d2l0dGVyOjpiZWZvcmUsIC5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLwnZWPXCI7XG59XG4uYmNhLWljb24tLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG59XG4uYmNhLWljb24tLWJhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG4uYmNhLWljb24tLWFzYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5iY2EtaWNvbi0tZGVzYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbi5iY2EtaWNvbi0tY2hldnJvbi1kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuLmJjYS1pY29uLS1saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuLmJjYS1pY29uLS1wbHVzLXNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cbi5iY2EtaWNvbi0tcXVlc3Rpb24tY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuLmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7XG59XG4uYmNhLWljb24tLWJvb2ttYXJrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuLmJjYS1pY29uLS1nbG9iZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2RcIjtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuZnVuY3Rpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG4uYmNhLWljb24tLW1haWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9dXNlcnNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXVzZXJzOjpiZWZvcmUsIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlLCAuYmNhLWljb24tLXNpdGVzOjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlLCAuYmNhLWljb24tLXVucHVibGlzaDo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wcmV2aWV3XTo6YmVmb3JlLCAuYmNhLWljb24tLXByZXZpZXc6OmJlZm9yZSwgLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Y29weV06OmJlZm9yZSwgLmJjYS1pY29uLS1jb3B5OjpiZWZvcmUsIC5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWRlbGV0ZV06OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGVsZXRlOjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGU6OmJlZm9yZSwgLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcHBseV06OmJlZm9yZSwgLmJjYS1pY29uLS1hcHBseTo6YmVmb3JlLCAuYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWZpbGVdOjpiZWZvcmUsIC5iY2EtaWNvbi0tZmlsZTo6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItZGF0ZTo6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWxhYmVsOjpiZWZvcmUsIC5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItdGltZTo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmJjYS1mb290ZXJfX3Nuc19fbGluay0tZmFjZWJvb2s6OmJlZm9yZSwgLmJjYS1pY29uLS1mYWNlYm9vazo6YmVmb3JlLCAuYmNhLWZvb3Rlcl9fc25zX19saW5rLS10d2l0dGVyOjpiZWZvcmUsIC5iY2EtaWNvbi0tdHdpdHRlcjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG59XG5cbi8qIGRpc3BsYXlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKi5kaXNwbGF5LW5vbmUge1xuXHRkaXNwbGF5Om5vbmU7XG59Ki9cbi8qIHRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuLndlaWdodC1ub3JtYWwge1xuXHRmb250LXdlaWdodDogbm9ybWFsIWltcG9ydGFudDtcbn1cbi53ZWlnaHQtYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OmJvbGQhaW1wb3J0YW50O1xufVxuLnNpemUtc21hbGwge1xuXHRmb250LXNpemU6c21hbGwhaW1wb3J0YW50O1xufVxuLnNpemUtc21hbGxlciB7XG5cdGZvbnQtc2l6ZTogeC1zbWFsbCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1tZWRpdW0ge1xuXHRmb250LXNpemU6bWVkaXVtIWltcG9ydGFudDtcbn1cbi5zaXplLWxhcmdlIHtcblx0Zm9udC1zaXplOmxhcmdlIWltcG9ydGFudDtcbn1cbi5zaXplLWxhcmdlciB7XG5cdGZvbnQtc2l6ZTogeC1sYXJnZSFpbXBvcnRhbnQ7XG59Ki9cbi5hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uYmMtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uYmMtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIGZsb2F0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyouZmxvYXQtbGVmdCB7XG5cdGZsb2F0OmxlZnQ7XG59XG4uZmxvYXQtcmlnaHQge1xuXHRmbG9hdDpyaWdodDtcbn1cbi5pbWctcmlnaHQge1xuXHRmbG9hdDpyaWdodDtcblx0bWFyZ2luLWxlZnQ6MTBweDtcblx0bWFyZ2luLWJvdHRvbToxMHB4O1xufVxuLmltZy1sZWZ0IHtcblx0ZmxvYXQ6bGVmdDtcblx0bWFyZ2luLXJpZ2h0OjEwcHg7XG5cdG1hcmdpbi1ib3R0b206MTBweDtcbn0qL1xuLyogY2xlYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKi5jbGVhciB7XG5cdGNsZWFyOmJvdGg7XG59XG4uY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIiBcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHRoZWlnaHQ6IDA7XG59XG4uY2xlYXJmaXgge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uY2xlYXJmaXgge1xuXHRkaXNwbGF5OiBibG9jaztcbn0qL1xuLyog57im5pa55ZCR5Lit5aSu5o+D44GIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoudmVydGljYWwtbWlkZGxle1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG59XG4udmVydGljYWwtbWlkZGxlIC5pbm5lcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuXHRcdHRvcDogNTAlIWltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAtMWVtIWltcG9ydGFudDtcbn0qL1xuLypcbi5yZXF1aXJlZCB7XG5cdGNvbG9yOiNDMzA7XG5cdGZvbnQtc2l6ZToxNnB4O1xufVxuKi9cbi5waG90byB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuLm91dHNpZGUtbGluayB7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vYmx0X291dHNpZGVfbGluay5wbmcpIG5vLXJlcGVhdCBsZWZ0IC0xcHg7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbn1cblxuLyouZnVsbC13aWR0aCB7XG5cdHdpZHRoOjEwMCU7XG59Ki9cbiN2YWthdGEtZG5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbiN2YWthdGEtZG5kIGRpdiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBDYWtlXFxWaWV3XFxIZWxwZXJcXEZvcm1IZWxwZXJcbiAqIEBtZXRob2QgZXJyb3IoKeeUqFxuICogYGVycm9yYCwgYGVycm9yTGlzdGAgYW5kIGBlcnJvckl0ZW1gIHRlbXBsYXRlc+OBq2pz44Gnc3R5bGXjgpLov73liqDjgZnjgovnlKhcbiAqL1xuLmVycm9yLXdyYXAgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmEge1xuICBjb2xvcjogIzZmYTgzZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYsIFwi44Oh44Kk44Oq44KqXCIsIFZlcmRhbmEsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIjtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDk2MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICB9XG59XG5cbmJvZHkgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIOaXp0NTU+OBi+OCieOBruacquaVtOeQhuWIhlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51cGxvYWQtZmlsZSBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4udXBsb2FkLWZpbGUgYSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZWRpdC1saW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmVkaXQtbGluayBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzFDOThENDtcbiAgY29sb3I6ICMxQzk4RDQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5lZGl0LWxpbmsgYTpob3ZlciB7XG4gIGNvbG9yOiAjMUM5OEQ0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuICBjb2xvcjogI0MzMDtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBzbWFsbDtcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjIwMDE0ICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWVycm9yOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggI2YyMDAxNCAhaW1wb3J0YW50O1xufVxuXG4uZXJyb3Ige1xuICBjb2xvcjogI0MzMDtcbn1cblxuLmVycm9yIGVtIHtcbiAgY29sb3I6ICMwNkM7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIGZvcm0tdGFibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubGlzdC10YWJsZSAuZXJyb3ItbWVzc2FnZSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uYW5ub3RhdGlvbi10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uYW5ub3RhdGlvbi10ZXh0IHNtYWxsIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMzA7XG4gIGNvbG9yOiAjQzMwO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzMwO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xufVxuXG4vKiBlZGl0IGZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZWRpdG9yLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIHdhaXRpbmctYm94XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndhaXRpbmctYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC42O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjApO1xuICAtbW96LW9wYWNpdHk6IDAuNjtcbn1cblxuLndhaXRpbmctYm94IGRpdiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG59XG5cbi53YWl0aW5nLWJveCBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKiBlbS1ib3hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0cmVlIGVtcHR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRyZWUtZW1wdHkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICBwYWRkaW5nOiAxNXB4O1xuICBjb2xvcjogIzUzNUE2MjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLm5vLWRhdGEge1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaXplLWNvdW50ZXIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0NDQztcbiAgcGFkZGluZzogMCA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5zaXplLWNvdW50ZXIgc21hbGwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiAjQ0NDO1xufVxuXG4vKiBwaHBpbmZvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBocGluZm8ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4vKiB1aVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLXRvcCwgLnVpLWNvcm5lci1sZWZ0LCAudWktY29ybmVyLXRsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xufVxuXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItdHIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuXG4uY29ybmVyLXRvcCwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci10ciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLWJvdHRvbSwgLnVpLWNvcm5lci1sZWZ0LCAudWktY29ybmVyLWJsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xufVxuXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci1ib3R0b20sIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItYnIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItdHIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG4vKiBDcmVkaXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jQ3JlZGl0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIG1pbi1oZWlnaHQ6IDk0NXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5MDtcbiAgb3BhY2l0eTogMC44NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTg1KTsgLyogSUUgbHQgOCAqL1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7IC8qIElFIDggKi9cbiAgLWtodG1sLW9wYWNpdHk6IDAuODU7IC8qIFNhZmFyaSAxLnggKi9cbiAgLW1vei1vcGFjaXR5OiAwLjg1O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI0NyZWRpdElubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNDcmVkaXRTY3JvbGxlciB7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNDcmVkaXRTY3JvbGxlciBoMSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNDcmVkaXRTY3JvbGxlciBoMiB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHhtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgdWwge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNDcmVkaXRTY3JvbGxlciB1bCBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgdWwgbGkgYSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgLnNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXJJbm5lciB7XG4gIHdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjQ3JlZGl0U2Nyb2xsZXJJbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIFBhZ2VzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGlzdC10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5saXN0LXRhYmxlIC5wYWdlLXN0YXR1cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogVHJlZUxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jUGFnZVRyZWVMaXN0IHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4jVHJlZUxpc3Qge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbiNUcmVlTGlzdCBhIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbiNUcmVlTGlzdCBhOmhvdmVyIHtcbiAgY29sb3I6ICNBQUE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI2Nib3hDb250ZW50IGJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmZpbGV0cmVlIHNwYW4uZm9sZGVyLFxuLmZpbGV0cmVlIHNwYW4uZmlsZSB7XG4gIHBhZGRpbmc6IDFweCAwIDFweCAxOHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgSW5zdGFsbGF0aW9uc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNJbnN0YWxsYXRpb25zIGxpLmNoZWNrIHtcbiAgY29sb3I6ICNDQ0M7XG59XG5cbiNJbnN0YWxsYXRpb25zIGxpLmZhaWxlZCB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0UwMjtcbiAgY29sb3I6ICNGMDM7XG59XG5cbiNJbnN0YWxsYXRpb25zIC5jaGVjay1yZXN1bHQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuI0luc3RhbGxhdGlvbnMgLmNoZWNrLXJlc3VsdCBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuI0luc3RhbGxhdGlvbnMgaW5wdXRbdHlwZT10ZXh0XSxcbiNJbnN0YWxsYXRpb25zIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuI0luc3RhbGxhdGlvbnMgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG59XG5cbiNJbnN0YWxsYXRpb25zIHNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbn1cblxuI0luc3RhbGxhdGlvbnMgLnN0ZXAtMSB7XG4gIGhlaWdodDogMzAwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vYmdfaW5zdGFsbC5wbmcpIG5vLXJlcGVhdCByaWdodCBib3R0b20gI2ZmZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIFVwZGF0ZXJzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIERhc2hib2FyZFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAubmV4dCxcbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAucHJldiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAubmV4dCBhLFxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5wcmV2IGEge1xuICBwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gc3BhbiBzcGFuIGEsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLmRpc2FibGVkLFxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogMXB4IDZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIFRoZW1lc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51aS13aWRnZXQtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG5cbiNQYWdlVHJlZUxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWktc3RhdGUtYWN0aXZlIGEsIC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLCAudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jVHJlZUxpc3QgYSB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jVHJlZUxpc3QgYTpob3ZlciB7XG4gIGNvbG9yOiAjQUFBO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuI0NvbnRlbnRzRm9ybVRhYnMgLnVpLXRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAxZW07XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIHRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIENvbnRlbnRzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuI0RhdGFMaXN0IHRkIC5hbGlhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTMycHg7XG59XG5cbiNSZWxhdGVkQ29udGVudHNTZXR0aW5nIC5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbiNSZWxhdGVkQ29udGVudHNTZXR0aW5nIC5pY29uLWFkZC1sYXllcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FkZF9sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjRweDtcbn1cblxuI0NvbnRlbnRzRm9ybVRhYnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgQ2tFZGl0b3Jcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2tlX2Nocm9tZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2tlX3RvcCwgLmNrZV9ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjRUZFRkVGICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNFRkVGRUYsICNFRUUpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBFdGNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWktc3RhdGUtYWN0aXZlIGEsIC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLCAudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4udWktc3RhdGUtZGVmYXVsdCBhLCAudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssIC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4uaGVscHRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZXllY2F0Y2gtbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5leWVjYXRjaC1saXN0IGxpIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5leWVjYXRjaC1saXN0IGxpIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNCYXNpY1NldHRpbmcgLnVybCxcbiNCbG9nUG9zdEZvcm0gLnVybCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuI0Jhc2ljU2V0dGluZyAudXJsIGEge1xuICBjb2xvcjogIzlDMDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuI1NlY3Rpb25MYW5nQWNjZXNzVHlwZSBsYWJlbCwgI1NlY3Rpb25EZXZpY2VBY2Nlc3NUeXBlIGxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogY29udGV4dC1tZW51XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRleHQtbWVudS1pY29uLWVkaXQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cblxuLmNvbnRleHQtbWVudS1pY29uLWRlbGV0ZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuXG4uY29udGV4dC1tZW51LWljb246OmJlZm9yZSB7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZXh0LW1lbnUtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNGVtO1xuICBwYWRkaW5nOiAwIDJlbSAwIDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmZmY7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4uY29udGV4dC1tZW51LWl0ZW0gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4uY29udGV4dC1tZW51LWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xufVxuXG4uY29udGV4dC1tZW51LWxpc3Qge1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi5kaXNwbGF5LW5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmNhLXNtYWxsLWxvYWRlciB7XG4gIHdpZHRoOiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jVXBsb2FkZXJGb3JtIC51cGxvYWRlci1maWxlLWZpbGUge1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xufVxuXG4uYmNhLXNlYXJjaF9fYnRucyAuYmNhLWJ0bi1sZyB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5iY2EtYXBwIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYmNhLWFwcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5iY2EtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5iY2EtbWFpbiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uYmNhLW1haW5fX2JvZHkge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5iY2EtbWFpbl9fY29udGVudHMge1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYmNhLW1haW5fX2NvbnRlbnRzIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5iY2EtbWFpbl9faGVhZGVyIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuLmJjYS1tYWluX19oZWFkZXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwIDFlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuLmJjYS1tYWluX19oZWFkZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZmxleDogMSAxIGF1dG87XG59XG4uYmNhLW1haW5fX2hlYWRlci1tZW51IHtcbiAgZmxleDogMCAxIGF1dG87XG59XG4uYmNhLW1haW5fX3NlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmJjYS1tYWluX19oZWFkaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMWVtIDFlbSAwO1xuICBwYWRkaW5nOiAwLjI1ZW0gMCAwLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLW1haW5fX2hlYWRpbmdbZGF0YS1iY2EtaGVhZGluZy1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5iY2EtbWFpbl9faGVhZGluZ1tkYXRhLWJjYS1oZWFkaW5nLXNpemU9bWRdIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLW1haW5fX3RleHQge1xuICBtYXJnaW46IDAgMCAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uYmNhLW1haW4gcHJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG4uYmNhLW1haW4gY29kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG4uYmNhLW1haW5fX251bWJlci1saXN0IGxpIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5iY2EtaWNvbi0tZGFzaGJvYXJkOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWNvbnRlbnRzOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXN5c3RlbTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1zaXRlY29uZmlnczo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS11c2Vyczo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1zaXRlczo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS10aGVtZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1wbHVnaW46OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tdG9vbHM6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcHVibGlzaDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS11bnB1Ymxpc2g6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcHJldmlldzo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1lZGl0OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWNvcHk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZGVsZXRlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXRoLWxpc3Q6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYmFjay10by1saXN0OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWZhdm9yaXRlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLW1lbnVpdGVtOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWFkZDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1oZWxwOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXBlcm1pc3Npb246OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXBwbHk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0taG9tZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1zd2l0Y2g6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tb3Blbjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS10ZXh0Y29weTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1kb3dubG9hZDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1kcmFnZ2FibGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZm9sZGVyOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWZpbGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tdXAtZGlyZWN0b3J5OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWFycm93LWxlZnQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYXJyb3ctZG93bjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1maWxlLWxpc3Q6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tdXBkYXRlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXNldHRpbmc6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tc2VhcmNoOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWNsZWFyOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZGF0ZXRpbWVwaWNrZXItdGltZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1saXN0LWRlZmF1bHQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbGlzdC1jaXJjbGU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZXJyb3I6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYWxlcnQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbm90aWZpY2F0aW9uOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWZhY2Vib29rOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbmV4dDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1iYWNrOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWFzYzo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1kZXNjOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWNoZXZyb24tZG93bjo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1saXN0OjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXBsdXMtc3F1YXJlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1pY29uLS1taW51cy1zcXVhcmU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYm9va21hcms6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tYWxpYXM6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tcmVuYW1lOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWljb24tLWxpbms6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tZ2xvYmU6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtaWNvbi0tbWFpbDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuXG5bY2xhc3MqPWJjYS1pY29uXSAuYmNhLWljb24tbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bY2xhc3NePWJjYS1pY29uXVtkYXRhLWJjYS1pY29uLXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG59XG5bY2xhc3NePWJjYS1pY29uXVtkYXRhLWJjYS1pY29uLXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5bY2xhc3NePWJjYS1pY29uXVtkYXRhLWJjYS1pY29uLXNpemU9eHNdIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBIZWFkZXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cblxuLyogTG9nb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNMb2dvIHtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgRm9vdGVyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJjYS1mb290ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNjY2M7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTMzMmM7XG59XG4uYmNhLWZvb3Rlcl9faW5uZXIge1xuICBtaW4td2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nLXRvcDogMzdweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYmNhLWZvb3Rlcl9faW5uZXIge1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgfVxufVxuLmJjYS1mb290ZXJfX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5iY2EtZm9vdGVyX19sb2dvIHtcbiAgd2lkdGg6IDgycHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYmNhLWZvb3Rlcl9fYmFubmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJjYS1mb290ZXJfX2Jhbm5lcl9faXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5iY2EtZm9vdGVyX19iYXNlci12ZXJzaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5iY2EtZm9vdGVyX19iYW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5iY2EtZm9vdGVyX19iYW5uZXJfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNXB4O1xufVxuLmJjYS1mb290ZXJfX3NucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJjYS1mb290ZXJfX3Nuc19faXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4uYmNhLWZvb3Rlcl9fc25zX19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmZhODNkO1xufVxuLmJjYS1mb290ZXJfX3Nuc19fbGluazpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLWZhY2Vib29rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNGNUQ5Mztcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLWZhY2Vib29rOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWZvb3Rlcl9fc25zX19saW5rLS10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi5iY2EtZm9vdGVyX19zbnNfX2xpbmstLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtZm9vdGVyX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgMCAzOHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtZm9vdGVyX19saW5rc19faXRlbSB7XG4gIHBhZGRpbmc6IDAgMWVtO1xufVxuLmJjYS1mb290ZXJfX2xpbmtzX19pdGVtIGE6bGluaywgLmJjYS1mb290ZXJfX2xpbmtzX19pdGVtIGE6dmlzaXRlZCwgLmJjYS1mb290ZXJfX2xpbmtzX19pdGVtIGE6YWN0aXZlIHtcbiAgY29sb3I6ICNjY2M7XG59XG4uYmNhLWZvb3Rlcl9fbGlua3NfX2l0ZW0gYTpob3ZlciB7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmJjYS1mb290ZXJfX2NvcHlyaWdodCB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJjYS1mb290ZXJfX2lubmVyLS1mdWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDdweCAyMHB4IDdweCAxMnB4O1xufVxuLmJjYS1mb290ZXJfX2lubmVyLS1mdWxsIC5iY2EtZm9vdGVyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5iY2EtZm9vdGVyX19pbm5lci0tZnVsbCAuYmNhLWZvb3Rlcl9fbWFpbiAuYmNhLWZvb3Rlcl9fYmFzZXItdmVyc2lvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMDtcbn1cbi5iY2EtZm9vdGVyX19pbm5lci0tZnVsbCAuYmNhLWZvb3Rlcl9fbWFpbiAuYmNhLWZvb3Rlcl9fYmFubmVyIHtcbiAgbWFyZ2luOiAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBiYXNlckNNUyBUb29sYmFyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvYWRtaW4vZmEtc29saWQtOTAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG5ib2R5IHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4uYmNhLXRvb2xiYXIge1xuICBsaW5lLWhlaWdodDogMS4xNSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgYmFzZXJDTVMgVG9vbGJhclwiLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTUwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXIsXG4uYmNhLXRvb2xiYXIgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmJjYS10b29sYmFyX19ib2R5IHtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTMzMmMgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhciAuYmNhLXRvb2xiYXJfX2xvZ28ge1xuICBmbGV4OiAwIDEgYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTJweCAwIDEycHggIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhciAuYmNhLXRvb2xiYXJfX2xvZ28tbGluayB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhciAuYmNhLXRvb2xiYXJfX2xvZ28tc3ltYm9sIHtcbiAgcGFkZGluZzogNHB4IDdweCA0cHggNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2MgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjFweDtcbn1cbi5iY2EtdG9vbGJhciAuYmNhLXRvb2xiYXJfX2xvZ28tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMge1xuICBmbGV4OiAxIDAgYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3Rvb2xzLWJ1dHRvbiBhIHtcbiAgbWFyZ2luOiA4cHggMC4zZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogM3B4IDhweCAzcHggNXB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3Rvb2xzLWJ1dHRvbiBhOjpiZWZvcmUge1xuICBtYXJnaW46IDAgMC40ZW0gMCAwLjJlbSAhaW1wb3J0YW50O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3Rvb2xzLWJ1dHRvbi1hZGQgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTVcIjtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uLWVkaXQgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtYnV0dG9uLXB1Ymxpc2ggYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cbi5iY2EtdG9vbGJhcl9fdG9vbHMtbW9kZSBzcGFuIHtcbiAgbWFyZ2luOiA4cHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogM3B4IDhweCAzcHggNXB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDIycHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyMDAxNCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyAuYmMtYnRuLCAuYmNhLXRvb2xiYXJfX3Rvb2xzIC5iYy1idG4ge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGksIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpID4gYSwgLmJjYS10b29sYmFyX190b29scyA+IHVsID4gbGkgPiBhIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMCAwIDAgI2NjYyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMnB4IDIwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpID4gYTpmb2N1cywgLmJjYS10b29sYmFyX190b29scyA+IHVsID4gbGkgPiBhOmhvdmVyLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0ICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaSA+IHVsLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaSA+IHVsIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkuYWN0aXZlLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaS5hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpLmFjdGl2ZSA+IGEsIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2NjYyAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhcl9fdXNlcnMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2MgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNjY2MgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmJjYS10b29sYmFyX191c2VycyA+IHVsID4gbGkuYWN0aXZlID4gdWwgbGksIC5iY2EtdG9vbGJhcl9fdG9vbHMgPiB1bCA+IGxpLmFjdGl2ZSA+IHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCBhLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCBhIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgI2NjYyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzUzNWE2MiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAycHggMjBweCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRvb2xiYXJfX3VzZXJzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCBhOmhvdmVyLCAuYmNhLXRvb2xiYXJfX3Rvb2xzID4gdWwgPiBsaS5hY3RpdmUgPiB1bCBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZmYTgzZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmNhLW5hdiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmbGV4LWJhc2lzOiAyMDhweDtcbiAgYmFja2dyb3VuZDogI2VlZWVlYTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbn1cbi5iY2EtbmF2X19tYWluIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2VlZWVlYTtcbn1cbi5iY2EtbmF2X19tYWluLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5iY2EtbmF2X19zdWIge1xuICBmb250LXNpemU6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xufVxuLmJjYS1uYXZfX3N1Yixcbi5iY2EtbmF2X19zdWIgKixcbi5iY2EtbmF2X19zdWIgKjo6YmVmb3JlLFxuLmJjYS1uYXZfX3N1YiAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYmNhLW5hdl9fbWFpbiA+IC5iY2EtbmF2X19zdWI6Zmlyc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4uYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogMTJweCAxMHB4IDEycHggMTBweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgMTBweCAwIDAgIWltcG9ydGFudDtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWw6bGluaywgLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbDp2aXNpdGVkIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi5iY2EtbmF2X19zdWItdGl0bGUtbGFiZWwgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1uYXZfX3N1Yi1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMTFweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW0gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiA3cHggMjBweCA1cHggMzVweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW0gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjVlbSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjc7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOmxpbmssIC5iY2EtbmF2X19zdWItbGlzdC1pdGVtIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW0gYTpsaW5rOmFmdGVyLCAuYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOnZpc2l0ZWQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOmhvdmVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3ViLWxpc3QtaXRlbSBhOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLmJjYS1uYXZfX3N1Yjpob3ZlciAuYmNhLW5hdl9fc3ViLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI2VlZWVlYTtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgei1pbmRleDogMTA7XG59XG4uYmNhLW5hdl9fc3ViOmhvdmVyIC5iY2EtbmF2X19zdWItbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjA7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogLTIwcHg7XG4gIGJvcmRlcjogMTBweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZWVlZWVhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi10aXRsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3ViLXRpdGxlLWxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zdWItdGl0bGUge1xuICBjb2xvcjogIzQyNGY0NDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW0gYSB7XG4gIHBhZGRpbmc6IDZweCAyMHB4IDVweCAzNXB4O1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbn1cbi5iY2EtbmF2X19zdWJbZGF0YS1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zdWItbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gYSB7XG4gIHBhZGRpbmc6IDEzcHggMjBweCAxMXB4IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIGE6bGluaywgLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N1Yi1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1jdXJyZW50PXRydWVdIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV06aG92ZXIgLmJjYS1uYXZfX3N1Yi1saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZV0gLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGE6YmVmb3JlIHtcbiAgd2lkdGg6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1kYXNoYm9hcmRdIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3ViW2RhdGEtY29udGVudC10eXBlPWNvbnRlbnRzXSAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXZfX3N1YltkYXRhLWNvbnRlbnQtdHlwZT1zeXN0ZW1dIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuW2RhdGEtYmNhLXN0YXRlPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tdGl0bGUtaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmJjYS1uYXZfX3N5c3RlbS10aXRsZSBidXR0b246OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tdGl0bGUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiAwLjFzIGFsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tdGl0bGUtaWNvbjo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0ge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW06aG92ZXIgLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xuICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB6LWluZGV4OiAxMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtOmhvdmVyIC5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDIwO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IC0yMHB4O1xuICBib3JkZXI6IDEwcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2VlZWVlYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlLWxhYmVsOmxpbmssIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlLWxhYmVsOnZpc2l0ZWQge1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlLWxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZS1sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMTFweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0ge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0gYSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBwYWRkaW5nOiA3cHggMjBweCA1cHggMzVweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdC1pdGVtIGE6aG92ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tdGl0bGUge1xuICBjb2xvcjogIzQyNGY0NDtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdC1pdGVtIGEge1xuICBwYWRkaW5nOiA2cHggMjBweCA1cHggMzVweDtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPXRydWVdIC5iY2EtbmF2X19zeXN0ZW0tc3ViLWxpc3QtaXRlbVtkYXRhLXN1Yi1pdGVtLWlzLWN1cnJlbnQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW1bZGF0YS1zdWItaXRlbS1pcy1jdXJyZW50PXRydWVdIGEge1xuICBwYWRkaW5nOiAxM3B4IDIwcHggMTFweCAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV06aG92ZXIgLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGVdIC5iY2EtbmF2X19zeXN0ZW0taXRlbS1saXN0LXRpdGxlID4gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICB3aWR0aDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT1zaXRlY29uZmlnc10gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXVzZXJzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3lzdGVtLXR5cGU9c2l0ZXNdIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zeXN0ZW0tdHlwZT10aGVtZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXBsdWdpbl0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN5c3RlbS10eXBlPXRvb2xzXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtY3VycmVudD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbVtkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUtbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtW2RhdGEtc3ViLWNvbnRlbnQtaXMtZXhwYW5kZWQ9dHJ1ZV0gLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW1bZGF0YS1zdWItY29udGVudC1pcy1leHBhbmRlZD10cnVlXSAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMTFweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0ge1xuICBtYXJnaW46IDA7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW0gYSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBwYWRkaW5nOiA3cHggMjBweCA1cHggMzVweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdC1pdGVtIGE6aG92ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdC1pdGVtW2RhdGEtc3ViLWl0ZW0taXMtY3VycmVudD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0LWl0ZW1bZGF0YS1zdWItaXRlbS1pcy1jdXJyZW50PXRydWVdIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLXRvcDogMTNweDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG4uYmNhLW5hdl9fdXBkYXRlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG4uYmNhLW5hdl9fdXBkYXRlLWJhZGdlIHtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmJjYS1uYXYtZmF2b3JpdGUge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWE7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1idXR0b246OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbltkYXRhLWJjYS1zdGF0ZT1vcGVuXSAuYmNhLW5hdi1mYXZvcml0ZS10aXRsZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLXRpdGxlLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zaXRpb246IDAuMXMgYWxsO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMCAwIDRweCAyMXB4O1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWxpc3QtaXRlbSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4IDIwcHggNXB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIGE6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIGE6bGluaywgLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1uYXYtZmF2b3JpdGUtbGlzdC1pdGVtIGE6aG92ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWxpc3QtaXRlbS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5iY2EtbmF2LWZhdm9yaXRlLWZ1bmN0aW9ucy1hZGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtYWRkOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzZmYTgzZDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG4uYmNhLW5hdi1mYXZvcml0ZS1mdW5jdGlvbnMtaGVscDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1uYXYtZmF2b3JpdGUgLm5vLWRhdGEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYmNhLWJ0bi1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNmZhODNkO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbi5iY2EtYnRuLWljb246aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFsaWFzXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1ob21lXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYzOTUzNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCM2ZmE4M2QgMTAlLCAjNjM5NTM2IDEwMCUpO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl06aG92ZXIsIC5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjNjM5NTM2IDEwJSwgIzYzOTUzNiAxMDAlKTtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9c3dpdGNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1vcGVuXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZG93bmxvYWRdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9Zm9sZGVyXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1maWxlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1sZWZ0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy11cF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9YXJyb3ctZG93bl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXNpemU9eHNdIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzZmYTgzZDtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPXdoaXRlXSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPXdoaXRlXTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9d2hpdGVdOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bi1pY29uW2RhdGEtYmNhLWJ0bi1zdGF0dXM9d2hpdGVdOmhvdmVyOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz1ncmF5XSB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPWdyYXldOjpiZWZvcmUge1xuICBjb2xvcjogI2VlZWVlYTtcbn1cbi5iY2EtYnRuLWljb25bZGF0YS1iY2EtYnRuLXN0YXR1cz1ncmF5XTpob3ZlciB7XG4gIGNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS1idG4taWNvbltkYXRhLWJjYS1idG4tc3RhdHVzPWdyYXldOmhvdmVyOjpiZWZvcmUge1xuICBjb2xvcjogI2VlZWVlYTtcbn1cbi5iY2EtYnRuLWljb25bZGlzYWJsZWRdIHtcbiAgY29sb3I6ICNhYWE7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cblxuLmJjYS1idG4taWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbi5iY2EtYnRuLWljb24tdGV4dDo6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbn1cbi5iY2EtYnRuLWljb24tdGV4dDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT11bnB1Ymxpc2hdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld106OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1lZGl0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXRoLWxpc3RdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWZhdm9yaXRlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPW1lbnVpdGVtXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWFkZF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYzOTUzNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCM2ZmE4M2QgMTAlLCAjNjM5NTM2IDEwMCUpO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXTpob3ZlciwgLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzYzOTUzNiAxMCUsICM2Mzk1MzYgMTAwJSk7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXNpemU9eHNdIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXN0YXR1cz1wcmltYXJ5XSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNmZhODNkO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV06OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG4taWNvbi10ZXh0W2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAjYWFhO1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi8qIEJhbm5lckFyZWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLWJhbm5lcnNfX3VsIHtcbiAgcGFkZGluZzogMDtcbn1cbi5iY2EtYmFubmVyc19fbGkge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIHBhZGRpbmctbGVmdDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIGJjYS1hY3Rpb24tdGFibGUtbGlzdHVwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1hY3Rpb24tdGFibGUtbGlzdHVwIHNlbGVjdCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmNhLWFjdGlvbi10YWJsZS1saXN0dXAgc2VsZWN0ICsgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTFdIHRoZWFkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUxXSB0Ym9keSB0aCwgLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUxXSB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMV0gdGJvZHkgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRoLCAuYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRkIHtcbiAgcGFkZGluZzogMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB0aGVhZCB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB0Ym9keSB0aCwgLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB0Ym9keSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHRib2R5IHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuY2VsMSB7XG4gIHdpZHRoOiAxMjBweDtcbn1cbi5iY2EtdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1jdXJyZW50cm93IHRoLCAuYmNhLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtY3VycmVudHJvdyB0ZCB7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG59XG5cbi8qIGxpc3QtdGFibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLXRhYmxlLWxpc3R1cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtbWFpbi1ib2R5IC5iY2EtdGFibGUtbGlzdHVwIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190aGVhZC10aCwgLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRoLCAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICBwYWRkaW5nOiAxZW0gMWVtIDFlbSAwLjVlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRyIC5iY2EtdGFibGUtbGlzdHVwX190aGVhZC10aCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxudHIgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoLS1zZWxlY3Qge1xuICBwYWRkaW5nOiAxMHB4O1xufVxudHIgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoLS1zZWxlY3QgaW5wdXQge1xuICBtYXJnaW46IDA7XG59XG50ciAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgtLXNlbGVjdCBhIHtcbiAgY29sb3I6ICM2ZmE4M2Q7XG59XG50ciAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgtLXNlbGVjdCBhIC5iY2EtYnRuLWljb24tdGV4dFtkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdOjpiZWZvcmUge1xuICBjb2xvcjogIzZmYTgzZDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX19hIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fYSAuYmNhLWljb24tLWFzYyxcbi5iY2EtdGFibGUtbGlzdHVwX19hIC5iY2EtaWNvbi0tZGVzYyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4xZW07XG4gIGhlaWdodDogMWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwLjU7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fYSAuYmNhLWljb24tLWFzYzpiZWZvcmUsXG4uYmNhLXRhYmxlLWxpc3R1cF9fYSAuYmNhLWljb24tLWRlc2M6YmVmb3JlIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fYTpob3ZlciAuYmNhLWljb24tLWFzYyxcbi5iY2EtdGFibGUtbGlzdHVwX19hOmhvdmVyIC5iY2EtaWNvbi0tZGVzYywgLmJjYS10YWJsZS1saXN0dXBfX2EuYXNjIC5iY2EtaWNvbi0tYXNjLFxuLmJjYS10YWJsZS1saXN0dXBfX2EuYXNjIC5iY2EtaWNvbi0tZGVzYywgLmJjYS10YWJsZS1saXN0dXBfX2EuZGVzYyAuYmNhLWljb24tLWFzYyxcbi5iY2EtdGFibGUtbGlzdHVwX19hLmRlc2MgLmJjYS1pY29uLS1kZXNjIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX19pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRoLCAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxudHI6aG92ZXIgLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRoLCB0cjpob3ZlciAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGgge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tc2VsZWN0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDEyLjVweDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tc2VsZWN0IGlucHV0IHtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS10aXRsZSB7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS1jYXRlZ29yeSB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLXRhZyB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLXRhZyAudGFnOmFmdGVyIHtcbiAgY29udGVudDogXCIsIFwiO1xufVxuLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkLS10YWcgLnRhZzpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZC0tZGF0ZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLWFjdGlvbnMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQtLWFjdGlvbnMgLmJjYS1idG4taWNvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbi1yaWdodDogMC4yZW07XG59XG4uYmNhLXRhYmxlLWxpc3R1cCB0ci51aS1zb3J0YWJsZS1oZWxwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2VlZWVlYSAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuLmJjYS10YWJsZS1saXN0dXAgdHIudWktc29ydGFibGUtaGVscGVyIHRkIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYmNhLXRhYmxlLWxpc3R1cCB0ci51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUzLCAyNDUsIDIwMywgMC44NCkgIWltcG9ydGFudDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIC5kaXNhYmxlcm93IHRoLCAuYmNhLXRhYmxlLWxpc3R1cCAuZGlzYWJsZXJvdyB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG4uYmNhLXRhYmxlLWxpc3R1cCAuZXllX2NhdGNoLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIC5leWVfY2F0Y2gge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiA1MHB4O1xufVxuLmJjYS10YWJsZS1saXN0dXAgLmV5ZV9jYXRjaCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5iY2EtdGFibGUtbGlzdHVwIFtkYXRhLWJjYS10ZXh0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLXRhYmxlLWxpc3R1cCAuYmNhLWN1cnJlbnRyb3cgdGgsIC5iY2EtdGFibGUtbGlzdHVwIC5iY2EtY3VycmVudHJvdyB0ZCB7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4vKiBDcnVtYlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtY29udGVudC1tZW51IHtcbiAgcGFkZGluZzogMDtcbn1cbi5iY2EtY29udGVudC1tZW51X19pdGVtIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5iY2EtY29udGVudC1tZW51X19saW5rIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG5cbi5iY2EtY29udGVudC1pbmZvX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1jb250ZW50LWluZm9fX2xpc3Qge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJjYS1jb250ZW50LWluZm9fX2xpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYmNhLWZlZWRfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLWZlZWRfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG4uYmNhLWZlZWRfX2xpc3QtaXRlbS1kYXRlIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi5iY2EtdXBkYXRlLWxvZ19fbGlzdCB7XG4gIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLXVwZGF0ZS1sb2dfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4uYmNhLXVwZGF0ZS1sb2dfX2xpc3QtaXRlbSAuZGF0ZSB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4uYmNhLXNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYWxpZ24tc2VsZjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5iY2Etc2VhcmNoX19oZWFkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS1zZWFyY2hfX2hlYWQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmJjYS1zZWFyY2hfX2hlYWQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5iY2Etc2VhcmNoX19ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFlbSAyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYmNhLXNlYXJjaF9faW5wdXQtbGlzdCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsqL1xufVxuLmJjYS1zZWFyY2hfX2lucHV0LWl0ZW0ge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIC8qZmxleDogMCAxIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7Ki9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMnZ3O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmJjYS1zZWFyY2hfX2lucHV0LWl0ZW0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMCA0cHg7XG59XG4uYmNhLXNlYXJjaF9fYnRucyB7XG4gIC8qZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgbWFyZ2luOiAxZW0gMCAwIDRweDtcbn1cbi5iY2Etc2VhcmNoX19idG5zLWl0ZW0ge1xuICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBiY2EtcGFnaW5hdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmJjYS1wYWdpbmF0aW9uIC5iY2EtcGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4uYmNhLXBhZ2luYXRpb24gLmJjYS1wYWdlLXJlc3VsdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDVweCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLmJjYS1wYWdpbmF0aW9uIHNwYW4gYSxcbi5iY2EtcGFnaW5hdGlvbiBzcGFuIHNwYW4gYSxcbi5iY2EtcGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4uYmNhLXBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYmNhLXBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG4uYmNhLXBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbn1cbi5iY2EtcGFnaW5hdGlvbiBzcGFuIHNwYW4gYSB7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1wYWdpbmF0aW9uIHNwYW4gc3BhbiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNGY0NDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYmNhLXBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzk5OTtcbn1cbi5iY2EtcGFnaW5hdGlvbiAubmV4dCwgLmJjYS1wYWdpbmF0aW9uIC5wcmV2IHtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xufVxuLmJjYS1wYWdpbmF0aW9uIC5uZXh0IGEsIC5iY2EtcGFnaW5hdGlvbiAucHJldiBhIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJvcmRlci1jb2xvcjogI2VlZWVlYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlYTtcbn1cbi5iY2EtcGFnaW5hdGlvbiAubmV4dCBhOmhvdmVyLCAuYmNhLXBhZ2luYXRpb24gLnByZXYgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJjYS1wYWdpbmF0aW9uIC5kaXNhYmxlZCxcbi5iY2EtcGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xufVxuXG4vKiBiY2EtdG90b3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUb1RvcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtdG90b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cbi5iY2EtdG90b3AgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MjRmNDQ7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLXRvdG9wIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIExvZ2luXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJjYS1sb2dpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDMwcHggYXV0bztcbiAgcGFkZGluZzogNDBweCAyNXB4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLWxvZ2luLFxuLmJjYS1sb2dpbiAqLFxuLmJjYS1sb2dpbiAqOjpiZWZvcmUsXG4uYmNhLWxvZ2luICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iY2EtbG9naW4ge1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uYmNhLWxvZ2luX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM2ZmE4M2Q7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDRyZW07XG59XG4uYmNhLWxvZ2luX19sb2dvIHtcbiAgd2lkdGg6IDIzMHB4O1xufVxuLmJjYS1sb2dpbi1mb3JtLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1sb2dpbi1mb3JtLWl0ZW0gbGFiZWwge1xuICBjb2xvcjogIzQyNGY0NDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMS4yZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5iY2EtbG9naW4tZm9ybS1pdGVtIC5iY2EtdGV4dGJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1sb2dpbi1mb3JtLWl0ZW0gLmJjYS10ZXh0Ym94IC5iY2EtdGV4dGJveF9faW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwLjY5ZW0gMWVtO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5iY2EtbG9naW4tZm9ybS1pdGVtIC5iY2EtdGV4dGJveCAuYmNhLXRleHRib3hfX2lucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5iY2EtbG9naW4gYnV0dG9uLmJjYS1idG4tLWxvZ2luIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTJweDtcbn1cbi5iY2EtbG9naW4gLmJjYS1sb2dpbi1mb3JtLWN0cmwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAuYmNhLW1haW5fX2NvbnRlbnRzIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAjQ3JlZGl0U2Nyb2xsZXIsICNBZG1pbkJhc2VyQ29yZVVzZXJzTG9naW4gI0NyZWRpdFNjcm9sbGVyIGEge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiAjQ3JlZGl0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4jQWRtaW5CYXNlckNvcmVVc2Vyc0xvZ2luICNDcmVkaXRTY3JvbGxlcklubmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiBodG1sIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbiNBZG1pbkJhc2VyQ29yZVVzZXJzTG9naW4gLmJjYS1jb250YWluZXIge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI0Y0RjVGMTtcbn1cbiNBZG1pbkJhc2VyQ29yZVVzZXJzTG9naW4gLmJjYS1jcnVtYixcbiNBZG1pbkJhc2VyQ29yZVVzZXJzTG9naW4gLmJjYS1tYWluLWJvZHktaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJjYS1saXN0LW51bSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5iY2EtbGlzdC1udW1fX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbi5iY2EtbGlzdC1udW1fX2RhdGEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uYmNhLWZvcm0tdGFibGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogYXV0bztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5iY2EtZm9ybS10YWJsZV9fbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDEuNGVtIDJlbSAxZW0gMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYmNhLWZvcm0tdGFibGVfX2xhYmVsLi1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYmNhLWZvcm0tdGFibGVfX2xhYmVsIGxhYmVsIHtcbiAgcGFkZGluZzogMC4yZW0gMCAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJjYS1mb3JtLXRhYmxlX19sYWJlbCAuYmNhLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjE1ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmNhLWZvcm0tdGFibGVfX2lucHV0IHtcbiAgcGFkZGluZzogMWVtIDAgMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5iY2EtZm9ybS10YWJsZV9faW5wdXQtd3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLmJjYS1mb3JtLXRhYmxlIHRyOmxhc3QtY2hpbGQgdGgsXG4uYmNhLWZvcm0tdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbn1cbi5iY2EtZm9ybS10YWJsZV9fZ3JvdXAtc3RhdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYmNhLWZvcm0tdGFibGVfX2dyb3VwLXN0YXRlIC5iY2EtcmFkaW8tZ3JvdXAge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi5iY2EtZm9ybS10YWJsZV9faW5uZXItdGFibGUtbGFiZWwge1xuICBwYWRkaW5nOiAwLjVlbSAxZW0gMC41ZW0gMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5iY2EtZm9ybS10YWJsZV9faW5uZXItdGFibGUtaW5wdXQge1xuICBwYWRkaW5nOiAwLjVlbSAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJjYS1mb3JtLXRhYmxlX19pbm5lci1zdWJtaXQge1xuICBtYXJnaW46IDFlbSAwIDA7XG59XG4uYmNhLWZvcm0tdGFibGUgLmJjYS1wb3N0X191cmwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5iY2EtZm9ybS10YWJsZSAuYmNhLW1haWxDb250ZW50U2VuZGVyMSB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IDJlbTtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9fbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMjUwcHg7XG4gIHBhZGRpbmctbGVmdDogMC4yZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJjYS1mb3JtLXRhYmxlX19sYWJlbC4tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xufVxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9fbGFiZWwgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMmVtIDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWZvcm0tdGFibGVfX2xhYmVsIC5iY2EtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuMTVlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWZvcm0tdGFibGVfX2lucHV0IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWZvcm0tdGFibGVfX2lucHV0IC5iY2Etc2VsZWN0LFxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9faW5wdXQgLmJjYS10ZXh0Ym94LFxuLmJjYS1mb3JtLXRhYmxlW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIC5iY2EtZm9ybS10YWJsZV9faW5wdXQgLmJjYS10ZXh0YXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBtYXJnaW4tbGVmdDogLTRweDtcbn1cbi5iY2EtZm9ybS10YWJsZVtkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSAuYmNhLWZvcm0tdGFibGVfX2V4cGxhbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6ICM2NjY7XG59XG4uYmNhLWZvcm0tdGFibGVbZGF0YS1iY2EtdGFibGUtdHlwZT10eXBlMl0gLmJ0bi5oZWxwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuLmJjYS1mb3JtLXRhYmxlIC5iY2EtaGVscCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuI0Jhc2ljU2V0dGluZyB0YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWVzc2FnZSB7XG4gIGNvbG9yOiAjMDA4N2JjO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbiNNZXNzYWdlQm94IC5tZXNzYWdlLFxuI01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlLFxuI0JjTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2UsXG4jVXBkYXRlTWVzc2FnZSB7XG4gIGNvbG9yOiAjMDA4N2JjO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuI01lc3NhZ2VCb3ggLm1lc3NhZ2U6OmJlZm9yZSxcbiNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAubm90aWNlLW1lc3NhZ2U6OmJlZm9yZSxcbiNVcGRhdGVNZXNzYWdlOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG5cbiNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdlLFxuI2F1dGhNZXNzYWdlLFxuI0FsZXJ0TWVzc2FnZSxcbiNCY01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2Uge1xuICBjb2xvcjogI2YyMDAxNCAhaW1wb3J0YW50O1xufVxuI01lc3NhZ2VCb3ggLmFsZXJ0LW1lc3NhZ2U6OmJlZm9yZSxcbiNhdXRoTWVzc2FnZTo6YmVmb3JlLFxuI0FsZXJ0TWVzc2FnZTo6YmVmb3JlLFxuI0JjTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuXG4vKiBmbGFzaE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jYXV0aE1lc3NhZ2UsXG4jZmxhc2hNZXNzYWdlLFxuI0FsZXJ0TWVzc2FnZSxcbiNCY1N5c3RlbU1lc3NhZ2UsXG4jVXBkYXRlTWVzc2FnZSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDI1cHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4jQmNNZXNzYWdlQm94IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGVscCxTZWFyY2gsTGltaXTlhbHpgJroqK3lrppcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jSGVscCAuaGVhZCwgI0xpbWl0IC5oZWFkIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4jSGVscCAuYm9keSwgI0xpbWl0IC5ib2R5IHtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuI0hlbHAgLmNsb3NlLCAjTGltaXQgLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI0hlbHAgaDIsICNMaW1pdCBoMiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyogSGVscFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNIZWxwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbiNIZWxwIC5ib2R5IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI0hlbHAgLmV4YW1wbGUtYm94IHtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyOiAzcHggc29saWQgI0RERDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbiNIZWxwIC5leGFtcGxlLWJveCAuaGVhZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jSGVscCB1bCxcbiNIZWxwIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbn1cblxuI0hlbHAgbGkge1xuICAvKnBhZGRpbmc6IDAgMjBweDsqL1xuICBtYXJnaW46IDVweCAwO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4jSGVscCBsaSBpbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cge1xuICB3aWR0aDogOTAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY2NjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzY2NjtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbnRhYmxlLmNha2Utc3FsLWxvZyBjYXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUuY2FrZS1zcWwtbG9nIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNjY2O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNjY2O1xuICBib3JkZXItbGVmdC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxudGFibGUuY2FrZS1zcWwtbG9nIHRyIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLmJ1dHRvbi1zbWFsbCwgLnVpLWRpYWxvZy1idXR0b25zZXQgYnV0dG9uLCAuYmNhLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAwLjdlbSAxZW0gMC42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJ1dHRvbi1zbWFsbDo6YmVmb3JlLCAudWktZGlhbG9nLWJ1dHRvbnNldCBidXR0b246OmJlZm9yZSwgLmJjYS1idG46OmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5idXR0b24tc21hbGw6aG92ZXIsIC51aS1kaWFsb2ctYnV0dG9uc2V0IGJ1dHRvbjpob3ZlciwgLmJjYS1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUsIHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlKTtcbn1cbi5idXR0b24tc21hbGw6Zm9jdXMsIC51aS1kaWFsb2ctYnV0dG9uc2V0IGJ1dHRvbjpmb2N1cywgLmJjYS1idG46Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xufVxuXG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1wdWJsaXNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9dW5wdWJsaXNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZWRpdF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWNvcHldOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zYXZlXSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zYXZlXTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1zYXZlXTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0O1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWFkZF0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNmZhODNkO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9YWRkXTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1hZGRdOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYzOTUzNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCM2ZmE4M2QgMTAlLCAjNjM5NTM2IDEwMCUpO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dOmhvdmVyLCAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1sb2dpbl06Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCM2Mzk1MzYgMTAlLCAjNjM5NTM2IDEwMCUpO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9c2VhcmNoXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9Y2xlYXJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXNpemU9eGxdIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1zaXplPXhzXSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIHBhZGRpbmc6IDAuNmVtIDAuOGVtIDAuNGVtO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLXdpZHRoPXhsXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDVlbTtcbiAgcGFkZGluZy1sZWZ0OiA1ZW07XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4td2lkdGg9bGddIHtcbiAgcGFkZGluZy1yaWdodDogM2VtO1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1jYXRlZ29yeT10ZXh0XSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmJjYS1idG5bZGF0YS1iY2EtYnRuLWNhdGVnb3J5PXRleHRdOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tY29sb3I9ZGFuZ2VyXSB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tY29sb3I9ZGFuZ2VyXTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZjIwMDE0O1xuICBib3JkZXItY29sb3I6ICNmMjAwMTQ7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tY29sb3I9ZGFuZ2VyXTpob3Zlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG59XG4uYmNhLWJ0bltkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iY2EtYnRuW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV06aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzQyNGY0NDtcbn1cbi5iY2EtYnRuW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAjYWFhO1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi5iY2EtcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW46IDAuMmVtIDFlbSAwIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5iY2EtcmFkaW9bZGF0YS1iY2EtcmFkaW8tc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYmNhLXJhZGlvW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLXJhZGlvLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xufVxuLmJjYS1yYWRpby1ncm91cCBiciArIC5iY2EtcmFkaW8ge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi5iY2EtcmFkaW9fX2lucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG4gIG1hcmdpbjogMHB4O1xufVxuLmJjYS1yYWRpb19faW5wdXQgKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtcmFkaW9fX2lucHV0W2RhdGEtYmNhLXJhZGlvLXNpemU9bGddICsgbGFiZWwge1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYmNhLXJhZGlvX19pbnB1dFtkYXRhLWJjYS1yYWRpby1zaXplPXNtXSArIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLXJhZGlvX19pbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5iY2EtcmFkaW9fX2lucHV0LmZvcm0tZXJyb3IgKyBsYWJlbDpiZWZvcmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjIwMDE0O1xufVxuLmJjYS1yYWRpb19faW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0O1xufVxuLmJjYS1yYWRpb19faW5wdXQuZm9ybS1lcnJvcjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyMDAxNDtcbn1cbi5iY2EtcmFkaW9fX2lucHV0OmRpc2FibGVkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi5iY2EtcmFkaW9fX2lucHV0OmNoZWNrZWQ6ZGlzYWJsZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLmJjYS1yYWRpb19faW5wdXQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmZiBpbnNldCwgMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5iY2EtcmFkaW9fX2lucHV0LmZvcm0tZXJyb3I6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmZiBpbnNldCwgMCAwIDRweCAwcHggI2YyMDAxNDtcbiAgYm9yZGVyLWNvbG9yOiAjZjIwMDE0O1xufVxuLmJjYS1yYWRpb19fbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYmNhLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwLjJlbSAxZW0gMCAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuLmJjYS1jaGVja2JveFtkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5iY2EtY2hlY2tib3hbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtY2hlY2tib3gtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG59XG4uYmNhLWNoZWNrYm94LWdyb3VwIC5iY2EtY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbi5iY2EtY2hlY2tib3hfX2lucHV0IHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAtbW96LW9wYWNpdHk6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbn1cbi5iY2EtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbi5iY2EtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQgKyAuYmNhLWNoZWNrYm94LWxhYmVsOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYmNhLWNoZWNrYm94X19pbnB1dDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbi5iY2EtY2hlY2tib3hfX2lucHV0OmZvY3VzICsgLmJjYS1jaGVja2JveC1sYWJlbDpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbCwgLmJjYS1jaGVja2JveF9fbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbDphZnRlciwgLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbDpiZWZvcmUsIC5iY2EtY2hlY2tib3hfX2xhYmVsOmFmdGVyLCAuYmNhLWNoZWNrYm94X19sYWJlbDpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbDpiZWZvcmUsIC5iY2EtY2hlY2tib3hfX2xhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogLTAuMmVtO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi5iY2EtY2hlY2tib3hfX2lucHV0ICsgbGFiZWw6YWZ0ZXIsIC5iY2EtY2hlY2tib3hfX2xhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMC41ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAwLjllbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItcmlnaHQ6IDAuMjRlbSBzb2xpZCAjNmZhODNkO1xuICBib3JkZXItYm90dG9tOiAwLjI0ZW0gc29saWQgIzZmYTgzZDtcbn1cbi5iY2EtY2hlY2tib3hfX2lucHV0ICsgbGFiZWxbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1sZ10sIC5iY2EtY2hlY2tib3hfX2xhYmVsW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmJjYS1jaGVja2JveF9faW5wdXQgKyBsYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSwgLmJjYS1jaGVja2JveF9fbGFiZWxbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5iY2EtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cbi5iY2EtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdICsgbGFiZWw6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM5OTk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XG59XG5cbi5iY2Etc2VsZWN0X19zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2FkbWluL2ljbl9zZWxlY3Quc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDAuNWVtLzEwcHggYXV0bywgI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHBhZGRpbmc6IDAuN2VtIDIuMmVtIDAuNmVtIDEuMmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBtYXJnaW46IDRweDtcbn1cbi5iY2Etc2VsZWN0X19zZWxlY3RbZGF0YS1iY2Etc2VsZWN0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLXNlbGVjdF9fc2VsZWN0W2RhdGEtYmNhLXNlbGVjdC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmJjYS1zZWxlY3RfX3NlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG59XG4uYmNhLXNlbGVjdF9fc2VsZWN0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLyogYmNhLWRhdGEtbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtZGF0YS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5iY2EtZGF0YS1saXN0X190b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5iY2EtZGF0YS1saXN0X19zdWIge1xuICBmbGV4OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uYmNhLWRhdGEtbGlzdF9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5iY2EtbGFiZWwge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZDogIzQ0NDtcbiAgbWFyZ2luOiAwLjVlbSAwLjU1ZW0gMC41ZW07XG4gIHBhZGRpbmc6IDAuMWVtIDAuNmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xufVxuLmJjYS1sYWJlbFtkYXRhLWJjYS1sYWJlbC10eXBlPXJlcXVpcmVkXSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6ICNmMjAwMTQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5iY2EtbGFiZWxbZGF0YS1iY2EtbGFiZWwtdHlwZT1vcHRpb25hbF0ge1xuICBiYWNrZ3JvdW5kOiAjMDBFO1xufVxuXG4uYmNhLXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICByb3ctZ2FwOiAyMHB4O1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uYmNhLXBhbmVsID4gKiB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xufVxuLmJjYS1wYW5lbC1ib3gge1xuICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cbi5iY2EtcGFuZWwtYm94X190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmJjYS1wYW5lbC1ib3hfX2lubGluZS1maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLmJjYS1wYW5lbC1ib3hfX2lubGluZS1maWVsZHMtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtcGFuZWwtYm94X19pbmxpbmUtZmllbGRzLWl0ZW0gLmJjYS1yYWRpby1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmNhLXBhbmVsLWJveF9faW5saW5lLWZpZWxkcy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLXBhbmVsLWJveF9faW5saW5lLWZpZWxkcy1zZXBhcmF0b3Ige1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVhO1xuICBtYXJnaW46IDAgMmVtO1xufVxuLmJjYS1wYW5lbC1ib3hfX2lubGluZS1maWVsZHMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJjYS1wbHVnaW4tdXBkYXRlIC5iY2EtcGFuZWwtYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyog5Y+k44GE44K544K/44Kk44OrIOOCpOODs+OCueODiOODvOODq+eUu+mdouOBquOBqVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtbWFpbl9fYm9keSBkaXYuZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMlO1xufVxuXG4uYmNhLXRleHRib3gtY29sb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYmNhLXRleHRib3gtY29sb3JfX2lucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwLjdlbSAwLjVlbSAwLjZlbSAwLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIG1hcmdpbjogNHB4O1xufVxuLmJjYS10ZXh0Ym94LWNvbG9yX19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5iY2EtdGV4dGJveC1jb2xvcl9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYmNhLXRleHRib3gtY29sb3JfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG59XG4uYmNhLXRleHRib3gtY29sb3JfX2lucHV0W2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmJjYS10ZXh0Ym94LWNvbG9yX19pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi5iY2EtdGV4dGJveCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAuN2VtIDAuNWVtIDAuNmVtIDAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgbWFyZ2luOiA0cHg7XG59XG4uYmNhLXRleHRib3hfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXRbZGF0YS1tYXJnaW49Ym90dG9tXSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYmNhLXRleHRib3hfX2lucHV0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbn1cbi5iY2EtdGV4dGJveF9faW5wdXQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmJjYS10ZXh0Ym94X19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2M5YzhjODtcbn1cblxuLmJjYS10ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmNhLXRleHRhcmVhX190ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMC43ZW0gMC41ZW0gMC42ZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBtYXJnaW46IDRweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xufVxuLmJjYS10ZXh0YXJlYV9fdGV4dGFyZWFbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLXRleHRhcmVhX190ZXh0YXJlYVtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5iY2EtdGV4dGFyZWFfX3RleHRhcmVhW2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xufVxuLmJjYS10ZXh0YXJlYV9fdGV4dGFyZWFbZGF0YS13aWR0aD1mdWxsXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbn1cbi5iY2EtdGV4dGFyZWFfX3RleHRhcmVhOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmZhODNkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5iY2EtdGV4dGFyZWFfX3RleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzljOGM4O1xufVxuXG4uYmNhLWZpbGVfX2RlbGV0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDFlbSAwLjRlbSAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgLW1vei1vcGFjaXR5OiAwO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNjY2NjY2M7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dDpjaGVja2VkICsgLmJjYS1jaGVja2JveC1sYWJlbDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1maWxlX19kZWxldGUtaW5wdXQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dDpmb2N1cyArIC5iY2EtZmlsZV9fZGVsZXRlLWxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsOmFmdGVyLCAuYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsOmJlZm9yZSwgLmJjYS1maWxlX19kZWxldGUtbGFiZWw6YWZ0ZXIsIC5iY2EtZmlsZV9fZGVsZXRlLWxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsOmJlZm9yZSwgLmJjYS1maWxlX19kZWxldGUtbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMC4yZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI0JCQkJCQjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLmJjYS1maWxlX19kZWxldGUtaW5wdXQgKyBsYWJlbDphZnRlciwgLmJjYS1maWxlX19kZWxldGUtbGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwLjVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuOWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1yaWdodDogMC4yNGVtIHNvbGlkICM2ZmE4M2Q7XG4gIGJvcmRlci1ib3R0b206IDAuMjRlbSBzb2xpZCAjNmZhODNkO1xufVxuLmJjYS1maWxlX19kZWxldGUtaW5wdXQgKyBsYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSwgLmJjYS1maWxlX19kZWxldGUtbGFiZWxbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYmNhLWZpbGVfX2RlbGV0ZS1pbnB1dCArIGxhYmVsW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9c21dLCAuYmNhLWZpbGVfX2RlbGV0ZS1sYWJlbFtkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4vKlxuIGRhdGVwaWNrZXJcbiAgc3Bhblx0XHRcdGJjYS1kYXRlcGlja2VyXG4gIHNwYW4oZGF0ZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fZGF0ZVxuICB0ZXh0KGRhdGUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX2RhdGUtaW5wdXRcbiAgbGFiZWwoZGF0ZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fZGF0ZS1sYWJlbFxuICBzcGFuKHRpbWUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX3RpbWVcbiAgdGV4dCh0aW1lKVx0XHRcdGJjYS1kYXRlcGlja2VyX190aW1lLWlucHV0XG4gIGxhYmVsKHRpbWUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX3RpbWUtbGFiZWxcblxuPHNwYW4gY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXIgcmVxdWlyZWRcIj5cbiAgPHNwYW4gY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGVcIj5cbiAgICA8bGFiZWwgZm9yPVwiQmxvZ1Bvc3RQb3N0c0RhdGVEYXRlXCIgY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWxcIj7ml6Xku5g8L2xhYmVsPlxuICAgIDxpbnB1dCBuYW1lPVwiZGF0YVtCbG9nUG9zdF1bcG9zdHNfZGF0ZV9kYXRlXVwiIHNpemU9XCIxMlwiIG1heGxlbmd0aD1cIjEwXCJcbiAgICAgIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWlucHV0IGhhc0RhdGVwaWNrZXJcIiB2YWx1ZT1cIjIwMTgvMTAvMTVcIiB0eXBlPVwidGV4dFwiIGlkPVwiQmxvZ1Bvc3RQb3N0c0RhdGVEYXRlXCI+XG4gICAgPHNjcmlwdD48L3NjcmlwdD5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fdGltZVwiPlxuICAgIDxsYWJlbCBmb3I9XCJCbG9nUG9zdFBvc3RzRGF0ZVRpbWVcIiBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fdGltZS1sYWJlbFwiPuaZgumWkzwvbGFiZWw+XG4gICAgPGlucHV0IG5hbWU9XCJkYXRhW0Jsb2dQb3N0XVtwb3N0c19kYXRlX3RpbWVdXCIgc2l6ZT1cIjhcIiBtYXhsZW5ndGg9XCI4XCIgY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXQgdWktdGltZXBpY2tlci1pbnB1dFwiIHZhbHVlPVwiMTk6MTQ6MTJcIiB0eXBlPVwidGV4dFwiIGlkPVwiQmxvZ1Bvc3RQb3N0c0RhdGVUaW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gIDwvc3Bhbj5cbiAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiZGF0YVtCbG9nUG9zdF1bcG9zdHNfZGF0ZV1cIiB2YWx1ZT1cIjIwMTgtMTAtMTUgMTk6MTQ6MTJcIiBpZD1cIkJsb2dQb3N0UG9zdHNEYXRlXCI+XG48L3NwYW4+XG5cbiAqL1xuLmJjYS1kYXRldGltZXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWwsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGNvbG9yOiAjNjY2O1xuICB0cmFuc2l0aW9uOiAwLjI7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlOmhvdmVyIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlOmhvdmVyIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lOmhvdmVyIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtbGFiZWw6YmVmb3JlLCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lOmhvdmVyIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6YmVmb3JlIHtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWlucHV0LCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwLjdlbSBjYWxjKDAuNWVtICsgMTZweCkgMC42ZW0gMC41ZW07XG4gIG1hcmdpbjogNHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzQyNGY0NDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtaW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddLCAuYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWlucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0sIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWlucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0sIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2RhdGUtaW5wdXQ6Zm9jdXMsIC5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmJjYS1kYXRldGltZXBpY2tlcjpoYXMoLmZvcm0tZXJyb3IpIGlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyMDAxNDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXI6aGFzKC5mb3JtLWVycm9yKSBpbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICNmMjAwMTQ7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX190aW1lIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWw6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtaW5wdXQge1xuICB3aWR0aDogNmVtO1xufVxuLmJjYS1kYXRldGltZXBpY2tlcl9fZGVsaW1pdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbi5iY2EtZGF0ZXRpbWVwaWNrZXJfX2dyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG59XG4uYmNhLWRhdGV0aW1lcGlja2VyX19zdGFydCwgLmJjYS1kYXRldGltZXBpY2tlcl9fZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4uYmNhLWxpc3QtcGFuZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDMwMHB4KTtcbiAgZ3JpZC1yb3ctZ2FwOiAyMHB4O1xuICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5iY2EtbGlzdC1wYW5lbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnJvdy10b29scyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDNweDtcbn1cbi5iY2EtbGlzdC1wYW5lbCAucm93LXRvb2xzIC5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnRoZW1lLW5hbWUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmJjYS1saXN0LXBhbmVsIC50aGVtZS1zY3JlZW5zaG90IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbn1cbi5iY2EtbGlzdC1wYW5lbCAudGhlbWUtc2NyZWVuc2hvdCBhIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1saXN0LXBhbmVsIC50aGVtZS1zY3JlZW5zaG90IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJjYS1saXN0LXBhbmVsIC50aGVtZS12ZXJzaW9uLCAuYmNhLWxpc3QtcGFuZWwgLnRoZW1lLWF1dGhvciB7XG4gIG1hcmdpbjogMTBweCAwIDVweDtcbn1cbi5iY2EtbGlzdC1wYW5lbCAudGhlbWUtYXV0aG9yIGEge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYmNhLWxpc3QtcGFuZWwgLnRoZW1lLWF1dGhvciBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJjYS1saXN0LXBhbmVsIC5lcnJvci1tZXNzYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRvcDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiA3cHg7XG4gIHdpZHRoOiAyMzBweDtcbn1cbi5iY2EtbGlzdC1wYW5lbCAubm8tZGF0YSB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJjYS1saXN0LXBhbmVsOmhhcygubm8tZGF0YSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJjYS1jdXJyZW50LXRoZW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDNweCBzb2xpZCAjNmZhODNkO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lX19uYW1lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG59XG4uYmNhLWN1cnJlbnQtdGhlbWVfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5iY2EtY3VycmVudC10aGVtZV9fbWFpbiB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgd2lkdGg6IDMwMHB4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lX19zdWIge1xuICBmbGV4OiAxO1xufVxuLmJjYS1jdXJyZW50LXRoZW1lX19zY3JlZW5zaG90IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbi5iY2EtY3VycmVudC10aGVtZV9fc2NyZWVuc2hvdCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC50aGVtZS1uYW1lIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIGNsZWFyOiByaWdodDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAudGhlbWUtcG9wdXAtY29udGVudHMge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMzBweCAyMHB4O1xufVxuLmJjYS1jdXJyZW50LXRoZW1lIC50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWUgLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IGltZyB7XG4gIHdpZHRoOiAyOThweDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAudGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLXNjcmVlbnNob3QgLnRoZW1lLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWUgLnJvdy10b29scyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDNweDtcbn1cbi5iY2EtY3VycmVudC10aGVtZSAucm93LXRvb2xzIC5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYmNhLWN1cnJlbnQtdGhlbWUgLmVycm9yLW1lc3NhZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdG9wOiA1NnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDdweDtcbiAgd2lkdGg6IDI4NnB4O1xufVxuXG4jQ3VycmVudFRoZW1lIGgyIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbiNDdXJyZW50VGhlbWUgI1RoZW1lTG9hZERlZmF1bHREYXRhUGF0dGVybkZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKlxuI0N1cnJlbnRUaGVtZSB7XG5cdGJvcmRlcjo1cHggc29saWQgI2UyZTJlMjtcblx0cGFkZGluZzoyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtc2NyZWVuc2hvdCB7XG5cdGJvcmRlcjoxcHggc29saWQgI2UyZTJlMjtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbiNDdXJyZW50VGhlbWUgLnRoZW1lLXNjcmVlbnNob3QgaW1nIHtcblx0d2lkdGg6Mjk4cHg7XG59XG4jQ3VycmVudFRoZW1lIC5yb3ctdG9vbHMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6NXB4O1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlcjozcHggc29saWQgI2NjYztcblx0cGFkZGluZzozcHg7XG59XG4jQ3VycmVudFRoZW1lIC50aGVtZS1pbmZvIHtcblx0ZmxvYXQ6bGVmdDtcblx0d2lkdGg6MjQwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6I2VmZWZlZjtcblx0cGFkZGluZzoyMHB4O1xuXHRtYXJnaW4tcmlnaHQ6NTBweDtcblx0aGVpZ2h0OjkwcHg7XG59XG5cbiNDdXJyZW50VGhlbWUgLmN1cnJlbnQtdGhlbWUtbGVmdCB7XG5cdHdpZHRoOjMwMHB4O1xuXHRtYXJnaW4tcmlnaHQ6MjBweDtcblx0ZmxvYXQ6bGVmdDtcbn1cbiNDdXJyZW50VGhlbWUgLnRoZW1lLWRlc2NyaXB0aW9uIHtcblx0bGluZS1oZWlnaHQ6IDEuNmVtO1xuXHRjbGVhcjpyaWdodDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyB7XG5cdHBhZGRpbmc6MjBweCAyMHB4IDMwcHggMjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCB7XG5cdGJvcmRlcjoxcHggc29saWQgI2UyZTJlMjtcblx0ZmxvYXQ6bGVmdDtcblx0bWFyZ2luLXJpZ2h0OjIwcHg7XG59XG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLXNjcmVlbnNob3QgaW1nIHtcblx0d2lkdGg6Mjk4cHg7XG59XG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLWRlc2NyaXB0aW9uIHtcblx0cGFkZGluZy10b3A6MTBweDtcblx0bWFyZ2luLXRvcDoxMHB4O1xufVxuI0N1cnJlbnRUaGVtZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jdXJyZW50LXRoZW1lLWxlZnQgLmVycm9yLW1lc3NhZ2Uge1xuXHRtYXJnaW46MDtcblx0d2hpdGUtc3BhY2U6bm9ybWFsO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdHRvcDo1NnB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmc6N3B4O1xuXHR3aWR0aDoyODZweDtcbn1cbiovXG4uYmNhLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmJjYS1zZWN0aW9uX19wb3N0LWRldGFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuLmJjYS1zZWN0aW9uX19wb3N0LXRvcCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG59XG4uYmNhLXNlY3Rpb25fX3Bvc3QtdG9wIC5iY2EtcG9zdF9fbm8ge1xuICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG4uYmNhLXNlY3Rpb25fX3Bvc3QtdG9wIC5iY2EtcG9zdF9fdXJsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYmNhLXNlY3Rpb25fX3Bvc3QtdG9wIC5iY2EtdGV4dC11cmwge1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLmJjYS1zZWN0aW9uW2RhdGEtYmNhLXNlY3Rpb24tdHlwZT1mb3JtLWdyb3VwXSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5iY2EtdGV4dC1jb3VudGVyLXZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0NDQztcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuLmJjYS10ZXh0LWNvdW50ZXItdmFsdWUgc21hbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMC4yZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI0NDQztcbn1cblxuLyogYWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlYTtcbn1cbi5iY2EtYWN0aW9uc19fc3ViIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xufVxuLmJjYS1hY3Rpb25zX19pdGVtIHtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4uYmNhLWFjdGlvbnNfX2JlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbn1cbi5iY2EtYWN0aW9uc1tkYXRhLWJjYS10eXBlPXR5cGUyXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJjYS1hY3Rpb25zW2RhdGEtYmNhLXR5cGU9dHlwZTJdIC5iY2EtYWN0aW9uc19fZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uYmNhLWFjdGlvbnNbZGF0YS1iY2EtdHlwZT10eXBlMl0gLmJjYS1hY3Rpb25zX19hZGRzIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5iY2EtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC1sYXlvdXQ9aG9yaXpvbl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYmNhLWxpc3RfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAwIDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uYmNhLWxpc3RfX2l0ZW06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtdHlwZT1jaXJjbGVdIHtcbiAgbWFyZ2luOiAwO1xufVxuLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtdHlwZT1jaXJjbGVdIC5iY2EtbGlzdF9faXRlbSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogMS41ZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmJjYS1saXN0X19pdGVtOjpiZWZvcmUge1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwLjNlbSAwIDA7XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC10eXBlPWNpcmNsZV0gLmJjYS1saXN0X19pdGVtOjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgY29sb3I6ICNhYWE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC40ZW07XG59XG4uYmNhLWxpc3RbZGF0YS1iY2EtbGlzdC1kZWxpbWl0ZXI9Y29tbWFdIC5iY2EtbGlzdF9faXRlbTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIixcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmJjYS1saXN0W2RhdGEtYmNhLWxpc3QtZGVsaW1pdGVyPWNvbW1hXSAuYmNhLWxpc3RfX2l0ZW06bGFzdC1jaGlsZDphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5iY2EtbGlzdC1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYmNhLWZpbGUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgcGFkZGluZzogMTBweDtcbn1cbi5iY2EtZmlsZS1saXN0X19pdGVtIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uYmNhLWZpbGUtbGlzdF9faXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5iY2EtZmlsZS1saXN0X19uby1kYXRhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJjYS1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuLmJjYS12aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgbWFyZ2luOiAtMXB4O1xufVxuXG4uYmNhLWNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5iY2EtY29sbGFwc2VfX2J0bi1pY29uIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uYmNhLWNvbGxhcHNlX19hY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4uYmNhLWNvbGxhcHNlX19idG4ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM2ZmE4M2Q7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5iY2EtY29sbGFwc2VfX2J0bjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uYmNhLWNvbGxhcHNlX19idG4taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiAwLjRzIGFsbDtcbn1cbi5iY2EtY29sbGFwc2VfX2J0bi1pY29uOmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbn1cbltkYXRhLWJjYS1zdGF0ZT1vcGVuXSAuYmNhLWNvbGxhcHNlX19idG4taWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5iY2EtZW0tYm94IHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG1hcmdpbjogMTVweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyO1xufVxuLmJjYS1lbS1ib3ggYSB7XG4gIGNvbG9yOiAjNjkwO1xufVxuLmJjYS1lbS1ib3ggYTpob3ZlciB7XG4gIGNvbG9yOiAjOUMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5iY2EtY3VycmVudC1ib3gge1xuICBwYWRkaW5nOiAxcHggMDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG1hcmdpbjogMjBweCBhdXRvIDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG4uYmNhLWN1cnJlbnQtYm94IGEge1xuICBjb2xvcjogI2YyMDAxNDtcbn1cbi5iY2EtY3VycmVudC1ib3ggYTpob3ZlciB7XG4gIGNvbG9yOiAjNmZhODNkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS1kaWFsb2cge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4udWktZGlhbG9nIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLnVpLWRpYWxvZyBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9dGV4dF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXN1Ym1pdF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9c2VhcmNoXSxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT10ZWxdLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXVybF0sXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMC43ZW0gMC41ZW0gMC42ZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4udWktd2lkZ2V0IGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9c2VhcmNoXTpmb2N1cyxcbi51aS13aWRnZXQgaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPXVybF06Zm9jdXMsXG4udWktd2lkZ2V0IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLFxuLnVpLXdpZGdldCBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi51aS10YWJzIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLXRhYnMtbmF2IHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktdGFicy1wYW5lbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0MgIWltcG9ydGFudDtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlZWVlZWEgIWltcG9ydGFudDtcbn1cbi51aS1kaWFsb2ctdGl0bGViYXIge1xuICBiYWNrZ3JvdW5kOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIHdpZHRoOiAyNnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAtMTNweCAhaW1wb3J0YW50O1xufVxuXG4udWktYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlYSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjdlbSAxZW0gMC42ZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiKDI1NSwgMjU1LCAyNTUpIDEwJSwgcmdiKDI0NCwgMjQ1LCAyNDEpIDEwMCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0IDBzICFpbXBvcnRhbnQ7XG59XG4udWktYnV0dG9uOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBtYXJnaW4tcmlnaHQ6IDRweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xufVxuLnVpLWJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWktYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwcHggIzZmYTgzZCAhaW1wb3J0YW50O1xufVxuXG4udWktc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLXRhYnMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWktYnV0dG9uLXRleHQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS1pY29uLWNsb3NldGhpY2sge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuLnVpLWljb24tY2xvc2V0aGljazpiZWZvcmUsIC51aS1pY29uLWNsb3NldGhpY2s6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQ6ICM0MjRmNDQ7XG59XG4udWktaWNvbi1jbG9zZXRoaWNrOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG4udWktaWNvbi1jbG9zZXRoaWNrOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi8qIHVpLWRpYWxvZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS1kaWFsb2cgbGFiZWwuZXJyb3IsIC5lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNmMjAwMTQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBwYWRkaW5nOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLWRpYWxvZyBsYWJlbC5lcnJvcjo6YmVmb3JlLCAuZXJyb3ItbWVzc2FnZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA5NSU7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xuICBtYXJnaW46IDAgMC4zZW0gMCAwO1xufVxuXG4udWktZGlhbG9nIC51aS1idXR0b24tdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWktZGlhbG9nIC5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udWktZGlhbG9nIGxhYmVsLmVycm9yIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLnVpLXdpZGdldC1oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWktZGlhbG9nIGRsIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi51aS1kaWFsb2cgZHQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIGRkIHtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnVpLWRpYWxvZyBkZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIGR0IGxhYmVsIHtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udWktZGlhbG9nIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi51aS1kaWFsb2cge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuICBwYWRkaW5nOiAxcHggMTBweDtcbn1cblxuLnVpLWRpYWxvZyAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAxcHggMXB4IDA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW8tYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiAjRjNGM0YzO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNGRkYsICNGM0YzRjMpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNGRkYpLCBjb2xvci1zdG9wKDEwMCUsICNGM0YzRjMpKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI0ZGRiwgI0YzRjNGMyk7XG59XG5cbi51aS13aWRnZXQge1xuICBmb250LWZhbWlseTogQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiwgXCLjg6HjgqTjg6rjgqpcIiwgVmVyZGFuYSwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xufVxuLnVpLXdpZGdldCBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnVpLXRhYnMtcGFuZWwgYSB7XG4gIGNvbG9yOiAjNmZhODNkICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLXRhYnMtcGFuZWwgYTpob3ZlciB7XG4gIGNvbG9yOiAjNmZhODNkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4udWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWEgIWltcG9ydGFudDtcbn1cblxuLnVpLXdpZGdldC1oZWFkZXIsXG4uY2tlX2RpYWxvZ190aXRsZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0ZjQ0ICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kYXRlcGlja2VyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLnVpLWRhdGVwaWNrZXItdG9kYXkgLnVpLXN0YXRlLWRlZmF1bHQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNkZGQgIWltcG9ydGFudDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzljY2M2NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIHRoIHtcbiAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2cgdGQge1xuICBwYWRkaW5nOiAxZW0gMCAhaW1wb3J0YW50O1xufVxuXG4jVXBsb2FkZXJTZWFyY2gge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4IDEwcHggIWltcG9ydGFudDtcbn1cblxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfdWlfcmFkaW9faW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgbWFyZ2luOiAwcHg7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ191aV9yYWRpb19pbnB1dCArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfdWlfcmFkaW9faW5wdXRbZGF0YS1iY2EtcmFkaW8tc2l6ZT1sZ10gKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0W2RhdGEtYmNhLXJhZGlvLXNpemU9c21dICsgbGFiZWwge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5ja2VfZGlhbG9nIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfdWlfcmFkaW9faW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2ZmE4M2Q7XG4gIGJveC1zaGFkb3c6IDAgMCAwcHggNHB4ICNmZmYgaW5zZXQ7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ191aV9yYWRpb19pbnB1dDpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwcHggNHB4ICNmZmYgaW5zZXQsIDAgMCA0cHggMHB4ICM2ZmE4M2Q7XG4gIGJvcmRlci1jb2xvcjogIzZmYTgzZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uY2tlX2RpYWxvZyBzZWxlY3QuYmNhLXNlbGVjdF9fc2VsZWN0LFxuLmNrZV9kaWFsb2cgc2VsZWN0LmNrZV9kaWFsb2dfdWlfaW5wdXRfc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9hZG1pbi9pY25fc2VsZWN0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciByaWdodCAwLjVlbS8xMHB4IGF1dG8sICNGRkZGRkYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHBhZGRpbmc6IDAgMjZweCAwIDRweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjNDI0ZjQ0O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmNrZV9kaWFsb2cgc2VsZWN0LmJjYS1zZWxlY3RfX3NlbGVjdFtkYXRhLWJjYS1zZWxlY3Qtc2l6ZT1sZ10sXG4uY2tlX2RpYWxvZyBzZWxlY3QuY2tlX2RpYWxvZ191aV9pbnB1dF9zZWxlY3RbZGF0YS1iY2Etc2VsZWN0LXNpemU9bGddIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4uY2tlX2RpYWxvZyBzZWxlY3QuYmNhLXNlbGVjdF9fc2VsZWN0W2RhdGEtYmNhLXNlbGVjdC1zaXplPXNtXSxcbi5ja2VfZGlhbG9nIHNlbGVjdC5ja2VfZGlhbG9nX3VpX2lucHV0X3NlbGVjdFtkYXRhLWJjYS1zZWxlY3Qtc2l6ZT1zbV0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5ja2VfZGlhbG9nIHNlbGVjdC5iY2Etc2VsZWN0X19zZWxlY3Q6Zm9jdXMsXG4uY2tlX2RpYWxvZyBzZWxlY3QuY2tlX2RpYWxvZ191aV9pbnB1dF9zZWxlY3Q6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2Q7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmNrZV9kaWFsb2cgaW5wdXQuYmNhLXRleHRib3hfX2lucHV0LFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0LFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZCxcbi5ja2VfZGlhbG9nIHRleHRhcmVhLmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dGFyZWEge1xuICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDRweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uY2tlX2RpYWxvZyBpbnB1dC5iY2EtdGV4dGJveF9faW5wdXRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSxcbi5ja2VfZGlhbG9nIGlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfcGFzc3dvcmRbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddLFxuLmNrZV9kaWFsb2cgdGV4dGFyZWEuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0YXJlYVtkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cbi5ja2VfZGlhbG9nIGlucHV0LmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZFtkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0sXG4uY2tlX2RpYWxvZyB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLmNrZV9kaWFsb2cgaW5wdXQuYmNhLXRleHRib3hfX2lucHV0W2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSxcbi5ja2VfZGlhbG9nIGlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfcGFzc3dvcmRbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSxcbi5ja2VfZGlhbG9nIHRleHRhcmVhLmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dGFyZWFbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbn1cbi5ja2VfZGlhbG9nIGlucHV0LmJjYS10ZXh0Ym94X19pbnB1dFtkYXRhLW1hcmdpbj1ib3R0b21dLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0W2RhdGEtbWFyZ2luPWJvdHRvbV0sXG4uY2tlX2RpYWxvZyBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkW2RhdGEtbWFyZ2luPWJvdHRvbV0sXG4uY2tlX2RpYWxvZyB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhW2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNrZV9kaWFsb2cgaW5wdXQuYmNhLXRleHRib3hfX2lucHV0OmZvY3VzLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0OmZvY3VzLFxuLmNrZV9kaWFsb2cgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZDpmb2N1cyxcbi5ja2VfZGlhbG9nIHRleHRhcmVhLmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xuICBib3JkZXItY29sb3I6ICM2ZmE4M2QgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ19ib2R5IGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmNrZV9kaWFsb2cgLmJjYS1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMC43ZW0gMWVtIDAuNmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogIzQyNGY0NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiKDI1NSwgMjU1LCAyNTUpIDEwJSwgcmdiKDI0NCwgMjQ1LCAyNDEpIDEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dCAwcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5ja2VfZGlhbG9nIC5iY2EtYnRuOjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgY29sb3I6ICM0MjRmNDQ7XG59XG4uY2tlX2RpYWxvZyAuYmNhLWJ0bjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0MjRmNDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xufVxuLmNrZV9kaWFsb2cgLmJjYS1idG46Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDBweCAjNmZhODNkO1xufVxuLmNrZV9kaWFsb2cgLmNrZV9kaWFsb2dfY29udGVudHMgLmZpbGUtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0ICNEaXZQYW5lbExpc3QgLmZpbGUtbGlzdC1ib2R5IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmNrZV9kaWFsb2cgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vayB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjZiNmI2O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIGluc2V0LCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgaW5zZXQ7XG4gIGJhY2tncm91bmQ6ICNlNGU0ZTQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYsICNlNGU0ZTQpO1xuICBjb2xvcjogIzMzMztcbn1cbi5ja2VfZGlhbG9nIGEuY2tlX2RpYWxvZ191aV9idXR0b25fb2sgc3BhbiB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLmNrZV9kaWFsb2cgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzllOWU5ZTtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YyZjJmMiwgI2NjYyk7XG59XG4uY2tlX2RpYWxvZyBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rOmZvY3VzLCAuY2tlX2RpYWxvZyBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rOmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzk2OTY5NjtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuNCkgaW5zZXQ7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0LWJvZHkge1xuICBtYXJnaW4tdG9wOiAxNHB4O1xufVxuLmNrZV9kaWFsb2cgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uY2tlX2RpYWxvZyAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgsXG4uY2tlX2RpYWxvZyAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDdweCA3cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG4uY2tlX2RpYWxvZyAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0LWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiAwO1xufVxuLmNrZV9kaWFsb2cgdHI6aG92ZXIgLmJjYS10YWJsZS1saXN0dXBfX3Rib2R5LXRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLmpzdHJlZS1wcm90b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5qc3RyZWUtY2hpbGRyZW4ge1xuICBtYXJnaW4tbGVmdDogMjZweDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuY29udGVudC1uYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5qc3RyZWUtYW5jaG9yIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmZ1bmN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuZnVuY3Rpb246OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLXdob2xlcm93LWhvdmVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZGRkICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1ob3ZlcmVkIHtcbiAgY29sb3I6ICM0MjRmNDQgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuanN0cmVlLXdob2xlcm93LWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjNmZhODNkICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1jbGlja2VkICsgLmNvbnRlbnQtbmFtZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1jbGlja2VkIC5qc3RyZWUtaWNvbiB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS1ob3ZlcmVkLmpzdHJlZS1jbGlja2VkIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbm9kZSAuYWxpYXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2FkbWluL2ljb25fYWxpYXNfbGF5ZXJkLnBuZ1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLW5vZGUgLmpzdHJlZS11bnB1Ymxpc2gtb2RkLFxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1ub2RlIC5qc3RyZWUtdW5wdWJsaXNoLWV2ZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1pY29uIHtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uIC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtaWNvbjpiZWZvcmUge1xuICBtYXJnaW46IDA7XG59XG4uanN0cmVlLXByb3RvbiAuanN0cmVlLWNvbnRhaW5lci11bCAuanN0cmVlLWljb24uYmNhLWljb24tLWZvbGRlciB7XG4gIGNvbG9yOiAjZWRjNTI4O1xufVxuLmpzdHJlZS1wcm90b24gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1hbmNob3IgLmJjYS1pY29uLS1mb2xkZXI6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogOTUlO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAuM2VtIDAgMDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaSA+IGEge1xuICBjb2xvcjogIzQyNGY0NCAhaW1wb3J0YW50O1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSBsaSA+IGEgaSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSBpOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSBpLmJjYS1pY29uLS1mb2xkZXIge1xuICBjb2xvcjogI2VkYzUyODtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSBpLmJjYS1pY29uLS1hbGlhcyB7XG4gIGNvbG9yOiAjNmZhODNkO1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkgPiBhIGkuYmNhLWljb24tLWxpbmsge1xuICBjb2xvcjogIzZmYTgzZDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpID4gYSAudmFrYXRhLWNvbnRleHRtZW51LXNlcCB7XG4gIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IGxpLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciBhIHtcbiAgbWFyZ2luOiAwO1xufVxuLmpzdHJlZS1wcm90b24tY29udGV4dG1lbnUgbGkudmFrYXRhLWNvbnRleHQtc2VwYXJhdG9yIGE6aG92ZXIge1xuICBtYXJnaW46IDA7XG59XG4uanN0cmVlLXByb3Rvbi1jb250ZXh0bWVudSAuaWNvbi1hbGlhcy1sYXllcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2FkbWluL2ljb25fYWxpYXNfbGF5ZXJkLnBuZ1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbn1cbi5qc3RyZWUtcHJvdG9uLWNvbnRleHRtZW51IC5pY29uLWFkZC1sYXllcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2FkbWluL2ljb25fYWRkX2xheWVyZC5wbmdcIik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICBtYXJnaW4tdG9wOiAtMzBweDtcbn1cblxuLnVpLWRpYWxvZyAudXBsb2FkZXItZmlsZS1pbWFnZSAudXJsIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLnVpLWRpYWxvZyAudXBsb2FkZXItZmlsZS1pbWFnZSAudXJsIGEge1xuICBjb2xvcjogIzZmYTgzZCAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nICNVcGxvYWRlckZpbGVJbWFnZSB7XG4gIHdpZHRoOiA1MDBweDtcbn1cblxuLmJjYS1tYWluX19zdWJtZW51LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbn1cbi5iY2EtbWFpbl9fc3VibWVudS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uYmNhLW1haW5fX3N1Ym1lbnUtbGlzdC1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnN0ZXAtMSAuYmNhLXNlY3Rpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdGVwMiAuY2hlY2sgLmNoZWNrLXJlc3VsdCB7XG4gIGNvbG9yOiAjZGRkO1xufVxuLnN0ZXAyIC5mYWlsZWQgLmNoZWNrLXJlc3VsdCB7XG4gIGNvbG9yOiAjZjIwMDE0O1xufVxuLnN0ZXAyIC5jaGVjay1yZXN1bHQge1xuICBtYXJnaW46IDIwcHggMDtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4uc3RlcC0zIGRpdi5mbG9hdC1sZWZ0LFxuLnN0ZXAtNCBkaXYuZmxvYXQtbGVmdCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnN0ZXAtMyB1bCBsaSxcbi5zdGVwLTQgdWwgbGkge1xuICBtYXJnaW46IDIwcHggMDtcbn1cbi5zdGVwLTMgdWwgbGkgbGFiZWwsXG4uc3RlcC00IHVsIGxpIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zdGVwLTUgbGkge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLW5hbWUsXG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLXZlcnNpb24sXG4udGhlbWUtcG9wdXAtY29udGVudHMgLnRoZW1lLWF1dGhvcixcbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiA1cHggMjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC5iY2EtY3VycmVudC10aGVtZV9fc2NyZWVuc2hvdCxcbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG4vKiBXaWRnZXRTZXR0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI1dpZGdldFNldHRpbmcgI1dpZGdldHNUeXBlIGgzIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNXaWRnZXRzVHlwZSAuV2lkZ2V0c1R5cGVTZWN0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gNXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RERDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzUzNUE2MjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y0ZjRmNCwgI2RmZGZkZiAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZjRmNGY0KSwgY29sb3Itc3RvcCgxMDAlLCAjZGZkZmRmKSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmNGY0ZjQsICNkZmRmZGYgMTAwJSk7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjZGNkY2QsICNlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2NkY2RjZCksIGNvbG9yLXN0b3AoMTAwJSwgI2VlZSkpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjY2RjZGNkLCAjZWVlIDEwMCUpO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktZHJhZ2dhYmxlLWRyYWdnaW5nIHtcbiAgLyp3aWR0aDoxMDAlOyovXG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuaGVhZCB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAuc2V0dGluZyAuaGVhZCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAuc2V0dGluZyAuZGVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuYWN0aW9uIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNERkRGREY7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuY29udGVudCB7XG4gIHBhZGRpbmc6IDNweCAxMHB4IDEwcHggMTBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC51aS13aWRnZXQtY29udGVudCAuY29udGVudCBwIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2UgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjZGRkO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZGRkO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIC5kZXNjcmlwdGlvbiB7XG4gIC8qbWFyZ2luOjAgMTJweCAyMHB4OyovXG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2VlZWVlYTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2VlZWVlYTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlZWVlZWE7XG4gIG1hcmdpbjogMDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZU91dGVyLFxuI1dpZGdldFNldHRpbmcgI1RhcmdldE91dGVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIC8qLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4OyovXG4gIC8qLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4OyovXG4gIC8qYm9yZGVyLXJhZGl1czogMTBweDsqL1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjVGFyZ2V0IHtcbiAgbWluLWhlaWdodDogMjEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1RhcmdldCAuZW5hYmxlZCAuaGVhZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudG9wRHJvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nIC5wbGFjZWhvbGRlciB7XG4gIGhlaWdodDogMjZweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkYwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuI1dpZGdldFNldHRpbmcgI1dpZGdldEFyZWFVcGRhdGVUaXRsZUZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNUYXJnZXQgLnNldHRpbmcgdGV4dGFyZWEge1xuICB3aWR0aDogOTglO1xuICBoZWlnaHQ6IDMxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIGgzIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbiNMaXN0QWpheExvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuI1dpZGdldFNldHRpbmcgaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jdXN0b20tZmllbGQtc2V0dGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmdfX3BhbmVsIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWluLWhlaWdodDogMjEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgbWluLXdpZHRoOiAzNjBweDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMTBweDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQge1xuICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y0ZjRmNCksIGNvbG9yLXN0b3AoMTAwJSwgI2RmZGZkZikpO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZCBzbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQtdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtY29udGVudF9faGVhZC1kZWxldGUge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbn1cbi5jdXN0b20tZmllbGQtc2V0dGluZyAuY3VzdG9tLWZpZWxkLWNvbnRlbnRfX2hlYWQtc2V0dGluZyB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nX19ib2R5IHtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuLmN1c3RvbS1maWVsZC1zZXR0aW5nIC5jdXN0b20tZmllbGQtZ3JvdXAge1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTBweCBhdXRvIDEwcHg7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgLmN1c3RvbS1maWVsZC1ncm91cCAuY3VzdG9tLWZpZWxkLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY3VzdG9tLWZpZWxkLXNldHRpbmcgLnBsYWNlaG9sZGVyIHtcbiAgaGVpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4jQ3VzdG9tRmllbGRTZXR0aW5nVGFyZ2V0IHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI0N1c3RvbUZpZWxkUHJldmlldyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm94LXNoYWRvdzogMCAtNXB4IDNweCAtM3B4ICM5OTk7XG59XG4jQ3VzdG9tRmllbGRQcmV2aWV3IC5wcmV2aWV3LWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuLmN1c3RvbS1maWVsZC1wcmV2aWV3LWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmN1c3RvbS1maWVsZC1wcmV2aWV3LWlubmVyIC5iY2EtdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jdXN0b20tZmllbGQtcHJldmlldy1pbm5lciBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbn1cblxuI0N1c3RvbUxpbmtQcmV2aWV3IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDU2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzcHggLTNweCAjOTk5O1xufVxuI0N1c3RvbUxpbmtQcmV2aWV3IC5wcmV2aWV3LWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjRmNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuLmN1c3RvbS1saW5rLXByZXZpZXctaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmN1c3RvbS1saW5rLXByZXZpZXctaW5uZXIgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG59XG5cbi5iY2EtY2MtbG9vcCB0YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVhO1xufVxuXG4uYmNhLWNjLWxvb3AtYWRkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iY2EtY2MtbG9vcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJjYS1jYy1sb29wLWJsb2NrID4gYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ0LWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5idC1jb250ZW50IHVsIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmJ0LWNvbnRlbnQgdWwgbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idC1jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYnQtY29udGVudCBsaSAuZXhhbXBsZS1ib3gge1xuICBib3JkZXI6IDNweCBzb2xpZCAjREREO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKipcbiAqIGJhc2VyQ01TIDogIEJhc2VkIFdlYnNpdGUgRGV2ZWxvcG1lbnQgUHJvamVjdCA8aHR0cHM6Ly9iYXNlcmNtcy5uZXQ+XG4gKiBDb3B5cmlnaHQgKGMpIGJhc2VyQ01TIFVzZXIgQ29tbXVuaXR5IDxodHRwczovL2Jhc2VyY21zLm5ldC9jb21tdW5pdHkvPlxuICpcbiAqIEBjb3B5cmlnaHQgICAgIENvcHlyaWdodCAoYykgYmFzZXJDTVMgVXNlciBDb21tdW5pdHlcbiAqIEBsaW5rICAgICAgICAgIGh0dHBzOi8vYmFzZXJjbXMubmV0IGJhc2VyQ01TIFByb2plY3RcbiAqIEBzaW5jZSAgICAgICAgIDUuMC4wXG4gKiBAbGljZW5zZSAgICAgICBodHRwOi8vYmFzZXJjbXMubmV0L2xpY2Vuc2UvaW5kZXguaHRtbCBNSVQgTGljZW5zZVxuICovXG4ubW9kYWwubW9kYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtd2luZG93IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXgtaGVpZ2h0OiA5NXZoO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cbi5tb2RhbC1jb250ZW50IGRsIGR0IHtcbiAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7XG59XG4ubW9kYWwtY29udGVudCBkbCBkZCB7XG4gIG1hcmdpbjogNXB4IDAgNXB4IDA7XG59XG4ubW9kYWwtY29udGVudCAuaW52YWxpZC1mZWVkYmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjAwMTQ7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjRkZGO1xuICBtYXJnaW46IDAuNWVtIDA7XG4gIHBhZGRpbmc6IDAuMWVtIDAuNmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1vZGFsLWVudGVyLWFjdGl2ZSwgLm1vZGFsLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbn1cbi5tb2RhbC1lbnRlci1hY3RpdmUgLm1vZGFsLXdpbmRvdywgLm1vZGFsLWxlYXZlLWFjdGl2ZSAubW9kYWwtd2luZG93IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzLCB0cmFuc2Zvcm0gMC40cztcbn1cblxuLm1vZGFsLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlIDAuNHM7XG59XG5cbi5tb2RhbC1lbnRlciwgLm1vZGFsLWxlYXZlLXRvIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5tb2RhbC1lbnRlciAubW9kYWwtd2luZG93LCAubW9kYWwtbGVhdmUtdG8gLm1vZGFsLXdpbmRvdyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gICAgQ29sb3Jib3ggQ29yZSBTdHlsZTpcbiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC5cbiovXG4jY29sb3Jib3gsICNjYm94T3ZlcmxheSwgI2Nib3hXcmFwcGVye3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyB6LWluZGV4Ojk5OTk7IG92ZXJmbG93OmhpZGRlbjsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTt9XG4jY2JveFdyYXBwZXIge21heC13aWR0aDpub25lO31cbiNjYm94T3ZlcmxheXtwb3NpdGlvbjpmaXhlZDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7fVxuI2Nib3hNaWRkbGVMZWZ0LCAjY2JveEJvdHRvbUxlZnR7Y2xlYXI6bGVmdDt9XG4jY2JveENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7fVxuI2Nib3hMb2FkZWRDb250ZW50e292ZXJmbG93OmF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDt9XG4jY2JveFRpdGxle21hcmdpbjowO31cbiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO31cbiNjYm94UHJldmlvdXMsICNjYm94TmV4dCwgI2Nib3hDbG9zZSwgI2Nib3hTbGlkZXNob3d7Y3Vyc29yOnBvaW50ZXI7fVxuLmNib3hQaG90b3tmbG9hdDpsZWZ0OyBtYXJnaW46YXV0bzsgYm9yZGVyOjA7IGRpc3BsYXk6YmxvY2s7IG1heC13aWR0aDpub25lOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOmJpY3ViaWM7fVxuLmNib3hJZnJhbWV7d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGRpc3BsYXk6YmxvY2s7IGJvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowO31cbiNjb2xvcmJveCwgI2Nib3hDb250ZW50LCAjY2JveExvYWRlZENvbnRlbnR7Ym94LXNpemluZzpjb250ZW50LWJveDsgLW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94OyAtd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7fVxuXG4vKiBcbiAgICBVc2VyIFN0eWxlOlxuICAgIENoYW5nZSB0aGUgZm9sbG93aW5nIHN0eWxlcyB0byBtb2RpZnkgdGhlIGFwcGVhcmFuY2Ugb2YgQ29sb3Jib3guICBUaGV5IGFyZVxuICAgIG9yZGVyZWQgJiB0YWJiZWQgaW4gYSB3YXkgdGhhdCByZXByZXNlbnRzIHRoZSBuZXN0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTC5cbiovXG4jY2JveE92ZXJsYXl7YmFja2dyb3VuZDojMDAwOyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDkwKTt9XG4jY29sb3Jib3h7b3V0bGluZTowO31cbiAgICAjY2JveENvbnRlbnR7bWFyZ2luLXRvcDoyMHB4O2JhY2tncm91bmQ6IzAwMDt9XG4gICAgICAgIC5jYm94SWZyYW1le2JhY2tncm91bmQ6I2ZmZjt9XG4gICAgICAgICNjYm94RXJyb3J7cGFkZGluZzo1MHB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7fVxuICAgICAgICAjY2JveExvYWRlZENvbnRlbnR7Ym9yZGVyOjVweCBzb2xpZCAjMDAwOyBiYWNrZ3JvdW5kOiNmZmY7fVxuICAgICAgICAjY2JveFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIwcHg7IGxlZnQ6MDsgY29sb3I6I2NjYzt9XG4gICAgICAgICNjYm94Q3VycmVudHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyByaWdodDowcHg7IGNvbG9yOiNjY2M7fVxuICAgICAgICAjY2JveExvYWRpbmdHcmFwaGlje2JhY2tncm91bmQ6dXJsKGltYWdlcy9sb2FkaW5nLmdpZikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7fVxuXG4gICAgICAgIC8qIHRoZXNlIGVsZW1lbnRzIGFyZSBidXR0b25zLCBhbmQgbWF5IG5lZWQgdG8gaGF2ZSBhZGRpdGlvbmFsIHN0eWxlcyByZXNldCB0byBhdm9pZCB1bndhbnRlZCBiYXNlIHN0eWxlcyAqL1xuICAgICAgICAjY2JveFByZXZpb3VzLCAjY2JveE5leHQsICNjYm94U2xpZGVzaG93LCAjY2JveENsb3NlIHtib3JkZXI6MDsgcGFkZGluZzowOyBtYXJnaW46MDsgb3ZlcmZsb3c6dmlzaWJsZTsgd2lkdGg6YXV0bzsgYmFja2dyb3VuZDpub25lOyB9XG4gICAgICAgIFxuICAgICAgICAvKiBhdm9pZCBvdXRsaW5lcyBvbiA6YWN0aXZlIChtb3VzZWNsaWNrKSwgYnV0IHByZXNlcnZlIG91dGxpbmVzIG9uIDpmb2N1cyAodGFiYmVkIG5hdmlnYXRpbmcpICovXG4gICAgICAgICNjYm94UHJldmlvdXM6YWN0aXZlLCAjY2JveE5leHQ6YWN0aXZlLCAjY2JveFNsaWRlc2hvdzphY3RpdmUsICNjYm94Q2xvc2U6YWN0aXZlIHtvdXRsaW5lOjA7fVxuICAgICAgICBcbiAgICAgICAgI2Nib3hTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMjBweDsgcmlnaHQ6OTBweDsgY29sb3I6I2ZmZjt9XG4gICAgICAgICNjYm94UHJldmlvdXN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MCU7IGxlZnQ6NXB4OyBtYXJnaW4tdG9wOi0zMnB4OyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIGxlZnQ7IHdpZHRoOjI4cHg7IGhlaWdodDo2NXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O31cbiAgICAgICAgI2Nib3hQcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSBsZWZ0O31cbiAgICAgICAgI2Nib3hOZXh0e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyByaWdodDo1cHg7IG1hcmdpbi10b3A6LTMycHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9jb250cm9scy5wbmcpIG5vLXJlcGVhdCB0b3AgcmlnaHQ7IHdpZHRoOjI4cHg7IGhlaWdodDo2NXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O31cbiAgICAgICAgI2Nib3hOZXh0OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIHJpZ2h0O31cbiAgICAgICAgI2Nib3hDbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjVweDsgcmlnaHQ6NXB4OyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgd2lkdGg6MzhweDsgaGVpZ2h0OjE5cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fVxuICAgICAgICAjY2JveENsb3NlOmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIGNlbnRlcjt9XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnbGFyZ2VyJztcbkBpbXBvcnQgJ2ZpeGVkLXdpZHRoJztcbkBpbXBvcnQgJ2xpc3QnO1xuQGltcG9ydCAnYm9yZGVyZWQtcHVsbGVkJztcbkBpbXBvcnQgJ2FuaW1hdGVkJztcbkBpbXBvcnQgJ3JvdGF0ZWQtZmxpcHBlZCc7XG5AaW1wb3J0ICdzdGFja2VkJztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ3NjcmVlbi1yZWFkZXInO1xuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiVmYS1pY29uIHtcbiAgQGluY2x1ZGUgZmEtaWNvbjtcbn1cbiIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXJcbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogbWF0aC5kaXYoNGVtLCAzKSA7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzZW0sIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS14cyB7XG4gIGZvbnQtc2l6ZTogLjc1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zbSB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LSN7JGl9eCB7XG4gICAgZm9udC1zaXplOiAkaSAqIDFlbTtcbiAgfVxufVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6ICRmYS1mdy13aWR0aDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuJGZhLWZvbnQtcGF0aDogICAgICAgICAgICAgICAgXCIuLi8uLi9mb250cy9hZG1pblwiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgICAgICAgIGF1dG8gIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgICAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICAgICAgICAgIFwiNS44LjFcIiAhZGVmYXVsdDtcbiRmYS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZhLWZ3LXdpZHRoOiAgICAgICAgICAgICAgICAgbWF0aC5kaXYoMjBlbSwgMTYpO1xuXG4vLyBDb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLWFjY2Vzc2libGUtaWNvbjogXFxmMzY4O1xuJGZhLXZhci1hY2N1c29mdDogXFxmMzY5O1xuJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOiBcXGY2YWY7XG4kZmEtdmFyLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXFxmMmI5O1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItYWRqdXN0OiBcXGYwNDI7XG4kZmEtdmFyLWFkbjogXFxmMTcwO1xuJGZhLXZhci1hZG9iZTogXFxmNzc4O1xuJGZhLXZhci1hZHZlcnNhbDogXFxmMzZhO1xuJGZhLXZhci1hZmZpbGlhdGV0aGVtZTogXFxmMzZiO1xuJGZhLXZhci1haXItZnJlc2hlbmVyOiBcXGY1ZDA7XG4kZmEtdmFyLWFpcmJuYjogXFxmODM0O1xuJGZhLXZhci1hbGdvbGlhOiBcXGYzNmM7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXFxmMDM3O1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcXGYwMzk7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFxcZjAzNjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFxcZjAzODtcbiRmYS12YXItYWxpcGF5OiBcXGY2NDI7XG4kZmEtdmFyLWFsbGVyZ2llczogXFxmNDYxO1xuJGZhLXZhci1hbWF6b246IFxcZjI3MDtcbiRmYS12YXItYW1hem9uLXBheTogXFxmNDJjO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFxcZjBmOTtcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYW1pbGlhOiBcXGYzNmQ7XG4kZmEtdmFyLWFuY2hvcjogXFxmMTNkO1xuJGZhLXZhci1hbmRyb2lkOiBcXGYxN2I7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXFxmMjA5O1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXFxmMTAzO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcXGYxMDI7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFxcZjEwNztcbiRmYS12YXItYW5nbGUtbGVmdDogXFxmMTA0O1xuJGZhLXZhci1hbmdsZS1yaWdodDogXFxmMTA1O1xuJGZhLXZhci1hbmdsZS11cDogXFxmMTA2O1xuJGZhLXZhci1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1hbmdyeWNyZWF0aXZlOiBcXGYzNmU7XG4kZmEtdmFyLWFuZ3VsYXI6IFxcZjQyMDtcbiRmYS12YXItYW5raDogXFxmNjQ0O1xuJGZhLXZhci1hcHAtc3RvcmU6IFxcZjM2ZjtcbiRmYS12YXItYXBwLXN0b3JlLWlvczogXFxmMzcwO1xuJGZhLXZhci1hcHBlcjogXFxmMzcxO1xuJGZhLXZhci1hcHBsZTogXFxmMTc5O1xuJGZhLXZhci1hcHBsZS1hbHQ6IFxcZjVkMTtcbiRmYS12YXItYXBwbGUtcGF5OiBcXGY0MTU7XG4kZmEtdmFyLWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItYXJjaHdheTogXFxmNTU3O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXFxmMGFiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXFxmMGE4O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcXGYwYWE7XG4kZmEtdmFyLWFycm93LWRvd246IFxcZjA2MztcbiRmYS12YXItYXJyb3ctbGVmdDogXFxmMDYwO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXFxmMDYxO1xuJGZhLXZhci1hcnJvdy11cDogXFxmMDYyO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcXGYwYjI7XG4kZmEtdmFyLWFycm93cy1hbHQtaDogXFxmMzM3O1xuJGZhLXZhci1hcnJvd3MtYWx0LXY6IFxcZjMzODtcbiRmYS12YXItYXJ0c3RhdGlvbjogXFxmNzdhO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFxcZjJhMjtcbiRmYS12YXItYXN0ZXJpc2s6IFxcZjA2OTtcbiRmYS12YXItYXN5bW1ldHJpazogXFxmMzcyO1xuJGZhLXZhci1hdDogXFxmMWZhO1xuJGZhLXZhci1hdGxhczogXFxmNTU4O1xuJGZhLXZhci1hdGxhc3NpYW46IFxcZjc3YjtcbiRmYS12YXItYXRvbTogXFxmNWQyO1xuJGZhLXZhci1hdWRpYmxlOiBcXGYzNzM7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcXGYyOWU7XG4kZmEtdmFyLWF1dG9wcmVmaXhlcjogXFxmNDFjO1xuJGZhLXZhci1hdmlhbmV4OiBcXGYzNzQ7XG4kZmEtdmFyLWF2aWF0bzogXFxmNDIxO1xuJGZhLXZhci1hd2FyZDogXFxmNTU5O1xuJGZhLXZhci1hd3M6IFxcZjM3NTtcbiRmYS12YXItYmFieTogXFxmNzdjO1xuJGZhLXZhci1iYWJ5LWNhcnJpYWdlOiBcXGY3N2Q7XG4kZmEtdmFyLWJhY2tzcGFjZTogXFxmNTVhO1xuJGZhLXZhci1iYWNrd2FyZDogXFxmMDRhO1xuJGZhLXZhci1iYWNvbjogXFxmN2U1O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcXGYyNGU7XG4kZmEtdmFyLWJhbjogXFxmMDVlO1xuJGZhLXZhci1iYW5kLWFpZDogXFxmNDYyO1xuJGZhLXZhci1iYW5kY2FtcDogXFxmMmQ1O1xuJGZhLXZhci1iYXJjb2RlOiBcXGYwMmE7XG4kZmEtdmFyLWJhcnM6IFxcZjBjOTtcbiRmYS12YXItYmFzZWJhbGwtYmFsbDogXFxmNDMzO1xuJGZhLXZhci1iYXNrZXRiYWxsLWJhbGw6IFxcZjQzNDtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcXGYyNDQ7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFxcZjI0MjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcXGYyNDM7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItYmVsbC1zbGFzaDogXFxmMWY2O1xuJGZhLXZhci1iZXppZXItY3VydmU6IFxcZjU1YjtcbiRmYS12YXItYmlibGU6IFxcZjY0NztcbiRmYS12YXItYmljeWNsZTogXFxmMjA2O1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1icmFpbGxlOiBcXGYyYTE7XG4kZmEtdmFyLWJyYWluOiBcXGY1ZGM7XG4kZmEtdmFyLWJyZWFkLXNsaWNlOiBcXGY3ZWM7XG4kZmEtdmFyLWJyaWVmY2FzZTogXFxmMGIxO1xuJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbDogXFxmNDY5O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItYnJ1c2g6IFxcZjU1ZDtcbiRmYS12YXItYnRjOiBcXGYxNWE7XG4kZmEtdmFyLWJ1ZmZlcjogXFxmODM3O1xuJGZhLXZhci1idWc6IFxcZjE4ODtcbiRmYS12YXItYnVpbGRpbmc6IFxcZjFhZDtcbiRmYS12YXItYnVsbGhvcm46IFxcZjBhMTtcbiRmYS12YXItYnVsbHNleWU6IFxcZjE0MDtcbiRmYS12YXItYnVybjogXFxmNDZhO1xuJGZhLXZhci1idXJvbW9iZWxleHBlcnRlOiBcXGYzN2Y7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWJ1c2luZXNzLXRpbWU6IFxcZjY0YTtcbiRmYS12YXItYnV5c2VsbGFkczogXFxmMjBkO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItY2FsZW5kYXItbWludXM6IFxcZjI3MjtcbiRmYS12YXItY2FsZW5kYXItcGx1czogXFxmMjcxO1xuJGZhLXZhci1jYWxlbmRhci10aW1lczogXFxmMjczO1xuJGZhLXZhci1jYWxlbmRhci13ZWVrOiBcXGY3ODQ7XG4kZmEtdmFyLWNhbWVyYTogXFxmMDMwO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLWNhbmR5LWNhbmU6IFxcZjc4NjtcbiRmYS12YXItY2FubmFiaXM6IFxcZjU1ZjtcbiRmYS12YXItY2Fwc3VsZXM6IFxcZjQ2YjtcbiRmYS12YXItY2FyOiBcXGYxYjk7XG4kZmEtdmFyLWNhci1hbHQ6IFxcZjVkZTtcbiRmYS12YXItY2FyLWJhdHRlcnk6IFxcZjVkZjtcbiRmYS12YXItY2FyLWNyYXNoOiBcXGY1ZTE7XG4kZmEtdmFyLWNhci1zaWRlOiBcXGY1ZTQ7XG4kZmEtdmFyLWNhcmV0LWRvd246IFxcZjBkNztcbiRmYS12YXItY2FyZXQtbGVmdDogXFxmMGQ5O1xuJGZhLXZhci1jYXJldC1yaWdodDogXFxmMGRhO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bjogXFxmMTUwO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNhcmV0LXVwOiBcXGYwZDg7XG4kZmEtdmFyLWNhcnJvdDogXFxmNzg3O1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFxcZjIxODtcbiRmYS12YXItY2FydC1wbHVzOiBcXGYyMTc7XG4kZmEtdmFyLWNhc2gtcmVnaXN0ZXI6IFxcZjc4ODtcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWNjLWFtYXpvbi1wYXk6IFxcZjQyZDtcbiRmYS12YXItY2MtYW1leDogXFxmMWYzO1xuJGZhLXZhci1jYy1hcHBsZS1wYXk6IFxcZjQxNjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFxcZjI0YztcbiRmYS12YXItY2MtZGlzY292ZXI6IFxcZjFmMjtcbiRmYS12YXItY2MtamNiOiBcXGYyNGI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFxcZjFmMTtcbiRmYS12YXItY2MtcGF5cGFsOiBcXGYxZjQ7XG4kZmEtdmFyLWNjLXN0cmlwZTogXFxmMWY1O1xuJGZhLXZhci1jYy12aXNhOiBcXGYxZjA7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNoYWxrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyOiBcXGY1MWM7XG4kZmEtdmFyLWNoYXJnaW5nLXN0YXRpb246IFxcZjVlNztcbiRmYS12YXItY2hhcnQtYXJlYTogXFxmMWZlO1xuJGZhLXZhci1jaGFydC1iYXI6IFxcZjA4MDtcbiRmYS12YXItY2hhcnQtbGluZTogXFxmMjAxO1xuJGZhLXZhci1jaGFydC1waWU6IFxcZjIwMDtcbiRmYS12YXItY2hlY2s6IFxcZjAwYztcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcXGYwNTg7XG4kZmEtdmFyLWNoZWNrLWRvdWJsZTogXFxmNTYwO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFxcZjE0YTtcbiRmYS12YXItY2hlZXNlOiBcXGY3ZWY7XG4kZmEtdmFyLWNoZXNzOiBcXGY0Mzk7XG4kZmEtdmFyLWNoZXNzLWJpc2hvcDogXFxmNDNhO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1jaGVzcy1raW5nOiBcXGY0M2Y7XG4kZmEtdmFyLWNoZXNzLWtuaWdodDogXFxmNDQxO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWNoZXNzLXJvb2s6IFxcZjQ0NztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXFxmMTNhO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXFxmMDc4O1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFxcZjA1MztcbiRmYS12YXItY2hldnJvbi1yaWdodDogXFxmMDU0O1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWNocm9tZTogXFxmMjY4O1xuJGZhLXZhci1jaHJvbWVjYXN0OiBcXGY4Mzg7XG4kZmEtdmFyLWNodXJjaDogXFxmNTFkO1xuJGZhLXZhci1jaXJjbGU6IFxcZjExMTtcbiRmYS12YXItY2lyY2xlLW5vdGNoOiBcXGYxY2U7XG4kZmEtdmFyLWNpdHk6IFxcZjY0ZjtcbiRmYS12YXItY2xpbmljLW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItY2xpcGJvYXJkOiBcXGYzMjg7XG4kZmEtdmFyLWNsaXBib2FyZC1jaGVjazogXFxmNDZjO1xuJGZhLXZhci1jbGlwYm9hcmQtbGlzdDogXFxmNDZkO1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjM4MTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5OiBcXGY3NDA7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0OiBcXGYzODI7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0OiBcXGY3OGM7XG4kZmEtdmFyLWNvbmNpZXJnZS1iZWxsOiBcXGY1NjI7XG4kZmEtdmFyLWNvbmZsdWVuY2U6IFxcZjc4ZDtcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFxcZjIwZTtcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLWNvb2tpZTogXFxmNTYzO1xuJGZhLXZhci1jb29raWUtYml0ZTogXFxmNTY0O1xuJGZhLXZhci1jb3B5OiBcXGYwYzU7XG4kZmEtdmFyLWNvcHlyaWdodDogXFxmMWY5O1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWxpY2lvdXM6IFxcZjFhNTtcbiRmYS12YXItZGVtb2NyYXQ6IFxcZjc0NztcbiRmYS12YXItZGVwbG95ZG9nOiBcXGYzOGU7XG4kZmEtdmFyLWRlc2twcm86IFxcZjM4ZjtcbiRmYS12YXItZGVza3RvcDogXFxmMTA4O1xuJGZhLXZhci1kZXY6IFxcZjZjYztcbiRmYS12YXItZGV2aWFudGFydDogXFxmMWJkO1xuJGZhLXZhci1kaGFybWFjaGFrcmE6IFxcZjY1NTtcbiRmYS12YXItZGhsOiBcXGY3OTA7XG4kZmEtdmFyLWRpYWdub3NlczogXFxmNDcwO1xuJGZhLXZhci1kaWFzcG9yYTogXFxmNzkxO1xuJGZhLXZhci1kaWNlOiBcXGY1MjI7XG4kZmEtdmFyLWRpY2UtZDIwOiBcXGY2Y2Y7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItZGljZS1maXZlOiBcXGY1MjM7XG4kZmEtdmFyLWRpY2UtZm91cjogXFxmNTI0O1xuJGZhLXZhci1kaWNlLW9uZTogXFxmNTI1O1xuJGZhLXZhci1kaWNlLXNpeDogXFxmNTI2O1xuJGZhLXZhci1kaWNlLXRocmVlOiBcXGY1Mjc7XG4kZmEtdmFyLWRpY2UtdHdvOiBcXGY1Mjg7XG4kZmEtdmFyLWRpZ2c6IFxcZjFhNjtcbiRmYS12YXItZGlnaXRhbC1vY2VhbjogXFxmMzkxO1xuJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGg6IFxcZjU2NjtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1kaXNjb3JkOiBcXGYzOTI7XG4kZmEtdmFyLWRpc2NvdXJzZTogXFxmMzkzO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdDogXFxmMzFlO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFxcZjIzZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZheDogXFxmMWFjO1xuJGZhLXZhci1mZWF0aGVyOiBcXGY1MmQ7XG4kZmEtdmFyLWZlYXRoZXItYWx0OiBcXGY1NmI7XG4kZmEtdmFyLWZlZGV4OiBcXGY3OTc7XG4kZmEtdmFyLWZlZG9yYTogXFxmNzk4O1xuJGZhLXZhci1mZW1hbGU6IFxcZjE4MjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1maWxlLWNvZGU6IFxcZjFjOTtcbiRmYS12YXItZmlsZS1jb250cmFjdDogXFxmNTZjO1xuJGZhLXZhci1maWxlLWNzdjogXFxmNmRkO1xuJGZhLXZhci1maWxlLWRvd25sb2FkOiBcXGY1NmQ7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1leHBvcnQ6IFxcZjU2ZTtcbiRmYS12YXItZmlsZS1pbWFnZTogXFxmMWM1O1xuJGZhLXZhci1maWxlLWltcG9ydDogXFxmNTZmO1xuJGZhLXZhci1maWxlLWludm9pY2U6IFxcZjU3MDtcbiRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcjogXFxmNTcxO1xuJGZhLXZhci1maWxlLW1lZGljYWw6IFxcZjQ3NztcbiRmYS12YXItZmlsZS1tZWRpY2FsLWFsdDogXFxmNDc4O1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQ6IFxcZjFjNDtcbiRmYS12YXItZmlsZS1wcmVzY3JpcHRpb246IFxcZjU3MjtcbiRmYS12YXItZmlsZS1zaWduYXR1cmU6IFxcZjU3MztcbiRmYS12YXItZmlsZS11cGxvYWQ6IFxcZjU3NDtcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsbDogXFxmNTc1O1xuJGZhLXZhci1maWxsLWRyaXA6IFxcZjU3NjtcbiRmYS12YXItZmlsbTogXFxmMDA4O1xuJGZhLXZhci1maWx0ZXI6IFxcZjBiMDtcbiRmYS12YXItZmluZ2VycHJpbnQ6IFxcZjU3NztcbiRmYS12YXItZmlyZTogXFxmMDZkO1xuJGZhLXZhci1maXJlLWFsdDogXFxmN2U0O1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXFxmMTM0O1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWZpcnN0LWFpZDogXFxmNDc5O1xuJGZhLXZhci1maXJzdC1vcmRlcjogXFxmMmIwO1xuJGZhLXZhci1maXJzdC1vcmRlci1hbHQ6IFxcZjUwYTtcbiRmYS12YXItZmlyc3RkcmFmdDogXFxmM2ExO1xuJGZhLXZhci1maXNoOiBcXGY1Nzg7XG4kZmEtdmFyLWZpc3QtcmFpc2VkOiBcXGY2ZGU7XG4kZmEtdmFyLWZsYWc6IFxcZjAyNDtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFxcZjExZTtcbiRmYS12YXItZmxhZy11c2E6IFxcZjc0ZDtcbiRmYS12YXItZmxhc2s6IFxcZjBjMztcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1mb2xkZXI6IFxcZjA3YjtcbiRmYS12YXItZm9sZGVyLW1pbnVzOiBcXGY2NWQ7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcXGYwN2M7XG4kZmEtdmFyLWZvbGRlci1wbHVzOiBcXGY2NWU7XG4kZmEtdmFyLWZvbnQ6IFxcZjAzMTtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQ6IFxcZjM1YztcbiRmYS12YXItZm9udC1hd2Vzb21lLWZsYWc6IFxcZjQyNTtcbiRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbDogXFxmNGU2O1xuJGZhLXZhci1mb250aWNvbnM6IFxcZjI4MDtcbiRmYS12YXItZm9udGljb25zLWZpOiBcXGYzYTI7XG4kZmEtdmFyLWZvb3RiYWxsLWJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcXGYyYzU7XG4kZmEtdmFyLWZyZWVic2Q6IFxcZjNhNDtcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLWdhbWVwYWQ6IFxcZjExYjtcbiRmYS12YXItZ2FzLXB1bXA6IFxcZjUyZjtcbiRmYS12YXItZ2F2ZWw6IFxcZjBlMztcbiRmYS12YXItZ2VtOiBcXGYzYTU7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFxcZjIyZDtcbiRmYS12YXItZ2V0LXBvY2tldDogXFxmMjY1O1xuJGZhLXZhci1nZzogXFxmMjYwO1xuJGZhLXZhci1nZy1jaXJjbGU6IFxcZjI2MTtcbiRmYS12YXItZ2hvc3Q6IFxcZjZlMjtcbiRmYS12YXItZ2lmdDogXFxmMDZiO1xuJGZhLXZhci1naWZ0czogXFxmNzljO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZ2l0LXNxdWFyZTogXFxmMWQyO1xuJGZhLXZhci1naXRodWI6IFxcZjA5YjtcbiRmYS12YXItZ2l0aHViLWFsdDogXFxmMTEzO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcXGYwOTI7XG4kZmEtdmFyLWdpdGtyYWtlbjogXFxmM2E2O1xuJGZhLXZhci1naXRsYWI6IFxcZjI5NjtcbiRmYS12YXItZ2l0dGVyOiBcXGY0MjY7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pOiBcXGYwMDA7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0OiBcXGY1N2I7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXk6IFxcZjdhMDtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nb2ZvcmU6IFxcZjNhNztcbiRmYS12YXItZ29sZi1iYWxsOiBcXGY0NTA7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW1zYTogXFxmNjY1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmc6IFxcZjRiZDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy11c2Q6IFxcZjRjMDtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcG9jazogXFxmMjU5O1xuJGZhLXZhci1oYW5kczogXFxmNGMyO1xuJGZhLXZhci1oYW5kcy1oZWxwaW5nOiBcXGY0YzQ7XG4kZmEtdmFyLWhhbmRzaGFrZTogXFxmMmI1O1xuJGZhLXZhci1oYW51a2lhaDogXFxmNmU2O1xuJGZhLXZhci1oYXJkLWhhdDogXFxmODA3O1xuJGZhLXZhci1oYXNodGFnOiBcXGYyOTI7XG4kZmEtdmFyLWhhdC13aXphcmQ6IFxcZjZlODtcbiRmYS12YXItaGF5a2FsOiBcXGY2NjY7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhvY2tleS1wdWNrOiBcXGY0NTM7XG4kZmEtdmFyLWhvbGx5LWJlcnJ5OiBcXGY3YWE7XG4kZmEtdmFyLWhvbWU6IFxcZjAxNTtcbiRmYS12YXItaG9vbGk6IFxcZjQyNztcbiRmYS12YXItaG9ybmJpbGw6IFxcZjU5MjtcbiRmYS12YXItaG9yc2U6IFxcZjZmMDtcbiRmYS12YXItaG9yc2UtaGVhZDogXFxmN2FiO1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjQ3ZDtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnRlcmNvbTogXFxmN2FmO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXFxmMjZiO1xuJGZhLXZhci1pbnZpc2lvbjogXFxmN2IwO1xuJGZhLXZhci1pb3hob3N0OiBcXGYyMDg7XG4kZmEtdmFyLWl0YWxpYzogXFxmMDMzO1xuJGZhLXZhci1pdGNoLWlvOiBcXGY4M2E7XG4kZmEtdmFyLWl0dW5lczogXFxmM2I0O1xuJGZhLXZhci1pdHVuZXMtbm90ZTogXFxmM2I1O1xuJGZhLXZhci1qYXZhOiBcXGY0ZTQ7XG4kZmEtdmFyLWplZGk6IFxcZjY2OTtcbiRmYS12YXItamVkaS1vcmRlcjogXFxmNTBlO1xuJGZhLXZhci1qZW5raW5zOiBcXGYzYjY7XG4kZmEtdmFyLWppcmE6IFxcZjdiMTtcbiRmYS12YXItam9nZXQ6IFxcZjNiNztcbiRmYS12YXItam9pbnQ6IFxcZjU5NTtcbiRmYS12YXItam9vbWxhOiBcXGYxYWE7XG4kZmEtdmFyLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWpzOiBcXGYzYjg7XG4kZmEtdmFyLWpzLXNxdWFyZTogXFxmM2I5O1xuJGZhLXZhci1qc2ZpZGRsZTogXFxmMWNjO1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXIta2V5OiBcXGYwODQ7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLWtoYW5kYTogXFxmNjZkO1xuJGZhLXZhci1raWNrc3RhcnRlcjogXFxmM2JiO1xuJGZhLXZhci1raWNrc3RhcnRlci1rOiBcXGYzYmM7XG4kZmEtdmFyLWtpc3M6IFxcZjU5NjtcbiRmYS12YXIta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXIta29ydnVlOiBcXGY0MmY7XG4kZmEtdmFyLWxhbmRtYXJrOiBcXGY2NmY7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjNjNztcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1tZWdhcG9ydDogXFxmNWEzO1xuJGZhLXZhci1tZWg6IFxcZjExYTtcbiRmYS12YXItbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItbWVtb3J5OiBcXGY1Mzg7XG4kZmEtdmFyLW1lbmRlbGV5OiBcXGY3YjM7XG4kZmEtdmFyLW1lbm9yYWg6IFxcZjY3NjtcbiRmYS12YXItbWVyY3VyeTogXFxmMjIzO1xuJGZhLXZhci1tZXRlb3I6IFxcZjc1MztcbiRmYS12YXItbWljcm9jaGlwOiBcXGYyZGI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFxcZjEzMDtcbiRmYS12YXItbWljcm9waG9uZS1hbHQ6IFxcZjNjOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXFxmMTMxO1xuJGZhLXZhci1taWNyb3Njb3BlOiBcXGY2MTA7XG4kZmEtdmFyLW1pY3Jvc29mdDogXFxmM2NhO1xuJGZhLXZhci1taW51czogXFxmMDY4O1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFxcZjA1NjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcXGYxNDY7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLW1vYmlsZTogXFxmMTBiO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLW1vZHg6IFxcZjI4NTtcbiRmYS12YXItbW9uZXJvOiBcXGYzZDA7XG4kZmEtdmFyLW1vbmV5LWJpbGw6IFxcZjBkNjtcbiRmYS12YXItbW9uZXktYmlsbC1hbHQ6IFxcZjNkMTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlOiBcXGY1M2E7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6IFxcZjUzYjtcbiRmYS12YXItbW9uZXktY2hlY2s6IFxcZjUzYztcbiRmYS12YXItbW9uZXktY2hlY2stYWx0OiBcXGY1M2Q7XG4kZmEtdmFyLW1vbnVtZW50OiBcXGY1YTY7XG4kZmEtdmFyLW1vb246IFxcZjE4NjtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW11Zy1ob3Q6IFxcZjdiNjtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItbmFwc3RlcjogXFxmM2QyO1xuJGZhLXZhci1uZW9zOiBcXGY2MTI7XG4kZmEtdmFyLW5ldHdvcmstd2lyZWQ6IFxcZjZmZjtcbiRmYS12YXItbmV1dGVyOiBcXGYyMmM7XG4kZmEtdmFyLW5ld3NwYXBlcjogXFxmMWVhO1xuJGZhLXZhci1uaW1ibHI6IFxcZjVhODtcbiRmYS12YXItbmludGVuZG8tc3dpdGNoOiBcXGY0MTg7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcXGYyNjM7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcXGYyNjQ7XG4kZmEtdmFyLW9pbC1jYW46IFxcZjYxMztcbiRmYS12YXItb2xkLXJlcHVibGljOiBcXGY1MTA7XG4kZmEtdmFyLW9tOiBcXGY2Nzk7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcXGYyM2Q7XG4kZmEtdmFyLW9wZW5pZDogXFxmMTliO1xuJGZhLXZhci1vcGVyYTogXFxmMjZhO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcXGYyM2M7XG4kZmEtdmFyLW9zaTogXFxmNDFhO1xuJGZhLXZhci1vdHRlcjogXFxmNzAwO1xuJGZhLXZhci1vdXRkZW50OiBcXGYwM2I7XG4kZmEtdmFyLXBhZ2U0OiBcXGYzZDc7XG4kZmEtdmFyLXBhZ2VsaW5lczogXFxmMThjO1xuJGZhLXZhci1wYWdlcjogXFxmODE1O1xuJGZhLXZhci1wYWludC1icnVzaDogXFxmMWZjO1xuJGZhLXZhci1wYWludC1yb2xsZXI6IFxcZjVhYTtcbiRmYS12YXItcGFsZXR0ZTogXFxmNTNmO1xuJGZhLXZhci1wYWxmZWQ6IFxcZjNkODtcbiRmYS12YXItcGFsbGV0OiBcXGY0ODI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcXGYxZDg7XG4kZmEtdmFyLXBhcGVyY2xpcDogXFxmMGM2O1xuJGZhLXZhci1wYXJhY2h1dGUtYm94OiBcXGY0Y2Q7XG4kZmEtdmFyLXBhcmFncmFwaDogXFxmMWRkO1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhc3Nwb3J0OiBcXGY1YWI7XG4kZmEtdmFyLXBhc3RhZmFyaWFuaXNtOiBcXGY2N2I7XG4kZmEtdmFyLXBhc3RlOiBcXGYwZWE7XG4kZmEtdmFyLXBhdHJlb246IFxcZjNkOTtcbiRmYS12YXItcGF1c2U6IFxcZjA0YztcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcXGYyOGI7XG4kZmEtdmFyLXBhdzogXFxmMWIwO1xuJGZhLXZhci1wYXlwYWw6IFxcZjFlZDtcbiRmYS12YXItcGVhY2U6IFxcZjY3YztcbiRmYS12YXItcGVuOiBcXGYzMDQ7XG4kZmEtdmFyLXBlbi1hbHQ6IFxcZjMwNTtcbiRmYS12YXItcGVuLWZhbmN5OiBcXGY1YWM7XG4kZmEtdmFyLXBlbi1uaWI6IFxcZjVhZDtcbiRmYS12YXItcGVuLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1wZW5jaWwtYWx0OiBcXGYzMDM7XG4kZmEtdmFyLXBlbmNpbC1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW5ueS1hcmNhZGU6IFxcZjcwNDtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyY2VudDogXFxmMjk1O1xuJGZhLXZhci1wZXJjZW50YWdlOiBcXGY1NDE7XG4kZmEtdmFyLXBlcmlzY29wZTogXFxmM2RhO1xuJGZhLXZhci1wZXJzb24tYm9vdGg6IFxcZjc1NjtcbiRmYS12YXItcGhhYnJpY2F0b3I6IFxcZjNkYjtcbiRmYS12YXItcGhvZW5peC1mcmFtZXdvcms6IFxcZjNkYztcbiRmYS12YXItcGhvZW5peC1zcXVhZHJvbjogXFxmNTExO1xuJGZhLXZhci1waG9uZTogXFxmMDk1O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtdm9sdW1lOiBcXGYyYTA7XG4kZmEtdmFyLXBocDogXFxmNDU3O1xuJGZhLXZhci1waWVkLXBpcGVyOiBcXGYyYWU7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcXGYxYTg7XG4kZmEtdmFyLXBpZWQtcGlwZXItaGF0OiBcXGY0ZTU7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFxcZjFhNztcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXBsYW5lLWFycml2YWw6IFxcZjVhZjtcbiRmYS12YXItcGxhbmUtZGVwYXJ0dXJlOiBcXGY1YjA7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1wbHVzOiBcXGYwNjc7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcXGYwZmU7XG4kZmEtdmFyLXBvZGNhc3Q6IFxcZjJjZTtcbiRmYS12YXItcG9sbDogXFxmNjgxO1xuJGZhLXZhci1wb2xsLWg6IFxcZjY4MjtcbiRmYS12YXItcG9vOiBcXGYyZmU7XG4kZmEtdmFyLXBvby1zdG9ybTogXFxmNzVhO1xuJGZhLXZhci1wb29wOiBcXGY2MTk7XG4kZmEtdmFyLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXBvdW5kLXNpZ246IFxcZjE1NDtcbiRmYS12YXItcG93ZXItb2ZmOiBcXGYwMTE7XG4kZmEtdmFyLXByYXk6IFxcZjY4MztcbiRmYS12YXItcHJheWluZy1oYW5kczogXFxmNjg0O1xuJGZhLXZhci1wcmVzY3JpcHRpb246IFxcZjViMTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZTogXFxmNDg1O1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDogXFxmNDg2O1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci1wcm9jZWR1cmVzOiBcXGY0ODc7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXFxmMjg4O1xuJGZhLXZhci1wcm9qZWN0LWRpYWdyYW06IFxcZjU0MjtcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXGYxMjg7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1xdWlkZGl0Y2g6IFxcZjQ1ODtcbiRmYS12YXItcXVpbnNjYXBlOiBcXGY0NTk7XG4kZmEtdmFyLXF1b3JhOiBcXGYyYzQ7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFxcZjEwZDtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFxcZjEwZTtcbiRmYS12YXItcXVyYW46IFxcZjY4NztcbiRmYS12YXItci1wcm9qZWN0OiBcXGY0Zjc7XG4kZmEtdmFyLXJhZGlhdGlvbjogXFxmN2I5O1xuJGZhLXZhci1yYWRpYXRpb24tYWx0OiBcXGY3YmE7XG4kZmEtdmFyLXJhaW5ib3c6IFxcZjc1YjtcbiRmYS12YXItcmFuZG9tOiBcXGYwNzQ7XG4kZmEtdmFyLXJhc3BiZXJyeS1waTogXFxmN2JiO1xuJGZhLXZhci1yYXZlbHJ5OiBcXGYyZDk7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXJlY3ljbGU6IFxcZjFiODtcbiRmYS12YXItcmVkLXJpdmVyOiBcXGYzZTM7XG4kZmEtdmFyLXJlZGRpdDogXFxmMWExO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFxcZjI4MTtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXFxmMWEyO1xuJGZhLXZhci1yZWRoYXQ6IFxcZjdiYztcbiRmYS12YXItcmVkbzogXFxmMDFlO1xuJGZhLXZhci1yZWRvLWFsdDogXFxmMmY5O1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcXGYyNWQ7XG4kZmEtdmFyLXJlbnJlbjogXFxmMThiO1xuJGZhLXZhci1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItcmVwbHlkOiBcXGYzZTY7XG4kZmEtdmFyLXJlcHVibGljYW46IFxcZjc1ZTtcbiRmYS12YXItcmVzZWFyY2hnYXRlOiBcXGY0Zjg7XG4kZmEtdmFyLXJlc29sdmluZzogXFxmM2U3O1xuJGZhLXZhci1yZXN0cm9vbTogXFxmN2JkO1xuJGZhLXZhci1yZXR3ZWV0OiBcXGYwNzk7XG4kZmEtdmFyLXJldjogXFxmNWIyO1xuJGZhLXZhci1yaWJib246IFxcZjRkNjtcbiRmYS12YXItcmluZzogXFxmNzBiO1xuJGZhLXZhci1yb2FkOiBcXGYwMTg7XG4kZmEtdmFyLXJvYm90OiBcXGY1NDQ7XG4kZmEtdmFyLXJvY2tldDogXFxmMTM1O1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItcnNzOiBcXGYwOWU7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFxcZjE0MztcbiRmYS12YXItcnVibGUtc2lnbjogXFxmMTU4O1xuJGZhLXZhci1ydWxlcjogXFxmNTQ1O1xuJGZhLXZhci1ydWxlci1jb21iaW5lZDogXFxmNTQ2O1xuJGZhLXZhci1ydWxlci1ob3Jpem9udGFsOiBcXGY1NDc7XG4kZmEtdmFyLXJ1bGVyLXZlcnRpY2FsOiBcXGY1NDg7XG4kZmEtdmFyLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItcnVwZWUtc2lnbjogXFxmMTU2O1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpcDogXFxmMjFhO1xuJGZhLXZhci1zaGlwcGluZy1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXFxmMjE0O1xuJGZhLXZhci1zaG9lLXByaW50czogXFxmNTRiO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaXN0cml4OiBcXGYzZWU7XG4kZmEtdmFyLXNpdGVtYXA6IFxcZjBlODtcbiRmYS12YXItc2l0aDogXFxmNTEyO1xuJGZhLXZhci1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLXNrZXRjaDogXFxmN2M2O1xuJGZhLXZhci1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1za3VsbDogXFxmNTRjO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjNlZjtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcXGYxZTc7XG4kZmEtdmFyLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1zbW9nOiBcXGY3NWY7XG4kZmEtdmFyLXNtb2tpbmc6IFxcZjQ4ZDtcbiRmYS12YXItc21va2luZy1iYW46IFxcZjU0ZDtcbiRmYS12YXItc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLXNuYXBjaGF0OiBcXGYyYWI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcXGYyYWM7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXFxmMmFkO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLXNub3dtYW46IFxcZjdkMDtcbiRmYS12YXItc25vd3Bsb3c6IFxcZjdkMjtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItc29ydDogXFxmMGRjO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd246IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXA6IFxcZjE2MztcbiRmYS12YXItc29ydC11cDogXFxmMGRlO1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcXGYxYmU7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1zcGVha2VyLWRlY2s6IFxcZjgzYztcbiRmYS12YXItc3BpZGVyOiBcXGY3MTc7XG4kZmEtdmFyLXNwaW5uZXI6IFxcZjExMDtcbiRmYS12YXItc3Bsb3RjaDogXFxmNWJjO1xuJGZhLXZhci1zcG90aWZ5OiBcXGYxYmM7XG4kZmEtdmFyLXNwcmF5LWNhbjogXFxmNWJkO1xuJGZhLXZhci1zcXVhcmU6IFxcZjBjODtcbiRmYS12YXItc3F1YXJlLWZ1bGw6IFxcZjQ1YztcbiRmYS12YXItc3F1YXJlLXJvb3QtYWx0OiBcXGY2OTg7XG4kZmEtdmFyLXNxdWFyZXNwYWNlOiBcXGY1YmU7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcXGYxOGQ7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcXGYxNmM7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItc3Rhci1oYWxmOiBcXGYwODk7XG4kZmEtdmFyLXN0YXItaGFsZi1hbHQ6IFxcZjVjMDtcbiRmYS12YXItc3Rhci1vZi1kYXZpZDogXFxmNjlhO1xuJGZhLXZhci1zdGFyLW9mLWxpZmU6IFxcZjYyMTtcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1zdG9wOiBcXGYwNGQ7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcXGYyOGQ7XG4kZmEtdmFyLXN0b3B3YXRjaDogXFxmMmYyO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RyYXZhOiBcXGY0Mjg7XG4kZmEtdmFyLXN0cmVhbTogXFxmNTUwO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXFxmMjFkO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcXGYwY2M7XG4kZmEtdmFyLXN0cmlwZTogXFxmNDI5O1xuJGZhLXZhci1zdHJpcGUtczogXFxmNDJhO1xuJGZhLXZhci1zdHJvb3B3YWZlbDogXFxmNTUxO1xuJGZhLXZhci1zdHVkaW92aW5hcmk6IFxcZjNmODtcbiRmYS12YXItc3R1bWJsZXVwb246IFxcZjFhNDtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcXGYxYTM7XG4kZmEtdmFyLXN1YnNjcmlwdDogXFxmMTJjO1xuJGZhLXZhci1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItc3VpdGNhc2U6IFxcZjBmMjtcbiRmYS12YXItc3VpdGNhc2Utcm9sbGluZzogXFxmNWMxO1xuJGZhLXZhci1zdW46IFxcZjE4NTtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFxcZjJkZDtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFxcZjEyYjtcbiRmYS12YXItc3VwcGxlOiBcXGYzZjk7XG4kZmEtdmFyLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLXN1c2U6IFxcZjdkNjtcbiRmYS12YXItc3dhdGNoYm9vazogXFxmNWMzO1xuJGZhLXZhci1zd2ltbWVyOiBcXGY1YzQ7XG4kZmEtdmFyLXN3aW1taW5nLXBvb2w6IFxcZjVjNTtcbiRmYS12YXItc3ltZm9ueTogXFxmODNkO1xuJGZhLXZhci1zeW5hZ29ndWU6IFxcZjY5YjtcbiRmYS12YXItc3luYzogXFxmMDIxO1xuJGZhLXZhci1zeW5jLWFsdDogXFxmMmYxO1xuJGZhLXZhci1zeXJpbmdlOiBcXGY0OGU7XG4kZmEtdmFyLXRhYmxlOiBcXGYwY2U7XG4kZmEtdmFyLXRhYmxlLXRlbm5pczogXFxmNDVkO1xuJGZhLXZhci10YWJsZXQ6IFxcZjEwYTtcbiRmYS12YXItdGFibGV0LWFsdDogXFxmM2ZhO1xuJGZhLXZhci10YWJsZXRzOiBcXGY0OTA7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0OiBcXGYzZmQ7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXRhcGU6IFxcZjRkYjtcbiRmYS12YXItdGFza3M6IFxcZjBhZTtcbiRmYS12YXItdGF4aTogXFxmMWJhO1xuJGZhLXZhci10ZWFtc3BlYWs6IFxcZjRmOTtcbiRmYS12YXItdGVldGg6IFxcZjYyZTtcbiRmYS12YXItdGVldGgtb3BlbjogXFxmNjJmO1xuJGZhLXZhci10ZWxlZ3JhbTogXFxmMmM2O1xuJGZhLXZhci10ZWxlZ3JhbS1wbGFuZTogXFxmM2ZlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWxvdzogXFxmNzZiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcXGYxZDU7XG4kZmEtdmFyLXRlbmdlOiBcXGY3ZDc7XG4kZmEtdmFyLXRlcm1pbmFsOiBcXGYxMjA7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFxcZjAzNTtcbiRmYS12YXItdGg6IFxcZjAwYTtcbiRmYS12YXItdGgtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItdGgtbGlzdDogXFxmMDBiO1xuJGZhLXZhci10aGUtcmVkLXlldGk6IFxcZjY5ZDtcbiRmYS12YXItdGhlYXRlci1tYXNrczogXFxmNjMwO1xuJGZhLXZhci10aGVtZWNvOiBcXGY1YzY7XG4kZmEtdmFyLXRoZW1laXNsZTogXFxmMmIyO1xuJGZhLXZhci10aGVybW9tZXRlcjogXFxmNDkxO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci10aGluay1wZWFrczogXFxmNzMxO1xuJGZhLXZhci10aHVtYnMtZG93bjogXFxmMTY1O1xuJGZhLXZhci10aHVtYnMtdXA6IFxcZjE2NDtcbiRmYS12YXItdGh1bWJ0YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRpY2tldC1hbHQ6IFxcZjNmZjtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXRpbnQ6IFxcZjA0MztcbiRmYS12YXItdGludC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaW46IFxcZjIzODtcbiRmYS12YXItdHJhbTogXFxmN2RhO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXFxmMjI0O1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFxcZjIyNTtcbiRmYS12YXItdHJhc2g6IFxcZjFmODtcbiRmYS12YXItdHJhc2gtYWx0OiBcXGYyZWQ7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmU6IFxcZjgyOTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQ6IFxcZjgyYTtcbiRmYS12YXItdHJlZTogXFxmMWJiO1xuJGZhLXZhci10cmVsbG86IFxcZjE4MTtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFxcZjI2MjtcbiRmYS12YXItdHJvcGh5OiBcXGYwOTE7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLXRydWNrLWxvYWRpbmc6IFxcZjRkZTtcbiRmYS12YXItdHJ1Y2stbW9uc3RlcjogXFxmNjNiO1xuJGZhLXZhci10cnVjay1tb3Zpbmc6IFxcZjRkZjtcbiRmYS12YXItdHJ1Y2stcGlja3VwOiBcXGY2M2M7XG4kZmEtdmFyLXRzaGlydDogXFxmNTUzO1xuJGZhLXZhci10dHk6IFxcZjFlNDtcbiRmYS12YXItdHVtYmxyOiBcXGYxNzM7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFxcZjE3NDtcbiRmYS12YXItdHY6IFxcZjI2YztcbiRmYS12YXItdHdpdGNoOiBcXGYxZTg7XG4kZmEtdmFyLXR3aXR0ZXI6IFxcMWQ1NGY7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcXGYwODE7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLXVpa2l0OiBcXGY0MDM7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuZGVybGluZTogXFxmMGNkO1xuJGZhLXZhci11bmRvOiBcXGYwZTI7XG4kZmEtdmFyLXVuZG8tYWx0OiBcXGYyZWE7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci11c2VyOiBcXGYwMDc7XG4kZmEtdmFyLXVzZXItYWx0OiBcXGY0MDY7XG4kZmEtdmFyLXVzZXItYWx0LXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLXVzZXItYXN0cm9uYXV0OiBcXGY0ZmI7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci11c2VyLWVkaXQ6IFxcZjRmZjtcbiRmYS12YXItdXNlci1mcmllbmRzOiBcXGY1MDA7XG4kZmEtdmFyLXVzZXItZ3JhZHVhdGU6IFxcZjUwMTtcbiRmYS12YXItdXNlci1pbmp1cmVkOiBcXGY3Mjg7XG4kZmEtdmFyLXVzZXItbG9jazogXFxmNTAyO1xuJGZhLXZhci11c2VyLW1kOiBcXGYwZjA7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItdXNlci1uaW5qYTogXFxmNTA0O1xuJGZhLXZhci11c2VyLW51cnNlOiBcXGY4MmY7XG4kZmEtdmFyLXVzZXItcGx1czogXFxmMjM0O1xuJGZhLXZhci11c2VyLXNlY3JldDogXFxmMjFiO1xuJGZhLXZhci11c2VyLXNoaWVsZDogXFxmNTA1O1xuJGZhLXZhci11c2VyLXNsYXNoOiBcXGY1MDY7XG4kZmEtdmFyLXVzZXItdGFnOiBcXGY1MDc7XG4kZmEtdmFyLXVzZXItdGllOiBcXGY1MDg7XG4kZmEtdmFyLXVzZXItdGltZXM6IFxcZjIzNTtcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXVzcHM6IFxcZjdlMTtcbiRmYS12YXItdXNzdW5uYWg6IFxcZjQwNztcbiRmYS12YXItdXRlbnNpbC1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci11dGVuc2lsczogXFxmMmU3O1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItdmVjdG9yLXNxdWFyZTogXFxmNWNiO1xuJGZhLXZhci12ZW51czogXFxmMjIxO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFxcZjIyNjtcbiRmYS12YXItdmVudXMtbWFyczogXFxmMjI4O1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tc2xhc2g6IFxcZjRlMjtcbiRmYS12YXItdmloYXJhOiBcXGY2YTc7XG4kZmEtdmFyLXZpbWVvOiBcXGY0MGE7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXFxmMTk0O1xuJGZhLXZhci12aW1lby12OiBcXGYyN2Q7XG4kZmEtdmFyLXZpbmU6IFxcZjFjYTtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvbGxleWJhbGwtYmFsbDogXFxmNDVmO1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLXZvbHVtZS11cDogXFxmMDI4O1xuJGZhLXZhci12b3RlLXllYTogXFxmNzcyO1xuJGZhLXZhci12ci1jYXJkYm9hcmQ6IFxcZjcyOTtcbiRmYS12YXItdnVlanM6IFxcZjQxZjtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItd2FyZWhvdXNlOiBcXGY0OTQ7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXdyZW5jaDogXFxmMGFkO1xuJGZhLXZhci14LXJheTogXFxmNDk3O1xuJGZhLXZhci14Ym94OiBcXGY0MTI7XG4kZmEtdmFyLXhpbmc6IFxcZjE2ODtcbiRmYS12YXIteGluZy1zcXVhcmU6IFxcZjE2OTtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcXGYyM2I7XG4kZmEtdmFyLXlhaG9vOiBcXGYxOWU7XG4kZmEtdmFyLXlhbW1lcjogXFxmODQwO1xuJGZhLXZhci15YW5kZXg6IFxcZjQxMztcbiRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWw6IFxcZjQxNDtcbiRmYS12YXIteWFybjogXFxmN2UzO1xuJGZhLXZhci15ZWxwOiBcXGYxZTk7XG4kZmEtdmFyLXllbi1zaWduOiBcXGYxNTc7XG4kZmEtdmFyLXlpbi15YW5nOiBcXGY2YWQ7XG4kZmEtdmFyLXlvYXN0OiBcXGYyYjE7XG4kZmEtdmFyLXlvdXR1YmU6IFxcZjE2NztcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFxcZjQzMTtcbiRmYS12YXItemhpaHU6IFxcZjYzZjtcbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJGZhLWxpLXdpZHRoICogNSwgNCk7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRvYmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkb2JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkdmVyc2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZHZlcnNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWZmaWxpYXRldGhlbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyLWZyZXNoZW5lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyLWZyZXNoZW5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXJibmI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpcmJuYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGdvbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGdvbGlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tY2VudGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWp1c3RpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxsZXJnaWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGxlcmdpZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYnVsYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1pbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWlsaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmNob3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5kcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdlbGxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2VsbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeWNyZWF0aXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3VsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3VsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5raDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5raCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHAtc3RvcmUtaW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJ0c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJ0c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN0ZXJpc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN5bW1ldHJpazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN5bW1ldHJpayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzc2lhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXNzaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0b206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXVkaWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaW8tZGVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXV0b3ByZWZpeGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdXRvcHJlZml4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXZpYW5leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYW5leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhdG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF2aWF0byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXdhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5LWNhcnJpYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2tzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3NwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaWxsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJlYWQtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb2FkY2FzdC10b3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnRjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZmZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVmZmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWlsZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbGhvcm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1c2luZXNzLXRpbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1c2luZXNzLXRpbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJyb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnJvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXNoLXJlZ2lzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXNoLXJlZ2lzdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtYXpvbi1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtYXpvbi1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGluZXJzLWNsdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpc2NvdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtamNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLW1hc3RlcmNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtdmlzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50ZXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50ZXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudG9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZXJ0aWZpY2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWFyZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1waWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYmlzaG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1ib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtuaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mta25pZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXBhd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcXVlZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXF1ZWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGlsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWVjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWVjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNodXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2h1cmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlLW5vdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpbmljLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaW5pYy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1lYXRiYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtcmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzbWl0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzbWl0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHZlcnNpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkdmVyc2lmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ja3RhaWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kaWVwaWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29pbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29sdW1ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb3RzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cy1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFjdC1kaXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYWN0LWRpc2MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uY2llcmdlLWJlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uZmx1ZW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uZmx1ZW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ubmVjdGRldmVsb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb250YW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZS1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5cmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFzaGN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhdGFiYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWxpY2lvdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVtb2NyYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlbW9jcmF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlcGxveWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVwbG95ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2twcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2twcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVza3RvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXZpYW50YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRoYXJtYWNoYWtyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhhcm1hY2hha3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRobDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYWdub3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhZ25vc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYXNwb3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWFzcG9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDIwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQyMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQ2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1maXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZm91cjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1mb3VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLW9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXNpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1zaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10aHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXR3bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10d28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdpdGFsLW9jZWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpcmVjdGlvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpcmVjdGlvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY29yZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3Vyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvdXJzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxlbWVudG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsaXBzaXMtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuLXRleHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZpcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcXVhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVxdWFscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmFzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVyYXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmxhbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVybGFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcmV1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJldW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJuZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVybmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0c3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0c3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVyby1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV2ZXJub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjaGFuZ2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0aHViLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGtyYWtlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0a3Jha2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0bGFiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoZWVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hlZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLXdoaXNrZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYWZyaWNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hZnJpY2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFtZXJpY2FzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFzaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFzaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1ldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2ZvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLWRyaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtd2FsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvcHVyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvcHVyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyYWR1YXRpb24tY2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF0aXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW1hY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW1hY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0tc3dlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1oZWFydHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4taGVhcnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zdGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zdGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdG9uZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4td2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXBmaXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncnVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3J1bnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy11c2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1saXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbGl6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXJvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zY2lzc29ycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbnVraWFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW51a2lhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFyZC1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFzaHRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhheWthbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF5a2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1icm9rZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydGJlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVsaWNvcHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVsaWNvcHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWdobGlnaHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlnaGxpZ2h0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwcG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHBvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlyZS1hLWhlbHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlyZS1hLWhlbHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXN0b3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3QtdHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3QtdHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3RlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RqYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGphcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtZW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1zdGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRhbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3V6ejpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91enopOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHJ5dm5pYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHJ5dm5pYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHRtbDUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHVic3BvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHVic3BvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaS1jdXJzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLWNyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2UtY3JlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNpY2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNpY2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1iYWRnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtYmFkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyY29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcmNvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlveGhvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGFsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRjaC1pbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRjaC1pbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXMtbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzLW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamF2YSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplZGktb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplZGktb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVua2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVua2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qaXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qaXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvZ2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb2dldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2ludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb29tbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam91cm5hbC13aGlsbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvdXJuYWwtd2hpbGxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanNmaWRkbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FhYmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthYWJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthZ2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FnZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWNkbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Y2RuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtoYW5kYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2hhbmRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpY2tzdGFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlci1rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlci1rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLXdpbmstaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2l3aS1iaXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXdpLWJpcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta29ydnVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rb3J2dWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZG1hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmRtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5ndWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcmF2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcmF2ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxheWVyLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXllci1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYW5wdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlbW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuLWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4tZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlmZS1yaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHRidWxiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlua2VkaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4taW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluLWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbnV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW51eCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXJhLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpcmEtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LW9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtdWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3QtdWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2F0aW9uLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jay1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG93LXZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1Z2dhZ2UtY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXp1bmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1penVuaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vYmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vZHg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vZHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25lcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9udW1lbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbnVtZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLXBlc3RsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9ydGFyLXBlc3RsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3NxdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vc3F1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3RvcmN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdW50YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VudGFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZS1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11Zy1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11Zy1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hcHN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5hcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmVvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmVvcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXR3b3JrLXdpcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV1dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV3c3BhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5pbWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmltYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5pbnRlbmRvLXN3aXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmludGVuZG8tc3dpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZS1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3QtZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdC1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3Rlcy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5wbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnBtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5zODpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnM4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW51dHJpdGlvbml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1udXRyaXRpb25peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LXVuZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9zaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3NpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW90dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdXRkZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2U0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VsaW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LXJvbGxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFpbnQtcm9sbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGV0dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGV0dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsZmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxmZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXJjbGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFjaHV0ZS1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFya2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXNzcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzc3BvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGFmYXJpYW5pc206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RhZmFyaWFuaXNtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXRyZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXRyZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tZmFuY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1mYW5jeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tbmliOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tbmliKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1ydWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5ueS1hcmNhZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbm55LWFyY2FkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmNlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmNlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudGFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudGFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJpc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmlzY29wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJzb24tYm9vdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcnNvbi1ib290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waGFicmljYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhhYnJpY2F0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS12b2x1bWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXZvbHVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBocCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1wcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5LWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9kY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9kY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGwtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbC1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvby1zdG9ybTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vLXN0b3JtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRyYWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvdW5kLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3dlci1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5aW5nLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9jZWR1cmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcm9jZWR1cmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvZHVjdC1odW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2plY3QtZGlhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvamVjdC1kaWFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHV6emxlLXBpZWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHl0aG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWlkZGl0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpbnNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWluc2NhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1cmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdXJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yLXByb2plY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXItcHJvamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhZGlhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhaW5ib3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhaW5ib3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYW5kb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFzcGJlcnJ5LXBpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXNwYmVycnktcGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmF2ZWxyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3RldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0ZXVyb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWRtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhZG1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWJlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNlaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNlaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkLXJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWQtcml2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LWFsaWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtYWxpZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWdpc3RlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FkLWNyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLWNyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtdGVhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLXRlYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FmYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWZhcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FsZXNmb3JjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FsZXNmb3JjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F0ZWxsaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUtZGlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaGxpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NobGl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nob29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmV3ZHJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3Jld2RyaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmliZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcm9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbG9jYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaGVuZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2hlbmdpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWVkbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VlZGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbGxjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZpY2VzdGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmljZXN0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXBlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGVrZWwtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcHBpbmctZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcHBpbmctZmFzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXJ0c2luYnVsayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9lLXByaW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvZS1wcmludHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYXNrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wd2FyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHdhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG93ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2h1dHRsZS12YW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNodXR0bGUtdmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24taW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLW91dC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYXR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbS1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW1wbHlidWlsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29sYXItcGFuZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvbGFyLXBhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3VuZGNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdXJjZXRyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdXJjZXRyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BhY2Utc2h1dHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVha2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrZXItZGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BlYWtlci1kZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyYXZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJhdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmVldC12aWV3KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlrZXRocm91Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlLXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlwZS1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cm9vcHdhZmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJvb3B3YWZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVkaW92aW5hcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dWRpb3ZpbmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJ3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlLXJvbGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cGVycG93ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnNjcmlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBwbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXJwcmlzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VycHJpc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2F0Y2hib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2F0Y2hib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3aW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3aW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1pbmctcG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1pbmctcG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW1mb255OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW1mb255KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmFnb2d1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYWdvZ3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5cmluZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5cmluZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlLXRlbm5pczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUtdGVubmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXhpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlYW1zcGVhazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVhbXNwZWFrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWV0aC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aC1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZWdyYW0tcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5jZW50LXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVybWluYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtaGVpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtd2lkdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZS1yZWQteWV0aTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlLXJlZC15ZXRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZWF0ZXItbWFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZWF0ZXItbWFza3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZW1laXNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGluay1wZWFrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhpbmstcGVha3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW1icy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1idGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJ0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpY2tldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpY2tldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvZ2dsZS1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldC1wYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b29sYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29sYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29scyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9vdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvcmlpLWdhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmlpLWdhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhY3RvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhY3Rvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZGVtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWZmaWMtbGlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhbnNnZW5kZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmlwYWR2aXNvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyb3BoeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbG9hZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbG9hZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLW1vdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW92aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLXBpY2t1cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stcGlja3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRzaGlydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHNoaXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHVtYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJsci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHdpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR5cG8zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10eXBvMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11YmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVidW50dTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJ1bnR1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVpa2l0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11aWtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnRhcHBkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bnRhcHBkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFzdHJvbmF1dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hc3Ryb25hdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1mcmllbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWZyaWVuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1ncmFkdWF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1ncmFkdWF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWluanVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItaW5qdXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1uaW5qYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1uaW5qYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW51cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW51cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNlY3JldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zaGllbGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMtY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhY29pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFkZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW8tc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpaGFyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmloYXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lby12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhdmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXZlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXplKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlZWJseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VlYmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlibyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQtaGFuZ2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0LWhhbmdpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWl4aW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoYXRzYXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHAtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoZWVsY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2htY3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdobWNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpZmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpa2lwZWRpYS13KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctY2xvc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWF4aW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1pbmltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWluaW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmUtZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b24tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvcmRwcmVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwYmVnaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3BleHBsb3Jlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGZvcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGZvcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwcmVzc3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwcmVzc3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cmVuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teC1yYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXgtcmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15LWNvbWJpbmF0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhaG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFtbWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YXJuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVuLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbi1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlpbi15YW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15aW4teWFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW9hc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0temhpaHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXpoaWh1KTsgfVxuIiwiLy8gU2NyZWVuIFJlYWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNyLW9ubHkgeyBAaW5jbHVkZSBzci1vbmx5OyB9XG4uc3Itb25seS1mb2N1c2FibGUgeyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZTsgfVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjguMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuOC4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8vXG4vLyAjIOOCouOCpOOCs+ODs1xuLy9cbkBpbXBvcnQgJy4uLy4uL3ZlbmRvci9Gb250LUF3ZXNvbWUvZm9udGF3ZXNvbWUnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL0ZvbnQtQXdlc29tZS9zb2xpZCc7XG5AaW1wb3J0ICcuLi8uLi92ZW5kb3IvRm9udC1Bd2Vzb21lL2JyYW5kcyc7XG5AaW1wb3J0ICcuLi8uLi92ZW5kb3IvRm9udC1Bd2Vzb21lL3JlZ3VsYXInO1xuXG5cbi8qKlxuICpcbiAqIOW3puODiuODk1xuICpcbiAqL1xuXG4vLyDjg4Djg4Pjgrfjg6Xjg5zjg7zjg4lcbiRiY2EtaWNvbi0tZGFzaGJvYXJkOiAkZmEtdmFyLWhvbWU7XG4vLyDjgrPjg7Pjg4bjg7Pjg4TnrqHnkIZcbiRiY2EtaWNvbi0tY29udGVudHM6ICRmYS12YXItc2l0ZW1hcDtcbi8vIOioreWumlxuJGJjYS1pY29uLS1zeXN0ZW06ICRmYS12YXItY29nO1xuXG5cblxuLyoqXG4gKlxuICog5bem44OK44OT77yI6Kit5a6a77yJXG4gKlxuICovXG5cbi8vIOOCteOCpOODiOWfuuacrOioreWumlxuJGJjYS1pY29uLS1zaXRlY29uZmlnczogJGZhLXZhci1iYXJzO1xuLy8g44Om44O844K244O8566h55CGXG4kYmNhLWljb24tLXVzZXJzOiAkZmEtdmFyLXVzZXI7XG4vLyDjgrXjg5bjgrXjgqTjg4jnrqHnkIZcbiRiY2EtaWNvbi0tc2l0ZXM6ICRmYS12YXItaWQtY2FyZDtcbi8vIOODhuODvOODnueuoeeQhlxuJGJjYS1pY29uLS10aGVtZTogJGZhLXZhci1wYWludC1icnVzaDtcbi8vIOODl+ODqeOCsOOCpOODs+euoeeQhlxuJGJjYS1pY29uLS1wbHVnaW46ICRmYS12YXItcGx1Zztcbi8vIOODpuODvOODhuOCo+ODquODhuOCo1xuJGJjYS1pY29uLS10b29sczogJGZhLXZhci13cmVuY2g7XG5cblxuLyoqXG4gKlxuICog44Oc44K/44Oz44Ki44Kk44Kz44OzXG4gKlxuICovXG5cbi8vIOWFrOmWi1xuJGJjYS1pY29uLS1wdWJsaXNoOiAkZmEtdmFyLXBsYXktY2lyY2xlO1xuLy8g6Z2e5YWs6ZaLXG4kYmNhLWljb24tLXVucHVibGlzaDogJGZhLXZhci1wYXVzZS1jaXJjbGU7XG4vLyDnorroqo1cbiRiY2EtaWNvbi0tcHJldmlldzogJGZhLXZhci1leWU7XG4vLyDnt6jpm4ZcbiRiY2EtaWNvbi0tZWRpdDogJGZhLXZhci1wZW5jaWwtYWx0O1xuLy8g6KSH6KO9XG4kYmNhLWljb24tLWNvcHk6ICRmYS12YXItY29weTtcbi8vIOWJiumZpFxuJGJjYS1pY29uLS1kZWxldGU6ICRmYS12YXItdHJhc2gtYWx0O1xuLy8g5LiA6KanXG4kYmNhLWljb24tLXRoLWxpc3Q6ICRmYS12YXItdGgtbGlzdDtcbi8vIOS4gOimp+OBq+aIu+OCi1xuJGJjYS1pY29uLS1iYWNrLXRvLWxpc3Q6ICRmYS12YXItY2hldnJvbi1sZWZ0O1xuLy8g44GK5rCX44Gr5YWl44KKXG4kYmNhLWljb24tLWZhdm9yaXRlOiAkZmEtdmFyLWhlYXJ0O1xuLy8g44Oh44OL44Ol44O844Ki44Kk44OG44OgXG4kYmNhLWljb24tLW1lbnVpdGVtOiAkZmEtdmFyLWFuZ2xlLXJpZ2h0O1xuLy8g6L+95YqgXG4kYmNhLWljb24tLWFkZDogJGZhLXZhci1wbHVzLWNpcmNsZTtcbi8vIOODmOODq+ODl1xuJGJjYS1pY29uLS1oZWxwOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTtcbi8vIC8vIOODmOODq+ODl++8iOa1ruOBjei8qu+8iVxuLy8gJ3Jlc2N1ZTogJGZhLXZhci1saWZlLXJpbmc7XG4vLyDliLbpmZDvvIjpjbUpXG4kYmNhLWljb24tLXBlcm1pc3Npb246ICRmYS12YXItbG9jaztcbi8vIOmBqeeUqFxuJGJjYS1pY29uLS1hcHBseTogJGZhLXZhci1jaGVjay1zcXVhcmU7XG4vLyBIT01FXG4kYmNhLWljb24tLWhvbWU6ICRmYS12YXItaG9tZTtcbi8vIOODreOCsOOCpOODs++8iOWIh+OCiuabv+OBiO+8iVxuJGJjYS1pY29uLS1zd2l0Y2g6ICRmYS12YXItc2lnbi1pbi1hbHQ7XG4vLyDplovjgY9cbiRiY2EtaWNvbi0tb3BlbjogJGZhLXZhci1mb2xkZXItb3Blbjtcbi8vIOODhuOCreOCueODiOOCs+ODlOODvFxuJGJjYS1pY29uLS10ZXh0Y29weTogJGZhLXZhci1wYXN0ZTtcbi8vIOODgOOCpuODs+ODreODvOODiVxuJGJjYS1pY29uLS1kb3dubG9hZDogJGZhLXZhci1kb3dubG9hZDtcbi8vIOODieODqeODg+OCsOWPr+iDvVxuJGJjYS1pY29uLS1kcmFnZ2FibGU6ICRmYS12YXItYXJyb3dzLWFsdC12O1xuLy8g44OV44Kp44Or44OAXG4kYmNhLWljb24tLWZvbGRlcjogJGZhLXZhci1mb2xkZXI7XG4vLyDjg5Xjgqnjg6vjg4DvvIjjgqrjg7zjg5fjg7PvvIlcbiRiY2EtaWNvbi0tZm9sZGVyLW9wZW46ICRmYS12YXItZm9sZGVyLW9wZW47XG4vLyDjg5XjgqHjgqTjg6tcbiRiY2EtaWNvbi0tZmlsZTogJGZhLXZhci1maWxlO1xuLy8gMemajuWxpOS4iuOBq+aIu+OCi1xuJGJjYS1pY29uLS11cC1kaXJlY3Rvcnk6ICRmYS12YXItYXJyb3ctdXA7XG4vLyDnn6LljbDjgIDlj7NcbiRiY2EtaWNvbi0tYXJyb3ctcmlnaHQ6ICRmYS12YXItYXJyb3ctcmlnaHQ7XG4vLyDnn6LljbDjgIDlt6ZcbiRiY2EtaWNvbi0tYXJyb3ctbGVmdDogJGZhLXZhci1hcnJvdy1sZWZ0O1xuLy8g55+i5Y2w44CA5LiKXG4kYmNhLWljb24tLWFycm93LXVwOiAkZmEtdmFyLWFycm93LXVwO1xuLy8g55+i5Y2w44CA5LiLXG4kYmNhLWljb24tLWFycm93LWRvd246ICRmYS12YXItYXJyb3ctZG93bjtcbi8vIOODleOCoeOCpOODq+ODquOCueODiFxuJGJjYS1pY29uLS1maWxlLWxpc3Q6ICRmYS12YXItZmlsZS1hbHQ7XG4vLyDjgqLjg4Pjg5fjg4fjg7zjg4hcbiRiY2EtaWNvbi0tdXBkYXRlOiAkZmEtdmFyLXN5bmM7XG4vLyDoqK3lrppcbiRiY2EtaWNvbi0tc2V0dGluZzogJGZhLXZhci1jb2c7XG4vLyDmpJzntKJcbiRiY2EtaWNvbi0tc2VhcmNoOiAkZmEtdmFyLXNlYXJjaDtcbi8vIOOCr+ODquOColxuJGJjYS1pY29uLS1jbGVhcjogJGZhLXZhci1zeW5jO1xuLy8g5ZCN56ew5aSJ5pu0XG4kYmNhLWljb24tLXJlbmFtZTogJGZhLXZhci1pLWN1cnNvcjtcbi8vIOOCguOBqOOBq+aIu+OBmVxuJGJjYS1pY29uLS11bmRvOiAkZmEtdmFyLXVuZG87XG4vLyDjgoLjgajjgavmiLvjgZlcbiRiY2EtaWNvbi0tYmFuOiAkZmEtdmFyLWJhbjtcbi8vIOODquODs+OCr1xuJGJjYS1pY29uLS1saW5rOiAkZmEtdmFyLWxpbms7XG4vLyDjgqjjgqTjg6rjgqLjgrlcbiRiY2EtaWNvbi0tYWxpYXM6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0O1xuLy8g5qmf6IO944Oc44K/44OzXG4kYmNhLWljb24tLWVsbGlwc2lzLWg6ICRmYS12YXItZWxsaXBzaXMtaDtcblxuLyoqXG4gKlxuICog44OV44Kp44O844Og6Zai6YCjXG4gKlxuICovXG5cbi8vIGRhdGV0aW1lcGlja2Vy77yI5pel5LuY77yJXG4kYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGU6ICRmYS12YXItY2FsZW5kYXI7XG4vLyBkYXRldGltZXBpY2tlcu+8iOaZguWIu++8iVxuJGJjYS1pY29uLS1kYXRldGltZXBpY2tlci10aW1lOiAkZmEtdmFyLWNsb2NrO1xuXG5cblxuLyoqXG4gKlxuICog44Oq44K544OI6Zai6YCjXG4gKlxuICovXG5cbi8vIOODh+ODleOCqeODq+ODiFxuJGJjYS1pY29uLS1saXN0LWRlZmF1bHQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7XG4vLyDkuLhcbiRiY2EtaWNvbi0tbGlzdC1jaXJjbGU6ICRmYS12YXItY2lyY2xlO1xuXG5cblxuLyoqXG4gKlxuICog44Ko44Op44O8IC8g44Ki44Op44O844OI6KGo56S6XG4gKlxuICovXG5cbi8vIOOCqOODqeODvFxuJGJjYS1pY29uLS1lcnJvcjogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTtcbi8vIOOCouODqeODvOODiFxuJGJjYS1pY29uLS1hbGVydDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTtcbi8vIOazqOaEj1xuJGJjYS1pY29uLS1ub3RpZmljYXRpb246ICRmYS12YXItaW5mby1jaXJjbGU7XG5cblxuXG4vKipcbiAqXG4gKiBTTlNcbiAqXG4gKi9cblxuLy8gRmFjZWJvb2tcbiRiY2EtaWNvbi0tZmFjZWJvb2s6ICRmYS12YXItZmFjZWJvb2stZjtcbi8vIFR3aXR0ZXJcbiRiY2EtaWNvbi0tdHdpdHRlcjogJGZhLXZhci10d2l0dGVyO1xuXG5cblxuLy8g5qyhXG4kYmNhLWljb24tLW5leHQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7XG4vLyDliY1cbiRiY2EtaWNvbi0tYmFjazogJGZhLXZhci1hbmdsZS1sZWZ0O1xuLy8g55+i5Y2w44CA5LiJ6KeS5LiKXG4kYmNhLWljb24tLWFzYzogJGZhLXZhci1jYXJldC11cDtcbi8vIOefouWNsOOAgOS4ieinkuS4i1xuJGJjYS1pY29uLS1kZXNjOiAkZmEtdmFyLWNhcmV0LWRvd247XG5cblxuLy8g5LiL55+i5Y2wXG4kYmNhLWljb24tLWNoZXZyb24tZG93bjogJGZhLXZhci1jaGV2cm9uLWRvd247XG5cblxuLy8g5LiA6KanXG4kYmNhLWljb24tLWxpc3Q6ICRmYS12YXItbGlzdC11bDtcbi8vIOODl+ODqeOCuVxuJGJjYS1pY29uLS1wbHVzLXNxdWFyZTogJGZhLXZhci1wbHVzLXNxdWFyZTtcbi8vXG4kYmNhLWljb24tLXF1ZXN0aW9uLWNpcmNsZTogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7XG4vLyDjg57jgqTjg4rjgrlcbiRiY2EtaWNvbi0tbWludXMtc3F1YXJlOiAkZmEtdmFyLW1pbnVzLXNxdWFyZTtcbi8vIOODluODg+OCr+ODnuODvOOCr1xuJGJjYS1pY29uLS1ib29rbWFyazogJGZhLXZhci1ib29rbWFyaztcbi8vIOWcsOeQg1xuJGJjYS1pY29uLS1nbG9iZTogJGZhLXZhci1nbG9iZS1hbWVyaWNhcztcbi8vIOODleOCoeOCpOODq1xuJGJjYS1pY29uLS1maWxlOiAkZmEtdmFyLWZpbGU7XG5cbiRiY2EtaWNvbi0tbWFpbDogJGZhLXZhci1lbnZlbG9wZTtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBiY2EtaWNvbi1iYXNlKCRpY29uKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGV4dGVuZCAuI3skZmEtY3NzLXByZWZpeH07XG4gICAgY29udGVudDogZmEtY29udGVudCgkaWNvbik7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBiY2EtaWNvbigkaWQpIHtcbiAgQGV4dGVuZCAlYmNhLWljb24tLSN7JGlkfTtcbiAgJjo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDk1JTtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgLjNlbSAwIDA7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiViY2EtaWNvbiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXNpemU6IDk1JTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcblxuICAmLS1kYXNoYm9hcmQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kYXNoYm9hcmQpO1xuICB9XG4gICYtLWNvbnRlbnRzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tY29udGVudHMpO1xuICB9XG4gICYtLXN5c3RlbSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXN5c3RlbSk7XG4gIH1cbiAgJi0tc2l0ZWNvbmZpZ3Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1zaXRlY29uZmlncyk7XG4gIH1cbiAgJi0tdXNlcnMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS11c2Vycykge1xuICAgICAgQGV4dGVuZCAlZmFyO1xuICAgIH1cbiAgfVxuICAmLS1zaXRlcyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNpdGVzKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXRoZW1lIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdGhlbWUpO1xuICB9XG4gICYtLXBsdWdpbiB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXBsdWdpbik7XG4gIH1cbiAgJi0tdG9vbHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS10b29scyk7XG4gIH1cbiAgJi0tcHVibGlzaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXB1Ymxpc2gpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tdW5wdWJsaXNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdW5wdWJsaXNoKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXByZXZpZXcge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1wcmV2aWV3KSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLWVkaXQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1lZGl0KTtcbiAgfVxuICAmLS1jb3B5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tY29weSkge1xuICAgICAgQGV4dGVuZCAlZmFyO1xuICAgIH1cbiAgfVxuICAmLS1kZWxldGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kZWxldGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tYmFuIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYmFuKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXVuZG8ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS11bmRvKSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLXJlbmFtZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXJlbmFtZSk7XG4gIH1cbiAgJi0tbGluayB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWxpbmspO1xuICB9XG4gICYtLWFsaWFzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYWxpYXMpO1xuICB9XG4gICYtLXRoLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS10aC1saXN0KTtcbiAgfVxuICAmLS1iYWNrLXRvLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1iYWNrLXRvLWxpc3QpO1xuICB9XG4gICYtLWZhdm9yaXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tZmF2b3JpdGUpO1xuICB9XG4gICYtLW1lbnVpdGVtIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tbWVudWl0ZW0pO1xuICB9XG4gICYtLWFkZCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFkZCk7XG4gIH1cbiAgJi0taGVscCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWhlbHApO1xuICB9XG4gICYtLXBlcm1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1wZXJtaXNzaW9uKTtcbiAgfVxuICAmLS1hcHBseSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFwcGx5KSB7XG4gICAgICBAZXh0ZW5kICVmYXI7XG4gICAgfVxuICB9XG4gICYtLWhvbWUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ob21lKTtcbiAgfVxuICAmLS1zd2l0Y2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1zd2l0Y2gpO1xuICB9XG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1vcGVuKTtcbiAgfVxuICAmLS10ZXh0Y29weSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXRleHRjb3B5KTtcbiAgfVxuICAmLS1kb3dubG9hZCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRvd25sb2FkKTtcbiAgfVxuICAmLS1kcmFnZ2FibGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kcmFnZ2FibGUpO1xuICB9XG4gICYtLWZvbGRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZvbGRlcik7XG4gIH1cbiAgJi0tZm9sZGVyLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1mb2xkZXItb3Blbik7XG4gIH1cbiAgJi0tZmlsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tdXAtZGlyZWN0b3J5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tdXAtZGlyZWN0b3J5KTtcbiAgfVxuICAmLS1hcnJvdy1yaWdodCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFycm93LXJpZ2h0KTtcbiAgfVxuICAmLS1hcnJvdy1sZWZ0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tYXJyb3ctbGVmdCk7XG4gIH1cbiAgJi0tYXJyb3ctdXAge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1hcnJvdy11cCk7XG4gIH1cbiAgJi0tYXJyb3ctZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFycm93LWRvd24pO1xuICB9XG4gICYtLWZpbGUtbGlzdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUtbGlzdCk7XG4gIH1cbiAgJi0tZmlsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWZpbGUpO1xuICB9XG4gICYtLXVwZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXVwZGF0ZSk7XG4gIH1cbiAgJi0tc2V0dGluZyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNldHRpbmcpO1xuICB9XG4gICYtLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXNlYXJjaCk7XG4gIH1cbiAgJi0tY2xlYXIge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1jbGVhcik7XG4gIH1cbiAgJi0tZGF0ZXRpbWVwaWNrZXItZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLWRhdGUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tZGF0ZXRpbWVwaWNrZXItdGltZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWRhdGV0aW1lcGlja2VyLXRpbWUpIHtcbiAgICAgIEBleHRlbmQgJWZhcjtcbiAgICB9XG4gIH1cbiAgJi0tbGlzdC1kZWZhdWx0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tbGlzdC1kZWZhdWx0KTtcbiAgfVxuICAmLS1saXN0LWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWxpc3QtY2lyY2xlKTtcbiAgfVxuICAmLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWVycm9yKTtcbiAgfVxuICAmLS1hbGVydCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWFsZXJ0KTtcbiAgfVxuICAmLS1ub3RpZmljYXRpb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ub3RpZmljYXRpb24pO1xuICB9XG4gICYtLWZhY2Vib29rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbi1iYXNlKCRiY2EtaWNvbi0tZmFjZWJvb2spIHtcbiAgICAgIEBleHRlbmQgJWZhYjtcbiAgICB9XG4gIH1cbiAgJi0tdHdpdHRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXR3aXR0ZXIpIHtcbiAgICAgIEBleHRlbmQgJWZhYjtcbiAgICB9XG4gIH1cbiAgJi0tbmV4dCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLW5leHQpO1xuICB9XG4gICYtLWJhY2sge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1iYWNrKTtcbiAgfVxuICAmLS1hc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1hc2MpO1xuICB9XG4gICYtLWRlc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1kZXNjKTtcbiAgfVxuICAmLS1jaGV2cm9uLWRvd24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1jaGV2cm9uLWRvd24pO1xuICB9XG4gICYtLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1saXN0KTtcbiAgfVxuICAmLS1wbHVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLXBsdXMtc3F1YXJlKTtcbiAgfVxuICAmLS1xdWVzdGlvbi1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1xdWVzdGlvbi1jaXJjbGUpO1xuICB9XG4gICYtLW1pbnVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLW1pbnVzLXNxdWFyZSk7XG4gIH1cbiAgJi0tYm9va21hcmsge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1ib29rbWFyayk7XG4gIH1cbiAgJi0tZ2xvYmUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1nbG9iZSk7XG4gIH1cbiAgJi0tZWxsaXBzaXMtaCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24tYmFzZSgkYmNhLWljb24tLWVsbGlwc2lzLWgpO1xuICB9XG4gICYtLW1haWwge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uLWJhc2UoJGJjYS1pY29uLS1tYWlsKTtcbiAgfVxufVxuJWZhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4lZmFzIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiVmYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG59XG4iLCIvKiBkaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi5kaXNwbGF5LW5vbmUge1xuXHRkaXNwbGF5Om5vbmU7XG59Ki9cblxuLyogdGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4ud2VpZ2h0LW5vcm1hbCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xufVxuLndlaWdodC1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6Ym9sZCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbCB7XG5cdGZvbnQtc2l6ZTpzbWFsbCFpbXBvcnRhbnQ7XG59XG4uc2l6ZS1zbWFsbGVyIHtcblx0Zm9udC1zaXplOiB4LXNtYWxsIWltcG9ydGFudDtcbn1cbi5zaXplLW1lZGl1bSB7XG5cdGZvbnQtc2l6ZTptZWRpdW0haW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2Uge1xuXHRmb250LXNpemU6bGFyZ2UhaW1wb3J0YW50O1xufVxuLnNpemUtbGFyZ2VyIHtcblx0Zm9udC1zaXplOiB4LWxhcmdlIWltcG9ydGFudDtcbn0qL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmJjLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLyogZmxvYXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qLmZsb2F0LWxlZnQge1xuXHRmbG9hdDpsZWZ0O1xufVxuLmZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6cmlnaHQ7XG59XG4uaW1nLXJpZ2h0IHtcblx0ZmxvYXQ6cmlnaHQ7XG5cdG1hcmdpbi1sZWZ0OjEwcHg7XG5cdG1hcmdpbi1ib3R0b206MTBweDtcbn1cbi5pbWctbGVmdCB7XG5cdGZsb2F0OmxlZnQ7XG5cdG1hcmdpbi1yaWdodDoxMHB4O1xuXHRtYXJnaW4tYm90dG9tOjEwcHg7XG59Ki9cblxuLyogY2xlYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qLmNsZWFyIHtcblx0Y2xlYXI6Ym90aDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdGhlaWdodDogMDtcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSovXG5cbi8qIOe4puaWueWQkeS4reWkruaPg+OBiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoudmVydGljYWwtbWlkZGxle1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG59XG4udmVydGljYWwtbWlkZGxlIC5pbm5lcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuXHRcdHRvcDogNTAlIWltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAtMWVtIWltcG9ydGFudDtcbn0qL1xuXG4vKlxuLnJlcXVpcmVkIHtcblx0Y29sb3I6I0MzMDtcblx0Zm9udC1zaXplOjE2cHg7XG59XG4qL1xuXG4vLyDjgrXjg6Djg43jgqTjg6vnlLvlg4/nlKjjga7mnqBcbi8vXG4ucGhvdG8ge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG5cbi8vIOWklumDqOODquODs+OCr+eUqOOCouOCpOOCs+ODs+S7mOOBjeODhuOCreOCueODiOODquODs+OCr1xuLm91dHNpZGUtbGluayB7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vYmx0X291dHNpZGVfbGluay5wbmcpIG5vLXJlcGVhdCBsZWZ0IC0xcHg7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbn1cblxuLy8g44Gf44G244KT5LiN5b+F6KaBXG4vKi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6MTAwJTtcbn0qL1xuXG4jdmFrYXRhLWRuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcblx0ZGl2IHtcblx0XHRwYWRkaW5nLXJpZ2h0OjE0cHghaW1wb3J0YW50O1xuXHR9XG59XG4vKipcbiAqIENha2VcXFZpZXdcXEhlbHBlclxcRm9ybUhlbHBlclxuICogQG1ldGhvZCBlcnJvcigp55SoXG4gKiBgZXJyb3JgLCBgZXJyb3JMaXN0YCBhbmQgYGVycm9ySXRlbWAgdGVtcGxhdGVz44GranPjgadzdHlsZeOCkui/veWKoOOBmeOCi+eUqFxuICovXG4uZXJyb3Itd3JhcCB1bHtcblx0cGFkZGluZzowO1xuXHRtYXJnaW46MDtcbn1cbiIsIi8vIG9sZFxuYSB7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLy9cbi8vIOimgee0oOOBruWfuuacrOioreWumlxuLy9cbi8vXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogJGdlbmVyYWxfcm9vdF9mb250X3NpemU7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCI7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5OyAvLyBvbGRcbiAgYmFja2dyb3VuZDogI0ZGRjsgLy8gb2xkXG59XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDk2MHB4OyAvLyBvbGRcbiAgaGVpZ2h0OiAxMDAlOyAvLyBvbGRcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIG5vcm1hbGl6ZS5jc3MgZm9yIGJvb3RzdHJhcDTjga7kuIrmm7jjgY3pmLLmraJcbiAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgXHRtaW4td2lkdGg6IGF1dG87XG4gIH1cbn1cblxuYm9keSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy9cbi8vICMg44Kr44Op44O8XG4vL1xuLy8g44Kw44Op44OH44O844K344On44Oz44Gn5piO5pqX44KS5L2/44GG5aC05ZCI44Gv44CBXG4vLyBTQVNT44Gu6Zai5pWw44Gn5piO5bqm44KS5aSJ5pu044GZ44KL44GT44Go44KS5o6o5aWo44GZ44KL44CCXG4vL1xuXG4vLyBiYXNlXG4kY29sb3JfcHJpbWFyeTogIzZmYTgzZDtcbi8vJGNvbG9yX3ByaW1hcnk6ICNGRjZGNjE7XG4kY29sb3Jfc2Vjb25kYXJ5OiAjNDI0ZjQ0O1xuLy8gJGNvbG9yX2xpZ2h0X3ByaW1hcnk6ICNmZjAwMDtcbiRjb2xvcl9saWdodGVzdDogI2ZmZjtcbiRjb2xvcl9kaW06ICNjOWM4Yzg7XG4kY29sb3JfZGFya2VzdDogJGNvbG9yX3NlY29uZGFyeTtcbiRjb2xvcl9ub3RpZmljYXRpb246ICMwMDg3YmM7XG4kY29sb3JfZGFuZ2VyOiAjZjIwMDE0O1xuJGNvbG9yX3dhcm5pbmc6ICNmZmQyNGQ7XG4kY29sb3Jfd2FybmluZ19sb3c6ICNmZmY2YWY7XG4kY29sb3JfZGlzYWJsZWQ6ICNjY2M7XG5cbi8vIHRleHRcbiRjb2xvcl90ZXh0X3ByaW1hcnk6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX3RleHRfc2Vjb25kYXJ5OiAkY29sb3JfZGFya2VzdDtcblxuLy8gcGxhY2Vob2xkZXJcbiRjb2xvcl90ZXh0X3BsYWNlaG9sZGVyOiAkY29sb3JfZGltO1xuXG4vLyBsaW5rXG4kY29sb3JfdGV4dF9saW5rOiAkY29sb3JfcHJpbWFyeTtcbiRjb2xvcl90ZXh0X2hvdmVyOiAkY29sb3JfcHJpbWFyeTtcblxuLy8gYmFja2dyb3VuZFxuJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTogI2Y4ZjhmODtcbiRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTogI2ZmZjtcblxuLy8gYm9yZGVyXG4kY29sb3JfYm9yZGVyOiAjZWVlZWVhO1xuJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjogJGNvbG9yX2JvcmRlcjtcbiRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjogI2NjYztcbiRjb2xvcl9tZW51X2JvcmRlcjogI2ZmZjtcbiRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeV9ib3JkZXI6ICRjb2xvcl9ib3JkZXI7XG4kY29sb3JfbWFpbl9jb250ZW50c19ib3JkZXJfY29sb3I6JGNvbG9yX2JvcmRlcjtcblxuLy8gbWVudVxuJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrOiAjZGRkO1xuJGNvbG9yX2JhY2tncm91bmRfbWVudTogJGNvbG9yX2JvcmRlcjtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDogJGNvbG9yX2Rhcmtlc3Q7XG4kY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfcGFyZW50OiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2Rhcms7XG4kY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfc3VibWVudTogJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfaG92ZXI6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfZGFyaztcbiRjb2xvcl9tZW51X2xpbms6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX21lbnVfY3VycmVudDogJGNvbG9yX2xpZ2h0ZXN0O1xuJGNvbG9yX21lbnVfaG92ZXI6ICRjb2xvcl9kYXJrZXN0O1xuXG4vLyB0YWJsZVxuJGNvbG9yX2JhY2tncm91bmRfdGFibGVfbGlzdHVwOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuJGNvbG9yX3RleHRfbGlua190YWJsZV9saXN0dXA6ICRjb2xvcl9kYXJrZXN0O1xuJGNvbG9yX3RhYmxlX2xpc3R1cF9ob3ZlcjogJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcblxuLy8gdG9vbGJhclxuJGNvbG9yX3Rvb2xiYXI6ICMyYTMzMmM7XG4kY29sb3JfdG9vbGJhcl90ZXh0OiAkY29sb3JfbGlnaHRlc3Q7XG4kY29sb3JfdG9vbGJhcl90ZXh0X2hvdmVyOiAjY2NjO1xuJGNvbG9yX2Zvb3RlcjogJGNvbG9yX3Rvb2xiYXI7XG5cbi8vIHBhcnRzXG4kY29sb3JfbWFpbl90aXRsZTogJGNvbG9yX2Rhcmtlc3Q7XG4kY29sb3JfcGFnaW5hdGlvbl9saW5rOiAkY29sb3JfZGFya2VzdDtcbiRjb2xvcl9wYWdpbmF0aW9uX2hvdmVyOiAkY29sb3JfZGFya2VzdDtcbiRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5OiAkY29sb3JfcHJpbWFyeTtcbiIsIi8vXG4vLyAjIOWvuOazlVxuLy9cbi8vXG5cbi8vIOODleOCqeODs+ODiOOCteOCpOOCulxuJGdlbmVyYWxfcm9vdF9mb250X3NpemU6IDEwcHg7XG5cbi8vIOODiuODk+OCsuODvOOCt+ODp+ODs1xuJG5hdl9iYXNlX3BhZGRpbmc6IDEycHg7XG4kbmF2X2l0ZW1fcGFkZGluZzogNHB4O1xuXG4vLyDjg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrnjgIHjg6njgrjjgqrjg5zjg4Pjgq/jgrnjga7jg5Xjgqnjg7Pjg4jjgrXjgqTjgrpcbiRsYWJlbF9mb250X3NpemVfc21hbGw6IDEuNHJlbTtcbiRsYWJlbF9mb250X3NpemVfbWVkaXVtOiAxLjZyZW07XG4kbGFiZWxfZm9udF9zaXplX2xhcmdlOiAycmVtO1xuXG4kaW5wdXRfdGV4dF9mb250X3NpemU6IDEuNnJlbTtcblxuJGJ1dHRvbl9mb250X3NpemVfeF9zbWFsbDogMS4xcmVtO1xuJGJ1dHRvbl9mb250X3NpemVfc21hbGw6IDEuMnJlbTtcbiRidXR0b25fZm9udF9zaXplX21lZGl1bTogMS40cmVtO1xuJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U6IDEuNnJlbTtcbiRidXR0b25fZm9udF9zaXplX3hfbGFyZ2U6IDJyZW07XG5cbi8vIOOCu+ODrOOCr+ODiOODnOODg+OCr+OCueOBqOODnOOCv+ODs+OBrumrmOOBlVxuJGJ1dHRvbl9wYWRkaW5nX3RvcDogMC43ZW07XG4kYnV0dG9uX3BhZGRpbmdfYm90dG9tOiAwLjZlbTtcblxuLy8gZm9jdXPmmYLjga7jgrfjg6Pjg4njgqZcbiRmb2N1c19zaGFkb3c6IDAgMCA0cHggMHB4ICRjb2xvcl9wcmltYXJ5O1xuJGZvY3VzX3NoYWRvd19lcnJvcjogMCAwIDRweCAwcHggJGNvbG9yX2RhbmdlcjtcblxuIiwiJHNtYWxsUmFuZ2U6IDc2OHB4O1xuJG1lZGl1bVJhbmdlOiA3NjhweDtcbiRsYXJnZVJhbmdlOiAxMDAwcHg7XG4kbWVkaXVtUmFuZ2VGb3JNb2RhbDogMTExMHB4O1xuQG1peGluIG1xKCRtZWRpYSkge1xuICAgIEBpZiAkbWVkaWEgPT0gc3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbWFsbFJhbmdlfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICRtZWRpYSA9PSBtZCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1lZGl1bVJhbmdlfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICRtZWRpYSA9PSBwYyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlUmFuZ2V9KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJG1lZGlhID09IHNwTW9kYWwge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRtZWRpdW1SYW5nZUZvck1vZGFsfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyog5penQ1NT44GL44KJ44Gu5pyq5pW055CG5YiGXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udXBsb2FkLWZpbGUgaW5wdXRbdHlwZT1maWxlXSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnVwbG9hZC1maWxlIGEge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmVkaXQtbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5lZGl0LWxpbmsgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxQzk4RDQ7XG4gIGNvbG9yOiAjMUM5OEQ0O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZWRpdC1saW5rIGE6aG92ZXIge1xuICBjb2xvcjogIzFDOThENDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNDMzA7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG59XG5cbi5mb3JtLWVycm9yIHtcbiAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3JfZGFuZ2VyIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZXJyb3I6Zm9jdXMge1xuICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93X2Vycm9yICFpbXBvcnRhbnQ7XG59XG5cbi5lcnJvciB7XG4gIGNvbG9yOiAjQzMwO1xufVxuXG4uZXJyb3IgZW0ge1xuICBjb2xvcjogIzA2QztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogZm9ybS10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5saXN0LXRhYmxlIC5lcnJvci1tZXNzYWdlIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5hbm5vdGF0aW9uLXRleHQgc21hbGwge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzMDtcbiAgY29sb3I6ICNDMzA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMzA7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi8qIGVkaXQgZm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lZGl0b3ItYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogd2FpdGluZy1ib3hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53YWl0aW5nLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTtcbiAgLW1vei1vcGFjaXR5OiAwLjY7XG4gIC8vZGlzcGxheTogbm9uZTtcbn1cblxuLndhaXRpbmctYm94IGRpdiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbToxMDBweDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbn1cblxuLndhaXRpbmctYm94IGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIGVtLWJveFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gLmVtLWJveCB7XG4vLyBcdGJvcmRlcjo1cHggc29saWQgI0RERDtcbi8vIFx0cGFkZGluZzoxNXB4O1xuLy8gXHRjb2xvcjojNTM1QTYyO1xuLy8gXHRmb250LXNpemU6IDE2cHg7XG4vLyBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gXHRtYXJnaW46IDAgYXV0byAyMHB4O1xuLy8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyBcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuLy8gfVxuLy8gLmVtLWJveCBhe1xuLy8gXHRjb2xvcjojNjkwO1xuLy8gfVxuLy8gLmVtLWJveCBhOmhvdmVye1xuLy8gXHRjb2xvcjojOUMwO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyB9XG5cbi8qIHRyZWUgZW1wdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udHJlZS1lbXB0eSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiAjNTM1QTYyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4ubm8tZGF0YSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpemUtY291bnRlciB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLnNpemUtY291bnRlciBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICNDQ0M7XG59XG5cbi8qIHBocGluZm9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5waHBpbmZvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuLyogdWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci10bCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmNvcm5lci10b3AsIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItdHIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG4udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci1ib3R0b20sIC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci1ibCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItYm90dG9tLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLWJyIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLnVpLWNvcm5lci1hbGwsIC51aS1jb3JuZXItdG9wLCAudWktY29ybmVyLXJpZ2h0LCAudWktY29ybmVyLXRyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuXG5cbi8qIENyZWRpdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI0NyZWRpdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0Ojk0NXB4OyAvLyDop6Pmsbrmlrnms5XjgYzjgo/jgYvjgonjgZrjgIHkuIDml6bmsbrjgoHmiZPjgaHjgadcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTA7XG5cbiAgb3BhY2l0eTogMC44NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTg1KTsgLyogSUUgbHQgOCAqL1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7IC8qIElFIDggKi9cbiAgLWtodG1sLW9wYWNpdHk6IC44NTsgLyogU2FmYXJpIDEueCAqL1xuICAtbW96LW9wYWNpdHk6IDAuODU7XG5cbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNDcmVkaXRJbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIge1xuICBwYWRkaW5nOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgaDEge1xuICBmb250LXNpemU6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgaDIge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB4bWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jQ3JlZGl0U2Nyb2xsZXIgdWwgbGkge1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIHVsIGxpIGEge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuI0NyZWRpdFNjcm9sbGVyIC5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cblxuI0NyZWRpdFNjcm9sbGVySW5uZXIge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBtcShzcCkge1xuICBcdHdpZHRoOjEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIFBhZ2VzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBsaXN0LXRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxpc3QtdGFibGUgLnBhZ2Utc3RhdHVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBUcmVlTGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNQYWdlVHJlZUxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbiNUcmVlTGlzdCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuI1RyZWVMaXN0IGEge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGE6aG92ZXIge1xuICBjb2xvcjogI0FBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jY2JveENvbnRlbnQgYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZmlsZXRyZWUgc3Bhbi5mb2xkZXIsXG4uZmlsZXRyZWUgc3Bhbi5maWxlIHtcbiAgcGFkZGluZzogMXB4IDAgMXB4IDE4cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBJbnN0YWxsYXRpb25zXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI0luc3RhbGxhdGlvbnMgbGkuY2hlY2sge1xuICBjb2xvcjogI0NDQztcbn1cblxuI0luc3RhbGxhdGlvbnMgbGkuZmFpbGVkIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjRTAyO1xuICBjb2xvcjogI0YwMztcbn1cblxuI0luc3RhbGxhdGlvbnMgLmNoZWNrLXJlc3VsdCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuY2hlY2stcmVzdWx0IHNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4jSW5zdGFsbGF0aW9ucyBpbnB1dFt0eXBlPXRleHRdLFxuI0luc3RhbGxhdGlvbnMgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4jSW5zdGFsbGF0aW9ucyB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogM3B4IDVweDtcbn1cblxuI0luc3RhbGxhdGlvbnMgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xufVxuXG4jSW5zdGFsbGF0aW9ucyAuc3RlcC0xIHtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19pbnN0YWxsLnBuZykgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbSAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVXBkYXRlcnNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC5idG4tc2xpZGUtZm9ybSBhe1xuLy8gXHRjb2xvcjojNTM1QTYyO1xuLy8gXHRkaXNwbGF5OiBibG9jaztcbi8vIFx0cGFkZGluZzo1cHggMzBweDtcbi8vIFx0LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdC1tb3otYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuLy8gXHQtby1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdGJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0YmFja2dyb3VuZDojRjNGM0YzO1xuLy8gXHRiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjRkZGLCNGM0YzRjMpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI0ZGRiksY29sb3Itc3RvcCgxMDAlLCNGM0YzRjMpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNGRkYsI0YzRjNGMyk7XG4vLyB9XG4vLyAuYnRuLXNsaWRlLWZvcm0gYTpob3Zlcntcbi8vIFx0YmFja2dyb3VuZDojZjRmNGY0O1xuLy8gXHRiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZjRmNGY0LCNkZmRmZGYgMTAwJSk7XG4vLyBcdGJhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjZjRmNGY0KSxjb2xvci1zdG9wKDEwMCUsI2RmZGZkZikpO1xuLy8gXHRiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y0ZjRmNCwjZGZkZmRmIDEwMCUpO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyB9XG4vLyAuYnRuLXNsaWRlLWZvcm0gYTphY3RpdmV7XG4vLyBcdGJhY2tncm91bmQ6I2NkY2RjZDtcbi8vIFx0YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2NkY2RjZCwjZWVlIDEwMCUpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2NkY2RjZCksY29sb3Itc3RvcCgxMDAlLCNlZWUpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNjZGNkY2QsI2VlZSAxMDAlKTtcbi8vIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIERhc2hib2FyZFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0LFxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgcGFkZGluZzogMDtcbn1cblxuI0FkbWluRGFzaGJvYXJkIC5wYWdpbmF0aW9uIC5uZXh0IGEsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLnByZXYgYSB7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiBzcGFuIHNwYW4gYSxcbiNBZG1pbkRhc2hib2FyZCAucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4jQWRtaW5EYXNoYm9hcmQgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgVGhlbWVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4jUGFnZVRyZWVMaXN0IHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4udWktdGFicyAudWktdGFicy1uYXYgbGkge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktc3RhdGUtYWN0aXZlIGE6bGluaywgLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGEge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1RyZWVMaXN0IGE6aG92ZXIge1xuICBjb2xvcjogI0FBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udWktc3RhdGUtZGVmYXVsdCBhLCAudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssIC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTM1QTYyO1xufVxuXG4jQ29udGVudHNGb3JtVGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIC51aS10YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4jQ29udGVudHNGb3JtVGFicyB0YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBDb250ZW50c1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbn1cblxuI0RhdGFMaXN0IHRkIC5hbGlhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTMycHg7XG59XG5cbiNSZWxhdGVkQ29udGVudHNTZXR0aW5nIC5iY2EtYnRuLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4jUmVsYXRlZENvbnRlbnRzU2V0dGluZyAuaWNvbi1hZGQtbGF5ZXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hZGRfbGF5ZXJkLnBuZ1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTI0cHg7XG59XG5cbiNDb250ZW50c0Zvcm1UYWJzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIENrRWRpdG9yXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2tlX2Nocm9tZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2tlX3RvcCwgLmNrZV9ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjRUZFRkVGICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNFRkVGRUYsICNFRUUpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBFdGNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1MzVBNjI7XG59XG5cbi5oZWxwdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5leWVjYXRjaC1saXN0IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmV5ZWNhdGNoLWxpc3QgbGkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI0Jhc2ljU2V0dGluZyAudXJsLFxuI0Jsb2dQb3N0Rm9ybSAudXJsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4jQmFzaWNTZXR0aW5nIC51cmwgYSB7XG4gIGNvbG9yOiAjOUMwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4jU2VjdGlvbkxhbmdBY2Nlc3NUeXBlIGxhYmVsLCAjU2VjdGlvbkRldmljZUFjY2Vzc1R5cGUgbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBjb250ZXh0LW1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZXh0LW1lbnUtaWNvbi1lZGl0IHtcbiAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG59XG5cbi5jb250ZXh0LW1lbnUtaWNvbi1kZWxldGUge1xuICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xufVxuXG4uY29udGV4dC1tZW51LWljb246OmJlZm9yZSB7XG4gIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZXh0LW1lbnUtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNGVtO1xuICBwYWRkaW5nOiAwIDJlbSAwIDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmZmY7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4uY29udGV4dC1tZW51LWl0ZW0gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4uY29udGV4dC1tZW51LWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudV9ob3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uY29udGV4dC1tZW51LWxpc3Qge1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi5kaXNwbGF5LW5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmNhLXNtYWxsLWxvYWRlciB7XG4gIHdpZHRoOjE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxuI1VwbG9hZGVyRm9ybSAudXBsb2FkZXItZmlsZS1maWxlIHtcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGwhaW1wb3J0YW50O1xufVxuXG4uYmNhLXNlYXJjaF9fYnRucyAuYmNhLWJ0bi1sZyB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG4iLCIuYmNhLWFwcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICBAaW5jbHVkZSBtcShzcCkge1xuICBcdGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5iY2EtaGVhZGVyIHtcblxuICB9XG4gIC5iY2EtY29udGFpbmVyIHtcblxuICB9XG4gIC5iY2EtZm9vdGVyIHtcblxuICB9XG59XG4iLCIuYmNhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuIiwiLmJjYS1tYWluIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX3ByaW1hcnk7XG4gIGxpbmUtaGVpZ2h0OjEuNDtcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG5cbiAgLy8g4p2XIC5jb250ZW50cy1ib2R5IOOBqOWQjOOBmOimgee0oCDinZdcbiAgJl9fYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAvL2E6bGluayB7XG4gICAgLy8gIGNvbG9yOiRjb2xvcl9wcmltYXJ5O1xuICAgIC8vfVxuICAgIC8vYTpob3ZlciB7XG4gICAgLy8gIGNvbG9yOiRjb2xvcl9zZWNvbmRhcnk7XG4gICAgLy99XG4gIH1cbiAgJl9fY29udGVudHMge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbWFpbl9jb250ZW50c19ib3JkZXJfY29sb3I7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBcdG1hcmdpbjowO1xuICAgIH1cbiAgfVxuICAmX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6I0Y0RjVGMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX21haW5fY29udGVudHNfYm9yZGVyX2NvbG9yO1xuICAgICYtdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJGNvbG9yX21haW5fdGl0bGU7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgICYtbWVudSB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgJl9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAmX19oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDFlbSAxZW0gMDtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMCAwLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAmW2RhdGEtYmNhLWhlYWRpbmctc2l6ZT1sZ10ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLWhlYWRpbmctc2l6ZT1tZF0ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgICB9XG4gIH1cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgcHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIHBhZGRpbmc6NXB4IDEwcHg7XG4gIH1cbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBwYWRkaW5nOjJweCA1cHg7XG4gIH1cbiAgJl9fbnVtYmVyLWxpc3Qge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjoyMHB4IDA7XG4gICAgfVxuICB9XG59XG4iLCIuYmNhLWljb24ge1xuICAmLS1kYXNoYm9hcmQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRhc2hib2FyZCk7XG4gIH1cbiAgJi0tY29udGVudHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNvbnRlbnRzKTtcbiAgfVxuICAmLS1zeXN0ZW0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSk7XG4gIH1cbiAgJi0tc2l0ZWNvbmZpZ3Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHNpdGVjb25maWdzKTtcbiAgfVxuICAmLS11c2VycyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXNlcnMpO1xuICB9XG4gICYtLXNpdGVzIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzaXRlcyk7XG4gIH1cbiAgJi0tdGhlbWUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRoZW1lKTtcbiAgfVxuICAmLS1wbHVnaW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBsdWdpbik7XG4gIH1cbiAgJi0tdG9vbHMge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRvb2xzKTtcbiAgfVxuICAmLS1wdWJsaXNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihwdWJsaXNoKTtcbiAgfVxuICAmLS11bnB1Ymxpc2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgJi0tcHJldmlldyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocHJldmlldyk7XG4gIH1cbiAgJi0tZWRpdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG4gIH1cbiAgJi0tY29weSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgJi0tZGVsZXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xuICB9XG4gICYtLXRoLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRoLWxpc3QpO1xuICB9XG4gICYtLWJhY2stdG8tbGlzdCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAmLS1mYXZvcml0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZmF2b3JpdGUpO1xuICB9XG4gICYtLW1lbnVpdGVtIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihtZW51aXRlbSk7XG4gIH1cbiAgJi0tYWRkIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gICYtLWhlbHAge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGhlbHApO1xuICB9XG4gICYtLXBlcm1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBlcm1pc3Npb24pO1xuICB9XG4gICYtLWFwcGx5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcHBseSk7XG4gIH1cbiAgJi0taG9tZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaG9tZSk7XG4gIH1cbiAgJi0tc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzd2l0Y2gpO1xuICB9XG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG9wZW4pO1xuICB9XG4gICYtLXRleHRjb3B5IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih0ZXh0Y29weSk7XG4gIH1cbiAgJi0tZG93bmxvYWQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRvd25sb2FkKTtcbiAgfVxuICAmLS1kcmFnZ2FibGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cbiAgJi0tZm9sZGVyIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmb2xkZXIpO1xuICB9XG4gICYtLWZpbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZpbGUpO1xuICB9XG4gICYtLXVwLWRpcmVjdG9yeSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXAtZGlyZWN0b3J5KTtcbiAgfVxuICAmLS1hcnJvdy1yaWdodCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctcmlnaHQpO1xuICB9XG4gICYtLWFycm93LWxlZnQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGFycm93LWxlZnQpO1xuICB9XG4gICYtLWFycm93LXVwIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcnJvdy11cCk7XG4gIH1cbiAgJi0tYXJyb3ctZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctZG93bik7XG4gIH1cbiAgJi0tZmlsZS1saXN0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmaWxlLWxpc3QpO1xuICB9XG4gICYtLXVwZGF0ZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odXBkYXRlKTtcbiAgfVxuICAmLS1zZXR0aW5nIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzZXR0aW5nKTtcbiAgfVxuICAmLS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHNlYXJjaCk7XG4gIH1cbiAgJi0tY2xlYXIge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNsZWFyKTtcbiAgfVxuICAmLS1kYXRldGltZXBpY2tlci1kYXRlIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkYXRldGltZXBpY2tlci1kYXRlKTtcbiAgfVxuICAmLS1kYXRldGltZXBpY2tlci10aW1lIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkYXRldGltZXBpY2tlci10aW1lKTtcbiAgfVxuICAmLS1saXN0LWRlZmF1bHQge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtZGVmYXVsdCk7XG4gIH1cbiAgJi0tbGlzdC1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtY2lyY2xlKTtcbiAgfVxuICAmLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZXJyb3IpO1xuICB9XG4gICYtLWFsZXJ0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhbGVydCk7XG4gIH1cbiAgJi0tbm90aWZpY2F0aW9uIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihub3RpZmljYXRpb24pO1xuICB9XG4gICYtLWZhY2Vib29rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmYWNlYm9vayk7XG4gIH1cbiAgJi0tdHdpdHRlciB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odHdpdHRlcik7XG4gIH1cbiAgJi0tbmV4dCB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24obmV4dCk7XG4gIH1cbiAgJi0tYmFjayB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjayk7XG4gIH1cbiAgJi0tYXNjIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhc2MpO1xuICB9XG4gICYtLWRlc2Mge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRlc2MpO1xuICB9XG4gICYtLWNoZXZyb24tZG93biB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY2hldnJvbi1kb3duKTtcbiAgfVxuICAmLS1saXN0IHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihsaXN0KTtcbiAgfVxuICAmLS1wbHVzLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocGx1cy1zcXVhcmUpO1xuICB9XG4gICYtLXF1ZXN0aW9uLWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocXVlc3Rpb24tY2lyY2xlKTtcbiAgfVxuICAmLS1taW51cy1zcXVhcmUge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1pbnVzLXNxdWFyZSk7XG4gIH1cbiAgJi0tYm9va21hcmsge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGJvb2ttYXJrKTtcbiAgfVxuICAmLS1hbGlhcyB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYWxpYXMpO1xuICB9XG4gICYtLXJlbmFtZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocmVuYW1lKTtcbiAgfVxuICAmLS1saW5rIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihsaW5rKTtcbiAgfVxuICAmLS1nbG9iZSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZ2xvYmUpO1xuICB9XG4gICYtLW1haWwge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1haWwpO1xuICB9XG59XG4vLyDjg6njg5njg6vjg4bjgq3jgrnjg4jvvJrjg4fjg5Xjgqnjg6vjg4jjga/pnZ7ooajnpLpcbltjbGFzcyo9XCJiY2EtaWNvblwiXSAuYmNhLWljb24tbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyDjgrXjgqTjgrpcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2NsYXNzXj1cImJjYS1pY29uXCJdIHtcbiAgLy8gbGFyZ2VcbiAgJltkYXRhLWJjYS1pY29uLXNpemU9bGddIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuXG4gIC8vIHNtYWxsXG4gICZbZGF0YS1iY2EtaWNvbi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cblxuICAvLyB4c21hbGxcbiAgJltkYXRhLWJjYS1pY29uLXNpemU9eHNdIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBIZWFkZXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5cbi8qIExvZ29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNMb2dvIHtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xufVxuXG4uYmNhLWhlYWRlciB7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgRm9vdGVyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbi8vIFRPRE86IGlk44Gr44K544K/44Kk44Or44KS5oyH5a6a44GX44Gq44GEXG4vL1xuLy8vKiBGb290ZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vI0Zvb3Rlcntcbi8vfVxuLy8jRm9vdGVySW5uZXJ7XG4vL1x0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19mb290ZXIucG5nKTtcbi8vXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcbi8vXHRjb2xvcjogI0VFRTtcbi8vXHRwYWRkaW5nOiA0MHB4IDMwcHggNjBweDtcbi8vXHRtYXJnaW46IDA7XG4vL1x0bWluLXdpZHRoOjk2MHB4O1xuLy99XG4vLyNGb290ZXJJbm5lciBhe1xuLy9cdGNvbG9yOiAjQkJCO1xuLy9cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vfVxuLy8jRm9vdGVySW5uZXIgYTpob3Zlcntcbi8vXHRjb2xvcjogI0VFRTtcbi8vfVxuLy9cbi8vLyogRm9vdGVyTG9nb1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Zvb3RlckxvZ297XG4vL1x0d2lkdGg6IDE5MHB4O1xuLy9cdGZsb2F0OiBsZWZ0O1xuLy9cdHBhZGRpbmc6IDY1cHggMDtcbi8vfVxuLy9cbi8vLyogRm9vdGVyTGlua1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Zvb3RlckxpbmsgaDJ7XG4vL1x0bWFyZ2luLWJvdHRvbToxNXB4O1xuLy99XG4vL1xuLy8jRm9vdGVyTGluayBsaXtcbi8vLypcdHBhZGRpbmctcmlnaHQ6MzBweDsqL1xuLy9cdG1hcmdpbjo1cHggMDtcbi8vXHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2FkbWluL2JsdF9saXN0XzIucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4vL1x0cGFkZGluZy1sZWZ0OjE1cHg7XG4vL1x0bGluZS1oZWlnaHQ6MThweDtcbi8vfVxuLy8jRm9vdGVyTGlua3tcbi8vXHRmbG9hdDogbGVmdDtcbi8vXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2FkbWluL2JnX2JvcmRlcl8yLnBuZyk7XG4vL1x0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuLy9cdHBhZGRpbmctbGVmdDoxNXB4O1xuLy99XG4vL1xuLy8vKiBGb290ZXJCYW5uZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vXG4vLyNGb290ZXJCYW5uZXIge1xuLy9cdHBhZGRpbmctdG9wOjVweDtcbi8vXHRtYXJnaW4tYm90dG9tOjE1cHg7XG4vL31cbi8vI0Zvb3RlckJhbm5lciBsaSB7XG4vL1x0dGV4dC1hbGlnbjpyaWdodDtcbi8vXHRwYWRkaW5nOjBweCAyMHB4O1xuLy99XG4vLyNGb290ZXJCYW5uZXIgbGkgaW1ne1xuLy9cdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcbi8vfVxuLy8jRm9vdGVyQmFubmVyIGxpLmxhc3RDaGlsZHtcbi8vICAgbWFyZ2luLXRvcDo3cHg7XG4vL31cbi8vXG4vLy8qIEJhc2VyVmVyc2lvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9cbi8vI0Jhc2VyVmVyc2lvbiB7XG4vL1x0cGFkZGluZy1yaWdodDoyMHB4O1xuLy9cdHRleHQtYWxpZ246cmlnaHQ7XG4vL1x0Zm9udC1zaXplOjEycHg7XG4vL1x0Zm9udC1mYW1pbHk6VGFob21hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4vL1x0bWFyZ2luLWJvdHRvbToxNXB4O1xuLy99XG4vL1xuLy8vKiBDb3B5cmlnaHRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vXG4vLyNDb3B5cmlnaHQge1xuLy9cdHRleHQtYWxpZ246cmlnaHQ7XG4vL1x0Zm9udC1zaXplOjEwcHg7XG4vL1x0cGFkZGluZy1yaWdodDoyMHB4O1xuLy99XG4uYmNhLWZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2Zvb3RlcjtcbiAgJl9faW5uZXIge1xuICAgIG1pbi13aWR0aDogOTYwcHg7XG4gICAgcGFkZGluZy10b3A6IDM3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBcdG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyDjg63jgrDjgqTjg7PliY1cbiAgJl9faGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgd2lkdGg6IDgycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAmX19iYW5uZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAmX19iYXNlci12ZXJzaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJl9fYmFubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgJi0tZmFjZWJvb2sge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihmYWNlYm9vayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRjVEOTM7XG4gICAgICB9XG4gICAgICAmLS10d2l0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odHdpdHRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMzhweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgIGEge1xuICAgICAgICAmOmxpbmssXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyDjg63jgrDjgqTjg7PlvoxcbiAgJl9faW5uZXItLWZ1bGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4IDdweCAxMnB4O1xuICAgIC5iY2EtZm9vdGVyX19tYWluIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmJjYS1mb290ZXJfX2Jhc2VyLXZlcnNpb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAuYmNhLWZvb3Rlcl9fYmFubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYmNhLWZvb3Rlcl9fc3ViIHtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuIiwiJGhlaWdodDogNDBweDtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgYmFzZXJDTVMgVG9vbGJhclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9hZG1pbi9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL2FkbWluL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuYm9keSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cbi5iY2EtdG9vbGJhciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1IWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgYmFzZXJDTVMgVG9vbGJhcicsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYsIFwi44Oh44Kk44Oq44KqXCIsIFZlcmRhbmEsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJGhlaWdodCFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDE1MCFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgdG9wOiAwIWltcG9ydGFudDtcbiAgbGVmdDogMCFpbXBvcnRhbnQ7XG4gICYsXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ghaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZToxMnB4O1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfdG9vbGJhciFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuIWltcG9ydGFudDtcbiAgfVxuXG4gICYgJl9fbG9nbyB7XG4gICAgZmxleDogMCAxIGF1dG8haW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMTJweCAwIDEycHghaW1wb3J0YW50O1xuXG4gICAgJi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IWltcG9ydGFudDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvciFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtc3ltYm9sIHtcbiAgICAgIHBhZGRpbmc6IDRweCA3cHggNHB4IDRweCFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweCFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94IWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgIH1cblxuICAgICYtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX190b29scyB7XG4gICAgZmxleDogMSAwIGF1dG8haW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciFpbXBvcnRhbnQ7XG5cbiAgICAmLWJ1dHRvbiB7XG4gICAgICBhIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgLjRlbSAwIC4yZW0haW1wb3J0YW50O1xuICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luOiA4cHggMC4zZW0haW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzcHggOHB4IDNweCA1cHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweCFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjMzMzIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1hZGQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTVcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtZWRpdCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjMwM1wiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1wdWJsaXNoIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1tb2RlIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW46IDhweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHggM3B4IDVweCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFuZ2VyIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdXNlcnMsICZfX3Rvb2xzIHtcbiAgICAuYmMtYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICB9XG4gICAgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlIWltcG9ydGFudDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDJweCAyMHB4IWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0IWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGxpLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI2NjYyFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3Rvb2xiYXJfdGV4dCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiAtMXB4IDAgMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl90b29sYmFyX3RleHQhaW1wb3J0YW50O1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICNjY2MhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICM1MzVhNjIhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDIwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnRfcHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdG9vbGJhcl90ZXh0IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbmF2IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZsZXgtYmFzaXM6IDIwOHB4O1xuICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuXG4gICZfX21haW4ge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX3ByaW1hcnk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcblxuICAgICYtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zdWIge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuXG4gICAgJixcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5iY2EtbmF2X19tYWluID4gJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAZXh0ZW5kICViY2EtaWNvbjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsaW5rLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgIC8vIGE6bGluayDjga7jg4fjg5Xjgqnjg6vjg4joqK3lrprjgpLmtojjgZnjgb7jgafmnInlirlcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2Rhcmtlc3Q7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC1pcy1jdXJyZW50PVwidHJ1ZVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2NvbG9yOiRjb2xvcl9kYXJrZXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgLy9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9wcmltYXJ5O1xuICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG5cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgLy8gcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIC8vIEBleHRlbmQgLmJjYS1pY29uLS1tZW51aXRlbTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGluayxcbiAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgLy8gYTpsaW5rIOOBruODh+ODleOCqeODq+ODiOioreWumuOCkua2iOOBmeOBvuOBp+acieWKuVxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9ob3ZlcjtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3JfYm9yZGVyLCAxMCUpO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g44K144OW44Oh44OL44Ol44O844KS6KGo56S6XG4gICAgJjpob3ZlciAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g54++5Zyo6YG45oqe5Lit44Gu44Oh44OL44Ol44O844Gn44K144OW44Oh44OL44Ol44O844GM44Gq44GE5aC05ZCIXG4gICAgJltkYXRhLWNvbnRlbnQtaXMtY3VycmVudD1cInRydWVcIl0ge1xuICAgICAgLmJjYS1uYXZfX3N1Yi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOS4reOBjOWxlemWi+OBleOCjOOBpuOBhOOCi+aZglxuICAgICZbZGF0YS1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50X3BhcmVudDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAvL2NvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iY2EtbmF2X19zdWItbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50X3N1Ym1lbnU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8g54++5Zyo6ZaL44GE44Gm44GE44KL44Oa44O844K4XG4gICAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAyMHB4IDExcHggMzVweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYmNhLW5hdl9fc3ViLWxpc3Qge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOOCouOCpOOCs+ODs+W5heiqv+aVtFxuICAgICZbZGF0YS1jb250ZW50LXR5cGVdIHtcbiAgICAgIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC10eXBlPVwiZGFzaGJvYXJkXCJdIHtcbiAgICAgIC5iY2EtbmF2X19zdWItdGl0bGUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oZGFzaGJvYXJkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udGVudC10eXBlPVwiY29udGVudHNcIl0ge1xuICAgICAgLmJjYS1uYXZfX3N1Yi10aXRsZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihjb250ZW50cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWNvbnRlbnQtdHlwZT1cInN5c3RlbVwiXSB7XG4gICAgICAuYmNhLW5hdl9fc3ViLXRpdGxlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyDoqK3lrprjg6Hjg4vjg6Xjg7xcbiAgJl9fc3lzdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX21lbnVfYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbWVudV9ib3JkZXI7XG5cbiAgICBbZGF0YS1iY2Etc3RhdGU9XCJ0cnVlXCJdICYtdGl0bGUtaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbihzeXN0ZW0pO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyDplovplonjgqLjgqTjgrPjg7NcbiAgICAgICYtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8g6ZaJ44GY44Gm44GE44KL5pmC44Gu44Oh44OL44Ol44O8aG92ZXJcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuXG4gICAgICAgICAgLy8g44K144OW44Oh44OL44Ol44O844KS6KGo56S6XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1zdWItbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgjMDAwLCAwLjIpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQ7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yX2JhY2tncm91bmRfbWVudSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAxMHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBleHRlbmQgJWJjYS1pY29uO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxpbmssXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAvLyBhOmxpbmsg44Gu44OH44OV44Kp44Or44OI6Kit5a6a44KS5raI44GZ44G+44Gn5pyJ5Yq5XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyDnj77lnKjpgbjmip7kuK3jga7mmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnQ7XG5cbiAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51X2N1cnJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDjgrXjg5bjg6Hjg4vjg6Xjg7xcbiAgICAmLXN1Yi1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgcGFkZGluZzogN3B4IDIwcHggNXB4IDM1cHg7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAvLyDkuK3jgYzlsZXplovjgZXjgozjgabjgYTjgovmmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wYXJlbnQ7XG5cbiAgICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgLy9jb2xvcjokY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9zdWJtZW51O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9saW5rO1xuXG4gICAgICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA1cHggMzVweDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vIOePvuWcqOmWi+OBhOOBpuOBhOOCi+ODmuODvOOCuFxuICAgICAgICAgICAgICAmW2RhdGEtc3ViLWl0ZW0taXMtY3VycmVudD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAyMHB4IDExcHggMzVweDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLXN1Yi1saXN0IHtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN5c3RlbS10eXBlXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1pdGVtLWxpc3QtdGl0bGUgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHN5c3RlbSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInNpdGVjb25maWdzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oc2l0ZWNvbmZpZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInVzZXJzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odXNlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInNpdGVzXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oc2l0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInRoZW1lXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmNhLWljb24odGhlbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zeXN0ZW0tdHlwZT1cInBsdWdpblwiXSB7XG4gICAgICAgICAgLmJjYS1uYXZfX3N5c3RlbS1saXN0LWl0ZW0tdGl0bGUgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKHBsdWdpbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN5c3RlbS10eXBlPVwidG9vbHNcIl0ge1xuICAgICAgICAgIC5iY2EtbmF2X19zeXN0ZW0tbGlzdC1pdGVtLXRpdGxlID4gYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiY2EtaWNvbih0b29scyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAuYmNhLW5hdl9fc3lzdGVtLWxpc3QtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuXG4gICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyDkuK3jgYzlsZXplovjgZXjgozjgabjgYTjgovmmYJcbiAgICAgICAgJltkYXRhLXN1Yi1jb250ZW50LWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLmJjYS1uYXYge1xuICAgICAgICAgICAgJl9fc3lzdGVtIHtcbiAgICAgICAgICAgICAgJi1zdWItbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudV9jdXJyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrO1xuXG4gICAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjokY29sb3JfbGlnaHRlc3Q7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zdWItbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDExcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAyMHB4IDVweCAzNXB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g54++5Zyo6ZaL44GE44Gm44GE44KL44Oa44O844K4XG4gICAgICAgICZbZGF0YS1zdWItaXRlbS1pcy1jdXJyZW50PVwidHJ1ZVwiXSB7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX191cGRhdGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuXG4gICAgJi1iYWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbmF2LWZhdm9yaXRlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIC8vIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9tZW51X2JvcmRlcjtcbiAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICYtYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKSB7XG4gICAgICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDEycHghaW1wb3J0YW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBjb2xvcjogJGNvbG9yX21lbnVfbGluayFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE0cHghaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0IWltcG9ydGFudDtcbiAgICB9XG4gICAgW2RhdGEtYmNhLXN0YXRlPVwib3BlblwiXSAmLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAmLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdHJhbnNpdGlvbjogMC4xcyBhbGw7XG4gICAgfVxuICB9XG4gICYtbGlzdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMCA0cHggMjFweDtcbiAgICAmLWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL3BhZGRpbmc6IDRweCAwcHggN3B4IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAyMHB4IDVweCAxNHB4O1xuICAgICAgICAvL2NvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAvL0BleHRlbmQgLmJjYS1pY29uLS1tZW51aXRlbTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogJG5hdl9pdGVtX3BhZGRpbmcgKiAxO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGluayxcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAvLyBhOmxpbmsg44Gu44OH44OV44Kp44Or44OI6Kit5a6a44KS5raI44GZ44G+44Gn5pyJ5Yq5XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2xpbms7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tZW51X2hvdmVyO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtZnVuY3Rpb25zIHtcbiAgICBmb250LXNpemU6IC43NWVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAjeyRuYXZfYmFzZV9wYWRkaW5nIC0gJG5hdl9pdGVtX3BhZGRpbmd9O1xuICAgICYtYWRkIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGFkZCkge1xuICAgICAgICBtYXJnaW46IDAgLjNlbSAwIDA7XG4gICAgICB9XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X2xpbms7XG4gICAgfVxuICAgICYtaGVscCB7XG4gICAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKSB7XG4gICAgICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxuICAubm8tZGF0YSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiLy9cbi8vICMg44Oc44K/44Oz44Ki44Kk44Kz44Oz77yI44Ki44Kk44Kz44Oz44Gu44G/L+ODhuOCreOCueODiOOBquOBlylcbi8vXG4uYmNhLWJ0bi1pY29uIHtcblxuICAvLyDjg4fjg5Xjgqnjg6vjg4jjg5zjgr/jg7NcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgfVxuXG4gIEBtaXhpbiBiY2EtYnRuLWljb24tY29tbW9uIHtcblxuICB9XG5cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld10ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHByZXZpZXcpO1xuICB9XG4gIC8vIOe3qOmbhlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihlZGl0KTtcbiAgfVxuICAvLyDopIfoo71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgLy8g6KSH6KO9XG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YWxpYXNdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhbGlhcyk7XG4gIH1cbiAgLy8g5YmK6ZmkXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZGVsZXRlKTtcbiAgfVxuICAvLyDkuIDopqdcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGgtbGlzdCk7XG4gIH1cbiAgLy8g5LiA6Kan44Gr5oi744KLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAvLyDjgYrmsJfjgavlhaXjgopcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKTtcbiAgfVxuICAvLyDjg6Hjg4vjg6Xjg7zjgqLjgqTjg4bjg6BcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1lbnVpdGVtKTtcbiAgfVxuICAvLyDov73liqBcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hZGRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gIC8vIOODmOODq+ODl1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKTtcbiAgfVxuICAvLyDliLbpmZDvvIjpjbUpXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cGVybWlzc2lvbl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHBlcm1pc3Npb24pO1xuICB9XG4gIC8vIOmBqeeUqFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFwcGx5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXBwbHkpO1xuICB9XG4gIC8vIEhPTUVcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1ob21lXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaG9tZSk7XG4gIH1cbiAgLy8g44Ot44Kw44Kk44OzXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dIHtcbiAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuICAgICRjb2xvcl9kYXJrZW46IGRhcmtlbigkY29sb3JfcHJpbWFyeSwgNSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9kYXJrZW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvcl9wcmltYXJ5IDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfZGFya2VuIDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLy8gTG9naW5cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1zd2l0Y2hdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzd2l0Y2gpO1xuICB9XG4gIC8vIOmWi+OBj1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPW9wZW5dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihvcGVuKTtcbiAgfVxuICAvLyDjg4bjgq3jgrnjg4jjgrPjg5Tjg7xcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10ZXh0Y29weV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHRleHRjb3B5KTtcbiAgfVxuICAvLyDjg4Djgqbjg7Pjg63jg7zjg4lcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kb3dubG9hZF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRvd25sb2FkKTtcbiAgfVxuICAvLyDjg4njg6njg4Pjgq/lj6/og71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kcmFnZ2FibGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkcmFnZ2FibGUpO1xuICB9XG4gIC8vIOODleOCqeODq+ODgFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWZvbGRlcl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZvbGRlcik7XG4gIH1cbiAgLy8g44OV44Kh44Kk44OrXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZpbGUpO1xuICB9XG4gIC8vIDHpmo7lsaTkuIrjgavmiLvjgotcbiAgJltkYXRhLWJjYS1idG4tdHlwZT11cC1kaXJlY3RvcnldIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih1cC1kaXJlY3RvcnkpO1xuICB9XG4gIC8vIOefouWNsOOAgOWPs1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LXJpZ2h0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctcmlnaHQpO1xuICB9XG4gIC8vIOefouWNsOOAgOW3plxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWFycm93LWxlZnRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhcnJvdy1sZWZ0KTtcbiAgfVxuICAvLyDnn6LljbDjgIDkuIpcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy11cF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGFycm93LXVwKTtcbiAgfVxuICAvLyDnn6LljbDjgIDkuItcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hcnJvdy1kb3duXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYXJyb3ctZG93bik7XG4gIH1cbiAgLy8g44OV44Kh44Kk44Or44Oq44K544OIXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmlsZS1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZmlsZS1saXN0KTtcbiAgfVxuICAvLyDjgqLjg4Pjg5fjg4fjg7zjg4hcbiAgJltkYXRhLWJjYS1idG4tdHlwZT11cGRhdGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbih1cGRhdGUpO1xuICB9XG4gIC8vIOioreWumlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXNldHRpbmddIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihzZXR0aW5nKTtcbiAgfVxuXG4gIC8vIOOCteOCpOOCulxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cblxuICAvLyBzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cblxuICAvLyB4c21hbGxcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT14c10ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG5cbiAgLy8g44K544OG44O844K/44K5XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIOODl+ODqeOCpOODnuODquODvFxuICAmW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuICAvLyDnmb1cbiAgJltkYXRhLWJjYS1idG4tc3RhdHVzPXdoaXRlXSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g44Kw44Os44O8XG4gICZbZGF0YS1iY2EtYnRuLXN0YXR1cz1ncmF5XSB7XG4gICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9zZWNvbmRhcnlfYm9yZGVyO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9zZWNvbmRhcnlfYm9yZGVyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX3NlY29uZGFyeV9ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gZGlzYWJsZWRcbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICAvL2JhY2tncm91bmQ6ICNlZWU7XG4gIH1cbn1cbiIsIi8vXG4vLyAjIOODnOOCv+ODs+OCouOCpOOCs+ODs++8iOOCouOCpOOCs+ODs+OBruOBvy/jg4bjgq3jgrnjg4jjgarjgZcpXG4vL1xuLmJjYS1idG4taWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICB9XG5cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHJldmlld10ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHByZXZpZXcpO1xuICB9XG4gIC8vIOe3qOmbhlxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWVkaXRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihlZGl0KTtcbiAgfVxuICAvLyDopIfoo71cbiAgJltkYXRhLWJjYS1idG4tdHlwZT1jb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY29weSk7XG4gIH1cbiAgLy8g5YmK6ZmkXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZGVsZXRlXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZGVsZXRlKTtcbiAgfVxuICAvLyDkuIDopqdcbiAgJltkYXRhLWJjYS1idG4tdHlwZT10aC1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGgtbGlzdCk7XG4gIH1cbiAgLy8g5LiA6Kan44Gr5oi744KLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YmFjay10by1saXN0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYmFjay10by1saXN0KTtcbiAgfVxuICAvLyDjgYrmsJfjgavlhaXjgopcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1mYXZvcml0ZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGZhdm9yaXRlKTtcbiAgfVxuICAvLyDjg6Hjg4vjg6Xjg7zjgqLjgqTjg4bjg6BcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1tZW51aXRlbV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG1lbnVpdGVtKTtcbiAgfVxuICAvLyDov73liqBcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1hZGRdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihhZGQpO1xuICB9XG4gIC8vIOODmOODq+ODl1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhlbHBdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihoZWxwKTtcbiAgICAvLyBAaW5jbHVkZSBiY2EtaWNvbihyZXNjdWUpO1xuICB9XG4gIC8vIOWItumZkO+8iOmNtSlcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1wZXJtaXNzaW9uXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24ocGVybWlzc2lvbik7XG4gIH1cbiAgLy8gSE9NRVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWhvbWVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihob21lKTtcbiAgfVxuXG4gIC8vIOODreOCsOOCpOODs1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWxvZ2luXSB7XG4gICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAkY29sb3JfZGFya2VuOiBkYXJrZW4oJGNvbG9yX3ByaW1hcnksIDUlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZGFya2VuO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfcHJpbWFyeSAxMCUsICRjb2xvcl9kYXJrZW4gMTAwJSk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3Q7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yX2RhcmtlbiAxMCUsICRjb2xvcl9kYXJrZW4gMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLy8g6ZaL44GPXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9b3Blbl0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKG9wZW4pO1xuICB9XG4gIC8vIOODhuOCreOCueODiOOCs+ODlOODvFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGV4dGNvcHkpO1xuICB9XG4gIC8vIOODgOOCpuODs+ODreODvOODiVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZG93bmxvYWQpO1xuICB9XG4gIC8vIOODieODqeODg+OCr+WPr+iDvVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cblxuICAvLyDjgrXjgqTjgrpcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gbGFyZ2VcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT1sZ10ge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG5cbiAgLy8gc21hbGxcbiAgJltkYXRhLWJjYS1idG4tc2l6ZT1zbV0ge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG5cbiAgLy8geHNtYWxsXG4gICZbZGF0YS1iY2EtYnRuLXNpemU9eHNdIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxuXG4gIC8vIOOCueODhuODvOOCv+OCuVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyDjg5fjg6njgqTjg57jg6rjg7xcbiAgJltkYXRhLWJjYS1idG4tc3RhdHVzPXByaW1hcnldIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAvLyBkaXNhYmxlZFxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICAgIC8vYmFja2dyb3VuZDogI2VlZTtcbiAgfVxufVxuIiwiLyogQmFubmVyQXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iY2EtYmFubmVycyB7XG4gICZfX3VsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICZfX2xpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn0iLCIvKiBiY2EtYWN0aW9uLXRhYmxlLWxpc3R1cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJjYS1hY3Rpb24tdGFibGUtbGlzdHVwIHtcbiAgc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLy9oZWlnaHQ6MzJweDtcbiAgfVxuICBzZWxlY3QgKyBidXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3RvcDotMnB4O1xuICB9XG59XG4iLCIvLyB0YWJsZeezu1xuXG4uYmNhLXRhYmxlIHtcbiAgJltkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUxXSB7XG4gICAgdGhlYWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgICAgdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgICB0ZCB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYmNhLXRhYmxlLXR5cGU9dHlwZTJdIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgICAgdGQge1xuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWwxIHtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG4gICAgLmJjYS1jdXJyZW50cm93IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogbGlzdC10YWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGV7XG4vL1x0Ym9yZGVyOiAxcHggc29saWQgI0RERDtcbi8vXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuLy9cdG1hcmdpbi1ib3R0b206MTVweDtcbi8vXHR3aWR0aDoxMDAlO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoe1xuLy9cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbi8vXHR0ZXh0LWFsaWduOiBsZWZ0O1xuLy9cdC8qYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hZG1pbi9iZ19saXN0LnBuZyk7Ki9cbi8vXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogI0VGRUZFRjtcbi8vXHRwYWRkaW5nOjVweCAxMHB4O1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4vL1x0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vXHRjb2xvcjojNTM1QTYyO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoIGF7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vL1x0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vfVxuLy8uY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0aCBhOmhvdmVye1xuLy9cdGNvbG9yOiM5QzA7XG4vL31cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGggaW1nLFxuLy8uY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ZCBpbWd7XG4vL1x0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy99XG4vLy5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRoIGEge1xuLy9cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuLy9cdGNvbG9yOiM2OTA7XG4vL31cbi8vLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGR7XG4vL1x0cGFkZGluZzogNXB4IDEwcHg7XG4vL1x0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xuLy9cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREQ7XG4vL1x0Ym9yZGVyLXRvcDogMXB4IGRvdHRlZCAjREREO1xuLy9cdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERDtcbi8vfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGQuZXllX2NhdGNoIGltZyB7XG4vLyBcdG1heC13aWR0aDogMTAwcHg7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ZCBhe1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gXHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdGQgYTpob3Zlcntcbi8vIFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5vZGR7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5ldmVue1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNGQUZBRkE7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5kaXNhYmxlcm93IHtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojQ0NDO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuY3VycmVudHJvdyB7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6IzMzOTJlMztcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLmN1cnJlbnRyb3cgdGQgc21hbGwge1xuLy8gXHRjb2xvcjojRkZGO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuYWN0aXZlcm93e1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNDMzA7XG4vLyBcdGNvbG9yOiNmZmY7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5hY3RpdmVyb3cgYXtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLmhvdmVycm93e1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZGU7XG4vLyBcdGNvbG9yOiMzMzM7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAubGlzdC10YWJsZSB0ci5ob3ZlcnJvdyBhe1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuc2VsZWN0ZWRyb3d7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6IzJGNkZBQjtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIHRyLnNlbGVjdGVkcm93IHNtYWxsLFxuLy8gLmNvbnRlbnRzLWJvZHkgLmxpc3QtdGFibGUgdHIuc2VsZWN0ZWRyb3cgYXtcbi8vIFx0Y29sb3I6I2ZmZjtcbi8vIH1cbi8vIC5saXN0LXRhYmxlIC5uby1kYXRhIHtcbi8vIFx0cGFkZGluZzoyMHB4IDA7XG4vLyBcdHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5saXN0LXRhYmxlIC50YWcge1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7XG4vLyBcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyBcdHBhZGRpbmc6MnB4IDNweDtcbi8vIFx0Zm9udC1zaXplOiAxMHB4O1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuLy8gXHR2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbi8vIFx0bWFyZ2luLWxlZnQ6M3B4O1xuLy8gXHRtYXJnaW4tcmlnaHQ6MXB4O1xuLy8gXHRjb2xvcjojMzMzO1xuLy8gfVxuLy8gLmxpc3QtdG9vbCB7XG4vLyBcdHdoaXRlLXNwYWNlOm5vd3JhcDtcbi8vIH1cblxuLy8gLnJvdy10b29sc3tcbi8vIFx0d2hpdGUtc3BhY2U6bm93cmFwO1xuLy8gfVxuLy8gLnJvdy10b29scyBpbWd7XG4vLyBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyB9XG4vLyAubGlzdC10b29sIGlucHV0LFxuLy8gLmxpc3QtdG9vbCBzZWxlY3Qge1xuLy8gXHRmb250LXNpemU6IDEycHg7XG4vLyB9XG4vLyAubGlzdC10b29sIGJ1dHRvbiB7XG4vLyBcdHBhZGRpbmc6MHB4IDdweDtcbi8vIFx0Y3Vyc29yOiBwb2ludGVyO1xuLy8gfVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJjYS10YWJsZS1saXN0dXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuXG4gIC5iY2EtbWFpbi1ib2R5ICYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gICZfX3RoZWFkLXRoLFxuICAmX190Ym9keS10aCxcbiAgJl9fdGJvZHktdGQge1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMWVtIDAuNWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0ciAmX190aGVhZC10aCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rX3RhYmxlX2xpc3R1cDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF90YWJsZV9saXN0dXA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAvLyDpgbjmip5cbiAgICAmLS1zZWxlY3Qge1xuICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcblxuICAgICAgICAuYmNhLWJ0bi1pY29uLXRleHRbZGF0YS1iY2EtYnRuLXR5cGU9ZHJhZ2dhYmxlXTo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Ege1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfbGlua190YWJsZV9saXN0dXA7XG5cbiAgICAuYmNhLWljb24tLWFzYyxcbiAgICAuYmNhLWljb24tLWRlc2Mge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIC8vdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmLmFzYyxcbiAgICAmLmRlc2Mge1xuICAgICAgLmJjYS1pY29uLS1hc2MsXG4gICAgICAuYmNhLWljb24tLWRlc2Mge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICZfX3Rib2R5LXRoLFxuICAmX190Ym9keS10ZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfdGFibGVfYm9yZGVyX2NvbG9yO1xuICAgIC8vIOihjOOBruODm+ODkOODvFxuICAgIHRyOmhvdmVyICYge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3RhYmxlX2xpc3R1cF9ob3ZlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX190Ym9keS10aCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICZfX3Rib2R5LXRkIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIC8vIOmBuOaKnlxuICAgICYtLXNlbGVjdCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgd2lkdGg6IDEyLjVweDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g44K/44Kk44OI44OrXG4gICAgJi0tdGl0bGUge1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG5cbiAgICAvLyDjgqvjg4bjgrTjg6pcbiAgICAmLS1jYXRlZ29yeSB7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC8vIOOCv+OCsFxuICAgICYtLXRhZyB7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuXG4gICAgICAudGFnIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywgJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOaXpeS7mFxuICAgICYtLWRhdGUge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyDjgqLjgq/jgrfjg6fjg7NcbiAgICAmLS1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAuYmNhLWJ0bi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ci51aS1zb3J0YWJsZS1oZWxwZXIge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvcl90YWJsZV9ib3JkZXJfY29sb3IhaW1wb3J0YW50O1xuICAgIHdpZHRoOmF1dG8gIWltcG9ydGFudDtcbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHRyLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MywgMjQ1LCAyMDMsIDAuODQpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmRpc2FibGVyb3cge1xuICAgIHRoLCB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLmV5ZV9jYXRjaC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLmV5ZV9jYXRjaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIFtkYXRhLWJjYS10ZXh0LXNpemU9bGddIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gIC5iY2EtY3VycmVudHJvdyB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfY3VycmVudF9wcmltYXJ5O1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxuICB9XG59XG4iLCIvLyBAZGVwbGljYXRlZFxuLy8g44GT44Gu44Kz44Oz44Od44O844ON44Oz44OI44Gv5buD5q2i44GV44KM44G+44GZ44CCXG5cbi8qIENydW1iXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8jQ3J1bWJ7XG4vL1x0Y29sb3I6ICNDQ0M7XG4vL1x0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuLy9cdHBhZGRpbmc6IDhweCAxMHB4IDdweDtcbi8vXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4vL1x0Zm9udC1zaXplOjExcHg7XG4vL1x0bGluZS1oZWlnaHQ6MTVweDtcbi8vfVxuLy8jQ3J1bWIgIGF7XG4vL1x0Y29sb3I6ICNCQkI7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy9cdHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO1xuLy99XG4vLyNDcnVtYiBhOmhvdmVye1xuLy9cdGNvbG9yOiAjRUVFO1xuLy99XG4vLyNDcnVtYiBzdHJvbmcge1xuLy9cdGNvbG9yOiNGRkY7XG4vL31cblxuLy8gQGltcG9ydCAnLi4vdmVuZG9yL0ZvbnQtQXdlc29tZS9mb250LWF3ZXNvbWUnO1xuXG4vLyAuYmNhLWNydW1iIHtcbi8vIFx0Y29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbi8vIFx0cGFkZGluZzogN3B4IDAgN3B4O1xuLy8gXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gXHRmb250LXNpemU6IDEzcHg7XG4vLyBcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuLy8gXHRvbCB7XG4vLyBcdFx0bGkge1xuLy8gXHRcdFx0Ly9mbG9hdDogbGVmdDtcbi8vIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyBcdFx0XHRhIHtcbi8vIFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy8gXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0XHRcdHBhZGRpbmc6IDAgMS42ZW0gMCAwO1xuLy8gXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuLy8gXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyBcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vIFx0XHRcdFx0bGluZS1oZWlnaHQ6MThweDtcbi8vIFx0XHRcdFx0QGV4dGVuZCAuI3skZmEtY3NzLXByZWZpeH07XG4vLyBcdFx0XHRcdEBleHRlbmQgLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0O1xuLy8gXHRcdFx0XHQmOmJlZm9yZSB7XG4vLyBcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0XHRcdHRvcDogLS4xZW07XG4vLyBcdFx0XHRcdFx0cmlnaHQ6IDAuNGVtO1xuLy8gXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcbi8vIFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRhOmhvdmVyIHtcbi8vIFx0XHRcdFx0XHQvL2NvbG9yOiAjRUVFO1xuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0XHRzdHJvbmcge1xuLy8gXHRcdFx0XHRjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuXG4vLyBcdC5iY2EtaWNvbi0taG9tZSB7XG4vLyBcdFx0Zm9udC1zaXplOjE4cHg7XG4vLyBcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vIFx0fVxuLy8gfVxuIiwiLmJjYS1jb250ZW50LW1lbnUge1xuICBwYWRkaW5nOiAwO1xuXG4gICZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICB9XG59XG4iLCIuYmNhLWNvbnRlbnQtaW5mbyB7XG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8vZm9udC1zaXplOiAxLjZyZW07XG4gICAgJi1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtZmVlZCB7XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgJi1pdGVtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICAgICYtZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTo4MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYmNhLXVwZGF0ZS1sb2cge1xuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmLWl0ZW0ge1xuICAgICAgcGFkZGluZy1ib3R0b206OXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOjgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2Etc2VhcmNoIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9tYWluX2NvbnRlbnRzX2JvcmRlcl9jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYWxpZ24tc2VsZjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgJl9faGVhZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDFlbSAyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2lucHV0LWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLypkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsqL1xuICB9XG5cbiAgJl9faW5wdXQtaXRlbSB7XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgLypmbGV4OiAwIDEgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4ydnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAmLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fYnRucyB7XG4gICAgLypkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgICBtYXJnaW46IDFlbSAwIDAgNHB4O1xuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAxZW0gMCAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLyogYmNhLXBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHBhZ2luYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLy5wYWdpbmF0aW9uIHtcbi8vXHRtYXJnaW4tYm90dG9tOjIwcHg7XG4vL31cbi8vLnBhZ2luYXRpb24ge1xuLy9cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4vL1x0dGV4dC1hbGlnbjogcmlnaHQ7XG4vL1x0bGluZS1oZWlnaHQ6IDE4cHg7XG4vL31cbi8vLnBhZ2luYXRpb24gLnBhZ2UtcmVzdWx0e1xuLy9cdG1hcmdpbjogNXB4IDVweCAwO1xuLy9cdGZsb2F0OnJpZ2h0O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuLy9cdGZsb2F0OmxlZnQ7XG4vL31cbi8vLnBhZ2luYXRpb24gc3BhbiBzcGFuIGEge1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICM5QzA7XG4vL1x0bWFyZ2luOiAwIDJweCA0cHg7XG4vL1x0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy9cdGRpc3BsYXk6YmxvY2s7XG4vL1x0ZmxvYXQ6bGVmdDtcbi8vfVxuLy8ucGFnaW5hdGlvbiBzcGFuIHNwYW4gYTpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjogI0ZGRkZGRjtcbi8vfVxuLy8ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogI0UyRTJFMjtcbi8vXHRmb250LXdlaWdodDpib2xkO1xuLy9cdGJvcmRlcjoxcHggc29saWQgI0UyRTJFMjtcbi8vXHRtYXJnaW46IDAgMnB4IDRweDtcbi8vXHRkaXNwbGF5OmJsb2NrO1xuLy9cdGZsb2F0OmxlZnQ7XG4vL31cbi8vLnBhZ2luYXRpb24gLm5leHQsIC5wYWdpbmF0aW9uIC5wcmV2IHtcbi8vXHRtYXJnaW46IDAgMnB4IDRweDtcbi8vXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vL1x0Ym9yZGVyOiAxcHggc29saWQgIzlDMDtcbi8vXHRmbG9hdDpsZWZ0O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5uZXh0OmhvdmVyLCAucGFnaW5hdGlvbiAucHJldjpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjojZmZmO1xuLy99XG4vLy5wYWdpbmF0aW9uIHNwYW4gc3BhbiBhLFxuLy8ucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4vLy5wYWdpbmF0aW9uIC5jdXJyZW50e1xuLy9cdHBhZGRpbmc6IDNweCA5cHg7XG4vL31cbi8vLnBhZ2luYXRpb24gLm5leHQgYSwgLnBhZ2luYXRpb24gLnByZXYgYXtcbi8vXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vL1x0ZGlzcGxheTpibG9jaztcbi8vXHRwYWRkaW5nOiAzcHggOXB4O1xuLy99XG4vLy5wYWdpbmF0aW9uIC5uZXh0IGE6aG92ZXIsIC5wYWdpbmF0aW9uIC5wcmV2IGE6aG92ZXJ7XG4vL1x0Y29sb3I6I0ZGRjtcbi8vfVxuLy8ucGFnaW5hdGlvbiAuZGlzYWJsZWQsXG4vLy5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3Zlcntcbi8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuLy9cdGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4vL1x0bWFyZ2luOiAwIDJweDtcbi8vXHRkaXNwbGF5OmJsb2NrO1xuLy9cdGZsb2F0OmxlZnQ7XG4vL1x0Y29sb3I6I0RGREZERjtcbi8vfVxuXG4uYmNhLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5iY2EtcGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy9mbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbiAgLmJjYS1wYWdlLXJlc3VsdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHggMDtcbiAgICAvL2Zsb2F0OiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG5cbiAgc3BhbiBhLFxuICBzcGFuIHNwYW4gYSxcbiAgLmRpc2FibGVkLFxuICAuY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAuY3VycmVudCB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgY29sb3I6JGNvbG9yX3BhZ2luYXRpb25fbGluayFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NjYyFpbXBvcnRhbnQ7XG4gIH1cblxuICBzcGFuIHNwYW4gYSB7XG4gICAgY29sb3I6ICRjb2xvcl9wYWdpbmF0aW9uX2xpbms7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcGFnaW5hdGlvbl9saW5rO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICB9XG4gIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG4gIC5uZXh0LCAucHJldiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yX3BhZ2luYXRpb25fbGluaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhZ2luYXRpb25fbGluaztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpc2FibGVkLFxuICAuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICB9XG59IiwiLyogYmNhLXRvdG9wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBUb1RvcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8jVG9Ub3Age1xuLy9cdHRleHQtYWxpZ246IHJpZ2h0O1xuLy9cdHBhZGRpbmctcmlnaHQ6MjBweDtcbi8vXHRwYWRkaW5nLWJvdHRvbToxNXB4O1xuLy99XG4vLyNUb1RvcCBhIHtcbi8vXHRib3JkZXI6IDFweCBzb2xpZCAjOUMwO1xuLy9cdHBhZGRpbmc6IDRweCAxMHB4O1xuLy9cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vXHRmb250LXNpemU6IDEwcHg7XG4vL1x0Y29sb3I6IzlDMDtcbi8vfVxuLy8jVG9Ub3AgYTpob3ZlciB7XG4vL1x0YmFja2dyb3VuZC1jb2xvcjogIzhEQzcxQztcbi8vXHRjb2xvcjogI0ZGRjtcbi8vfVxuXG4uYmNhLXRvdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3NlY29uZGFyeTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3Q7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAgIExvZ2luXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmNhLWxvZ2luIHtcbiAgJixcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDMwcHggYXV0bztcbiAgcGFkZGluZzogNDBweCAyNXB4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0ZXN0O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMjMwcHg7XG4gIH1cblxuICAmLWZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxLjJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJjYS10ZXh0Ym94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuYmNhLXRleHRib3hfX2lucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjY5ZW0gMWVtO1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5iY2EtYnRuLS1sb2dpbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICB9XG5cbiAgLmJjYS1sb2dpbi1mb3JtLWN0cmwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuYmNhLWxvZ2luLWZvcm0tY2hlY2tlciB7XG4gIH1cblxuICAuYmNhLWxvZ2luLWZvcmdvdC1wYXNzIHtcbiAgfVxuXG4gIC5iY2EtbG9naW4tZm9ybS1jaGVja2JveCB7XG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuI0FkbWluQmFzZXJDb3JlVXNlcnNMb2dpbiB7XG4gIC5iY2EtbWFpbiB7XG4gICAgJl9fY29udGVudHMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjQ3JlZGl0U2Nyb2xsZXIsICNDcmVkaXRTY3JvbGxlciBhIHtcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgI0NyZWRpdCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAjQ3JlZGl0U2Nyb2xsZXJJbm5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5iY2EtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNUYxO1xuICB9XG5cbiAgLmJjYS1jcnVtYixcbiAgLmJjYS1tYWluLWJvZHktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuYmNhLWxpc3QtbnVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgfVxuICAmX19kYXRhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gIH1cbn1cbiIsIi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxle1xuLy8gXHRib3JkZXI6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuLy8gXHRtYXJnaW4tYm90dG9tOjMwcHg7XG4vLyBcdHdpZHRoOjEwMCU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAuZm9ybS10YWJsZSB0aHtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gXHR0ZXh0LWFsaWduOiBsZWZ0O1xuLy8gXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4vLyBcdHBhZGRpbmc6NXB4IDEwcHg7XG4vLyBcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLyBcdHdpZHRoOjIwJTtcbi8vIFx0Ym9yZGVyOiAxcHggc29saWQgI0RERDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGF7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjpub25lO1xuLy8gXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGggYTpob3Zlcntcbi8vIFx0Y29sb3I6IzlDMDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGltZyB7XG4vLyBcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRoIGEge1xuLy8gXHRsaW5lLWhlaWdodDogMjBweDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRke1xuLy8gXHRwYWRkaW5nOiA1cHggMTBweDtcbi8vIFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjREREO1xuLy8gXHRib3JkZXItdG9wOiAxcHggZG90dGVkICNEREQ7XG4vLyBcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERDtcbi8vIFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojRkZGO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGQgdGV4dGFyZWEge1xuLy8gXHR3aWR0aDogODYlO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgaW5wdXQuZnVsbC13aWR0aCB7XG4vLyBcdHdpZHRoOjg2JTtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRkIGltZyB7XG4vLyBcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vIFx0bWF4LXdpZHRoOiAxMDAlO1xuLy8gfVxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgLmNoZWNrYm94IHtcbi8vIFx0ZmxvYXQ6bGVmdDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIC5lcnJvci1tZXNzYWdle1xuLy8gXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyBcdC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vIFx0Ym9yZGVyLXJhZGl1czogMTBweDtcbi8vIH1cbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIGlucHV0LmFjdGl2ZSxcbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHRleHRhcmVhLmFjdGl2ZSxcbi8vIC5jb250ZW50cy1ib2R5IC5mb3JtLXRhYmxlIHNlbGVjdC5hY3RpdmUge1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZGU7XG4vLyB9XG4vLyAuY29udGVudHMtYm9keSAuZm9ybS10YWJsZSBidXR0b24ge1xuLy8gXHRwYWRkaW5nOjBweCA3cHg7XG4vLyBcdGN1cnNvcjogcG9pbnRlcjtcbi8vIH1cblxuLy8gLmNvbnRlbnRzLWJvZHkgLmZvcm0tdGFibGUgdGgge1xuLy8gICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vIH1cblxuLmJjYS1mb3JtLXRhYmxlIHtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAmX19sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICYuLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwIDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuYmNhLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTAuMTVlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAmX19pbnB1dCB7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAmX19pbnB1dC13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHRyOmxhc3QtY2hpbGQgdGgsXG4gIHRyOmxhc3QtY2hpbGQgdGR7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSFpbXBvcnRhbnQ7XG4gIH1cbiAgJl9fZ3JvdXAge1xuICAgICYgKyAmIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG4gICAgJi1zdGF0ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmJjYS1yYWRpby1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAvL3BhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyLXRhYmxlIHtcbiAgICAmLWxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjVlbSAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAmLWlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbiAgJl9faW5uZXItc3VibWl0IHtcbiAgICBtYXJnaW46IDFlbSAwIDA7XG4gIH1cblxuICAuYmNhLXBvc3RfX3VybCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuYmNhLW1haWxDb250ZW50U2VuZGVyMSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gIH1cblxuICAvLyDoqK3lrprnlLvpnaLns7vvvJrjg5zjg7zjg4Djg7zjgarjgZdcbiAgJltkYXRhLWJjYS10YWJsZS10eXBlPXR5cGUyXSB7XG5cbiAgICAkY29sb3JfdGFibGVfYm9yZGVyX2NvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC5iY2EtZm9ybS10YWJsZSB7XG5cbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAmLi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC4yZW0gMCAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmNhLWxhYmVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMC4xNWVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbnB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIC5iY2Etc2VsZWN0LFxuICAgICAgICAuYmNhLXRleHRib3gsXG4gICAgICAgIC5iY2EtdGV4dGFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZXhwbGFuYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJjYS10ZXh0Ym94IHtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5idG4uaGVscCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG4gIH1cbiAgLmJjYS1oZWxwIHtcbiAgICBmb250LXNpemU6MjBweDtcbiAgfVxuXG59XG5cbiNCYXNpY1NldHRpbmcgdGFibGUge1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG59IiwiLm1lc3NhZ2Uge1xuICBjb2xvcjogJGNvbG9yX25vdGlmaWNhdGlvbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4jTWVzc2FnZUJveCAubWVzc2FnZSxcbiNNZXNzYWdlQm94IC5ub3RpY2UtbWVzc2FnZSxcbiNCY01lc3NhZ2VCb3ggLm5vdGljZS1tZXNzYWdlLFxuI1VwZGF0ZU1lc3NhZ2Uge1xuICBjb2xvcjogJGNvbG9yX25vdGlmaWNhdGlvbjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgQGluY2x1ZGUgYmNhLWljb24obm90aWZpY2F0aW9uKSB7XG4gICAgbWFyZ2luOiAwIC4zZW0gMCAwO1xuICB9XG59XG5cbi8vIGpRdWVyeS5iY1V0aWwuanMg44Gn5L2/55SoXG4jTWVzc2FnZUJveCAuYWxlcnQtbWVzc2FnZSxcbiNhdXRoTWVzc2FnZSxcbiNBbGVydE1lc3NhZ2UsXG4jQmNNZXNzYWdlQm94IC5hbGVydC1tZXNzYWdle1xuICBjb2xvcjogJGNvbG9yX2RhbmdlciFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGJjYS1pY29uKGFsZXJ0KSB7XG4gICAgbWFyZ2luOiAwIC4zZW0gMCAwO1xuICB9XG59XG5cbi8qIGZsYXNoTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNhdXRoTWVzc2FnZSxcbiNmbGFzaE1lc3NhZ2UsXG4jQWxlcnRNZXNzYWdlLFxuI0JjU3lzdGVtTWVzc2FnZSxcbiNVcGRhdGVNZXNzYWdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMjVweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNCY01lc3NhZ2VCb3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogSGVscCxTZWFyY2gsTGltaXTlhbHpgJroqK3lrppcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jSGVscCAuaGVhZCwgI0xpbWl0IC5oZWFkIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4jSGVscCAuYm9keSwgI0xpbWl0IC5ib2R5IHtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuI0hlbHAgLmNsb3NlLCAjTGltaXQgLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI0hlbHAgaDIsICNMaW1pdCBoMiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbWVkaXVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiBIZWxwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4jSGVscCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4jSGVscCAuYm9keSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNIZWxwIC5leGFtcGxlLWJveCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNEREQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4jSGVscCAuZXhhbXBsZS1ib3ggLmhlYWQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI0hlbHAgdWwsXG4jSGVscCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG59XG5cbiNIZWxwIGxpIHtcbiAgLypwYWRkaW5nOiAwIDIwcHg7Ki9cbiAgbWFyZ2luOiA1cHggMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuI0hlbHAgbGkgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsInRhYmxlLmNha2Utc3FsLWxvZyB7XG4gIHdpZHRoOiA5MCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjY2O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNjY2O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxudGFibGUuY2FrZS1zcWwtbG9nIGNhcHRpb24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM2NjY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM2NjY7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG50YWJsZS5jYWtlLXNxbC1sb2cgdHIgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjY2NjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuIiwiJWJ0bi1jb21tb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiKDI1NSwgMjU1LCAyNTUpIDEwJSwgcmdiKDI0NCwgMjQ1LCAyNDEpIDEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0IDBzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5O1xuICB9XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gIH1cbn1cbi5iY2EtYnRuIHtcbiAgQGV4dGVuZCAlYnRuLWNvbW1vbjtcblxuICBAbWl4aW4gYnRuLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgLy9mb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcbiAgICB9XG4gIH1cbiAgLy8g5YWs6ZaLXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9cHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHB1Ymxpc2gpO1xuICB9XG4gIC8vIOmdnuWFrOmWi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXVucHVibGlzaF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKHVucHVibGlzaCk7XG4gIH1cbiAgLy8g56K66KqNKOODl+ODrOODk+ODpeODvO+8iVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXByZXZpZXddIHtcbiAgICAvLyBAaW5jbHVkZSBiY2EtaWNvbihwcmV2aWV3KTtcbiAgfVxuICAvLyDnt6jpm4ZcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1lZGl0XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZWRpdCk7XG4gIH1cbiAgLy8g6KSH6KO9XG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9Y29weV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGNvcHkpO1xuICB9XG4gIC8vIOS/neWtmFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXNhdmVdIHtcbiAgICBAaW5jbHVkZSBidG4tcHJpbWFyeTtcbiAgfVxuICAvLyDliYrpmaRcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1kZWxldGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihkZWxldGUpO1xuICB9XG4gIC8vIOS4gOimp+OBq+aIu+OCi1xuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWJhY2stdG8tbGlzdF0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGJhY2stdG8tbGlzdCk7XG4gIH1cbiAgLy8g44GK5rCX44Gr5YWl44KKXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9ZmF2b3JpdGVdIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihmYXZvcml0ZSk7XG4gIH1cbiAgLy8g44Oh44OL44Ol44O844Ki44Kk44OG44OgXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bWVudWl0ZW1dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihtZW51aXRlbSk7XG4gIH1cbiAgLy8g6L+95YqgXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9YWRkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oYWRkKTtcbiAgICBAaW5jbHVkZSBidG4tcHJpbWFyeTtcbiAgfVxuICAvLyDjg5jjg6vjg5dcbiAgJltkYXRhLWJjYS1idG4tdHlwZT1oZWxwXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oaGVscCk7XG4gIH1cbiAgLy8g5Yi26ZmQ77yI6Y21KVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXBlcm1pc3Npb25dIHtcbiAgICBAaW5jbHVkZSBiY2EtaWNvbihwZXJtaXNzaW9uKTtcbiAgfVxuICAvLyBIT01FXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9aG9tZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGhvbWUpO1xuICB9XG4gIC8vIExvZ2luXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9bG9naW5dIHtcbiAgICBjb2xvcjogJGNvbG9yX2xpZ2h0ZXN0O1xuICAgICRjb2xvcl9kYXJrZW46IGRhcmtlbigkY29sb3JfcHJpbWFyeSwgNSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9kYXJrZW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvcl9wcmltYXJ5IDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3JfZGFya2VuIDEwJSwgJGNvbG9yX2RhcmtlbiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLy8g5qSc57SiXG4gICZbZGF0YS1iY2EtYnRuLXR5cGU9c2VhcmNoXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oc2VhcmNoKTtcbiAgfVxuXG4gIC8vIOOCr+ODquOColxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWNsZWFyXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oY2xlYXIpO1xuICB9XG4gIC8vIOODhuOCreOCueODiOOCs+ODlOODvFxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPXRleHRjb3B5XSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24odGV4dGNvcHkpO1xuICB9XG4gIC8vIOODgOOCpuODs+ODreODvOODiVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRvd25sb2FkXSB7XG4gICAgQGluY2x1ZGUgYmNhLWljb24oZG93bmxvYWQpO1xuICB9XG4gIC8vIOODieODqeODg+OCr+WPr+iDvVxuICAmW2RhdGEtYmNhLWJ0bi10eXBlPWRyYWdnYWJsZV0ge1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGRyYWdnYWJsZSk7XG4gIH1cblxuICAvLyDjgrXjgqTjgrpcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIHhsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXhsXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV94X2xhcmdlOyAvLyAxNnB4ICpcbiAgfVxuICAvLyBsYXJnZVxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9sYXJnZTsgLy8gMTZweCAqXG4gICAgLy9wYWRkaW5nOiAuNWVtIC44ZW0gLjRlbTtcbiAgfVxuICAvLyBzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXNtXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAvL2ZvbnQtc2l6ZTogMC45MXJlbTtcbiAgICAvL3BhZGRpbmc6IC40ZW0gLjhlbSAuNWVtO1xuICB9XG4gIC8vIHhzbWFsbFxuICAmW2RhdGEtYmNhLWJ0bi1zaXplPXhzXSB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV94X3NtYWxsO1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBwYWRkaW5nOiAuNmVtIC44ZW0gLjRlbTtcbiAgfVxuXG4gIC8vIOaoquW5hVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8geGxhcmdlXG4gICZbZGF0YS1iY2EtYnRuLXdpZHRoPXhsXSB7XG4gICAgcGFkZGluZy1yaWdodDogNWVtO1xuICAgIHBhZGRpbmctbGVmdDogNWVtO1xuICB9XG4gIC8vIGxhcmdlXG4gICZbZGF0YS1iY2EtYnRuLXdpZHRoPWxnXSB7XG4gICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICB9XG5cbiAgLy8gY2F0ZWdvcnlcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gdGV4dFxuICAmW2RhdGEtYmNhLWJ0bi1jYXRlZ29yeT10ZXh0XSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9saW5rO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8g6ImyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmW2RhdGEtYmNhLWJ0bi1jb2xvcj1kYW5nZXJdIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZGFuZ2VyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g44K544OG44O844K/44K5XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIOODl+ODqeOCpOODnuODquODvFxuICAmW2RhdGEtYmNhLWJ0bi1zdGF0dXM9cHJpbWFyeV0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLy8gZGlzYWJsZWRcbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICAvL2JhY2tncm91bmQ6ICNlZWU7XG4gIH1cbn1cbi8vIOODneODg+ODl+OCouODg+ODl+ODgOOCpOOCouODreOCsFxuLnVpLWRpYWxvZy1idXR0b25zZXQge1xuICBidXR0b24ge1xuICAgIEBleHRlbmQgJWJ0bi1jb21tb247XG4gIH1cbn1cbi5idXR0b24tc21hbGwge1xuICBAZXh0ZW5kICVidG4tY29tbW9uO1xufVxuXG5cbi8vIC5zdWJtaXQge1xuLy8gXHRwb3NpdGlvbjpyZWxhdGl2ZTtcbi8vIFx0dGV4dC1hbGlnbjpjZW50ZXI7XG4vLyB9XG4vLyAuc3VibWl0IC5idXR0b24sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgLmJ1dHRvbntcbi8vIFx0Y29sb3I6IzUzNUE2Mjtcbi8vIFx0Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO1xuLy8gXHRjdXJzb3I6cG9pbnRlcjtcbi8vIFx0dGV4dC1zaGFkb3c6cmdiYSgyNTUsMjU1LDI1NSwwLjQpIDFweCAxcHggMDtcbi8vIFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDtcbi8vIFx0LW1vei1ib3JkZXItcmFkaXVzOjJweDtcbi8vIFx0LW8tYm9yZGVyLXJhZGl1czoycHg7XG4vLyBcdGJvcmRlci1yYWRpdXM6MnB4O1xuLy8gXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4vLyBcdC1vLWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbi8vIFx0Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuLy8gXHRiYWNrZ3JvdW5kOiNGM0YzRjM7XG4vLyBcdGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNGRkYsI0YzRjNGMyk7XG4vLyBcdGJhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjRkZGKSxjb2xvci1zdG9wKDEwMCUsI0YzRjNGMykpO1xuLy8gXHRiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI0ZGRiwjRjNGM0YzKTtcbi8vIFx0bWFyZ2luOjEwcHg7XG4vLyBcdHBhZGRpbmc6M3B4IDQwcHg7XG4vLyBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gXHRmb250LXNpemU6IDEuMmVtO1xuLy8gXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gXHRsaW5lLWhlaWdodDogMjRweDtcbi8vIH1cbi8vIC5zdWJtaXQgLmJ1dHRvbjpob3Zlcixcbi8vIC51aS13aWRnZXQtY29udGVudCAuYnV0dG9uOmhvdmVye1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjpub25lO1xuLy8gXHRiYWNrZ3JvdW5kOiNmNGY0ZjQ7XG4vLyBcdGJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNmNGY0ZjQsI2RmZGZkZiAxMDAlKTtcbi8vIFx0YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNmNGY0ZjQpLGNvbG9yLXN0b3AoMTAwJSwjZGZkZmRmKSk7XG4vLyBcdGJhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjRmNGY0LCNkZmRmZGYgMTAwJSk7XG4vLyB9XG4vLyAuc3VibWl0IC5idXR0b246YWN0aXZlLFxuLy8gLnVpLXdpZGdldC1jb250ZW50IC5idXR0b246YWN0aXZle1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNDQ0M7dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyBcdGJhY2tncm91bmQ6I2NkY2RjZDtcbi8vIFx0YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2NkY2RjZCwjZWVlIDEwMCUpO1xuLy8gXHRiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2NkY2RjZCksY29sb3Itc3RvcCgxMDAlLCNlZWUpKTtcbi8vIFx0YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNjZGNkY2QsI2VlZSAxMDAlKTtcbi8vIH1cbi8vIC5zdWJtaXQgLmJ1dHRvbltkaXNhYmxlZF0sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgLmJ1dHRvbltkaXNhYmxlZF17XG4vLyBcdG9wYWNpdHk6LjVcbi8vIH1cbi8vIC5zdWJtaXQgYS5idXR0b24sXG4vLyAudWktd2lkZ2V0LWNvbnRlbnQgYS5idXR0b257XG4vLyBcdHBhZGRpbmctdG9wOjVweDtcbi8vIFx0cGFkZGluZy1ib3R0b206NS41cHg7XG4vLyB9XG4vLyAqOmZpcnN0LWNoaWxkK2h0bWwgLnN1Ym1pdCBhLmJ1dHRvbixcbi8vIC51aS13aWRnZXQtY29udGVudCBhLmJ1dHRvbntcbi8vIFx0cG9zaXRpb246YWJzb2x1dGU7XG4vLyBcdHRvcDoxcHg7XG4vLyBcdHBhZGRpbmctdG9wOjNweDtcbi8vIFx0cGFkZGluZy1ib3R0b206M3B4O1xuLy8gfVxuXG4vLyAjSGVscCAuYnV0dG9uLCAjTGltaXQgLmJ1dHRvbntcbi8vIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy8gfVxuXG4vLyAvKiBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIC5idXR0b24tc21hbGx7XG4vLyBcdHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG4vLyBcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuLy8gXHRwYWRkaW5nOjRweCAxMHB4IDRweDtcbi8vIFx0bWFyZ2luLWJvdHRvbTowO1xuLy8gXHRmb250LXNpemU6MTNweDtcbi8vIFx0bGluZS1oZWlnaHQ6MThweDtcbi8vIFx0Y29sb3I6IzMzMyFpbXBvcnRhbnQ7XG4vLyBcdHRleHQtYWxpZ246Y2VudGVyO1xuLy8gXHR0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gXHRjdXJzb3I6cG9pbnRlcjtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZTZlNmU2KTtcbi8vIFx0YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2ZmZiksIHRvKCNlNmU2ZTYpKTtcbi8vIFx0YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNlNmU2ZTYpO1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2U2ZTZlNik7XG4vLyBcdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xuLy8gXHRib3JkZXI6MXB4IHNvbGlkICNjY2M7XG4vLyBcdGJvcmRlci1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4vLyBcdGJvcmRlci1jb2xvcjojZTZlNmU2ICNlNmU2ZTYgI2JmYmZiZjtcbi8vIFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjojYjNiM2IzO1xuLy8gXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O1xuLy8gXHQtbW96LWJvcmRlci1yYWRpdXM6NHB4O1xuLy8gXHRib3JkZXItcmFkaXVzOjRweDtcbi8vIFx0ZmlsdGVyOnByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNlNmU2ZTYnLCBHcmFkaWVudFR5cGU9MCk7XG4vLyBcdGZpbHRlcjpwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4vLyBcdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4vLyBcdC1tb3otYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4vLyBcdGJveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuLy8gXHRib3JkZXItY29sb3I6I2NjYztcbi8vIFx0Ym9yZGVyLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbi8vIH1cbi8vIC5idXR0b24tc21hbGw6aG92ZXJ7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtcbi8vIFx0Y29sb3I6IzMzMztcbi8vIFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtcbi8vIFx0YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNXB4O1xuLy8gXHQtd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHQtbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHQtbXMtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xcyBsaW5lYXI7XG4vLyBcdC1vLXRyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xuLy8gXHR0cmFuc2l0aW9uOmJhY2tncm91bmQtcG9zaXRpb24gLjFzIGxpbmVhcjtcbi8vIH1cblxuLy8gLy8gLmJ0buOBqOOCu+ODg+ODiOOBp+S9v+OCj+OCjOOCi1xuLy8gLmhlbHB7XG4vLyBcdGN1cnNvcjogcG9pbnRlcjtcbi8vIFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuLy8gfVxuXG4vLyAvLyBIVE1M5LiK5a2Y5Zyo44GZ44KL44GM44CB44K544K/44Kk44Or44Gv44Gq44GEXG4vLyAuYnRuIHtcblxuLy8gfVxuXG5cblxuXG5cbiIsIi5iY2EtcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW46IDAuMmVtIDFlbSAwIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9bGddIHsgLy/lpKfjgY3jgYTjgrXjgqTjgrpcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbGFyZ2U7XG4gIH1cblxuICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gIH1cblxuICAmLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG5cbiAgICAuYmNhLXJhZGlvIHtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuXG4gICAgYnIgKyAuYmNhLXJhZGlvIHtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBtYXJnaW46IDBweDtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvL21hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICAgIH1cblxuICAgICZbZGF0YS1iY2EtcmFkaW8tc2l6ZT1sZ10geyAvL+Wkp+OBjeOBhOOCteOCpOOCulxuICAgICAgKyBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9sYXJnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLy9iYWNrZ3JvdW5kOiAjRUVFRUVFO1xuICAgIH1cblxuICAgICYuZm9ybS1lcnJvciArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZGFuZ2VyO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0O1xuICAgIH1cblxuICAgICYuZm9ybS1lcnJvcjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9kYW5nZXI7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZDpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIH1cblxuICAgICY6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmYgaW5zZXQsICRmb2N1c19zaGFkb3c7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJi5mb3JtLWVycm9yOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZmIGluc2V0LCAkZm9jdXNfc2hhZG93X2Vycm9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIuYmNhLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwLjJlbSAxZW0gMCAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgJltkYXRhLWJjYS1jaGVja2JveC1zaXplPWxnXSB7XG4gICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICB9XG4gICZbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1zbV0ge1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgfVxuXG4gICYtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAuYmNhLWNoZWNrYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgLW1vei1vcGFjaXR5OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgICAmOmNoZWNrZWQge1xuICAgICAgKyBsYWJlbCxcbiAgICAgICsgLmJjYS1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgKyBsYWJlbCxcbiAgICAgICsgLmJjYS1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9faW5wdXQgKyBsYWJlbCxcbiAgJl9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IC0wLjJlbTtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwZW07XG4gICAgICAvL2xlZnQ6IDAuNDVlbTtcbiAgICAgIGxlZnQ6IDAuNWVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMC41ZW07XG4gICAgICBoZWlnaHQ6IDAuOWVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgfVxuICAgICZbZGF0YS1iY2EtY2hlY2tib3gtc2l6ZT1sZ10ge1xuICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSArIGxhYmVsOmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0gKyBsYWJlbDphZnRlcntcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICM5OTk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTtcbiAgfVxufVxuXG4vL1xuLy8uYmNhLWZpbGUge1xuLy8gICYtY2hlY2tib3gtaXRlbXtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveC1pdGVtO1xuLy8gIH1cbi8vICAmLWNoZWNrYm94e1xuLy8gICAgQGV4dGVuZCAuYmNhLWNoZWNrYm94O1xuLy8gIH1cbi8vICAmLWNoZWNrYm94LWxhYmVsIHtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveC1sYWJlbDtcbi8vICB9XG4vL31cbiIsIi5iY2Etc2VsZWN0IHtcbiAgJl9fc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vaWNuX3NlbGVjdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMC41ZW0gLyAxMHB4IGF1dG8sICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW07XG4gICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAyLjJlbSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDEuMmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgICZbZGF0YS1iY2Etc2VsZWN0LXNpemU9bGddIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U7XG4gICAgfVxuICAgICZbZGF0YS1iY2Etc2VsZWN0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyogYmNhLWRhdGEtbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJjYS1kYXRhLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAmX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gICZfX3N1YiB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG4iLCIuYmNhLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNGRkY7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIG1hcmdpbjogLjVlbSAuNTVlbSAuNWVtO1xuICBwYWRkaW5nOiAuMWVtIC42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG5cbiAgJltkYXRhLWJjYS1sYWJlbC10eXBlPVwicmVxdWlyZWRcIl0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2RhbmdlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cblxuICAmW2RhdGEtYmNhLWxhYmVsLXR5cGU9XCJvcHRpb25hbFwiXSB7XG4gICAgYmFja2dyb3VuZDogIzAwRTsgLy8g5LuuXG4gIH1cbn1cbiIsIi5iY2EtcGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHJvdy1nYXA6IDIwcHg7XG4gIGNvbHVtbi1nYXA6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuICAmID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gIH1cblxuICAmLWJveCB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfbGFyZ2U7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX2lubGluZS1maWVsZHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgLmJjYS1yYWRpby1ncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgJi1zZXBhcmF0b3Ige1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYm9yZGVyO1xuICAgICAgICBtYXJnaW46IDAgMmVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmNhLXBsdWdpbi11cGRhdGUge1xuICAuYmNhLXBhbmVsLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG59XG5cbi8qIOWPpOOBhOOCueOCv+OCpOODqyDjgqTjg7Pjgrnjg4jjg7zjg6vnlLvpnaLjgarjgalcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmNhLW1haW5fX2JvZHkgZGl2LmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzJTtcbn1cblxuLy8ucGFuZWwtYm94IHtcbi8vXHRib3JkZXI6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzoxMHB4IDIwcHg7XG4vL1x0bWFyZ2luOjIwcHggMDtcbi8vfVxuLy8ucGFuZWwtYm94IGxpIC5kYXRlIHtcbi8vXHQvKmZvbnQtd2VpZ2h0OiBib2xkOyovXG4vL31cbi8vLnBhbmVsLWJveCB1bCB7XG4vL1x0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuLy9cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuLy99XG4vLyNJbnN0YWxsYXRpb25zIC5wYW5lbC1ib3gge1xuLy9cdG1hcmdpbjowIGF1dG8gMjBweCBhdXRvO1xuLy99XG4vLyNJbnN0YWxsYXRpb25zIC5wYW5lbC1ib3ggdWwgbGkge1xuLy9cdG1hcmdpbi1ib3R0b206IDEwcHg7XG4vL1x0Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzozcHggMTBweDtcbi8vXHRiYWNrZ3JvdW5kOiBub25lO1xuLy99XG4vLyNBZG1pbkRhc2hib2FyZCAucGFuZWwtYm94IHtcbi8vXHRtYXJnaW46MTBweDtcbi8vfVxuLy8jQWRtaW5EYXNoYm9hcmQgLnBhbmVsLWJveCBsaXtcbi8vXHRtYXJnaW4tYm90dG9tOiA1cHg7XG4vL1x0Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4vL1x0cGFkZGluZzozcHggMTBweDtcbi8vXHRiYWNrZ3JvdW5kOiBub25lO1xuLy99XG4iLCIuYmNhLXRleHRib3gtY29sb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICZfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAkaW5wdXRfdGV4dF9mb250X3NpemU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9bGddIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbGFyZ2U7XG4gICAgfVxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9ZnVsbC1jb3VudGVyXSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgfVxuICAgICZbZGF0YS1tYXJnaW49Ym90dG9tXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGZvY3VzX3NoYWRvdztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtdGV4dGJveCB7XG4gIGRpc3BsYXk6IGlubGluZTtcblxuICAmX19pbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAwLjVlbSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgbWFyZ2luOiA0cHg7XG5cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cblxuICAgICZbZGF0YS1pbnB1dC10ZXh0LXNpemU9c21dIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfc21hbGw7XG4gICAgfVxuXG4gICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB9XG5cbiAgICAmW2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wbGFjZWhvbGRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtdGV4dGFyZWEge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIC8vd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gICZfX3RleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAkaW5wdXRfdGV4dF9mb250X3NpemU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICBtYXJnaW46NHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICB9XG4gICAgJltkYXRhLXdpZHRoPWZ1bGxdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yX3RleHRfcGxhY2Vob2xkZXI7XG5cdH1cbiAgfVxufVxuIiwiLmJjYS1maWxlIHtcblxuICAmX19kZWxldGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMWVtIC40ZW0gMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtaW5wdXQge1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgLW1vei1vcGFjaXR5OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCxcbiAgICAgICAgKyAuYmNhLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICsgbGFiZWwsXG4gICAgICAgICsgLmJjYS1maWxlX19kZWxldGUtbGFiZWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtaW5wdXQgKyBsYWJlbCxcbiAgICAmLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC4yZW07XG4gICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0JCQkJCQjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwZW07XG4gICAgICAgIC8vbGVmdDogMC40NWVtO1xuICAgICAgICBsZWZ0OiAwLjVlbTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDAuOWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4yNGVtIHNvbGlkICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjI0ZW0gc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gICAgICB9XG4gICAgICAmW2RhdGEtYmNhLWNoZWNrYm94LXNpemU9bGddIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgICAgJltkYXRhLWJjYS1jaGVja2JveC1zaXplPXNtXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vLmJjYS1maWxlIHtcbi8vICAmLWNoZWNrYm94LWl0ZW17XG4vLyAgICBAZXh0ZW5kIC5iY2EtY2hlY2tib3gtaXRlbTtcbi8vICB9XG4vLyAgJi1jaGVja2JveHtcbi8vICAgIEBleHRlbmQgLmJjYS1jaGVja2JveDtcbi8vICB9XG4vLyAgJi1jaGVja2JveC1sYWJlbCB7XG4vLyAgICBAZXh0ZW5kIC5iY2EtY2hlY2tib3gtbGFiZWw7XG4vLyAgfVxuLy99IiwiLypcbiBkYXRlcGlja2VyXG4gIHNwYW5cdFx0XHRiY2EtZGF0ZXBpY2tlclxuICBzcGFuKGRhdGUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX2RhdGVcbiAgdGV4dChkYXRlKVx0XHRcdGJjYS1kYXRlcGlja2VyX19kYXRlLWlucHV0XG4gIGxhYmVsKGRhdGUpXHRcdFx0YmNhLWRhdGVwaWNrZXJfX2RhdGUtbGFiZWxcbiAgc3Bhbih0aW1lKVx0XHRcdGJjYS1kYXRlcGlja2VyX190aW1lXG4gIHRleHQodGltZSlcdFx0XHRiY2EtZGF0ZXBpY2tlcl9fdGltZS1pbnB1dFxuICBsYWJlbCh0aW1lKVx0XHRcdGJjYS1kYXRlcGlja2VyX190aW1lLWxhYmVsXG5cbjxzcGFuIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyIHJlcXVpcmVkXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlXCI+XG4gICAgPGxhYmVsIGZvcj1cIkJsb2dQb3N0UG9zdHNEYXRlRGF0ZVwiIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX19kYXRlLWxhYmVsXCI+5pel5LuYPC9sYWJlbD5cbiAgICA8aW5wdXQgbmFtZT1cImRhdGFbQmxvZ1Bvc3RdW3Bvc3RzX2RhdGVfZGF0ZV1cIiBzaXplPVwiMTJcIiBtYXhsZW5ndGg9XCIxMFwiXG4gICAgICBjbGFzcz1cImJjYS1kYXRldGltZXBpY2tlcl9fZGF0ZS1pbnB1dCBoYXNEYXRlcGlja2VyXCIgdmFsdWU9XCIyMDE4LzEwLzE1XCIgdHlwZT1cInRleHRcIiBpZD1cIkJsb2dQb3N0UG9zdHNEYXRlRGF0ZVwiPlxuICAgIDxzY3JpcHQ+PC9zY3JpcHQ+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWVcIj5cbiAgICA8bGFiZWwgZm9yPVwiQmxvZ1Bvc3RQb3N0c0RhdGVUaW1lXCIgY2xhc3M9XCJiY2EtZGF0ZXRpbWVwaWNrZXJfX3RpbWUtbGFiZWxcIj7mmYLplpM8L2xhYmVsPlxuICAgIDxpbnB1dCBuYW1lPVwiZGF0YVtCbG9nUG9zdF1bcG9zdHNfZGF0ZV90aW1lXVwiIHNpemU9XCI4XCIgbWF4bGVuZ3RoPVwiOFwiIGNsYXNzPVwiYmNhLWRhdGV0aW1lcGlja2VyX190aW1lLWlucHV0IHVpLXRpbWVwaWNrZXItaW5wdXRcIiB2YWx1ZT1cIjE5OjE0OjEyXCIgdHlwZT1cInRleHRcIiBpZD1cIkJsb2dQb3N0UG9zdHNEYXRlVGltZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICA8L3NwYW4+XG4gIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImRhdGFbQmxvZ1Bvc3RdW3Bvc3RzX2RhdGVdXCIgdmFsdWU9XCIyMDE4LTEwLTE1IDE5OjE0OjEyXCIgaWQ9XCJCbG9nUG9zdFBvc3RzRGF0ZVwiPlxuPC9zcGFuPlxuXG4gKi9cbi5iY2EtZGF0ZXRpbWVwaWNrZXIge1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmX19kYXRlLFxuICAmX190aW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJi1sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIC8vY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAvL2N1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmJjYS1kYXRldGltZXBpY2tlciB7XG4gICAgICAgICZfX2RhdGUsXG4gICAgICAgICZfX3RpbWUge1xuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWlucHV0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIGNhbGMoMC41ZW0gKyAxNnB4KSAkYnV0dG9uX3BhZGRpbmdfYm90dG9tIDAuNWVtO1xuICAgICAgbWFyZ2luOjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW07XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1sZ10ge1xuICAgICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1zbV0ge1xuICAgICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgICAgfVxuICAgICAgJltkYXRhLWlucHV0LXRleHQtc2l6ZT1mdWxsLWNvdW50ZXJdIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aGFzKC5mb3JtLWVycm9yKSBpbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2RhbmdlcjtcbiAgfVxuICAmOmhhcyguZm9ybS1lcnJvcikgaW5wdXQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3dfZXJyb3I7XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICAmLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGRhdGV0aW1lcGlja2VyLWRhdGUpO1xuICAgIH1cbiAgfVxuICAmX190aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICYtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgYmNhLWljb24oZGF0ZXRpbWVwaWNrZXItdGltZSk7XG4gICAgfVxuICAgICYtaW5wdXQge1xuICAgICAgd2lkdGg6IDZlbTtcbiAgICB9XG4gIH1cblxuICAmX19kZWxpbWl0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG5cbiAgJl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICB9XG4gICZfX3N0YXJ0LFxuICAmX19lbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuIiwiLy8gbGlzdCBwYW5lbFxuXG4uYmNhLWxpc3QtcGFuZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDMwMHB4KTtcbiAgZ3JpZC1yb3ctZ2FwOiAyMHB4O1xuICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICYgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIH1cbiAgLnJvdy10b29scyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgLmJjYS1idG4taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gIC50aGVtZSB7XG4gICAgJi1uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICYtc2NyZWVuc2hvdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICAgICAgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgJi1zY3JlZW5zaG90IGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJi12ZXJzaW9uLFxuICAgICYtYXV0aG9yIHtcbiAgICAgIG1hcmdpbjoxMHB4IDAgNXB4O1xuICAgIH1cbiAgICAmLWF1dGhvciBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdG9wOiA0NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgd2lkdGg6IDIzMHB4O1xuICB9XG4gIC5uby1kYXRhIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuLmJjYS1saXN0LXBhbmVsOmhhcygubm8tZGF0YSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5iY2EtY3VycmVudC10aGVtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yX3ByaW1hcnk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgJl9fbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICZfX21haW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgJl9fc3ViIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgJl9fc2NyZWVuc2hvdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnRoZW1lIHtcbiAgICAmLWluZm8ge1xuXG4gICAgfVxuICAgICYtbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICYtc2NyZWVuc2hvdCB7XG4gICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIC8vIGltZyB7XG4gICAgICAvLyBcdHdpZHRoOiAyOThweDtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICB9XG5cbiAgICAmLXBvcHVwLWNvbnRlbnRzIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7XG4gICAgICAudGhlbWUtc2NyZWVuc2hvdCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDI5OHB4O1xuICAgICAgICB9XG4gICAgICAgIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3ctdG9vbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIC5iY2EtYnRuLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0b3A6IDU2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICB3aWR0aDogMjg2cHg7XG4gIH1cblxufVxuXG4jQ3VycmVudFRoZW1lIHtcbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgfVxuICAudGhlbWUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgfVxuICAjVGhlbWVMb2FkRGVmYXVsdERhdGFQYXR0ZXJuRm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG59XG5cbi8qXG4jQ3VycmVudFRoZW1lIHtcblx0Ym9yZGVyOjVweCBzb2xpZCAjZTJlMmUyO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jQ3VycmVudFRoZW1lIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbiNDdXJyZW50VGhlbWUgLnJvdy10b29scyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDo1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyOjNweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nOjNweDtcbn1cbiNDdXJyZW50VGhlbWUgLnRoZW1lLWluZm8ge1xuXHRmbG9hdDpsZWZ0O1xuXHR3aWR0aDoyNDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmO1xuXHRwYWRkaW5nOjIwcHg7XG5cdG1hcmdpbi1yaWdodDo1MHB4O1xuXHRoZWlnaHQ6OTBweDtcbn1cblxuI0N1cnJlbnRUaGVtZSAuY3VycmVudC10aGVtZS1sZWZ0IHtcblx0d2lkdGg6MzAwcHg7XG5cdG1hcmdpbi1yaWdodDoyMHB4O1xuXHRmbG9hdDpsZWZ0O1xufVxuI0N1cnJlbnRUaGVtZSAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRsaW5lLWhlaWdodDogMS42ZW07XG5cdGNsZWFyOnJpZ2h0O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcblx0cGFkZGluZzoyMHB4IDIwcHggMzBweCAyMHB4O1xufVxuLnRoZW1lLXBvcHVwLWNvbnRlbnRzIC50aGVtZS1zY3JlZW5zaG90IHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjZTJlMmUyO1xuXHRmbG9hdDpsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6MjBweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtc2NyZWVuc2hvdCBpbWcge1xuXHR3aWR0aDoyOThweDtcbn1cbi50aGVtZS1wb3B1cC1jb250ZW50cyAudGhlbWUtZGVzY3JpcHRpb24ge1xuXHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRtYXJnaW4tdG9wOjEwcHg7XG59XG4jQ3VycmVudFRoZW1lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmN1cnJlbnQtdGhlbWUtbGVmdCAuZXJyb3ItbWVzc2FnZSB7XG5cdG1hcmdpbjowO1xuXHR3aGl0ZS1zcGFjZTpub3JtYWw7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMTZweDtcblx0dG9wOjU2cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzo3cHg7XG5cdHdpZHRoOjI4NnB4O1xufVxuKi9cbiIsIi5iY2Etc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICZfX3Bvc3QtZGV0YWlsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gIC8vICZfX3N1Ym1pdCB7XG4gIC8vICAgZGlzcGxheTogZmxleDtcbiAgLy8gICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyAgICZfX21haW4ge1xuXG4gIC8vICAgICAuYmNhLWJ0bltkYXRhLWJjYS1idG4tdHlwZT1cInNhdmVcIl0ge1xuICAvLyAgICAgICB3aWR0aDogMjAwcHg7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgICZfX3N1YiB7XG4gIC8vICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgLy8gICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgLy8gICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcblxuICAvLyAgIH1cblxuICAvLyAgIFtkYXRhLWJjYS1idG4tdHlwZV0ge1xuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAvLyAgIH1cbiAgLy8gICBbZGF0YS1iY2EtYnRuLXR5cGU9XCJkZWxldGVcIl0ge1xuICAvLyAgICAgLy9tYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIOODluODreOCsOaWsOedgOiomOS6i+OBruS4iumDqFxuICAmX19wb3N0LXRvcCB7XG4gICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbG9hdDpyaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbiAgICAuYmNhLXBvc3RfX25vIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgIC5iY2EtcG9zdF9fdXJsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuYmNhLXRleHQtdXJsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1zZWN0aW9uLXR5cGU9Zm9ybS1ncm91cF0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbiIsIlxuLmJjYS10ZXh0LWNvdW50ZXItdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjQ0NDO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjJlbTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogI0NDQztcbiAgfVxufVxuIiwiLyogYWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJjYS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX3RhYmxlX2JvcmRlcl9jb2xvcjtcbiAgJl9fbWFpbiB7XG5cbiAgfVxuICAmX19zdWIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIH1cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbiAgJl9fYmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICB9XG4gICZbZGF0YS1iY2EtdHlwZT10eXBlMl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5iY2EtYWN0aW9ucyB7XG4gICAgICAmX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgICZfX2FkZHMge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5iY2EtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICZbZGF0YS1iY2EtbGlzdC1sYXlvdXQ9aG9yaXpvbl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIEBpbmNsdWRlIGJjYS1pY29uKGxpc3QtZGVmYXVsdCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICAgIC8vIG1hcmdpbi1yaWdodDogMC40ZW07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1saXN0LXR5cGU9Y2lyY2xlXSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC5iY2EtbGlzdF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBiY2EtaWNvbihsaXN0LWNpcmNsZSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC40ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWJjYS1saXN0LWRlbGltaXRlcj1jb21tYV0ge1xuICAgIC5iY2EtbGlzdF9faXRlbSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5iY2EtbGlzdC1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufSIsIi5iY2EtZmlsZS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICBwYWRkaW5nOiAxMHB4O1xuICAmX19pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmX19uby1kYXRhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi8vIHRib3jns7tcblxuLmJjYS1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9wcmltYXJ5O1xuXG4gICZbZGF0YS1iY2EtYm94LXR5cGU9dHlwZTFdIHtcbiAgfVxufVxuIiwiLy8g44Ki44Kv44K744K344OT44Oq44OG44KjIOOCueOCr+ODquODvOODs+ODquODvOODgOODvOWvvuetllxuLy8g5oqY44KK44Gf44Gf44G/XG4uYmNhLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBtYXJnaW46IC0xcHg7XG59IiwiLy8g5oqY44KK44Gf44Gf44G/XG4uYmNhLWNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy9tYXgtaGVpZ2h0OiAwO1xuICAvL3RyYW5zaXRpb246IDAuNHMgYWxsO1xuICAmX19idG4taWNvbiB7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9sYXJnZTtcbiAgfVxuICAvLyDpnZ7ooajnpLpcbiAgLmJjYS1jb2xsYXBzZV9faW5uZXIge1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL2xpbmUtaGVpZ2h0OiAwO1xuICAgIC8vb3BhY2l0eTogMDtcbiAgICAvL3Zpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL3RyYW5zaXRpb246IDAuNHMgYWxsO1xuICAgIC8vbWFyZ2luLXRvcDogLTEwMCU7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG5cbiAgLy8g6KGo56S6XG4gICZbZGF0YS1iY2Etc3RhdGU9b3Blbl0ge1xuICAgIC8vbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAuYmNhLWNvbGxhcHNlX19pbm5lciB7XG4gICAgICAvL2xpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAvL29wYWNpdHk6IDE7XG4gICAgICAvL3Zpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAvL292ZXJmbG93OiBpbmhlcml0O1xuICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgLy9tYXJnaW4tdG9wOiAwJTtcbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8g5bCC55So44Oc44K/44OzXG4gICZfX2J0biB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfeF9sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIOWxlemWi+aZguOBq+S4iuS4i+Wbnui7olxuICAgIFtkYXRhLWJjYS1zdGF0ZT1vcGVuXSAmLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cbn0iLCIuYmNhLWVtLWJveCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9tZWRpdW07XG4gIG1hcmdpbjogMTVweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBhIHtcbiAgICBjb2xvcjogIzY5MDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOUMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufSIsIi5iY2EtY3VycmVudC1ib3gge1xuICAvLyBib3JkZXI6NXB4IHNvbGlkICNEREQ7XG4gIHBhZGRpbmc6IDFweCAwO1xuICAvLyBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAvLyBjb2xvcjogIzUzNUE2MjtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvcl9kYW5nZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX3RleHRfbGluaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIudWktZGlhbG9nIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIGRkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4udWktd2lkZ2V0IHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl17XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmdfdG9wIDAuNWVtICRidXR0b25fcGFkZGluZ19ib3R0b20gMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnRfc2l6ZV9tZWRpdW0haW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gIH1cbn1cblxuLnVpLXRhYnMge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktdGFicy1uYXYge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS10YWJzLXBhbmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQyAhaW1wb3J0YW50O1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlciAhaW1wb3J0YW50O1xuICBkaXY6Zmlyc3QtY2hpbGQgZGl2IHtcbiAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAvLyBwYWRkaW5nOiAzcHggMTBweDtcbiAgfVxufVxuXG4udWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICB3aWR0aDogMjZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTEzcHggIWltcG9ydGFudDtcbn1cblxuLnVpLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX21lZGl1bSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMTAlLCByZ2IoMjQ0LCAyNDUsIDI0MSkgMTAwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dCAwcyAhaW1wb3J0YW50O1xuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSkgIWltcG9ydGFudDtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVpLXN0YXRlLWRlZmF1bHQge1xuICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIC8vcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIC8vZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIC8vcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nX3RvcCAxZW0gJGJ1dHRvbl9wYWRkaW5nX2JvdHRvbSAhaW1wb3J0YW50O1xuICAvL2xpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAvL2ZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtICFpbXBvcnRhbnQ7XG4gIC8vIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKSAhaW1wb3J0YW50O1xuICAvLyB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0IDBzICFpbXBvcnRhbnQ7XG4gIC8vICY6aG92ZXIge1xuICAvLyBcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBcdGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gIC8vIFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmRfbWVudSAhaW1wb3J0YW50O1xuICAvLyBcdGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHJnYigyNTUsMjU1LDI1NSkgMTAwJSxyZ2IoMjU1LDI1NSwyNTUpIDEwMCUpICFpbXBvcnRhbnQ7XG4gIC8vIH1cbiAgLy8gJjpmb2N1c3tcbiAgLy8gXHRib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93ICFpbXBvcnRhbnQ7XG4gIC8vIH1cbn1cblxuLnVpLXRhYnMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4udWktYnV0dG9uLXRleHQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS1pY29uLWNsb3NldGhpY2sge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4vKiB1aS1kaWFsb2dcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS1kaWFsb2cgbGFiZWwuZXJyb3IsIC5lcnJvci1tZXNzYWdlIHtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFuZ2VyO1xuICBjb2xvcjogJGNvbG9yX2RhbmdlcjtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX3NtYWxsO1xuICBwYWRkaW5nOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBiY2EtaWNvbihlcnJvcikge1xuICAgIG1hcmdpbjogMCAuM2VtIDAgMDtcbiAgfVxufVxuXG4udWktZGlhbG9nIC51aS1idXR0b24tdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWktZGlhbG9nIC5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udWktZGlhbG9nIGxhYmVsLmVycm9yIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgLWtodG1sLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLnVpLXdpZGdldC1oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWktZGlhbG9nIGRsIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi51aS1kaWFsb2cgZHQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIGRkIHtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnVpLWRpYWxvZyBkZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBjb2xvcjogIzUzNUE2MiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIGR0IGxhYmVsIHtcbiAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udWktZGlhbG9nIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi51aS1kaWFsb2cge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuICBwYWRkaW5nOiAxcHggMTBweDtcbn1cblxuLnVpLWRpYWxvZyAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAxcHggMXB4IDA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW8tYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiAjRjNGM0YzO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNGRkYsICNGM0YzRjMpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNGRkYpLCBjb2xvci1zdG9wKDEwMCUsICNGM0YzRjMpKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI0ZGRiwgI0YzRjNGMyk7XG59XG5cbi51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmLCBcIuODoeOCpOODquOCqlwiLCBWZXJkYW5hLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbCFpbXBvcnRhbnQ7XG4gICAgY29sb3I6JGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxufVxuLnVpLXRhYnMtcGFuZWwge1xuICAgIGEge1xuICAgICAgY29sb3I6JGNvbG9yX3RleHRfbGluayFpbXBvcnRhbnQ7O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDs7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6JGNvbG9yX3RleHRfaG92ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyIWltcG9ydGFudDtcbiAgLy9iYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O1xufVxuLnVpLXdpZGdldC1oZWFkZXIsXG4uY2tlX2RpYWxvZ190aXRsZSB7XG4gICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3IhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5IWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICBmb250LXNpemU6JGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbCFpbXBvcnRhbnQ7XG59XG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7XG4gIGNvbG9yOiRjb2xvcl90ZXh0X3ByaW1hcnkhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsMC4yKSFpbXBvcnRhbnQ7XG59XG4udWktZGF0ZXBpY2tlci10b2RheSAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2RkZCAhaW1wb3J0YW50O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzljY2M2NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4udWktZGlhbG9nIHRoIHtcbiAgcGFkZGluZzogMS40ZW0gMmVtIDFlbSAwIWltcG9ydGFudDtcbn1cbi51aS1kaWFsb2cgdGQge1xuICBwYWRkaW5nOiAxZW0gMCFpbXBvcnRhbnQ7XG59XG5cbiNVcGxvYWRlclNlYXJjaCB7XG4gIGJvcmRlcjoxcHggc29saWQgJGNvbG9yX2JvcmRlciFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkYhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4uY2tlX2RpYWxvZyB7XG4gIC5ja2VfZGlhbG9nX3VpX3JhZGlvX2lucHV0IHtcbiAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICAmICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLy9tYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICB9XG4gICAgJltkYXRhLWJjYS1yYWRpby1zaXplPWxnXSB7IC8v5aSn44GN44GE44K144Kk44K6XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgICAmW2RhdGEtYmNhLXJhZGlvLXNpemU9c21dIHsgLy/lsI/jgZXjgYTjgrXjgqTjgrpcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICB9XG4gICAgfVxuICAgICYgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9jb250cm9sX2JvcmRlcl9jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC8vYmFja2dyb3VuZDogI0VFRUVFRTtcbiAgICB9XG4gICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDBweCA0cHggI2ZmZiBpbnNldDtcbiAgICB9XG4gICAgJjpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMHB4IDRweCAjZmZmIGluc2V0LCAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgfVxuICBzZWxlY3QuYmNhLXNlbGVjdF9fc2VsZWN0ICxcbiAgc2VsZWN0LmNrZV9kaWFsb2dfdWlfaW5wdXRfc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvYWRtaW4vaWNuX3NlbGVjdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMC41ZW0vMTBweCBhdXRvLCAjRkZGRkZGIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX21lZGl1bTtcbiAgICBwYWRkaW5nOjAgMjZweCAwIDRweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQhaW1wb3J0YW50O1xuICAgIGhlaWdodDphdXRvIWltcG9ydGFudDtcbiAgICB3aWR0aDphdXRvIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjokY29sb3JfdGV4dF9zZWNvbmRhcnk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAmW2RhdGEtYmNhLXNlbGVjdC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtYmNhLXNlbGVjdC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19zaGFkb3c7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG4gIGlucHV0LmJjYS10ZXh0Ym94X19pbnB1dCxcbiAgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0LFxuICBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkLFxuICB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhIHtcbiAgICBsaW5lLWhlaWdodDogMS40IWltcG9ydGFudDtcbiAgICBoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzowIDRweCFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2NvbnRyb2xfYm9yZGVyX2NvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvcl90ZXh0X3NlY29uZGFyeTtcbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWxnXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX2xhcmdlO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPXNtXSB7XG4gICAgICBmb250LXNpemU6ICRidXR0b25fZm9udF9zaXplX3NtYWxsO1xuICAgIH1cbiAgICAmW2RhdGEtaW5wdXQtdGV4dC1zaXplPWZ1bGwtY291bnRlcl0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIH1cbiAgICAmW2RhdGEtbWFyZ2luPWJvdHRvbV0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXNfc2hhZG93O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cbiAgLmNrZV9kaWFsb2dfYm9keSBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbToycHghaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6MnB4IWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIC5iY2EtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6ICRidXR0b25fcGFkZGluZ190b3AgMWVtICRidXR0b25fcGFkZGluZ19ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250X3NpemVfbWVkaXVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX3RleHRfcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMCUsIHJnYigyNDQsIDI0NSwgMjQxKSAxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0IDBzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnk7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl90ZXh0X3ByaW1hcnk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZF9tZW51O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSk7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGZvY3VzX3NoYWRvdztcbiAgICB9XG4gIH1cbiAgLmNrZV9kaWFsb2dfY29udGVudHMgLmZpbGUtbGlzdCB7XG4gICAgcGFkZGluZzowO1xuICAgICNEaXZQYW5lbExpc3QgLmZpbGUtbGlzdC1ib2R5IHtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgIH1cbiAgfVxuICBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjZiNmI2O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KSwgMCAwIDJweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgaW5zZXQsIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIGluc2V0O1xuICAgIGJhY2tncm91bmQ6ICNlNGU0ZTQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNlNGU0ZTQpO1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG4gIGEuY2tlX2RpYWxvZ191aV9idXR0b25fb2sgc3BhbntcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuICBhLmNrZV9kaWFsb2dfdWlfYnV0dG9uX29rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM5ZTllOWU7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmMmYyZjIsI2NjYyk7XG4gIH1cbiAgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vazpmb2N1cywgYS5ja2VfZGlhbG9nX3VpX2J1dHRvbl9vazphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzk2OTY5NjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLDAsMCwuNCkgaW5zZXQ7XG4gIH1cbiAgLmNrZV9kaWFsb2dfY29udGVudHMgLmZpbGUtbGlzdC1ib2R5IHtcbiAgICBtYXJnaW4tdG9wOjE0cHg7XG4gIH1cbiAgLmJjYS10YWJsZS1saXN0dXBfX3RoZWFkLXRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAuYmNhLXRhYmxlLWxpc3R1cF9fdGhlYWQtdGgsXG4gIC5iY2EtdGFibGUtbGlzdHVwX190Ym9keS10ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzo3cHggN3B4IWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlYTtcbiAgfVxuICAuY2tlX2RpYWxvZ19jb250ZW50cyAuZmlsZS1saXN0LWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgcGFkZGluZzowO1xuICB9XG4gIHRyOmhvdmVyIHtcbiAgICAuYmNhLXRhYmxlLWxpc3R1cF9fdGJvZHktdGQge1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIuanN0cmVlLXByb3RvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG5cbiAgLmpzdHJlZS1jb250YWluZXItdWwge1xuICAgIC5qc3RyZWUtbm9kZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG5cbiAgICAgIC5qc3RyZWUtY2hpbGRyZW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtbmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5qc3RyZWUtYW5jaG9yIHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCouOCr+OCt+ODp+ODs1xuICAgICAgLmZ1bmN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAvL2JhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2Z1bmN0aW9uLnBuZ1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgYmNhLWljb24oZWxsaXBzaXMtaCk7XG4gICAgICB9XG4gICAgICAvLyDjg5vjg5Djg7zmmYJcbiAgICAgIC5qc3RyZWUtd2hvbGVyb3ctaG92ZXJlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kX21lbnVfZGFyayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmpzdHJlZS1ob3ZlcmVkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9kYXJrZXN0IWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLy8g44Kv44Oq44OD44Kv5pmCXG4gICAgICAuanN0cmVlLXdob2xlcm93LWNsaWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmpzdHJlZS1jbGlja2VkIHtcbiAgICAgICAgJiArIC5jb250ZW50LW5hbWUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfbGlnaHRlc3QhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5qc3RyZWUtaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIOOCr+ODquODg+OCr+ODrOOCs+ODvOODieOBruODm+ODkOODvOaZglxuICAgICAgLmpzdHJlZS1ob3ZlcmVkLmpzdHJlZS1jbGlja2VkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodGVzdCFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCqOOCpOODquOCouOCueODrOOCs+ODvOODiVxuICAgICAgLmFsaWFzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FsaWFzX2xheWVyZC5wbmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgICAgLy8g6Z2e5YWs6ZaL44Os44Kz44O844OJXG4gICAgICAuanN0cmVlLXVucHVibGlzaC1vZGQsXG4gICAgICAuanN0cmVlLXVucHVibGlzaC1ldmVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2Rpc2FibGVkO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8g44Ki44Kk44Kz44OzXG4gICAgLmpzdHJlZS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJWJjYS1pY29uO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICYuYmNhLWljb24tLWZvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjZWRjNTI4O1xuICAgICAgfVxuICAgIH1cbiAgICAuanN0cmVlLW9wZW4ge1xuICAgICAgJiA+IC5qc3RyZWUtYW5jaG9yIHtcbiAgICAgICAgLmJjYS1pY29uLS1mb2xkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJjYS1pY29uKGZvbGRlci1vcGVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIOOCouOCr+OCt+ODp+ODs+OCpuOCo+ODs+ODieOCplxuICAmLWNvbnRleHRtZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRlc3QgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBsaSB7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dF9wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGNvbG9yX2JhY2tncm91bmRfbWVudV9kYXJrIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g44Ki44Kk44Kz44OzXG4gICAgICAgIGkge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAlYmNhLWljb247XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJjYS1pY29uLS1mb2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNlZGM1Mjg7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYmNhLWljb24tLWFsaWFzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmZhODNkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJjYS1pY29uLS1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmZhODNkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfY29udHJvbF9ib3JkZXJfY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8g44Ki44Kv44K344On44OzID4g44Ko44Kk44Oq44Ki44K544Oh44OL44Ol44O8XG4gICAgLmljb24tYWxpYXMtbGF5ZXJkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvYWRtaW4vaWNvbl9hbGlhc19sYXllcmQucG5nXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gICAgfVxuICAgIC8vIOOCouOCr+OCt+ODp+ODsyAuIOODl+ODqeOCsOOCpOODs+i/veWKoFxuICAgIC5pY29uLWFkZC1sYXllcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9hZG1pbi9pY29uX2FkZF9sYXllcmQucG5nXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6LTIycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi51aS1kaWFsb2cgLnVwbG9hZGVyLWZpbGUtaW1hZ2UgLnVybCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB3aWR0aDphdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OjIwcHg7XG59XG4udWktZGlhbG9nIC51cGxvYWRlci1maWxlLWltYWdlIC51cmwgYXtcbiAgY29sb3I6JGNvbG9yX3RleHRfbGluayAhaW1wb3J0YW50O1xufVxuLnVpLWRpYWxvZyAjVXBsb2FkZXJGaWxlSW1hZ2Uge1xuICB3aWR0aDo1MDBweDtcbn1cbiIsIi5iY2EtbWFpbiB7XG4gICZfX3N1Ym1lbnUge1xuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiRsYWJlbF9mb250X3NpemVfc21hbGw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgICYtbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTokYnV0dG9uX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnN0ZXAtMSB7XG4gIC5iY2Etc2VjdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uc3RlcDIge1xuICAuY2hlY2sge1xuICAgIC5jaGVjay1yZXN1bHQge1xuICAgICAgY29sb3I6I2RkZDtcbiAgICB9XG4gIH1cbiAgLmZhaWxlZCB7XG4gICAgLmNoZWNrLXJlc3VsdCB7XG4gICAgICBjb2xvcjokY29sb3JfZGFuZ2VyO1xuICAgIH1cbiAgfVxuICAuY2hlY2stcmVzdWx0IHtcbiAgICBtYXJnaW46MjBweCAwO1xuICAgIGZvbnQtc2l6ZToycmVtO1xuICB9XG59XG4uc3RlcC0zLFxuLnN0ZXAtNCB7XG4gIGRpdi5mbG9hdC1sZWZ0IHtcbiAgICB3aWR0aDphdXRvO1xuICB9XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46MjBweCAwO1xuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnN0ZXAtNSB7XG4gIGxpIHtcbiAgICBtYXJnaW46MjBweCAwO1xuICB9XG59IiwiLnRoZW1lLXBvcHVwLWNvbnRlbnRzIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIC50aGVtZS1uYW1lLFxuICAudGhlbWUtdmVyc2lvbixcbiAgLnRoZW1lLWF1dGhvcixcbiAgLnRoZW1lLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOjVweCAyMHB4O1xuICB9XG4gIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAudGhlbWUtc2NyZWVuc2hvdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAuYmNhLWN1cnJlbnQtdGhlbWVfX3NjcmVlbnNob3QsXG4gIC50aGVtZS1zY3JlZW5zaG90IHtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cblxufVxuIiwiLyogV2lkZ2V0U2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI1dpZGdldFNldHRpbmcgI1dpZGdldHNUeXBlIGgzIHtcblx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4jV2lkZ2V0U2V0dGluZyAjV2lkZ2V0c1R5cGUgLldpZGdldHNUeXBlU2VjdGlvbiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuI1dpZGdldFNldHRpbmcge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQge1xuICBjdXJzb3I6IG1vdmU7XG4gIG1hcmdpbjogMTBweCBhdXRvIDVweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjREREO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEREQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xuICBwYWRkaW5nOiAwO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmhlYWQge1xuICBjdXJzb3I6IG1vdmU7XG4gIG1hcmdpbjogMTBweCBhdXRvIDVweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1MzVBNjI7XG4gIGZvbnQtc2l6ZTogJGxhYmVsX2ZvbnRfc2l6ZV9zbWFsbDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmRfcHJpbWFyeTtcblxufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmhlYWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmNGY0ZjQsICNkZmRmZGYgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y0ZjRmNCksIGNvbG9yLXN0b3AoMTAwJSwgI2RmZGZkZikpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZjRmNGY0LCAjZGZkZmRmIDEwMCUpO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmhlYWQ6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2NkY2RjZDtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjY2RjZGNkLCAjZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNjZGNkY2QpLCBjb2xvci1zdG9wKDEwMCUsICNlZWUpKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2NkY2RjZCwgI2VlZSAxMDAlKTtcbn1cblxuI1dpZGdldFNldHRpbmcgLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyB7XG4gIC8qd2lkdGg6MTAwJTsqL1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmhlYWQge1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI1dpZGdldFNldHRpbmcgLnNldHRpbmcgLmhlYWQge1xuICBjb2xvcjogIzk5OTtcbn1cblxuI1dpZGdldFNldHRpbmcgLnNldHRpbmcgLmRlbCB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmFjdGlvbiB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAzcHggMTBweCAxMHB4IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudWktd2lkZ2V0LWNvbnRlbnQgLmNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIC51aS13aWRnZXQtY29udGVudCB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2RkZDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2RkZDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZSAuZGVzY3JpcHRpb24ge1xuICAvKm1hcmdpbjowIDEycHggMjBweDsqL1xuICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICRjb2xvcl9ib3JkZXI7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRjb2xvcl9ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3JfYm9yZGVyO1xuICBtYXJnaW46IDA7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNTb3VyY2VPdXRlcixcbiNXaWRnZXRTZXR0aW5nICNUYXJnZXRPdXRlciB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjU291cmNlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlcjtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAxMHB4O1xuICAvKi13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDsqL1xuICAvKi1tb3otYm9yZGVyLXJhZGl1czogMTBweDsqL1xuICAvKmJvcmRlci1yYWRpdXM6IDEwcHg7Ki9cbn1cblxuI1dpZGdldFNldHRpbmcgI1RhcmdldCB7XG4gIG1pbi1oZWlnaHQ6IDIxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDEwcHg7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNUYXJnZXQgLmVuYWJsZWQgLmhlYWQge1xuICBjb2xvcjogIzUzNUE2Mjtcbn1cblxuI1dpZGdldFNldHRpbmcgLnRvcERyb3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAucGxhY2Vob2xkZXIge1xuICBoZWlnaHQ6IDI2cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbiNXaWRnZXRTZXR0aW5nICNXaWRnZXRBcmVhVXBkYXRlVGl0bGVGb3JtIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4jV2lkZ2V0U2V0dGluZyAjVGFyZ2V0IC5zZXR0aW5nIHRleHRhcmVhIHtcbiAgd2lkdGg6IDk4JTtcbiAgaGVpZ2h0OiAzMTBweDtcbn1cblxuI1dpZGdldFNldHRpbmcgI1NvdXJjZSBoMyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAkbGFiZWxfZm9udF9zaXplX21lZGl1bTtcbiAgcGFkZGluZy1ib3R0b206MTBweDtcbn1cblxuI0xpc3RBamF4TG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4jV2lkZ2V0U2V0dGluZyBoMiB7XG4gIGZvbnQtc2l6ZTokbGFiZWxfZm9udF9zaXplX2xhcmdlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuIiwiLmN1c3RvbS1maWVsZC1zZXR0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAmX19wYW5lbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiAyMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMzYwcHg7XG4gIH1cblxuICAudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY3VzdG9tLWZpZWxkLWNvbnRlbnQge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDEwcHg7XG5cbiAgICAmX19oZWFkIHtcbiAgICAgIGNvbG9yOiAjNTM1QTYyICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICAgICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y0ZjRmNCksIGNvbG9yLXN0b3AoMTAwJSwgI2RmZGZkZikpO1xuICAgICAgfVxuXG4gICAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgICYtZGVsZXRlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNERkRGREY7XG4gICAgICB9XG5cbiAgICAgICYtc2V0dGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVhO1xuICB9XG5cbiAgLmN1c3RvbS1maWVsZC1ncm91cCB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gMTBweDtcblxuICAgIC5jdXN0b20tZmllbGQtY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRjAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIH1cbn1cblxuI0N1c3RvbUZpZWxkU2V0dGluZ1RhcmdldCB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNDdXN0b21GaWVsZFByZXZpZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzcHggLTNweCAjOTk5O1xuXG4gIC5wcmV2aWV3LWljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG59XG5cbi5jdXN0b20tZmllbGQtcHJldmlldy1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNHJlbTtcblxuICAuYmNhLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gIH1cbn1cblxuI0N1c3RvbUxpbmtQcmV2aWV3IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDU2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzcHggLTNweCAjOTk5O1xuXG4gIC5wcmV2aWV3LWljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0ZjQ0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG59XG5cbi5jdXN0b20tbGluay1wcmV2aWV3LWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEuNHJlbTtcblxuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICB9XG5cbn1cblxuLmJjYS1jYy1sb29wIHRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWE7XG59XG5cbi5iY2EtY2MtbG9vcC1hZGQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJjYS1jYy1sb29wLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYmNhLWNjLWxvb3AtYmxvY2sgPiBidXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmJ0LWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5idC1jb250ZW50IHVsIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmJ0LWNvbnRlbnQgdWwgbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5idC1jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYnQtY29udGVudCBsaSAuZXhhbXBsZS1ib3gge1xuICBib3JkZXI6IDNweCBzb2xpZCAjREREO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuIiwiLyoqXG4gKiBiYXNlckNNUyA6ICBCYXNlZCBXZWJzaXRlIERldmVsb3BtZW50IFByb2plY3QgPGh0dHBzOi8vYmFzZXJjbXMubmV0PlxuICogQ29weXJpZ2h0IChjKSBiYXNlckNNUyBVc2VyIENvbW11bml0eSA8aHR0cHM6Ly9iYXNlcmNtcy5uZXQvY29tbXVuaXR5Lz5cbiAqXG4gKiBAY29weXJpZ2h0ICAgICBDb3B5cmlnaHQgKGMpIGJhc2VyQ01TIFVzZXIgQ29tbXVuaXR5XG4gKiBAbGluayAgICAgICAgICBodHRwczovL2Jhc2VyY21zLm5ldCBiYXNlckNNUyBQcm9qZWN0XG4gKiBAc2luY2UgICAgICAgICA1LjAuMFxuICogQGxpY2Vuc2UgICAgICAgaHR0cDovL2Jhc2VyY21zLm5ldC9saWNlbnNlL2luZGV4Lmh0bWwgTUlUIExpY2Vuc2VcbiAqL1xuXG5cbi5tb2RhbC5tb2RhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tb2RhbC13aW5kb3cge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1heC1oZWlnaHQ6IDk1dmg7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkbCB7XG4gICAgZHQge1xuICAgICAgbWFyZ2luOjEwcHggMCA1cHggMDtcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luOjVweCAwIDVweCAwO1xuICAgIH1cbiAgfVxuICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyMDAxNDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIHBhZGRpbmc6IDAuMWVtIDAuNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB9XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1vZGFsLWVudGVyLWFjdGl2ZSwgLm1vZGFsLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcblxuICAubW9kYWwtd2luZG93IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuICB9XG59XG5cbi5tb2RhbC1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZSAwLjRzO1xufVxuXG4ubW9kYWwtZW50ZXIsIC5tb2RhbC1sZWF2ZS10byB7XG4gIG9wYWNpdHk6IDA7XG5cbiAgLm1vZGFsLXdpbmRvdyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG59XG5cblxuIl19 */ \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/js/admin/common.bundle.js b/plugins/bc-admin-third/webroot/js/admin/common.bundle.js index 741bb3f782..b2c3f80433 100644 --- a/plugins/bc-admin-third/webroot/js/admin/common.bundle.js +++ b/plugins/bc-admin-third/webroot/js/admin/common.bundle.js @@ -98,7 +98,7 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -!function(e){e.bcTree={shiftOnAnchor:!1,ctrlOnAnchor:!1,contextmenuAddOnly:!1,settings:[],dropTarget:null,dragTarget:null,treeDom:null,jsTree:null,listDisplayed:null,beforeParentId:null,beforePosition:null,currentSiteId:1,config:{isAdmin:!1,isUseMoveContents:!1,adminPrefix:"admin",editInIndexDisabled:!1},_inited:!1,init:function(t){t&&e.extend(e.bcTree.config,t),e.bcTree._inited=!0},load:function(){if(e.bcUtil.showLoader(),e.bcTree._inited){e("#viewsetting-mode").val();e.bcTree.listDisplayed=e.bcTimeUtil.getNowDateTime(),e.bcTree._init(),e(e.bcTree).trigger("loaded"),e.bcUtil.hideLoader()}},_init:function(){if(!e("#ContentsTreeList").length)return!1;e.bcTree.settings=e.parseJSON(e("#bcmanagecontent").val()),e.bcTree.treeDom=e("#ContentsTreeList"),e.bcTree.createTree(),e.bcTree.jsTree=e.bcTree.treeDom.jstree(!0),e.bcTree.treeDom.bind("move_node.jstree",(function(t,n){e.bcTree.beforeParentId=n.old_parent,e.bcTree.beforePosition=n.old_position})),e.bcTree.treeDom.bind("dblclick",e.bcTree.updateShiftAndCtrlOnAnchor),e.bcTree.treeDom.bind("dblclick.jstree",(function(t){if("trash"==e("#viewsetting-mode").val())return!1;var n=e(t.target).closest("li").attr("id"),r=e.bcTree.jsTree.get_node(n).data.jstree;("default"==r.type||r.alias)&&(null!=e.bcTree.settings[r.contentType]&&e.bcTree.settings[r.contentType].editDisabled||(r.alias?e.bcTree.openUrl(e.bcUtil.adminBaseUrl+"baser-core/contents/edit_alias/"+r.contentId):null==e.bcTree.settings[r.contentType]?e.bcTree.openUrl(e.bcTree.createLink(e.baseUrl()+"/"+e.bcTree.config.baserCorePrefix+"/"+e.bcTree.config.adminPrefix+"/contents/edit",r.contentId,r.contentParentId,r.contentEntityId)):void 0!==e.bcTree.settings[r.contentType].url.dblclick?e.bcTree.openUrl(e.bcTree.createLink(e.bcTree.settings[r.contentType].url.dblclick,r.contentId,r.contentParentId,r.contentEntityId)):e.bcTree.openUrl(e.bcTree.createLink(e.bcTree.settings[r.contentType].url.edit,r.contentId,r.contentParentId,r.contentEntityId))))})),e.bcTree.treeDom.on("show_contextmenu.jstree",(function(){e("ul.jstree-contextmenu li").each((function(){e.bcTree.isAliasMenuByLabel(e.trim(e(this).text()))&&e(this).find("a i").after(''),e.bcTree.isAddMenuByLabel(e.trim(e(this).text()))&&e(this).find("a i").after('')}))})),e.bcTree.treeDom.on("after_open.jstree",(function(t){e.bcTree.refreshTree()})),e.bcTree.treeDom.on("set_text.jstree",(function(t){e.bcTree.refreshTree()})),e.bcTree.treeDom.on("ready.jstree",(function(t){e.bcTree.treeDom.show(),e.bcTree.refreshTree()}))},destroy:function(){e.bcTree.treeDom&&(e.bcTree.treeDom.unbind("dblclick"),e.bcTree.treeDom.unbind("dblclick.jstree"),e.bcTree.treeDom.unbind("show_contextmenu.jstree"),e.bcTree.treeDom.unbind("after_open.jstree"),e.bcTree.treeDom.unbind("set_text.jstree"),e.bcTree.treeDom.unbind("ready.jstree"),e.bcTree.treeDom.remove()),e.bcTree.shiftOnAnchor=!1,e.bcTree.ctrlOnAnchor=!1,e.bcTree.contextmenuAddOnly=!1,e.bcTree.settings=[],e.bcTree.dropTarget=null,e.bcTree.dragTarget=null,e.bcTree.treeDom=null,e.bcTree.jsTree=null},createTree:function(){e.bcTree.treeDom.jstree({core:{themes:{name:"proton",stripes:!0,variant:"large"},multiple:!1,force_text:!0,check_callback:function(t,n,r,o,a){if("move_node"==t)return!!e.bcTree.config.isUseMoveContents&&("folder"!=r.type||r.data.jstree.alias||n.data.jstree.contentSiteRoot?(e.bcTree.dropTarget=null,e.bcTree.dragTarget=null,!1):(e.bcTree.dropTarget=r,e.bcTree.dragTarget=n,!0))}},plugins:["dnd","changed","state","wholerow","contextmenu","types"],dnd:{large_drop_target:!0},types:{default:{},folder:{}},state:{key:"jstree-"+e.bcTree.currentSiteId,events:"open_all.jstree close_all.jstree changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree"},contextmenu:{show_at_node:!1,items:function(t){var n,r=t.data.jstree,o=e("#viewsetting-mode").val();n="folder"!==r.type||t.data.jstree.alias?e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_parent(t)):t;var a=!1,i=!1,c=null,s=null,l=null,d=!1;void 0!==e.bcTree.settings[r.contentType]&&(a=r.editDisabled,i=r.manageDisabled,s=e.bcTree.settings[r.contentType].url.manage,c=e.bcTree.settings[r.contentType].url.edit,l=e.bcTree.settings[r.contentType].url.copy,d=!0);var u,b={};d&&r.status&&r.contentFullUrl&&!e.bcTree.contextmenuAddOnly&&"index"===o&&e.extend(!0,b,{view:{label:bcI18n.bcTreeCheck,icon:"bca-icon--preview",action:function(t){e.bcTree.openUrl(r.contentFullUrl,!0)}}}),!d||e.bcTree.config.editInIndexDisabled||a||r.contentSiteRoot||"index"!==o||e.bcTree.contextmenuAddOnly||r.related||(r.status?r.status&&e.extend(!0,b,{unpublish:{label:bcI18n.bcTreeUnpublish,icon:"bca-icon--unpublish",action:function(n){e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/change_status.json",type:"PATCH",data:{id:r.contentId,status:"unpublish",type:r.contentType,siteId:r.contentSiteId,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){t.data.jstree.status=!1,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}}):e.extend(!0,b,{publish:{label:bcI18n.bcTreePublish,icon:"bca-icon--publish",action:function(n){e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/change_status.json",type:"PATCH",data:{id:r.contentId,status:"publish",type:r.contentType,siteId:r.contentSiteId,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){t.data.jstree.status=!0,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}})),i||e.bcTree.contextmenuAddOnly||!s||"index"!==o||r.alias||e.extend(!0,b,{manage:{label:bcI18n.bcTreeManage,icon:"bca-icon--th-list",action:function(t){e.bcTree.openUrl(e.bcTree.createLink(s,r.contentId,r.contentParentId,r.contentEntityId))}}}),!d||e.bcTree.config.editInIndexDisabled||a||e.bcTree.contextmenuAddOnly||r.contentSiteRoot||"index"!==o||r.related||e.extend(!0,b,{rename:{label:bcI18n.bcTreeRename,icon:"bca-icon--rename",action:function(n){e.bcTree.renameContent(t,t.text)}}}),!d||a||e.bcTree.contextmenuAddOnly||"index"!==o||e.extend(!0,b,{edit:{label:bcI18n.bcTreeEdit,icon:"bca-icon--edit",action:function(n){t.data.jstree.alias?e.bcTree.openUrl(e.bcUtil.adminBaseUrl+"baser-core/contents/edit_alias/"+r.contentId):e.bcTree.openUrl(e.bcTree.createLink(c,r.contentId,r.contentParentId,r.contentEntityId))}}}),a||e.bcTree.contextmenuAddOnly||"ContentFolder"===r.contentType||r.alias||!l||"index"!==o||e.extend(!0,b,{copy:{label:bcI18n.bcTreeCopy,icon:"bca-icon--copy",action:function(r){e.bcTree.copyContent(n,t)}}}),u=r.alias?bcI18n.bcTreeDelete:bcI18n.bcTreeToTrash,e.bcTree.config.editInIndexDisabled||a||r.deleteDisabled||e.bcTree.contextmenuAddOnly||r.contentSiteRoot||"index"!==o||e.extend(!0,b,{delete:{label:u,icon:"bca-icon--delete",action:function(n){var o=bcI18n.bcTreeConfirmToTrash;r.alias&&(o=bcI18n.bcTreeConfirmDeleteAlias),confirm(o)&&e.bcTree.deleteContent(t)}}}),"trash"===o&&e.extend(!0,b,{return:{_disabled:a,label:bcI18n.bcTreeUndo,icon:"bca-icon--undo",action:function(n){r.alias?e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/exists/"+r.contentAliasId+".json",type:"GET",dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},complete:function(){e.bcUtil.hideLoader()}}).done((function(n){n.exists?e.bcTree.returnContent(t):e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage1)})):e.bcTree.returnContent(t)}},empty:{_disabled:!e.bcTree.config.isAdmin,label:bcI18n.bcTreeEmptyTrash,icon:"bca-icon--ban",action:function(t){confirm(bcI18n.bcTreeConfirmMessage1)&&e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/trash_empty.json",type:"DELETE",dataType:"json",data:{empty:!0,_csrfToken:e.bcToken.key},beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(t){if(t){var n=[];e("li.jstree-node").each((function(t){n.push(e.bcTree.jsTree.get_node(this))})),e.bcTree.jsTree.delete_node(n),e.bcUtil.showNoticeMessage(t.message),e("#DataList").html('
'+bcI18n.bcTreeInfoMessage1+"
")}},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage2,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}});var h=e.extend(!0,{},e.bcTree.settings);if(delete h.Default,t.data.jstree.alias&&delete h.ContentAlias,"index"===o){var f={},T=1;e.each(h,(function(t,o){7===T&&(f.Etc={separator_before:!1,separator_after:!1,label:"その他...",submenu:{}}),T<=6?o.addDisabled||(f[t]=e.bcTree.createMenu(o,n,r,T)):o.addDisabled||(f.Etc.submenu[t]=e.bcTree.createMenu(o,n,r,T)),T++})),e.extend(!0,b,f)}return b}}})},isAddMenuByLabel:function(t){var n=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_selected()),r=e.extend(!0,{},e.bcTree.settings);delete r.Default,n.data.jstree.alias&&delete r.ContentAlias;var o=1,a=!1;return e.each(r,(function(e){t==o+"."+this.title&&(a=!0),o++})),a},isAliasMenuByLabel:function(t){var n=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_selected()),r=e.extend(!0,{},e.bcTree.settings);delete r.Default,n.data.jstree.alias&&delete r.ContentAlias;var o=1,a=!1;return e.each(r,(function(e){return"Default"==e||(!(!n.data.jstree.alias||"ContentLink"!=e)||(t==o+"."+this.title&&!this.multiple&&this.exists&&(a=!0),void o++))})),a},refreshTree:function(t){void 0===t&&(t=!1);var n=e.bcTree.jsTree.get_json("#",{flat:!0});sort=1,e(n).each((function(){e.bcTree.jsTree.get_node(this.id).data.jstree.sort=sort,sort++})),e("li.jstree-node").each((function(n){var r=e.bcTree.jsTree.get_node(this);t&&(r.data.jstree.contentFullUrl=!1),e(this).find("div.jstree-wholerow").each((function(){return e(this).removeClass("jstree-unpublish-odd jstree-unpublish-even jstree-publish-odd jstree-publish-even"),!1})),0==r.data.jstree.status?n%2==0?e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-unpublish-odd"),!1})):e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-unpublish-even"),!1})):n%2==0?e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-publish-odd"),!1})):e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-publish-even"),!1})),r.data.jstree.alias&&e(this).find("a i.jstree-icon:first").after(''),e(this).find("a.jstree-anchor:first").after(''),e(this).find(".content-name").remove(),r.data.jstree.name&&e(this).find("a.jstree-anchor:first").after('( '+decodeURIComponent(r.data.jstree.name)+" )")})),e("span.function").on("click",(function(t){return e.bcTree.jsTree.deselect_all(),e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_node(e(this).parent().attr("id"))),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),!1})),e("span.function").on("contextmenu",(function(t){return e.bcTree.jsTree.deselect_all(),e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_node(e(this).parent().attr("id"))),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),!1})),e.bcTree.config.isUseMoveContents&&e(".jstree-icon").css("cursor","move")},returnContent:function(t){e.bcToken.check((function(){return e(location).prop("href",e.bcUtil.adminBaseUrl+"baser-core/contents/trash_return/"+t.data.jstree.contentId)}),{hideLoader:!1})},openUrl:function(t,n){n=void 0!==n&&n,e.bcTree.ctrlOnAnchor||n?window.open(t):e.bcTree.shiftOnAnchor?window.open(t,"_blank"):window.location.href=t},createMenu:function(t,n,r,o){var a,i,c="default",s=null,l=bcI18n.bcTreeNewTitle.sprintf(t.title),d=t.plugin,u=t.type,b=null;if(a=i=t.url.icon?t.url.icon:t.icon,"ContentFolder"==t.type){var h=!0;c="folder"}else if("ContentLink"==t.type)var f=!0;else"ContentAlias"==t.type?(a=r.icon,s=r.contentId,d=r.contentPlugin,u=r.contentType,l=bcI18n.bcTreeAliasTitle.sprintf(r.contentTitle),b=r.contentEntityId):!t.multiple&&t.exists&&(l=bcI18n.bcTreeAliasTitle.sprintf(t.existsTitle));return{label:""+o+"."+t.title,icon:i,separator_before:h,separator_after:f,action:function(){e.bcTree.createContent(n,{type:c,icon:a,contentParentId:n.data.jstree.contentId,contentTitle:l,contentPlugin:d,contentType:u,contentSiteId:n.data.jstree.contentSiteId,contentAliasId:s,contentEntityId:b})}}},createContent:function(t,n){var r={icon:null,type:"default",status:!1,contentId:null,contentParentId:null,contentTitle:bcI18n.bcTreeUnNamedTitle,contentPlugin:null,contentType:null,contentEntityId:null,contentFullUrl:null,contentSiteId:null,contentAliasId:null};e.extend(!0,r,n),n=r;var o="";!e.bcTree.settings[n.contentType].multiple&&e.bcTree.settings[n.contentType].exists||n.contentAliasId?(o=e.bcUtil.apiAdminBaseUrl+"baser-core/contents/add_alias.json",n.alias=!0):o=e.bcTree.settings[n.contentType].url.add;var a=e.bcTree.jsTree.create_node(t,{text:n.contentTitle,data:{jstree:n}}),i=e.bcTree.jsTree.get_node(a);e.bcTree.jsTree.edit(i,n.contentTitle,(function(t){e.bcToken.check((function(){var r={parent_id:n.contentParentId,title:t.text,plugin:n.contentPlugin,type:n.contentType,site_id:n.contentSiteId,alias_id:n.contentAliasId,entity_id:n.contentEntityId};return e.ajax({url:o,type:"POST",data:{_csrfToken:e.bcToken.key,content:r},dataType:"json",beforeSend:function(){this.data=e.bcTree.fillExtraData(this.data,n),e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(r){e.bcUtil.showNoticeMessage(r.message),e.bcTree.settings[n.contentType].exists=!0,e.bcTree.settings[n.contentType].existsTitle=t.text,n.contentId=r.content.id,n.contentEntityId=r.content.entity_id,n.name=decodeURIComponent(r.content.name),i.data.jstree=n,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage6,t),e.bcTree.jsTree.delete_node(i),e.bcUtil.hideLoader()}}).then((function(){return e.bcUtil.ajax(e.bcUtil.apiAdminBaseUrl+"baser-core/contents/get_full_url/"+n.contentId+".json",{},{type:"GET",dataType:"json"}).done((function(e){n.contentFullUrl=decodeURI(e.fullUrl),i.data.jstree=n,"ContentFolder"==n.contentType&&(i.type="folder")}))}))}),{hideLoader:!1})}))},fillExtraData:function(t,n){var r=function(){switch(n.contentType){case"ContentFolder":return{folder_template:"",page_template:""};case"Page":return{contents:"",draft:"",page_template:"",code:""}}}();return r&&(t+="&"+encodeURI(e.param(r))),t},deleteContent:function(t){var n=t.data.jstree;e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/delete/"+n.contentId+".json",type:"POST",data:{id:n.contentId,entity_id:n.contentEntityId,alias:n.alias,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(r){e.bcUtil.showNoticeMessage(r.message),e.bcToken.key=null,e.bcTree.jsTree.delete_node(t);for(var o=e.bcTree.jsTree.get_json(null,{flat:!0}),a=0;a/g,">"),e.ajax(e.bcUtil.apiAdminBaseUrl+"baser-core/contents/get_full_url/"+r.contentId+".json",{type:"GET",dataType:"json"}).done((function(n){r.contentFullUrl=n.fullUrl;var o=e.bcTree.jsTree.create_node(t,{text:r.contentTitle,data:{jstree:r}}),a=e.bcTree.jsTree.get_node(o);a.data.jstree=r,"ContentFolder"===r.contentType&&(a.type="folder"),e.bcUtil.hideLoader(),e.bcTree.renameContent(a,r.contentTitle,!0)}))},error:function(t){e.bcToken.key=null,e.bcUtil.showAjaxError(bcI18n.commonCopyFailedMessage,t),e.bcUtil.hideLoader()}})}),{useUpdate:!1,hideLoader:!1})},renameContent:function(t,n,r){void 0===r&&(r=!1);var o=n;e.bcTree.jsTree.edit(t,o,(function(a){var i=a.text;if(e.bcTree.jsTree.rename_node(a,i),o===i)return!1;e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/rename.json",type:"PATCH",dataType:"json",data:{id:t.data.jstree.contentId,title:i,first:+r,_csrfToken:e.bcToken.key},beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){n||e.bcUtil.showNoticeMessage(n.message),e.bcTree.settings[t.data.jstree.contentType].existsTitle=a.text,a.data.jstree.contentFullUrl=n.url,a.data.jstree.name=n.name,e.bcTree.refreshTree()},error:function(t){e.bcTree.jsTree.rename_node(a,n),t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage5,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}))},createLink:function(e,t,n,r){var o=e;return r&&(o+="/"+r),t&&(o+="/content_id:"+t),n&&(o+="/parent_id:"+n),o},orderContent:function(t,n){e.bcTree.changeNormalCursor();var r=!1,o=e.bcTree.jsTree.get_node(n.element);o||(o=e.bcTree.dragTarget),o||(r=!0);var a=o.data.jstree.sort;e.bcTree.refreshTree();var i=o.data.jstree.sort-a;if(0==i&&(e.bcTree.dropTarget||(r=!0),o.data.jstree.contentParentId==e.bcTree.dropTarget.data.jstree.contentId&&(r=!0)),r||!confirm(bcI18n.commonSortSaveConfirmMessage))return o.parent!=e.bcTree.beforeParentId||i>=0?e.bcTree.jsTree.move_node(o,e.bcTree.beforeParentId,e.bcTree.beforePosition):e.bcTree.jsTree.move_node(o,e.bcTree.beforeParentId,e.bcTree.beforePosition+1),e.bcTree.refreshTree(),!1;e.bcTree.dropTarget&&e.bcTree.jsTree.open_node(e.bcTree.dropTarget);var c=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_next_dom(o,!0)),s=null;c&&(s=c.data.jstree.contentId),e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/move.json",type:"PATCH",data:{origin:{id:o.data.jstree.contentId,parentId:o.data.jstree.contentParentId,type:o.data.jstree.contentType,entityId:o.data.jstree.contentEntityId},target:{id:s,parentId:e.bcTree.dropTarget.data.jstree.contentId,siteId:e.bcTree.dropTarget.data.jstree.contentSiteId},listDisplayed:e.bcTree.listDisplayed,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(t){o.data.jstree.contentFullUrl=t.url,e.bcTree.refreshTree(!0),o.data.jstree.contentParentId=e.bcTree.dropTarget.data.jstree.contentId,e.bcUtil.showNoticeMessage(t.message),e.bcUtil.hideLoader()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonSortSaveFailedMessage,t),e.bcTree.load()},complete:function(){}})}),{hideLoader:!1})},showMenuByOuter:function(t){return e.bcTree.contextmenuAddOnly=!0,e.bcTree.jsTree.get_selected().length||e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_json()),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),e.bcTree.contextmenuAddOnly=!1,!1},updateShiftAndCtrlOnAnchor:function(t){e.bcTree.shiftOnAnchor=t.shiftKey,e.bcTree.ctrlOnAnchor=t.ctrlKey||t.metaKey},changeDnDCursor:function(){e("#ContentsTreeList .jstree-wholerow").css("cursor","move"),e("#ContentsTreeList .jstree-anchor").css("cursor","move"),e("#ContentsTreeList .function").css("cursor","move"),e("#ContentsTreeList .jstree-ocl").css("cursor","move")},changeNormalCursor:function(){e("#ContentsTreeList .jstree-wholerow").css("cursor","pointer"),e("#ContentsTreeList .jstree-anchor").css("cursor","pointer"),e("#ContentsTreeList .function").css("cursor","pointer"),e("#ContentsTreeList .jstree-ocl").css("cursor","pointer")}}}(jQuery)},319:()=>{ +!function(e){e.bcTree={shiftOnAnchor:!1,ctrlOnAnchor:!1,contextmenuAddOnly:!1,settings:[],dropTarget:null,dragTarget:null,treeDom:null,jsTree:null,listDisplayed:null,beforeParentId:null,beforePosition:null,currentSiteId:1,config:{isAdmin:!1,isUseMoveContents:!1,adminPrefix:"admin",editInIndexDisabled:!1},_inited:!1,init:function(t){t&&e.extend(e.bcTree.config,t),e.bcTree._inited=!0},load:function(){if(e.bcUtil.showLoader(),e.bcTree._inited){e("#viewsetting-mode").val();e.bcTree.listDisplayed=e.bcTimeUtil.getNowDateTime(),e.bcTree._init(),e(e.bcTree).trigger("loaded"),e.bcUtil.hideLoader()}},_init:function(){if(!e("#ContentsTreeList").length)return!1;e.bcTree.settings=e.parseJSON(e("#bcmanagecontent").val()),e.bcTree.treeDom=e("#ContentsTreeList"),e.bcTree.createTree(),e.bcTree.jsTree=e.bcTree.treeDom.jstree(!0),e.bcTree.treeDom.bind("move_node.jstree",(function(t,n){e.bcTree.beforeParentId=n.old_parent,e.bcTree.beforePosition=n.old_position})),e.bcTree.treeDom.bind("dblclick",e.bcTree.updateShiftAndCtrlOnAnchor),e.bcTree.treeDom.bind("dblclick.jstree",(function(t){if("trash"==e("#viewsetting-mode").val())return!1;var n=e(t.target).closest("li").attr("id"),r=e.bcTree.jsTree.get_node(n).data.jstree;("default"==r.type||r.alias)&&(null!=e.bcTree.settings[r.contentType]&&e.bcTree.settings[r.contentType].editDisabled||(r.alias?e.bcTree.openUrl(e.bcUtil.adminBaseUrl+"baser-core/contents/edit_alias/"+r.contentId):null==e.bcTree.settings[r.contentType]?e.bcTree.openUrl(e.bcTree.createLink(e.baseUrl()+"/"+e.bcTree.config.baserCorePrefix+"/"+e.bcTree.config.adminPrefix+"/contents/edit",r.contentId,r.contentParentId,r.contentEntityId)):void 0!==e.bcTree.settings[r.contentType].url.dblclick?e.bcTree.openUrl(e.bcTree.createLink(e.bcTree.settings[r.contentType].url.dblclick,r.contentId,r.contentParentId,r.contentEntityId)):e.bcTree.openUrl(e.bcTree.createLink(e.bcTree.settings[r.contentType].url.edit,r.contentId,r.contentParentId,r.contentEntityId))))})),e.bcTree.treeDom.on("show_contextmenu.jstree",(function(){e("ul.jstree-contextmenu li").each((function(){e.bcTree.isAliasMenuByLabel(e.trim(e(this).text()))&&e(this).find("a i").after(''),e.bcTree.isAddMenuByLabel(e.trim(e(this).text()))&&e(this).find("a i").after('')}))})),e.bcTree.treeDom.on("after_open.jstree",(function(t){e.bcTree.refreshTree()})),e.bcTree.treeDom.on("set_text.jstree",(function(t){e.bcTree.refreshTree()})),e.bcTree.treeDom.on("ready.jstree",(function(t){e.bcTree.treeDom.show(),e.bcTree.refreshTree()}))},destroy:function(){e.bcTree.treeDom&&(e.bcTree.treeDom.unbind("dblclick"),e.bcTree.treeDom.unbind("dblclick.jstree"),e.bcTree.treeDom.unbind("show_contextmenu.jstree"),e.bcTree.treeDom.unbind("after_open.jstree"),e.bcTree.treeDom.unbind("set_text.jstree"),e.bcTree.treeDom.unbind("ready.jstree"),e.bcTree.treeDom.remove()),e.bcTree.shiftOnAnchor=!1,e.bcTree.ctrlOnAnchor=!1,e.bcTree.contextmenuAddOnly=!1,e.bcTree.settings=[],e.bcTree.dropTarget=null,e.bcTree.dragTarget=null,e.bcTree.treeDom=null,e.bcTree.jsTree=null},createTree:function(){e.bcTree.treeDom.jstree({core:{themes:{name:"proton",stripes:!0,variant:"large"},multiple:!1,force_text:!0,check_callback:function(t,n,r,o,a){if("move_node"==t)return"folder"!=r.type||r.data.jstree.alias||n.data.jstree.contentSiteRoot?(e.bcTree.dropTarget=null,e.bcTree.dragTarget=null,!1):(e.bcTree.dropTarget=r,e.bcTree.dragTarget=n,!0)}},plugins:["dnd","changed","state","wholerow","contextmenu","types"],dnd:{large_drop_target:!0,is_draggable:function(t){return!!e.bcTree.config.isUseMoveContents&&!(t[0].parents.length<=1)}},types:{default:{},folder:{}},state:{key:"jstree-"+e.bcTree.currentSiteId,events:"open_all.jstree close_all.jstree changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree"},contextmenu:{show_at_node:!1,items:function(t){var n,r=t.data.jstree,o=e("#viewsetting-mode").val();n="folder"!==r.type||t.data.jstree.alias?e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_parent(t)):t;var a=!1,i=!1,c=null,s=null,l=null,d=!1;void 0!==e.bcTree.settings[r.contentType]&&(a=r.editDisabled,i=r.manageDisabled,s=e.bcTree.settings[r.contentType].url.manage,c=e.bcTree.settings[r.contentType].url.edit,l=e.bcTree.settings[r.contentType].url.copy,d=!0);var u,b={};d&&r.status&&r.contentFullUrl&&!e.bcTree.contextmenuAddOnly&&"index"===o&&e.extend(!0,b,{view:{label:bcI18n.bcTreeCheck,icon:"bca-icon--preview",action:function(t){e.bcTree.openUrl(r.contentFullUrl,!0)}}}),!d||e.bcTree.config.editInIndexDisabled||a||r.contentSiteRoot||"index"!==o||e.bcTree.contextmenuAddOnly||r.related||(r.status?r.status&&e.extend(!0,b,{unpublish:{label:bcI18n.bcTreeUnpublish,icon:"bca-icon--unpublish",action:function(n){e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/change_status.json",type:"PATCH",data:{id:r.contentId,status:"unpublish",type:r.contentType,siteId:r.contentSiteId,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){t.data.jstree.status=!1,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}}):e.extend(!0,b,{publish:{label:bcI18n.bcTreePublish,icon:"bca-icon--publish",action:function(n){e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/change_status.json",type:"PATCH",data:{id:r.contentId,status:"publish",type:r.contentType,siteId:r.contentSiteId,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){t.data.jstree.status=!0,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}})),i||e.bcTree.contextmenuAddOnly||!s||"index"!==o||r.alias||e.extend(!0,b,{manage:{label:bcI18n.bcTreeManage,icon:"bca-icon--th-list",action:function(t){e.bcTree.openUrl(e.bcTree.createLink(s,r.contentId,r.contentParentId,r.contentEntityId))}}}),!d||e.bcTree.config.editInIndexDisabled||a||e.bcTree.contextmenuAddOnly||r.contentSiteRoot||"index"!==o||r.related||e.extend(!0,b,{rename:{label:bcI18n.bcTreeRename,icon:"bca-icon--rename",action:function(n){e.bcTree.renameContent(t,t.text)}}}),!d||a||e.bcTree.contextmenuAddOnly||"index"!==o||e.extend(!0,b,{edit:{label:bcI18n.bcTreeEdit,icon:"bca-icon--edit",action:function(n){t.data.jstree.alias?e.bcTree.openUrl(e.bcUtil.adminBaseUrl+"baser-core/contents/edit_alias/"+r.contentId):e.bcTree.openUrl(e.bcTree.createLink(c,r.contentId,r.contentParentId,r.contentEntityId))}}}),a||e.bcTree.contextmenuAddOnly||"ContentFolder"===r.contentType||r.alias||!l||"index"!==o||e.extend(!0,b,{copy:{label:bcI18n.bcTreeCopy,icon:"bca-icon--copy",action:function(r){e.bcTree.copyContent(n,t)}}}),u=r.alias?bcI18n.bcTreeDelete:bcI18n.bcTreeToTrash,e.bcTree.config.editInIndexDisabled||a||r.deleteDisabled||e.bcTree.contextmenuAddOnly||r.contentSiteRoot||"index"!==o||e.extend(!0,b,{delete:{label:u,icon:"bca-icon--delete",action:function(n){var o=bcI18n.bcTreeConfirmToTrash;r.alias&&(o=bcI18n.bcTreeConfirmDeleteAlias),confirm(o)&&e.bcTree.deleteContent(t)}}}),"trash"===o&&e.extend(!0,b,{return:{_disabled:a,label:bcI18n.bcTreeUndo,icon:"bca-icon--undo",action:function(n){r.alias?e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/exists/"+r.contentAliasId+".json",type:"GET",dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},complete:function(){e.bcUtil.hideLoader()}}).done((function(n){n.exists?e.bcTree.returnContent(t):e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage1)})):e.bcTree.returnContent(t)}},empty:{_disabled:!e.bcTree.config.isAdmin,label:bcI18n.bcTreeEmptyTrash,icon:"bca-icon--ban",action:function(t){confirm(bcI18n.bcTreeConfirmMessage1)&&e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/trash_empty.json",type:"DELETE",dataType:"json",data:{empty:!0,_csrfToken:e.bcToken.key},beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(t){if(t){var n=[];e("li.jstree-node").each((function(t){n.push(e.bcTree.jsTree.get_node(this))})),e.bcTree.jsTree.delete_node(n),e.bcUtil.showNoticeMessage(t.message),e("#DataList").html('
'+bcI18n.bcTreeInfoMessage1+"
")}},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage2,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}}});var h=e.extend(!0,{},e.bcTree.settings);if(delete h.Default,t.data.jstree.alias&&delete h.ContentAlias,"index"===o){var f={},T=1;e.each(h,(function(t,o){7===T&&(f.Etc={separator_before:!1,separator_after:!1,label:"その他...",submenu:{}}),T<=6?o.addDisabled||(f[t]=e.bcTree.createMenu(o,n,r,T)):o.addDisabled||(f.Etc.submenu[t]=e.bcTree.createMenu(o,n,r,T)),T++})),e.extend(!0,b,f)}return b}}})},isAddMenuByLabel:function(t){var n=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_selected()),r=e.extend(!0,{},e.bcTree.settings);delete r.Default,n.data.jstree.alias&&delete r.ContentAlias;var o=1,a=!1;return e.each(r,(function(e){t==o+"."+this.title&&(a=!0),o++})),a},isAliasMenuByLabel:function(t){var n=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_selected()),r=e.extend(!0,{},e.bcTree.settings);delete r.Default,n.data.jstree.alias&&delete r.ContentAlias;var o=1,a=!1;return e.each(r,(function(e){return"Default"==e||(!(!n.data.jstree.alias||"ContentLink"!=e)||(t==o+"."+this.title&&!this.multiple&&this.exists&&(a=!0),void o++))})),a},refreshTree:function(t){void 0===t&&(t=!1);var n=e.bcTree.jsTree.get_json("#",{flat:!0});sort=1,e(n).each((function(){e.bcTree.jsTree.get_node(this.id).data.jstree.sort=sort,sort++})),e("li.jstree-node").each((function(n){var r=e.bcTree.jsTree.get_node(this);t&&(r.data.jstree.contentFullUrl=!1),e(this).find("div.jstree-wholerow").each((function(){return e(this).removeClass("jstree-unpublish-odd jstree-unpublish-even jstree-publish-odd jstree-publish-even"),!1})),0==r.data.jstree.status?n%2==0?e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-unpublish-odd"),!1})):e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-unpublish-even"),!1})):n%2==0?e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-publish-odd"),!1})):e(this).find("div.jstree-wholerow").each((function(){return e(this).addClass("jstree-publish-even"),!1})),r.data.jstree.alias&&e(this).find("a i.jstree-icon:first").after(''),e(this).find("a.jstree-anchor:first").after(''),e(this).find(".content-name").remove(),r.data.jstree.name&&e(this).find("a.jstree-anchor:first").after('( '+decodeURIComponent(r.data.jstree.name)+" )")})),e("span.function").on("click",(function(t){return e.bcTree.jsTree.deselect_all(),e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_node(e(this).parent().attr("id"))),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),!1})),e("span.function").on("contextmenu",(function(t){return e.bcTree.jsTree.deselect_all(),e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_node(e(this).parent().attr("id"))),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),!1})),e.bcTree.config.isUseMoveContents&&e(".jstree-icon").css("cursor","move")},returnContent:function(t){e.bcToken.check((function(){return e(location).prop("href",e.bcUtil.adminBaseUrl+"baser-core/contents/trash_return/"+t.data.jstree.contentId)}),{hideLoader:!1})},openUrl:function(t,n){n=void 0!==n&&n,e.bcTree.ctrlOnAnchor||n?window.open(t):e.bcTree.shiftOnAnchor?window.open(t,"_blank"):window.location.href=t},createMenu:function(t,n,r,o){var a,i,c="default",s=null,l=bcI18n.bcTreeNewTitle.sprintf(t.title),d=t.plugin,u=t.type,b=null;if(a=i=t.url.icon?t.url.icon:t.icon,"ContentFolder"==t.type){var h=!0;c="folder"}else if("ContentLink"==t.type)var f=!0;else"ContentAlias"==t.type?(a=r.icon,s=r.contentId,d=r.contentPlugin,u=r.contentType,l=bcI18n.bcTreeAliasTitle.sprintf(r.contentTitle),b=r.contentEntityId):!t.multiple&&t.exists&&(l=bcI18n.bcTreeAliasTitle.sprintf(t.existsTitle));return{label:""+o+"."+t.title,icon:i,separator_before:h,separator_after:f,action:function(){e.bcTree.createContent(n,{type:c,icon:a,contentParentId:n.data.jstree.contentId,contentTitle:l,contentPlugin:d,contentType:u,contentSiteId:n.data.jstree.contentSiteId,contentAliasId:s,contentEntityId:b})}}},createContent:function(t,n){var r={icon:null,type:"default",status:!1,contentId:null,contentParentId:null,contentTitle:bcI18n.bcTreeUnNamedTitle,contentPlugin:null,contentType:null,contentEntityId:null,contentFullUrl:null,contentSiteId:null,contentAliasId:null};e.extend(!0,r,n),n=r;var o="";!e.bcTree.settings[n.contentType].multiple&&e.bcTree.settings[n.contentType].exists||n.contentAliasId?(o=e.bcUtil.apiAdminBaseUrl+"baser-core/contents/add_alias.json",n.alias=!0):o=e.bcTree.settings[n.contentType].url.add;var a=e.bcTree.jsTree.create_node(t,{text:n.contentTitle,data:{jstree:n}}),i=e.bcTree.jsTree.get_node(a);e.bcTree.jsTree.edit(i,n.contentTitle,(function(t){e.bcToken.check((function(){var r={parent_id:n.contentParentId,title:t.text,plugin:n.contentPlugin,type:n.contentType,site_id:n.contentSiteId,alias_id:n.contentAliasId,entity_id:n.contentEntityId};return e.ajax({url:o,type:"POST",data:{_csrfToken:e.bcToken.key,content:r},dataType:"json",beforeSend:function(){this.data=e.bcTree.fillExtraData(this.data,n),e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(r){e.bcUtil.showNoticeMessage(r.message),e.bcTree.settings[n.contentType].exists=!0,e.bcTree.settings[n.contentType].existsTitle=t.text,n.contentId=r.content.id,n.contentEntityId=r.content.entity_id,n.name=decodeURIComponent(r.content.name),i.data.jstree=n,e.bcTree.refreshTree()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage6,t),e.bcTree.jsTree.delete_node(i),e.bcUtil.hideLoader()}}).then((function(){return e.bcUtil.ajax(e.bcUtil.apiAdminBaseUrl+"baser-core/contents/get_full_url/"+n.contentId+".json",{},{type:"GET",dataType:"json"}).done((function(e){n.contentFullUrl=decodeURI(e.fullUrl),i.data.jstree=n,"ContentFolder"==n.contentType&&(i.type="folder")}))}))}),{hideLoader:!1})}))},fillExtraData:function(t,n){var r=function(){switch(n.contentType){case"ContentFolder":return{folder_template:"",page_template:""};case"Page":return{contents:"",draft:"",page_template:"",code:""}}}();return r&&(t+="&"+encodeURI(e.param(r))),t},deleteContent:function(t){var n=t.data.jstree;e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/delete/"+n.contentId+".json",type:"POST",data:{id:n.contentId,entity_id:n.contentEntityId,alias:n.alias,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(r){e.bcUtil.showNoticeMessage(r.message),e.bcToken.key=null,e.bcTree.jsTree.delete_node(t);for(var o=e.bcTree.jsTree.get_json(null,{flat:!0}),a=0;a/g,">"),e.ajax(e.bcUtil.apiAdminBaseUrl+"baser-core/contents/get_full_url/"+r.contentId+".json",{type:"GET",dataType:"json"}).done((function(n){r.contentFullUrl=n.fullUrl;var o=e.bcTree.jsTree.create_node(t,{text:r.contentTitle,data:{jstree:r}}),a=e.bcTree.jsTree.get_node(o);a.data.jstree=r,"ContentFolder"===r.contentType&&(a.type="folder"),e.bcUtil.hideLoader(),e.bcTree.renameContent(a,r.contentTitle,!0)}))},error:function(t){e.bcToken.key=null,e.bcUtil.showAjaxError(bcI18n.commonCopyFailedMessage,t),e.bcUtil.hideLoader()}})}),{useUpdate:!1,hideLoader:!1})},renameContent:function(t,n,r){void 0===r&&(r=!1);var o=n;e.bcTree.jsTree.edit(t,o,(function(a){var i=a.text;if(e.bcTree.jsTree.rename_node(a,i),o===i)return!1;e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/rename.json",type:"PATCH",dataType:"json",data:{id:t.data.jstree.contentId,title:i,first:+r,_csrfToken:e.bcToken.key},beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(n){n||e.bcUtil.showNoticeMessage(n.message),e.bcTree.settings[t.data.jstree.contentType].existsTitle=a.text,a.data.jstree.contentFullUrl=n.url,a.data.jstree.name=n.name,e.bcTree.refreshTree()},error:function(t){e.bcTree.jsTree.rename_node(a,n),t.responseText=null,e.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage5,t)},complete:function(){e.bcUtil.hideLoader()}})}),{hideLoader:!1})}))},createLink:function(e,t,n,r){var o=e;return r&&(o+="/"+r),t&&(o+="/content_id:"+t),n&&(o+="/parent_id:"+n),o},orderContent:function(t,n){e.bcTree.changeNormalCursor();var r=!1,o=e.bcTree.jsTree.get_node(n.element);o||(o=e.bcTree.dragTarget),o||(r=!0);var a=o.data.jstree.sort;e.bcTree.refreshTree();var i=o.data.jstree.sort-a;if(0==i&&(e.bcTree.dropTarget||(r=!0),o.data.jstree.contentParentId==e.bcTree.dropTarget.data.jstree.contentId&&(r=!0)),r||!confirm(bcI18n.commonSortSaveConfirmMessage))return o.parent!=e.bcTree.beforeParentId||i>=0?e.bcTree.jsTree.move_node(o,e.bcTree.beforeParentId,e.bcTree.beforePosition):e.bcTree.jsTree.move_node(o,e.bcTree.beforeParentId,e.bcTree.beforePosition+1),e.bcTree.refreshTree(),!1;e.bcTree.dropTarget&&e.bcTree.jsTree.open_node(e.bcTree.dropTarget);var c=e.bcTree.jsTree.get_node(e.bcTree.jsTree.get_next_dom(o,!0)),s=null;c&&(s=c.data.jstree.contentId),e.bcToken.check((function(){return e.ajax({url:e.bcUtil.apiAdminBaseUrl+"baser-core/contents/move.json",type:"PATCH",data:{origin:{id:o.data.jstree.contentId,parentId:o.data.jstree.contentParentId,type:o.data.jstree.contentType,entityId:o.data.jstree.contentEntityId},target:{id:s,parentId:e.bcTree.dropTarget.data.jstree.contentId,siteId:e.bcTree.dropTarget.data.jstree.contentSiteId},listDisplayed:e.bcTree.listDisplayed,_csrfToken:e.bcToken.key},dataType:"json",beforeSend:function(){e.bcUtil.hideMessage(),e.bcUtil.showLoader()},success:function(t){o.data.jstree.contentFullUrl=t.url,e.bcTree.refreshTree(!0),o.data.jstree.contentParentId=e.bcTree.dropTarget.data.jstree.contentId,e.bcUtil.showNoticeMessage(t.message),e.bcUtil.hideLoader()},error:function(t){t.responseText=null,e.bcUtil.showAjaxError(bcI18n.commonSortSaveFailedMessage,t),e.bcTree.load()},complete:function(){}})}),{hideLoader:!1})},showMenuByOuter:function(t){return e.bcTree.contextmenuAddOnly=!0,e.bcTree.jsTree.get_selected().length||e.bcTree.jsTree.select_node(e.bcTree.jsTree.get_json()),e.bcTree.jsTree.show_contextmenu(e.bcTree.jsTree.get_selected(),t.pageX,t.pageY),e.bcTree.contextmenuAddOnly=!1,!1},updateShiftAndCtrlOnAnchor:function(t){e.bcTree.shiftOnAnchor=t.shiftKey,e.bcTree.ctrlOnAnchor=t.ctrlKey||t.metaKey},changeDnDCursor:function(){e("#ContentsTreeList .jstree-wholerow").css("cursor","move"),e("#ContentsTreeList .jstree-anchor").css("cursor","move"),e("#ContentsTreeList .function").css("cursor","move"),e("#ContentsTreeList .jstree-ocl").css("cursor","move")},changeNormalCursor:function(){e("#ContentsTreeList .jstree-wholerow").css("cursor","pointer"),e("#ContentsTreeList .jstree-anchor").css("cursor","pointer"),e("#ContentsTreeList .function").css("cursor","pointer"),e("#ContentsTreeList .jstree-ocl").css("cursor","pointer")}}}(jQuery)},319:()=>{ /** * baserCMS : Based Website Development Project * Copyright (c) NPO baser foundation @@ -108,7 +108,7 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -window.addEventListener("DOMContentLoaded",(function(){var e="AdminMenu",t=document.querySelector('[data-js-tmpl="'+e+'"]'),n=document.getElementById(e),r=null;try{r=JSON.parse(n?n.textContent:"{}")}catch(e){window.console&&console.warn("管理メニューのデータが破損しています(JSONデータが不正です)")}if(t&&r&&r.menuList&&r.menuList.length){var o=[],a=[];r.menuList.forEach((function(e,t){"system"===e.type?a.push(e):o.push(e)})),t.hidden=!1;var i=a.some((function(e){return e.current||e.expanded})),c=new Vue({el:t,data:{systemExpanded:i,baseURL:$.baseUrl(),currentSiteId:r.currentSiteId,contentList:o,isSystemSettingPage:i,systemList:a,availableVersions:null,useUpdateNotice:r.useUpdateNotice},mounted:function(){this.useUpdateNotice&&$.get($.bcUtil.apiAdminBaseUrl+"baser-core/plugins/get_available_core_version_info.json",(function(e){void 0!==e.availableCoreVersionInfo&&(c.availableVersions=e.availableCoreVersionInfo.versions.length)}))},methods:{openSystem:function(){c.systemExpanded=!c.systemExpanded}}})}else window.console&&console.warn("データが空のため、管理メニューは表示されませんでした")}))},2670:(e,t,n)=>{"use strict";n(9908),n(4026),n(2479);var r=n(1805); +window.addEventListener("DOMContentLoaded",(function(){var e="AdminMenu",t=document.querySelector('[data-js-tmpl="'+e+'"]'),n=document.getElementById(e),r=null;try{r=JSON.parse(n?n.textContent:"{}")}catch(e){window.console&&console.warn("管理メニューのデータが破損しています(JSONデータが不正です)")}if(t&&r&&r.menuList&&r.menuList.length){var o=[],a=[];r.menuList.forEach((function(e,t){"system"===e.type?a.push(e):o.push(e)})),t.hidden=!1;var i=a.some((function(e){return e.current||e.expanded})),c=new Vue({el:t,data:{systemExpanded:i,baseURL:$.baseUrl(),currentSiteId:r.currentSiteId,contentList:o,isSystemSettingPage:i,systemList:a,availableVersions:null,useUpdateNotice:r.useUpdateNotice},mounted:function(){this.useUpdateNotice&&$.get($.bcUtil.apiAdminBaseUrl+"baser-core/plugins/get_available_core_version_info.json",(function(e){void 0!==e.availableCoreVersionInfo&&(c.availableVersions=Object.keys(e.availableCoreVersionInfo.versions).length)}))},methods:{openSystem:function(){c.systemExpanded=!c.systemExpanded}}})}else window.console&&console.warn("データが空のため、管理メニューは表示されませんでした")}))},2670:(e,t,n)=>{"use strict";n(9908),n(4026),n(2479);var r=n(1805); /** * baserCMS : Based Website Development Project * Copyright (c) NPO baser foundation diff --git a/plugins/bc-admin-third/webroot/js/admin/common.bundle.js.map b/plugins/bc-admin-third/webroot/js/admin/common.bundle.js.map index cfa258aded..163da51548 100644 --- a/plugins/bc-admin-third/webroot/js/admin/common.bundle.js.map +++ b/plugins/bc-admin-third/webroot/js/admin/common.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"js/admin/common.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/webpack/runtime/chunk loaded","webpack://bc-admin-third/./src/js/admin/_lib/jquery.baseUrl.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcBatch.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcCkeditor.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcConfirm.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcCredit.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcJwt.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcSortable.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcTimeUtil.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcToken.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcTree.js","webpack://bc-admin-third/./src/js/admin/_module/sidebar.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcUtil.js","webpack://bc-admin-third/webpack/bootstrap","webpack://bc-admin-third/webpack/runtime/define property getters","webpack://bc-admin-third/webpack/runtime/global","webpack://bc-admin-third/webpack/runtime/hasOwnProperty shorthand","webpack://bc-admin-third/webpack/runtime/make namespace object","webpack://bc-admin-third/webpack/runtime/runtimeId","webpack://bc-admin-third/webpack/runtime/jsonp chunk loading","webpack://bc-admin-third/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * baseUrl プラグイン\n */\n(function( $ ){\n $.baseUrl = function() {\n return $(\"#AdminScript\").attr('data-baseUrl');\n };\n})( jQuery );\n\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcBatch プラグイン\n */\n\n(function ($) {\n $.bcBatch = {\n /**\n * 初期値\n */\n config: {\n batchUrl: '',\n listTable: '#ListTable',\n executeButton: '#BtnApplyBatch',\n methodSelect: '#batch',\n checkAll: '#checkall',\n targetCheckbox: '.batch-targets',\n alertBox: '#AlertMessage',\n loader: '#Waiting',\n flashBox: '#flashMessage'\n },\n /**\n * 初期化\n */\n init: function (config) {\n if (config) {\n $.extend($.bcBatch.config, config);\n }\n this.initList();\n return this;\n },\n /**\n * リストの初期化\n */\n initList: function () {\n\n var config = $.bcBatch.config;\n\n // イベント削除\n $($.bcBatch.config.executeButton).unbind();\n $($.bcBatch.config.methodSelect).unbind();\n $(config.listTable + \" \" + config.targetCheckbox).unbind();\n $(config.checkAll).unbind();\n\n // イベント登録\n $($.bcBatch.config.executeButton).click(function () {\n if (!$(config.targetCheckbox + \":checked\").length) {\n alert(bcI18n.commonSelectDataFailedMessage);\n return false;\n }\n\n if (!confirm(bcI18n.batchConfirmMessage)) {\n return false;\n }\n\n var form = $('').append($(config.methodSelect).clone().val($(config.methodSelect).val()));\n $(config.targetCheckbox + \":checked\").each(function(){\n var value = $(this).attr('value');\n if(value) {\n form.append($('').val(value));\n }\n });\n\n $.bcToken.check(function () {\n form.append($('').val($.bcToken.key));\n return $.ajax({\n url: config.batchUrl,\n type: 'POST',\n data: form.serialize(),\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.setFlashMessage(result.message);\n location.reload();\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n $.bcToken.key = null;\n var errorMessage = '';\n if (XMLHttpRequest.status === 404) {\n errorMessage = '
' + bcI18n.commonNotFoundProgramMessage;\n } else {\n if (XMLHttpRequest.responseText && XMLHttpRequest.responseText !== 'null') {\n errorMessage = '
' + JSON.parse(XMLHttpRequest.responseText).message;\n } else {\n errorMessage = '
' + errorThrown;\n }\n }\n form.remove();\n $.bcUtil.showAlertMessage(bcI18n.commonBatchExecFailedMessage + '(' + XMLHttpRequest.status + ')' + errorMessage);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n return false;\n });\n\n\n $($.bcBatch.config.methodSelect).change(toolChangeHandler);\n\n $(config.listTable + \" tbody td\").click(function () {\n var checkbox = $(this).parent().find(config.targetCheckbox);\n if (!checkbox.prop('checked')) {\n checkbox.prop('checked', true);\n } else {\n checkbox.prop('checked', false);\n }\n changeRow(checkbox);\n return false;\n });\n\n $(config.listTable + \" tbody td a\").click(function (e) {\n if ($(this).attr('rel') !== 'colorbox') {\n e.stopPropagation();\n }\n });\n\n $(config.listTable + \" \" + config.targetCheckbox).click(function (e) {\n e.stopPropagation();\n });\n\n $(config.listTable + \" \" + config.targetCheckbox).change(function () {\n changeRow($(this));\n });\n\n $(config.checkAll).change(function () {\n if ($(this).prop('checked')) {\n $(config.listTable + \" \" + config.targetCheckbox).prop('checked', true);\n } else {\n $(config.listTable + \" \" + config.targetCheckbox).prop('checked', false);\n }\n $.bcBatch.initRowSelected();\n });\n\n toolChangeHandler();\n $.bcBatch.initRowSelected();\n\n },\n /**\n * 行の選択状態を初期化\n */\n initRowSelected: function () {\n var config = $.bcBatch.config;\n $(config.listTable + \" \" + config.targetCheckbox).each(function () {\n if ($(this).prop('checked')) {\n $(this).parent().parent().addClass('selectedrow');\n } else {\n $(this).parent().parent().removeClass('selectedrow');\n }\n });\n }\n\n };\n\n /**\n * バッチ処理ドロップダウン変更時イベント\n */\n function toolChangeHandler() {\n var config = $.bcBatch.config;\n if ($(config.methodSelect).val()) {\n $(config.executeButton).removeAttr('disabled');\n } else {\n $(config.executeButton).prop('disabled', true);\n }\n }\n})(jQuery);\n\nfunction changeRow(checkbox) {\n if (checkbox.attr('checked') !== undefined) {\n $(checkbox).parent().parent().addClass('selectedrow');\n } else {\n $(checkbox).parent().parent().removeClass('selectedrow');\n }\n}\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * bcCkeditor プラグイン\n */\n(function ($) {\n $.bcCkeditor = {\n\n /**\n * editor\n */\n editor: {},\n\n /**\n * 初期化チェックフラグ\n */\n initStatus: false,\n\n /**\n * スタイル初期化チェックフラグ\n */\n styleInitStatus: false,\n\n /**\n * エディタを表示する\n * @param config\n */\n show: function (config) {\n this.setUpConfig(config);\n if (!this.initStatus) {\n CKEDITOR.addStylesSet('basercms', config.initialStyle);\n this.initStatus = true;\n }\n if (!this.styleInitStatus && config.editorStyle.length) {\n this.editorStyle.map((editor, key) => CKEDITOR.addStylesSet(key, editor));\n this.styleInitStatus = true;\n }\n config.themeEditorCsses.map((css) => {\n if (Array.isArray(CKEDITOR.config.contentsCss)) {\n CKEDITOR.config.contentsCss.push(css);\n }\n });\n this.editor[config.ckeditorField] = CKEDITOR.replace(config.editorDomId, config.editorOptions);\n this.setUpDraft(config);\n this.setUpToolBar(config);\n },\n\n /**\n * 基本設定\n * @param config\n */\n setUpConfig: function (config) {\n CKEDITOR.config.allowedContent = true;\n CKEDITOR.config.extraPlugins = 'draft,showprotected';\n CKEDITOR.config.stylesCombo_stylesSet = config.editorStylesSet;\n CKEDITOR.config.protectedSource.push(/<\\?[\\s\\S]*?\\?>/g);\n // 空「i」タグを消さないようにする\n CKEDITOR.dtd.$removeEmpty[\"i\"] = false;\n // 空「span」タグを消さないようにする\n CKEDITOR.dtd.$removeEmpty[\"span\"] = false;\n if (config.editorUrl) {\n CKEDITOR.config.templates_files = [config.editorUrl];\n }\n if (config.editorEnterBr) {\n CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;\n }\n // 複数入ることを前提に配列型に変更\n if (typeof CKEDITOR.config.contentsCss === 'string') {\n CKEDITOR.config.contentsCss = [CKEDITOR.config.contentsCss];\n }\n },\n\n /**\n * 下書き設定\n * @param config\n */\n setUpDraft: function(config)\n {\n if (!config.editorUseDraft) return;\n this.editor[config.ckeditorField].on('pluginsLoaded', function () {\n if (config.editorUseDraft) {\n if (config.draftAreaId) {\n this.draftDraftAreaId = config.draftAreaId;\n }\n if (config.publishAreaId) {\n this.draftPublishAreaId = config.publishAreaId;\n }\n if (config.editorReadonlyPublish) {\n this.draftReadOnlyPublish = true;\n }\n }\n });\n this.editor[config.ckeditorField].on('instanceReady', function () {\n if (config.editorDisableDraft) {\n this.execCommand('changePublish');\n this.execCommand('disableDraft');\n }\n if (config.editorDisablePublish) {\n this.execCommand('changeDraft');\n this.execCommand('disablePublish');\n }\n this.on('beforeCommandExec', function (e) {\n if (e.data.name === 'changePublish' || e.data.name === 'copyPublish') {\n $(`#${config.previewModeId}`).val('default');\n } else if (e.data.name === 'changeDraft' || e.data.name === 'copyDraft') {\n $(`#${config.previewModeId}`).val('draft');\n }\n });\n });\n },\n\n /**\n * ツールバー設定\n * @param config\n */\n setUpToolBar: function(config)\n {\n this.editor[config.ckeditorField].on('instanceReady', function () {\n if (this.getCommand('maximize').uiItems.length > 0) {\n // ツールバーの表示を切り替え\n this.getCommand('maximize').on('state', () => {\n if (this.state === 1) {\n $(\"#ToolBar\").hide();\n } else {\n $(\"#ToolBar\").show();\n }\n });\n }\n });\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcConfirm\n */\n\n(function ($) {\n $.bcConfirm = {\n config: {\n title: bcI18n.bcConfirmTitle1,\n message: bcI18n.bcConfirmAlertMessage1,\n defaultCancel: true,\n ok: null\n },\n show: function (config) {\n $.extend($.bcConfirm.config, config);\n var message = $(\"
\").html($.bcConfirm.config.message);\n message.dialog({\n modal: true,\n title: $.bcConfirm.config.title,\n width: '50%',\n buttons: {\n \"キャンセル\": function () {\n $(this).dialog(\"close\");\n },\n \"OK\": function () {\n $(this).dialog(\"close\");\n if (typeof ($.bcConfirm.config.ok) == 'function') {\n $.bcConfirm.config.ok();\n } else {\n alert(bcI18n.bcConfirmAlertMessage2);\n }\n }\n }\n });\n }\n };\n})(jQuery);\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcCredit\n */\n\n(function ($) {\n $.bcCredit = {\n show: function () {\n $.ajax({\n url: $.bcUtil.adminBaseUrl + 'baser-core/utilities/credit',\n type: \"GET\",\n success: function (result) {\n let hideTarget;\n let isLogin = false;\n let $html = $(\"html\");\n let $page = $(\"#Page\");\n let $credit = $(\"#Credit\");\n if ($(\"#SideBar\").css('display') === 'none') {\n openedFavorite = false;\n hideTarget = \"#Contents\";\n } else {\n openedFavorite = true;\n hideTarget = \"#Contents, #SideBar\";\n }\n if ($credit.length) {\n isLogin = true;\n $credit.remove();\n }\n\n if ($html.css('margin-top') !== '0px') {\n $html.prepend(result);\n } else {\n $page.prepend(result);\n }\n // 再度読み込み直す\n $credit = $(\"#Credit\");\n let $creditScroller = $(\"#CreditScroller\");\n\n if (isLogin) {\n $credit.show();\n } else {\n $credit.fadeIn(1000);\n }\n $page.css('overflow', 'hidden');\n if (!isLogin) {\n $(\"#Footer\").fadeOut(500);\n $(hideTarget).fadeOut(500, function () {\n $(\"#Footer\").fadeIn(2000);\n $.bcCredit.setViewSize();\n });\n }\n $creditScroller.fadeIn(1000);\n\n //リサイズイベント\n $(window).resize(function () {\n $.bcCredit.resizeScroll();\n });\n\n var scrollSpeed = 1;\n var height = $creditScroller.height();\n var posX = $(window).height();\n var id = setInterval(function () {\n if (posX < -height + $(window).height() / 2) {\n clearInterval(id);\n }\n posX -= scrollSpeed;\n $creditScroller.css(\"margin-top\", posX + \"px\");\n }, 40);\n\n $credit.click(function () {\n clearTimeout(id);\n $credit.fadeOut(1000, function () {\n $credit.remove();\n });\n if ($('#Login').length > 0) {\n hideTarget = \"\";\n $(\"#Wrap\").css('height', '280px');\n $(\"#LoginInner\").css('color', '#333');\n } else {\n $(\"#Wrap\").css('height', 'auto');\n if (!openedFavorite) {\n hideTarget = \"#Contents\";\n } else {\n hideTarget = \"#Contents, #SideBar\";\n }\n $(hideTarget).fadeIn(1000);\n }\n $page.css('height', 'auto').css('overflow', 'auto');\n });\n\n $(\"#CreditScrollerInner\").click(function (e) {\n if (e && e.stopPropagation) {\n e.stopPropagation();\n } else {\n window.event.cancelBubble = true;\n }\n });\n }\n });\n },\n\n /**\n * 表示領域を設定\n */\n setViewSize: function(){\n let $toolBar = $(\"#ToolBar\");\n let $credit = $(\"#Credit\");\n let $page = $(\"#Page\");\n let $html = $(\"html\");\n $(\"#Wrap\").css('height', '280px');\n $html.height($html.height() - $toolBar.outerHeight() * 1);\n $credit.height($page.height() + $toolBar.outerHeight() * 1);\n $credit.width($page.width());\n },\n\n /**\n * スクロールバーを非表示に\n */\n resizeScroll: function(){\n let $toolBar = $(\"#ToolBar\");\n let $credit = $(\"#Credit\");\n let $page = $(\"#Page\");\n let $html = $(\"html\");\n let $body = $(\"body\");\n $html.height($html.height() - $toolBar.outerHeight() * 1);\n $body.height($body.height() - $toolBar.outerHeight() * 1);\n $credit.width($page.width());\n $credit.height($page.height() + $toolBar.outerHeight() * 1);\n }\n };\n})(jQuery);\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n $.bcJwt = {\n\n /**\n * Access Token\n */\n accessToken: null,\n\n /**\n * Init\n */\n init: function() {\n let refreshToken = localStorage.getItem('refreshToken');\n if(refreshToken && refreshToken !== 'null') {\n this.getToken(refreshToken)\n }\n },\n\n /**\n * Login\n */\n login: function (email, password, saved, successCallback, errorCallback) {\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/users/login.json',\n type: 'post',\n data: {\n email: email,\n password: password,\n saved: (saved !== undefined && saved)? 1 : ''\n },\n dataType: 'json'\n }).done(function (response) {\n if (response) {\n this.setToken(response.access_token, response.refresh_token)\n if(successCallback) {\n successCallback(response);\n }\n }\n }.bind(this)).fail(function () {\n if(errorCallback) {\n errorCallback()\n }\n })\n },\n\n /**\n * Get Token\n * @param refreshToken\n */\n getToken: function (refreshToken) {\n if(!refreshToken) {\n return\n }\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/users/refresh_token.json',\n type: 'get',\n async: false,\n headers: {\n \"Authorization\": refreshToken,\n 'Content-Type': 'application/json'\n },\n dataType: 'json',\n }).done(function (response) {\n if (response) {\n this.setToken(response.access_token, response.refresh_token)\n } else {\n alert('APIトークンが取得できませんでした。ブラウザをリロードしてください。')\n }\n }.bind(this)).fail(function(error){\n if (error.status === 401) {\n localStorage.setItem('refreshToken', '')\n }\n })\n },\n\n /**\n * Set Token\n * @param accessToken\n * @param refreshToken\n */\n setToken: function (accessToken, refreshToken) {\n this.accessToken = accessToken\n localStorage.setItem('refreshToken', refreshToken);\n },\n\n /**\n * Logout\n */\n logout: function () {\n this.removeToken()\n },\n\n /**\n * Remove Token\n */\n removeToken: function () {\n localStorage.setItem('refreshToken', null);\n this.accessToken = null\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n\n $.bcSortable = {\n updateSortUrl : null,\n init: function (config) {\n this.updateSortUrl = config.updateSortUrl\n var sortHandle = $(\".sort-handle\");\n var sortTable = $(\".sort-table\");\n // イベント削除\n sortHandle.unbind();\n // 初期化されてない場合にメソッドを実行すると処理が止まってしまう為 try を利用\n try {\n $(sortTable).sortable(\"destroy\");\n } catch (e) {\n }\n // イベント登録\n var sortableOptions = {\n scroll: true,\n items: \"tr.sortable\",\n opacity: 1,\n zIndex: 55,\n containment: 'body',\n tolerance: 'pointer',\n distance: 5,\n cursor: 'move',\n handle: \".sort-handle\",\n placeholder: 'ui-sortable-placeholder',\n revert: 100,\n start: this.sortStartHandler,\n update: this.sortUpdateHandler\n };\n sortHandle.css('cursor', 'move');\n sortTable.sortable(sortableOptions);\n sortHandle.click(function (e) {\n e.stopPropagation();\n });\n },\n\n /**\n * 並び替え開始時イベント\n */\n sortStartHandler: function (event, ui) {\n var placeholder = $(\".ui-sortable-placeholder\");\n placeholder.css('height', ui.item.height());\n },\n\n /**\n * 並び順を更新時イベント\n */\n sortUpdateHandler: function (event, ui) {\n var target = ui.item;\n var targetNum = $(\".sort-table\" + \" \" + \"tr.sortable\").index(target) + 1;\n var sourceNum = target.attr('id').replace('Row', '');\n var offset = targetNum - sourceNum;\n var sortTable = $(\".sort-table\");\n var form = $('').hide();\n var sortId = $('').attr('type', 'hidden').attr('name', 'id').val(target.find('.id').val());\n var sortOffset = $('').attr('type', 'hidden').attr('name', 'offset').val(offset);\n form.append(sortId).append(sortOffset);\n\n $.bcToken.check(function () {\n form.append($.bcToken.getHiddenToken());\n var data = form.serialize();\n form.find('input[name=\"_csrfToken\"]').remove();\n return $.ajax({\n url: $.bcSortable.updateSortUrl,\n type: 'POST',\n data: data,\n dataType: 'text',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function () {\n sortTable.find(\"tr.sortable\").each(function (i, v) {\n $(this).attr('id', 'Row' + (i + 1));\n });\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n var errorMessage = '';\n if (XMLHttpRequest.status === 404) {\n errorMessage = '
' + bcI18n.commonNotFoundProgramMessage;\n } else {\n if (XMLHttpRequest.responseText) {\n errorMessage = '
' + JSON.parse(XMLHttpRequest.responseText).message;\n } else {\n errorMessage = '
' + errorThrown;\n }\n }\n sortTable.sortable(\"cancel\");\n $.bcUtil.showAlertMessage(bcI18n.commonBatchExecFailedMessage + '(' + XMLHttpRequest.status + ')' + errorMessage)\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n };\n\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n $.bcTimeUtil = {\n\n /**\n * 現在の日時を文字列で取得する\n *\n * @returns {string}\n */\n getNowDateTime : function () {\n return $.bcTimeUtil.getNowDate() + ' ' + $.bcTimeUtil.getNowTime();\n },\n\n /**\n * 現在の日付を文字列で取得する\n *\n * @returns {string}\n */\n getNowDate : function () {\n var date = new Date();\n var year = date.getFullYear();\n var month = date.getMonth() + 1;\n var day = date.getDate();\n if (month < 10) month = '0' + month;\n if (day < 10) day = '0' + day;\n return year + '/' + month + '/' + day;\n },\n\n /**\n * 現在の時間を文字列で取得する\n *\n * @returns {string}\n */\n getNowTime : function () {\n var date = new Date();\n var hour = date.getHours();\n var minute = date.getMinutes();\n if (hour < 10) hour = '0' + hour;\n if (minute < 10) minute = '0' + minute;\n return hour + ':' + minute;\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * bcTokenプラグイン\n *\n * フロントエンドでCakePHPのセキュリティコンポーネントのトークンの管理等を行う\n */\n\n(function ($) {\n\n $.bcToken = {\n\n /**\n * トークン\n */\n key: null,\n\n /**\n * トークンを取得済かどうか\n */\n requested: false,\n\n /**\n * トークンを取得中かどうか\n */\n requesting: false,\n\n /**\n * トークンURL\n */\n url: null,\n\n /**\n * デフォルトトークンURL\n */\n defaultUrl: '/baser-core/bc_form/get_token?requestview=false',\n\n /**\n * 初期化\n */\n init: function () {\n this.setTokenUrl();\n },\n\n /**\n * トークンを取得しているかどうかチェックし、取得していない場合取得する\n * コールバック処理を登録する前提となっており、コールバック処理完了後、再度、新しいトークンを取得する\n *\n * @param callback\n * @param config\n */\n check: function (callback, config) {\n if (this.requesting) {\n var timer = setInterval(function () {\n if (!$.bcToken.requesting) {\n clearInterval(timer);\n if (callback) {\n $.bcToken.execCallback(callback, config);\n }\n }\n }, 100);\n } else {\n if (!this.key) {\n this.update(config).done(function () {\n if (callback) {\n $.bcToken.execCallback(callback, config);\n }\n });\n } else {\n if (callback) {\n this.execCallback(callback, config);\n }\n }\n }\n },\n\n /**\n * コールバック処理を実行\n * @param callback\n * @param config\n */\n execCallback: function (callback, config) {\n var _config = {\n useUpdate: true\n };\n if (config !== undefined) {\n config = $.extend(_config, config);\n } else {\n config = _config;\n }\n var result = callback();\n if (config.useUpdate) {\n config.hideLoader = true;\n config.loaderType = 'none';\n if (result) {\n result.always(function () {\n $.bcToken.update(config);\n });\n } else {\n this.update(config);\n }\n }\n },\n\n /**\n * 新しいトークンをサーバーより取得する\n *\n * @param config\n */\n update: function (config) {\n var _config = {\n type: 'GET'\n };\n if (config !== undefined) {\n config = $.extend(_config, config);\n } else {\n config = _config;\n }\n this.requesting = true;\n return $.bcUtil.ajax(this.url, function (result) {\n $.bcToken.key = result;\n $.bcToken.requesting = false;\n $('input[name=\"_csrfToken\"]').val($.bcToken.key);\n }, $.extend(true, {}, config));\n },\n\n /**\n * トークンを取得した空のフォームを取得する\n * コールバック処理の引数として利用可能\n * @param url\n * @param options\n * @param callback\n * @param config\n */\n getForm: function (url, options, callback, config) {\n var form = $('');\n form.attr('action', url).attr('method', 'post');\n this.check(function () {\n form.append($.bcToken.getHiddenToken());\n if (options.fields) form.append(options.fields);\n if (options.unlocked) form.append(options.unlocked);\n if (options.debug) form.append(options.debug);\n callback(form);\n }, config);\n },\n\n /**\n * トークン用の hidden タグを取得する\n *\n * @returns {*}\n */\n getHiddenToken: function () {\n return $('').val(this.key);\n },\n\n /**\n * 指定したURLに対しトークンを付加した上でPOST送信を行う\n * @param url\n * @param options\n */\n submitToken: function (url, options) {\n this.getForm(url, options, function (form) {\n $('body').append(form);\n form.submit();\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * 指定したセレクターのリンクのクリックイベントについて、\n * トークン付加前提のフォーム送信処理に置き換える\n *\n * CakePHP の postLink に対応\n * postLink を利用した場合、ローダーを表示するなどの処理を割り込ませる事ができないが、\n * CakePHP が生成するフォームでなく、こちらで生成するフォームを利用することで、ローダーを表示できるようにした。\n * @param selector\n */\n replaceLinkToSubmitToken: function (selector) {\n $(selector).each(function () {\n if ($(this).attr('onclick')) {\n var regex = /document\\.(post_.+?).submit\\(\\)/;\n var result = $(this).attr('onclick').match(regex);\n if (result) {\n $(this).attr('data-post-link-form-id', result[1]);\n }\n $(this).get(0).onclick = '';\n $(this).removeAttr('onclick');\n }\n });\n $(selector).click(function () {\n if ($(this).attr('data-confirm-message')) {\n var message = $(this).attr('data-confirm-message');\n if (!confirm(message)) {\n return false;\n }\n }\n let url = $(this).attr('href');\n let options = {};\n if ($(this).attr('data-post-link-form-id')) {\n let postLinkForm = $(\"form[name='\" + $(this).attr('data-post-link-form-id') + \"']\");\n let fields = postLinkForm.find(\"input[name='_Token[fields]']\");\n let unlocked = postLinkForm.find(\"input[name='_Token[unlocked]']\");\n let debug = postLinkForm.find(\"input[name='_Token[debug]']\");\n url = postLinkForm.attr('action');\n options = {\n fields: (fields.length) ? fields : null,\n unlocked: (unlocked.length) ? unlocked : null,\n debug: (debug.length) ? debug : null\n }\n }\n // key を null にしておくことで、トークンを再取得時の loading が表示されるようになる\n $.bcToken.key = null;\n $.bcToken.submitToken(url, options);\n return false;\n });\n },\n\n /**\n * トークン発行URLのセット\n * @param url トークン発行URL。nullの場合はデフォルトURL\n */\n setTokenUrl: function (url) {\n this.url = url != null ? url : $.bcUtil.baseUrl + this.defaultUrl;\n return this;\n }\n\n };\n\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * jsTree 設定\n */\n\n(function ($) {\n $.bcTree = {\n\n /**\n * リンクをクリックする際にShiftキーを押しているかどうか\n */\n shiftOnAnchor: false,\n\n /**\n * リンクをクリックする際にCtrlキーを押しているかどうか\n */\n ctrlOnAnchor: false,\n\n /**\n * コンテキストメニューを追加項目のみとする\n */\n contextmenuAddOnly: false,\n\n /**\n * 設定 BcManageContent より値を取得\n */\n settings: [],\n\n /**\n * ドラッグターゲット\n */\n dropTarget: null,\n\n /**\n * ドロップターゲット\n */\n dragTarget: null,\n\n /**\n * ツリー構造のDOM(jQueryオブジェクト)\n */\n treeDom: null,\n\n /**\n * jsTree実体\n */\n jsTree: null,\n\n /**\n * 一覧を表示した時間\n */\n listDisplayed: null,\n\n /**\n * ノードを移動する場合の直前の親ID\n */\n beforeParentId: null,\n\n /**\n * ノードを移動する場合の直前のポジション\n */\n beforePosition: null,\n\n /**\n * 現在のサイトid\n */\n currentSiteId: 1,\n\n /**\n * 設定\n */\n config: {\n isAdmin: false,\n isUseMoveContents: false,\n adminPrefix: 'admin',\n editInIndexDisabled: false\n },\n\n /**\n * 初期化済かどうか\n */\n _inited: false,\n\n /**\n * 初期化\n * @param config\n */\n init: function (config) {\n if (config) {\n $.extend($.bcTree.config, config);\n }\n $.bcTree._inited = true;\n },\n /**\n * ツリーを読み込む\n */\n load: function () {\n $.bcUtil.showLoader();\n if (!$.bcTree._inited) {\n return;\n }\n const mode = $(\"#viewsetting-mode\").val();\n let url;\n $.bcTree.listDisplayed = $.bcTimeUtil.getNowDateTime();\n $.bcTree._init();\n $($.bcTree).trigger('loaded');\n $.bcUtil.hideLoader();\n },\n\n /**\n * ツリーを初期化する\n */\n _init: function () {\n if (!$('#ContentsTreeList').length) {\n return false;\n }\n $.bcTree.settings = $.parseJSON($(\"#bcmanagecontent\").val());\n $.bcTree.treeDom = $('#ContentsTreeList');\n $.bcTree.createTree();\n $.bcTree.jsTree = $.bcTree.treeDom.jstree(true);\n $.bcTree.treeDom.bind(\"move_node.jstree\", function (e, data) {\n $.bcTree.beforeParentId = data.old_parent;\n $.bcTree.beforePosition = data.old_position;\n });\n\n // ダブルクリックイベント\n $.bcTree.treeDom.bind(\"dblclick\", $.bcTree.updateShiftAndCtrlOnAnchor);\n\n // ダブルクリックイベント\n $.bcTree.treeDom.bind(\"dblclick.jstree\", function (event) {\n var mode = $(\"#viewsetting-mode\").val();\n if (mode == 'trash') {\n return false;\n }\n var nodeId = $(event.target).closest(\"li\").attr('id');\n var data = $.bcTree.jsTree.get_node(nodeId).data.jstree;\n if (data.type == 'default' || data.alias) {\n if ($.bcTree.settings[data.contentType] == undefined || !$.bcTree.settings[data.contentType].editDisabled) {\n if (!data.alias) {\n if ($.bcTree.settings[data.contentType] == undefined) {\n $.bcTree.openUrl($.bcTree.createLink($.baseUrl() + '/' + $.bcTree.config.baserCorePrefix + '/' + $.bcTree.config.adminPrefix + '/contents/edit', data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n if ($.bcTree.settings[data.contentType]['url']['dblclick'] !== undefined) {\n $.bcTree.openUrl($.bcTree.createLink($.bcTree.settings[data.contentType]['url']['dblclick'], data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n $.bcTree.openUrl($.bcTree.createLink($.bcTree.settings[data.contentType]['url']['edit'], data.contentId, data.contentParentId, data.contentEntityId));\n }\n }\n } else {\n $.bcTree.openUrl($.bcUtil.adminBaseUrl + 'baser-core' + '/contents/edit_alias/' + data.contentId);\n }\n }\n }\n });\n\n // コンテキストメニュー表示イベント\n $.bcTree.treeDom.on(\"show_contextmenu.jstree\", function () {\n $(\"ul.jstree-contextmenu li\").each(function () {\n if ($.bcTree.isAliasMenuByLabel($.trim($(this).text()))) {\n $(this).find('a i').after('');\n }\n if ($.bcTree.isAddMenuByLabel($.trim($(this).text()))) {\n $(this).find('a i').after('');\n }\n });\n });\n\n // フォルダ展開イベント\n $.bcTree.treeDom.on(\"after_open.jstree\", function (e) {\n $.bcTree.refreshTree();\n });\n\n // テキスト変更イベント\n // コンテンツ追加のリネーム時\n $.bcTree.treeDom.on(\"set_text.jstree\", function (e) {\n $.bcTree.refreshTree();\n });\n\n // ロード完了イベント\n $.bcTree.treeDom.on(\"ready.jstree\", function (e) {\n $.bcTree.treeDom.show();\n $.bcTree.refreshTree();\n });\n\n },\n\n /**\n * ツリーを破棄する\n */\n destroy: function () {\n if ($.bcTree.treeDom) {\n $.bcTree.treeDom.unbind(\"dblclick\");\n $.bcTree.treeDom.unbind(\"dblclick.jstree\");\n $.bcTree.treeDom.unbind(\"show_contextmenu.jstree\");\n $.bcTree.treeDom.unbind(\"after_open.jstree\");\n $.bcTree.treeDom.unbind(\"set_text.jstree\");\n $.bcTree.treeDom.unbind(\"ready.jstree\");\n $.bcTree.treeDom.remove();\n }\n $.bcTree.shiftOnAnchor = false;\n $.bcTree.ctrlOnAnchor = false;\n $.bcTree.contextmenuAddOnly = false;\n $.bcTree.settings = [];\n $.bcTree.dropTarget = null;\n $.bcTree.dragTarget = null;\n $.bcTree.treeDom = null;\n $.bcTree.jsTree = null;\n },\n\n /**\n * ツリー構造を生成する\n */\n createTree: function () {\n\n // ツリービュー生成\n $.bcTree.treeDom.jstree({\n 'core': {\n 'themes': {\n 'name': 'proton',\n \"stripes\": true,\n \"variant\": \"large\"\n },\n \"multiple\": false,\n \"force_text\": true,\n \"check_callback\": function (operation, node, node_parent, node_position, more) {\n if (operation == 'move_node') {\n if (!$.bcTree.config.isUseMoveContents) {\n return false;\n }\n if (node_parent.type == 'folder' && !node_parent.data.jstree.alias && !node.data.jstree.contentSiteRoot) {\n $.bcTree.dropTarget = node_parent;\n $.bcTree.dragTarget = node;\n return true;\n } else {\n $.bcTree.dropTarget = null;\n $.bcTree.dragTarget = null\n return false;\n }\n }\n }\n },\n \"plugins\": [\n \"dnd\",\n \"changed\",\n \"state\",\n \"wholerow\",\n \"contextmenu\",\n \"types\"\n ],\n \"dnd\": {\n \"large_drop_target\": true\n },\n \"types\": {\n \"default\": {},\n \"folder\": {}\n },\n \"state\": {\n \"key\": 'jstree-' + $.bcTree.currentSiteId,\n \"events\": \"open_all.jstree close_all.jstree changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree\"\n },\n \"contextmenu\": {\n \"show_at_node\": false,\n \"items\": function (node) {\n var maxContents = 6;\n var data = node.data.jstree;\n var mode = $(\"#viewsetting-mode\").val();\n var parent;\n if (data.type === 'folder' && !node.data.jstree.alias) {\n parent = node;\n } else {\n parent = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_parent(node));\n }\n\n var editDisabled = false;\n var manageDisabled = false;\n var editUrl = null;\n var manageUrl = null;\n var copyUrl = null;\n var isEnabled = false;\n\n if ($.bcTree.settings[data.contentType] !== undefined) {\n editDisabled = data.editDisabled;\n manageDisabled = data.manageDisabled;\n manageUrl = $.bcTree.settings[data.contentType]['url']['manage'];\n editUrl = $.bcTree.settings[data.contentType]['url']['edit'];\n copyUrl = $.bcTree.settings[data.contentType]['url']['copy'];\n isEnabled = true;\n }\n\n var menu = {};\n\n // 確認\n // - 公開されている\n // - URLがある\n if (isEnabled && data.status && data.contentFullUrl && !$.bcTree.contextmenuAddOnly && mode === 'index') {\n $.extend(true, menu, {\n \"view\": {\n label: bcI18n.bcTreeCheck,\n \"icon\": \"bca-icon--preview\",\n \"action\": function (obj) {\n $.bcTree.openUrl(data.contentFullUrl, true);\n }\n }\n });\n }\n\n // 公開・非公開\n // - サイトルートではない\n // - 関連データではない\n if (isEnabled && !$.bcTree.config.editInIndexDisabled && !editDisabled && !data.contentSiteRoot && mode === 'index' && !$.bcTree.contextmenuAddOnly && !data.related) {\n if (!data.status) {\n $.extend(true, menu, {\n \"publish\": {\n label: bcI18n.bcTreePublish,\n \"icon\": \"bca-icon--publish\",\n \"action\": function (obj) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/change_status.json',\n type: 'PATCH',\n data: {\n id: data.contentId,\n status: 'publish',\n type: data.contentType,\n siteId: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.status = true;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n });\n } else if (data.status) {\n $.extend(true, menu, {\n \"unpublish\": {\n label: bcI18n.bcTreeUnpublish,\n \"icon\": \"bca-icon--unpublish\",\n \"action\": function (obj) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/change_status.json',\n type: 'PATCH',\n data: {\n id: data.contentId,\n status: 'unpublish',\n type: data.contentType,\n siteId: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.status = false;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n });\n }\n }\n\n // 管理\n // - 管理権限あり\n // - 管理機能サポート\n // - エイリアスではない\n if (!manageDisabled && !$.bcTree.contextmenuAddOnly && manageUrl && mode === 'index' && !data.alias) {\n $.extend(true, menu, {\n \"manage\": {\n label: bcI18n.bcTreeManage,\n \"icon\": \"bca-icon--th-list\",\n \"action\": function (obj) {\n $.bcTree.openUrl($.bcTree.createLink(manageUrl, data.contentId, data.contentParentId, data.contentEntityId));\n }\n }\n });\n }\n\n // 名称変更\n // - 編集権限あり\n // - サイトルートでない\n // − サイト関連データでない\n if (isEnabled && !$.bcTree.config.editInIndexDisabled && !editDisabled && !$.bcTree.contextmenuAddOnly && !data.contentSiteRoot && mode === 'index' && !data.related) {\n $.extend(true, menu, {\n \"rename\": {\n label: bcI18n.bcTreeRename,\n \"icon\": \"bca-icon--rename\",\n \"action\": function (obj) {\n $.bcTree.renameContent(node, node.text);\n }\n }\n });\n }\n\n // 編集\n // - 編集権限あり\n if (isEnabled && !editDisabled && !$.bcTree.contextmenuAddOnly && mode === 'index') {\n $.extend(true, menu, {\n \"edit\": {\n label: bcI18n.bcTreeEdit,\n \"icon\": \"bca-icon--edit\",\n \"action\": function (obj) {\n if (!node.data.jstree.alias) {\n $.bcTree.openUrl($.bcTree.createLink(editUrl, data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n $.bcTree.openUrl($.bcUtil.adminBaseUrl + 'baser-core' + '/contents/edit_alias/' + data.contentId);\n }\n }\n }\n });\n }\n\n // コピー\n // - 編集権限あり\n // - フォルダーでない\n // - コピー機能サポート\n if (!editDisabled && !$.bcTree.contextmenuAddOnly && data.contentType !== 'ContentFolder' && !data.alias && copyUrl && mode === 'index') {\n $.extend(true, menu, {\n \"copy\": {\n label: bcI18n.bcTreeCopy,\n \"icon\": \"bca-icon--copy\",\n \"action\": function (obj) {\n $.bcTree.copyContent(parent, node);\n }\n }\n });\n }\n var deleteLabel;\n if (data.alias) {\n deleteLabel = bcI18n.bcTreeDelete;\n } else {\n deleteLabel = bcI18n.bcTreeToTrash;\n }\n\n // 削除\n // - 編集権限あり\n // - サイトルートでない\n if (!$.bcTree.config.editInIndexDisabled && !editDisabled && !data.deleteDisabled && !$.bcTree.contextmenuAddOnly && !data.contentSiteRoot && mode === 'index') {\n $.extend(true, menu, {\n \"delete\": {\n label: deleteLabel,\n \"icon\": \"bca-icon--delete\",\n \"action\": function (obj) {\n var message = bcI18n.bcTreeConfirmToTrash;\n if (data.alias) {\n message = bcI18n.bcTreeConfirmDeleteAlias;\n }\n if (confirm(message)) {\n $.bcTree.deleteContent(node);\n }\n }\n }\n });\n }\n if (mode === 'trash') {\n $.extend(true, menu, {\n \"return\": {\n _disabled: editDisabled,\n label: bcI18n.bcTreeUndo,\n \"icon\": \"bca-icon--undo\",\n \"action\": function (obj) {\n if (data.alias) {\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/exists/' + data.contentAliasId + '.json',\n type: 'GET',\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n }).done(function (result) {\n if (result.exists) {\n $.bcTree.returnContent(node);\n } else {\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage1);\n }\n });\n } else {\n $.bcTree.returnContent(node);\n }\n }\n },\n \"empty\": {\n _disabled: !$.bcTree.config.isAdmin,\n label: bcI18n.bcTreeEmptyTrash,\n \"icon\": \"bca-icon--ban\",\n \"action\": function (obj) {\n if (confirm(bcI18n.bcTreeConfirmMessage1)) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/trash_empty.json',\n type: 'DELETE',\n dataType: 'json',\n data: {\n empty: true,\n _csrfToken: $.bcToken.key,\n },\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n if (result) {\n var nodes = [];\n $(\"li.jstree-node\").each(function (i) {\n nodes.push($.bcTree.jsTree.get_node(this));\n });\n $.bcTree.jsTree.delete_node(nodes);\n $.bcUtil.showNoticeMessage(result.message);\n $(\"#DataList\").html('
' + bcI18n.bcTreeInfoMessage1 + '
');\n }\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage2, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n }\n });\n }\n\n var settings = $.extend(true, {}, $.bcTree.settings);\n\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n\n if (mode === 'index') {\n var addMenu = {};\n var counter = 1;\n\n $.each(settings, function (i, val) {\n if (counter === maxContents + 1) {\n addMenu['Etc'] = {\n \"separator_before\": false,\n \"separator_after\": false,\n \"label\": \"その他...\",\n \"submenu\": {}\n }\n }\n if (counter <= maxContents) {\n if (!val.addDisabled) {\n addMenu[i] = $.bcTree.createMenu(val, parent, data, counter);\n }\n } else {\n if (!val.addDisabled) {\n addMenu['Etc']['submenu'][i] = $.bcTree.createMenu(val, parent, data, counter);\n }\n }\n counter++;\n });\n $.extend(true, menu, addMenu);\n }\n return menu;\n }\n }\n });\n },\n\n /**\n * メニューのラベルから登録メニューかどうかをチェックする\n *\n * @param name\n * @returns {boolean}\n */\n isAddMenuByLabel: function (name) {\n var node = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_selected());\n var settings = $.extend(true, {}, $.bcTree.settings);\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n var counter = 1;\n var result = false;\n $.each(settings, function (i) {\n if (name == counter + '.' + this.title) {\n result = true;\n }\n counter++;\n });\n return result;\n },\n\n /**\n * メニューのラベルからエイリアスかどうかをチェックする\n *\n * @param name\n * @returns {boolean}\n */\n isAliasMenuByLabel: function (name) {\n var node = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_selected());\n var settings = $.extend(true, {}, $.bcTree.settings);\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n var counter = 1;\n var result = false;\n $.each(settings, function (i) {\n if (i == 'Default') {\n return true;\n }\n if (node.data.jstree.alias && i == 'ContentLink') {\n return true;\n }\n if (name == counter + '.' + this.title && !this.multiple && this.exists) {\n result = true;\n }\n counter++;\n });\n return result;\n },\n\n /**\n * ツリーを更新する\n */\n refreshTree: function (disableCheck) {\n if (disableCheck === undefined) {\n disableCheck = false;\n }\n var treeData = $.bcTree.jsTree.get_json('#', {flat: true});\n sort = 1;\n // 並び順を特定する番号を更新する\n $(treeData).each(function () {\n var node = $.bcTree.jsTree.get_node(this.id);\n node.data.jstree.sort = sort;\n sort++;\n });\n // 公開状態によってカラーリングを更新する\n $(\"li.jstree-node\").each(function (i) {\n var node = $.bcTree.jsTree.get_node(this);\n // =====================================================================================================\n // コンテンツをドラッグ&ドロップした際に、階層が変更となると、フロントエンドの確認を行う為のURLの更新も行う必要がある。\n // 現在、対象コンテンツは更新されるが、フォルダの場合、子のコンテンツのURLが更新できていない為、\n // 確認ボタンをクリックするとNot Found となる。そのため一時的な対策として、確認ボタンを無効にする\n // TODO D&Dの際、子コンテンツのURLを返却し全てのコンテンツの確認ができるようにする\n // =====================================================================================================\n if (disableCheck) {\n node.data.jstree.contentFullUrl = false;\n }\n\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).removeClass('jstree-unpublish-odd jstree-unpublish-even jstree-publish-odd jstree-publish-even');\n return false;\n });\n if (node.data.jstree.status == false) {\n if (i % 2 == 0) {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-unpublish-odd');\n return false;\n });\n } else {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-unpublish-even');\n return false;\n });\n }\n } else {\n if (i % 2 == 0) {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-publish-odd');\n return false;\n });\n } else {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-publish-even');\n return false;\n });\n }\n }\n if (node.data.jstree.alias) {\n $(this).find('a i.jstree-icon:first').after('');\n }\n $(this).find('a.jstree-anchor:first').after('');\n $(this).find('.content-name').remove();\n if (node.data.jstree.name) {\n $(this).find('a.jstree-anchor:first').after('( ' + decodeURIComponent(node.data.jstree.name) + ' )')\n }\n });\n $(\"span.function\").on('click', function (e) {\n $.bcTree.jsTree.deselect_all();\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_node($(this).parent().attr('id')));\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n return false;\n });\n $(\"span.function\").on('contextmenu', function (e) {\n $.bcTree.jsTree.deselect_all();\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_node($(this).parent().attr('id')));\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n return false;\n });\n if ($.bcTree.config.isUseMoveContents) {\n $(\".jstree-icon\").css('cursor', 'move');\n }\n },\n\n /**\n * ゴミ箱から元にもどす\n *\n * @param node\n */\n returnContent: function (node) {\n $.bcToken.check(function () {\n return $(location).prop('href', $.bcUtil.adminBaseUrl + 'baser-core' + '/contents/trash_return/' + node.data.jstree.contentId);\n }, {hideLoader: false});\n },\n\n /**\n * Open Url\n *\n * @param url\n * @param forceBlank\n */\n openUrl: function (url, forceBlank) {\n forceBlank = forceBlank === undefined ? false : forceBlank;\n if ($.bcTree.ctrlOnAnchor || forceBlank) {\n window.open(url);\n } else if ($.bcTree.shiftOnAnchor) {\n window.open(url, '_blank');\n } else {\n window.location.href = url;\n }\n },\n\n /**\n * Create Menu\n *\n * @param setting\n * @param parent\n * @returns {{label: string, icon: string, action: function}}\n */\n createMenu: function (setting, parent, current, i) {\n var type = 'default';\n var contentAliasId = null;\n var contentTitle = bcI18n.bcTreeNewTitle.sprintf(setting.title);\n var contentPlugin = setting.plugin;\n var contentType = setting.type;\n var contentEntityId = null;\n var iconAdd;\n var iconMenu;\n if (setting.url.icon) {\n iconAdd = iconMenu = setting.url.icon;\n } else {\n iconAdd = iconMenu = setting.icon;\n }\n if (setting.type == 'ContentFolder') {\n var separatorBefore = true;\n type = 'folder';\n } else if (setting.type == 'ContentLink') {\n var separatorAfter = true;\n } else if (setting.type == 'ContentAlias') {\n iconAdd = current.icon;\n contentAliasId = current.contentId;\n contentPlugin = current.contentPlugin;\n contentType = current.contentType;\n contentTitle = bcI18n.bcTreeAliasTitle.sprintf(current.contentTitle);\n contentEntityId = current.contentEntityId;\n } else {\n if ((!setting['multiple'] && setting['exists'])) {\n contentTitle = bcI18n.bcTreeAliasTitle.sprintf(setting['existsTitle']);\n }\n }\n\n return {\n label: \"\" + i + \".\" + setting.title,\n icon: iconMenu,\n separator_before: separatorBefore,\n separator_after: separatorAfter,\n action: function () {\n $.bcTree.createContent(parent, {\n type: type,\n icon: iconAdd,\n contentParentId: parent.data.jstree.contentId,\n contentTitle: contentTitle,\n contentPlugin: contentPlugin,\n contentType: contentType,\n contentSiteId: parent.data.jstree.contentSiteId,\n contentAliasId: contentAliasId,\n contentEntityId: contentEntityId\n });\n }\n };\n },\n\n /**\n * Create Content\n *\n * @param parent\n * @param data\n */\n createContent: function (parent, data) {\n var _data = {\n icon: null,\n type: 'default',\n status: false,\n contentId: null,\n contentParentId: null,\n contentTitle: bcI18n.bcTreeUnNamedTitle,\n contentPlugin: null,\n contentType: null,\n contentEntityId: null,\n contentFullUrl: null,\n contentSiteId: null,\n contentAliasId: null\n };\n $.extend(true, _data, data);\n data = _data;\n var url = '';\n // シングルコンテンツでデータが既に存在する場合 エイリアス作成の場合\n if ((!$.bcTree.settings[data.contentType]['multiple'] && $.bcTree.settings[data.contentType]['exists']) || data.contentAliasId) {\n url = $.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/add_alias.json';\n data.alias = true;\n } else {\n url = $.bcTree.settings[data.contentType]['url']['add'];\n }\n var nodeId = $.bcTree.jsTree.create_node(parent, {\n text: data.contentTitle,\n data: {jstree: data}\n });\n var node = $.bcTree.jsTree.get_node(nodeId);\n $.bcTree.jsTree.edit(node, data.contentTitle, function (editNode) {\n $.bcToken.check(function () {\n const content = {\n parent_id: data.contentParentId,\n title: editNode.text,\n plugin: data.contentPlugin,\n type: data.contentType,\n site_id: data.contentSiteId,\n alias_id: data.contentAliasId,\n entity_id: data.contentEntityId\n };\n return $.ajax({\n url: url,\n type: 'POST',\n data: {\n _csrfToken: $.bcToken.key,\n content: content,\n },\n dataType: 'json',\n beforeSend: function () {\n this.data = $.bcTree.fillExtraData(this.data, data);\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $.bcTree.settings[data.contentType]['exists'] = true;\n $.bcTree.settings[data.contentType]['existsTitle'] = editNode.text;\n data.contentId = result.content.id;\n data.contentEntityId = result.content.entity_id;\n data.name = decodeURIComponent(result.content.name);\n node.data.jstree = data;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage6, XMLHttpRequest);\n $.bcTree.jsTree.delete_node(node);\n $.bcUtil.hideLoader();\n }\n }).then(function () {\n return $.bcUtil.ajax($.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/get_full_url/' + data.contentId + '.json', {}, {\n type: 'GET',\n dataType: 'json'\n }).done(function (result) {\n data.contentFullUrl = decodeURI(result.fullUrl);\n node.data.jstree = data;\n if (data.contentType == 'ContentFolder') {\n node.type = 'folder'\n }\n });\n });\n }\n , {hideLoader: false});\n });\n },\n /**\n * ポスト用のデータにコンテンツの種類に基づいた不足データを追加する\n *\n * @param postData 送信用データ\n * @param settingData 保持してるデータ\n */\n fillExtraData: function (postData, settingData) {\n const extra = (() => {\n switch (settingData.contentType) {\n case \"ContentFolder\":\n return {\n folder_template: \"\",\n page_template: \"\"\n };\n case \"Page\":\n return {\n contents: \"\",\n draft: \"\",\n page_template: \"\",\n code: \"\"\n };\n default:\n break;\n }\n })();\n if (extra) {\n postData += '&' + encodeURI($.param(extra));\n }\n return postData;\n },\n\n /**\n * Delete Content\n *\n * @param node\n */\n deleteContent: function (node) {\n var data = node.data.jstree;\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/delete/' + data.contentId + '.json',\n type: 'POST',\n data: {\n id: data.contentId,\n entity_id: data.contentEntityId,\n alias: data.alias,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $.bcToken.key = null;\n $.bcTree.jsTree.delete_node(node);\n // エイリアス削除\n var nodes = $.bcTree.jsTree.get_json(null, {flat: true});\n for (var i = 0; i < nodes.length; i++) {\n if (data.contentId == nodes[i].state.contentAliasId) {\n $.bcTree.jsTree.delete_node(nodes[i]);\n }\n }\n $.bcTree.refreshTree();\n $.bcUtil.hideLoader();\n },\n error: function (XMLHttpRequest) {\n $.bcToken.key = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage4, XMLHttpRequest);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * Copy Content\n *\n * @param parent\n * @param node\n */\n copyContent: function (parent, node) {\n var data = $.extend(true, {}, node.data.jstree);\n data.status = false;\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcTree.settings[data.contentType]['url']['copy'],\n type: 'POST',\n data: {\n content_id: data.contentId,\n entity_id: data.contentEntityId,\n title: data.contentTitle,\n parent_id: data.contentParentId,\n site_id: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcToken.key = null;\n $.bcTree.settings[data.contentType]['exists'] = true;\n $.bcTree.settings[data.contentType]['existsTitle'] = data.contentTitle;\n data.contentId = result.content.id;\n data.name = result.content.name;\n data.contentEntityId = result.content.entity_id;\n data.contentTitle = result.content.title;\n data.contentTitle = data.contentTitle.replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n $.ajax($.bcUtil.apiAdminBaseUrl + 'baser-core/contents/get_full_url/' + data.contentId + '.json', {\n type: 'GET',\n dataType: 'json'\n }).done(function (result) {\n data.contentFullUrl = result.fullUrl;\n var nodeId = $.bcTree.jsTree.create_node(parent, {\n text: data.contentTitle,\n data: {jstree: data}\n });\n var newNode = $.bcTree.jsTree.get_node(nodeId);\n newNode.data.jstree = data;\n if (data.contentType === 'ContentFolder') {\n newNode.type = 'folder'\n }\n $.bcUtil.hideLoader();\n $.bcTree.renameContent(newNode, data.contentTitle, true);\n });\n },\n error: function (XMLHttpRequest) {\n $.bcToken.key = null;\n $.bcUtil.showAjaxError(bcI18n.commonCopyFailedMessage, XMLHttpRequest);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * Rename Content\n *\n * @param node\n * @param defaultTitle 初期タイトル\n * @param first 新規登録時の初回リネームかどうか\n */\n renameContent: function (node, defaultTitle, first) {\n if (first === undefined) {\n first = false;\n }\n var oldTitle = defaultTitle;\n $.bcTree.jsTree.edit(node, oldTitle, function (editNode) {\n var newTitle = editNode.text;\n $.bcTree.jsTree.rename_node(editNode, newTitle);\n if (oldTitle === newTitle) {\n return false;\n }\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/rename.json',\n type: 'PATCH',\n dataType: 'json',\n data: {\n id: node.data.jstree.contentId,\n title: newTitle,\n first: +first, // 0 Or 1 に変換\n _csrfToken: $.bcToken.key,\n },\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n if (!result) {\n $.bcUtil.showNoticeMessage(result.message);\n }\n $.bcTree.settings[node.data.jstree.contentType]['existsTitle'] = editNode.text;\n editNode.data.jstree.contentFullUrl = result.url;\n editNode.data.jstree.name = result.name;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n $.bcTree.jsTree.rename_node(editNode, defaultTitle);\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage5, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n })\n }, {hideLoader: false});\n });\n },\n\n /**\n * Create Link\n *\n * @param base\n * @param contentParentId\n * @param contentEntityId\n * @returns string\n */\n createLink: function (base, contentId, contentParentId, contentEntityId) {\n var url = base;\n if (contentEntityId) {\n url += '/' + contentEntityId;\n }\n if (contentId) {\n url += '/content_id:' + contentId;\n }\n if (contentParentId) {\n url += '/parent_id:' + contentParentId;\n }\n return url;\n },\n\n /**\n * コンテンツを並び替える\n *\n * @param e\n * @param data\n */\n orderContent: function (e, data) {\n $.bcTree.changeNormalCursor();\n var cancel = false;\n var node = $.bcTree.jsTree.get_node(data.element);\n if (!node) {\n node = $.bcTree.dragTarget;\n }\n if (!node) {\n cancel = true;\n }\n var oldSort = node.data.jstree.sort;\n $.bcTree.refreshTree();\n var newSort = node.data.jstree.sort;\n var offset = newSort - oldSort;\n if (offset == 0) {\n if (!$.bcTree.dropTarget) {\n cancel = true;\n }\n if (node.data.jstree.contentParentId == $.bcTree.dropTarget.data.jstree.contentId) {\n cancel = true;\n }\n }\n\n if (cancel || !confirm(bcI18n.commonSortSaveConfirmMessage)) {\n // コンテンツを別のフォルダに移動するか、コンテンツを上から下に移動\n if (node.parent != $.bcTree.beforeParentId || offset >= 0) {\n $.bcTree.jsTree.move_node(node, $.bcTree.beforeParentId, $.bcTree.beforePosition);\n // コンテンツを下から上に移動\n } else {\n $.bcTree.jsTree.move_node(node, $.bcTree.beforeParentId, $.bcTree.beforePosition + 1);\n }\n $.bcTree.refreshTree();\n return false;\n }\n\n if ($.bcTree.dropTarget) {\n $.bcTree.jsTree.open_node($.bcTree.dropTarget);\n }\n\n var nextNode = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_next_dom(node, true));\n var targetId = null;\n if (nextNode) {\n targetId = nextNode.data.jstree.contentId;\n }\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/move.json',\n type: 'PATCH',\n data: {\n origin: {\n id: node.data.jstree.contentId,\n parentId: node.data.jstree.contentParentId,\n type: node.data.jstree.contentType,\n entityId: node.data.jstree.contentEntityId,\n },\n target: {\n id: targetId,\n parentId: $.bcTree.dropTarget.data.jstree.contentId,\n siteId: $.bcTree.dropTarget.data.jstree.contentSiteId,\n },\n listDisplayed: $.bcTree.listDisplayed,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.contentFullUrl = result.url;\n $.bcTree.refreshTree(true);\n node.data.jstree.contentParentId = $.bcTree.dropTarget.data.jstree.contentId;\n $.bcUtil.showNoticeMessage(result.message);\n $.bcUtil.hideLoader();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonSortSaveFailedMessage, XMLHttpRequest);\n $.bcTree.load();\n },\n complete: function () {\n }\n });\n }, {hideLoader: false});\n },\n\n /**\n * 外部よりメニューを表示する\n *\n * @param e\n * @returns {boolean}\n */\n showMenuByOuter: function (e) {\n $.bcTree.contextmenuAddOnly = true;\n var selected = $.bcTree.jsTree.get_selected();\n if (!selected.length) {\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_json());\n }\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n $.bcTree.contextmenuAddOnly = false;\n return false;\n },\n\n /**\n * Shift / Ctrl キーの押印状態を更新する\n *\n * @param e\n */\n updateShiftAndCtrlOnAnchor: function (e) {\n $.bcTree.shiftOnAnchor = e.shiftKey;\n $.bcTree.ctrlOnAnchor = (e.ctrlKey || e.metaKey);\n },\n\n changeDnDCursor: function () {\n $(\"#ContentsTreeList .jstree-wholerow\").css('cursor', 'move');\n $(\"#ContentsTreeList .jstree-anchor\").css('cursor', 'move');\n $(\"#ContentsTreeList .function\").css('cursor', 'move');\n $(\"#ContentsTreeList .jstree-ocl\").css('cursor', 'move');\n },\n\n changeNormalCursor: function () {\n $(\"#ContentsTreeList .jstree-wholerow\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .jstree-anchor\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .function\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .jstree-ocl\").css('cursor', 'pointer');\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n\n/**\n * サイドバーのコンテンツメニューを設定する\n */\nwindow.addEventListener('DOMContentLoaded', function () {\n\tvar componentId = 'AdminMenu';\n\tvar tmpl = document.querySelector('[data-js-tmpl=\"' + componentId + '\"]');\n\tvar dataStore = document.getElementById(componentId);\n\tvar data = null;\n\ttry {\n\t\tdata = JSON.parse(dataStore ? dataStore.textContent : '{}');\n\t} catch (error) {\n\t\tif (window.console) {\n\t\t\tconsole.warn('管理メニューのデータが破損しています(JSONデータが不正です)')\n\t\t}\n\t}\n\n\tif (tmpl && data && data.menuList && data.menuList.length) {\n\n\t\tvar contentList = [];\n\t\tvar systemList = [];\n\n\t\tdata.menuList.forEach(function (item, i) {\n\t\t\tif (item.type === 'system') {\n\t\t\t\t//item.menus = item.menus.filter(function (menu) { return menu.url !== item.url });\n\t\t\t\tsystemList.push(item);\n\t\t\t} else {\n\t\t\t\tcontentList.push(item);\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * for deubg\n\t\t */\n\t\t// console.log($.extend(true, {}, contentList));\n\t\t// console.log($.extend(true, {}, systemList));\n\n\t\ttmpl.hidden = false;\n\t\tvar isSystemSettingPage = systemList.some(function (item) { return (item.current || item.expanded); });\n\t\tvar app = new Vue({\n\t\t\tel: tmpl,\n\t\t\tdata: {\n\t\t\t\tsystemExpanded: isSystemSettingPage,\n\t\t\t\tbaseURL: $.baseUrl(),\n\t\t\t\tcurrentSiteId: data.currentSiteId,\n\t\t\t\tcontentList: contentList,\n\t\t\t\tisSystemSettingPage: isSystemSettingPage,\n\t\t\t\tsystemList: systemList,\n\t\t\t\tavailableVersions: null,\n\t\t\t\tuseUpdateNotice: data.useUpdateNotice\n\t\t\t},\n mounted() {\n if(!this.useUpdateNotice) return;\n $.get($.bcUtil.apiAdminBaseUrl + 'baser-core/plugins/get_available_core_version_info.json', function (response){\n if(response.availableCoreVersionInfo !== undefined) {\n app.availableVersions = response.availableCoreVersionInfo.versions.length;\n }\n });\n },\n\t\t\tmethods: {\n\t\t\t\topenSystem () {\n\t\t\t\t\tapp.systemExpanded = !app.systemExpanded;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t} else {\n\n\t\tif (window.console) {\n\t\t\tconsole.warn('データが空のため、管理メニューは表示されませんでした');\n\t\t}\n\n\t}\n\n});\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\nimport Cookies from 'js-cookie'\n\n(function ($) {\n $.bcUtil = {\n /**\n * hideMessage() を無効にする\n */\n disabledHideMessage: false,\n\n\n /**\n * ベースとなるURL\n */\n baseUrl: null,\n\n /**\n * BaserCoreプレフィックス\n */\n baserCorePrefix: null,\n\n /**\n * 管理画面用URLプレフィックス\n */\n adminPrefix: null,\n\n /**\n * 管理画面用のベースURL\n */\n adminBaseUrl: null,\n\n /**\n * API用のベースURL\n */\n apiBaseUrl: null,\n\n /**\n * 管理画面用APIのベースURL\n */\n apiAdminBaseUrl: null,\n\n /**\n * Ajaxローダーのパス\n */\n ajaxLoaderPath: null,\n\n /**\n * Ajaxローダー(小)のパス\n */\n ajaxLoaderSmallPath: null,\n\n /**\n * 初期化\n *\n * @param config\n */\n init: function (config) {\n if(config === undefined) config = {};\n var adminScript = $(\"#AdminScript\");\n $.bcUtil.baseUrl = adminScript.attr('data-baseUrl');\n $.bcUtil.baserCorePrefix = adminScript.attr('data-baserCorePrefix');\n $.bcUtil.adminPrefix = adminScript.attr('data-adminPrefix');\n $.bcUtil.ajaxLoaderPath = adminScript.attr('data-ajaxLoaderPath');\n $.bcUtil.ajaxLoaderSmallPath = adminScript.attr('data-ajaxLoaderSmallPath');\n $.bcUtil.frontFullUrl = adminScript.attr('data-frontFullUrl');\n if (config.baseUrl !== undefined) {\n $.bcUtil.baseUrl = config.baseUrl;\n }\n if (config.baserCorePrefix !== undefined) {\n $.bcUtil.baserCorePrefix = config.baserCorePrefix;\n }\n if (config.adminPrefix !== undefined) {\n $.bcUtil.adminPrefix = config.adminPrefix;\n }\n if (config.ajaxLoaderPath !== undefined) {\n $.bcUtil.ajaxLoaderPath = config.ajaxLoaderPath;\n }\n if (config.ajaxLoaderSmallPath !== undefined) {\n $.bcUtil.ajaxLoaderSmallPath = config.ajaxLoaderSmallPath;\n }\n $.bcUtil.adminBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/' + $.bcUtil.adminPrefix + '/';\n $.bcUtil.apiBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/api/';\n $.bcUtil.apiAdminBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/api/admin/';\n this.setUpTextCounter();\n },\n\n /**\n * アラートメッセージを表示\n *\n * @param message\n */\n showAlertMessage: function (message) {\n $.bcUtil.hideMessage();\n $(\"#BcSystemMessage\")\n .removeClass('notice-messge alert-message')\n .addClass('alert-message')\n .html(message);\n $(\"#BcMessageBox\").fadeIn(500);\n },\n\n /**\n * ノーティスメッセージを表示\n *\n * @param message\n */\n showNoticeMessage: function (message) {\n $.bcUtil.hideMessage();\n $(\"#BcSystemMessage\")\n .removeClass('notice-messge alert-message')\n .addClass('notice-message')\n .html(message);\n $(\"#BcMessageBox\").fadeIn(500);\n },\n\n /**\n * メッセージを隠す\n */\n hideMessage: function () {\n if (!$.bcUtil.disabledHideMessage) {\n $(\"#BcMessageBox\").fadeOut(200);\n $(\"#AlertMessage\").fadeOut(200);\n $(\"#MessageBox\").fadeOut(200);\n }\n },\n\n /**\n * ローダーを表示\n */\n showLoader: function (type, selector, key) {\n if (type == undefined || (type != 'none' && selector == undefined)) {\n type = 'over';\n }\n switch (type) {\n case 'over':\n $(\"#Waiting\").show();\n break;\n case 'inner':\n var div = $('
').css({'text-align': 'center'}).attr('id', key);\n var img = $('').attr('src', $.bcUtil.ajaxLoaderPath);\n div.html(img);\n $(selector).html(div);\n break;\n case 'after':\n var img = $('').attr('src', $.bcUtil.ajaxLoaderSmallPath).attr('id', key).css({\n 'width':'16px',\n 'vertical-align': 'middle',\n 'margin':'5px'\n });\n $(selector).after(img);\n break;\n case 'target':\n $(selector).show();\n break;\n case 'none':\n break;\n }\n },\n\n /**\n * ローダーを隠す\n */\n hideLoader: function (type, selector, key) {\n if (type == undefined || (type != 'none' && selector == undefined)) {\n type = 'over';\n }\n switch (type) {\n case 'over':\n $(\"#Waiting\").hide();\n break;\n case 'inner':\n $(\"#\" + key).remove();\n break;\n case 'after':\n $(\"#\" + key).remove();\n break;\n case 'target':\n $(selector).show();\n break;\n case 'none':\n break;\n }\n },\n\n /**\n * Ajax\n */\n ajax: function (url, success, config) {\n if (!config) {\n config = {};\n }\n var loaderType, loaderSelector, loaderKey;\n var hideLoader = true;\n if (typeof config.loaderType !== 'undefined') {\n loaderType = config.loaderType;\n delete config.loaderType;\n }\n if (typeof config.loaderSelector !== 'undefined') {\n loaderSelector = config.loaderSelector;\n delete config.loaderSelector;\n loaderKey = loaderSelector.replace(/\\./g, '').replace(/#/g, '').replace(/\\s/g, '') + 'loaderkey';\n }\n if (typeof config.hideLoader !== 'undefined') {\n hideLoader = config.hideLoader;\n delete config.loaderType;\n }\n var ajaxConfig = {\n url: url,\n type: 'POST',\n dataType: 'html',\n beforeSend: function () {\n $.bcUtil.showLoader(loaderType, loaderSelector, loaderKey);\n },\n complete: function () {\n if (hideLoader) {\n $.bcUtil.hideLoader(loaderType, loaderSelector, loaderKey);\n }\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n $.bcUtil.showAjaxError(bcI18n.commonExecFailedMessage, XMLHttpRequest, errorThrown);\n },\n success: success\n };\n if (config) {\n $.extend(ajaxConfig, config);\n }\n return $.ajax(ajaxConfig);\n },\n\n /**\n * Ajax のエラーメッセージを表示\n *\n * @param XMLHttpRequest\n * @param errorThrown\n * @param message\n */\n showAjaxError: function (message, XMLHttpRequest, errorThrown) {\n var errorMessage = '';\n if (XMLHttpRequest !== undefined && XMLHttpRequest.status) {\n errorMessage = '
(' + XMLHttpRequest.status + ') ';\n }\n if(XMLHttpRequest !== undefined && XMLHttpRequest.responseJSON){\n errorMessage += XMLHttpRequest.responseJSON.message;\n }\n if (XMLHttpRequest !== undefined && XMLHttpRequest.responseText) {\n errorMessage += '
' + XMLHttpRequest.responseText;\n } else if (errorThrown !== undefined) {\n errorMessage += '
' + errorThrown;\n }\n $.bcUtil.showAlertMessage(message + errorMessage);\n },\n\n /**\n * APIのエラーメッセージを表示\n * @param response\n */\n showApiError: function (response) {\n let message = response.responseJSON.message;\n let errors = response.responseJSON.errors;\n if(errors !== undefined) {\n message += \"
\";\n Object.keys(errors).forEach(function (key) {\n message += \"
    \"\n Object.keys(errors[key]).forEach(function (index) {\n message += \"
  • \" + errors[key][index] + \"
  • \";\n });\n message += \"
\"\n });\n }\n $.bcUtil.showAlertMessage(message);\n },\n\n /**\n * フラッシュメッセージをセットする\n *\n * 一度しか表示できないメッセージ\n * @param message\n */\n setFlashMessage: function(message) {\n Cookies.set('bcFlashMessage', message);\n },\n\n /**\n * フラッシュメッセージを表示する\n *\n * 一度表示したら削除する\n */\n showFlashMessage: function () {\n let message = Cookies.get('bcFlashMessage');\n if(message !== undefined) {\n this.showNoticeMessage(message);\n Cookies.remove('bcFlashMessage')\n }\n },\n\n /**\n * ツールチップを初期化する\n *\n * @param config\n */\n initTooltip: function(config) {\n let btConfig = {\n target: '.bca-help',\n content: '.bca-helptext'\n };\n if(config !== undefined) {\n $.extend(btConfig, config);\n }\n let $help = $(btConfig.target);\n if ($help.bt) {\n $(btConfig.content).css('display', 'none');\n $.bt.options.closeWhenOthersOpen = true;\n $help.bt({\n trigger: 'click',\n positions: 'top',\n shadow: true,\n shadowOffsetX: 1,\n shadowOffsetY: 1,\n shadowBlur: 8,\n shadowColor: 'rgba(101,101,101,.6)',\n shadowOverlap: false,\n noShadowOpts: {\n strokeStyle: '#999',\n strokeWidth: 1\n },\n width: '600px',\n /*shrinkToFit: true,*/\n spikeLength: 12,\n spikeGirth: 18,\n padding: 20,\n cornerRadius: 0,\n strokeWidth: 1, /*no stroke*/\n strokeStyle: '#656565',\n fill: 'rgba(255, 255, 255, 1.00)',\n cssStyles: {\n fontSize: '14px'\n },\n showTip: function (box) {\n $(box).fadeIn(200);\n },\n hideTip: function (box, callback) {\n $(box).animate({\n opacity: 0\n }, 100, callback);\n },\n contentSelector: `$(this).next('${btConfig.content}').html()`\n });\n }\n },\n\n /**\n * テキストカウンターをセットアップする\n */\n setUpTextCounter(selector) {\n if(selector === undefined) {\n selector = \".bca-text-counter\";\n }\n const $textCounter = $(selector);\n $textCounter.after('');\n $textCounter.keyup(function (){\n var len = $(this).val().length;\n var maxlen = $(this).attr('maxlength');\n if(!maxlen || maxlen === -1){\n maxlen = '-';\n }\n $(this).next().html(len+' /'+maxlen+'');\n });\n $textCounter.keyup();\n },\n\n };\n})(jQuery);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 3207;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3207: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(2670)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","$","baseUrl","attr","jQuery","changeRow","checkbox","undefined","parent","addClass","removeClass","toolChangeHandler","config","bcBatch","methodSelect","val","executeButton","removeAttr","prop","batchUrl","listTable","checkAll","targetCheckbox","alertBox","loader","flashBox","init","extend","this","initList","unbind","click","length","alert","bcI18n","commonSelectDataFailedMessage","confirm","batchConfirmMessage","form","append","clone","each","value","bcToken","check","key","ajax","url","type","data","serialize","dataType","beforeSend","bcUtil","hideMessage","showLoader","success","result","setFlashMessage","message","location","reload","error","XMLHttpRequest","textStatus","errorThrown","errorMessage","status","commonNotFoundProgramMessage","responseText","JSON","parse","remove","showAlertMessage","commonBatchExecFailedMessage","hideLoader","useUpdate","change","find","e","stopPropagation","initRowSelected","bcCkeditor","editor","initStatus","styleInitStatus","show","setUpConfig","CKEDITOR","addStylesSet","initialStyle","editorStyle","map","themeEditorCsses","css","Array","isArray","contentsCss","push","ckeditorField","replace","editorDomId","editorOptions","setUpDraft","setUpToolBar","allowedContent","extraPlugins","stylesCombo_stylesSet","editorStylesSet","protectedSource","dtd","$removeEmpty","editorUrl","templates_files","editorEnterBr","enterMode","ENTER_BR","editorUseDraft","on","draftAreaId","draftDraftAreaId","publishAreaId","draftPublishAreaId","editorReadonlyPublish","draftReadOnlyPublish","editorDisableDraft","execCommand","editorDisablePublish","name","concat","previewModeId","_this","getCommand","uiItems","state","hide","bcConfirm","title","bcConfirmTitle1","bcConfirmAlertMessage1","defaultCancel","ok","html","dialog","modal","width","buttons","bcConfirmAlertMessage2","bcCredit","adminBaseUrl","hideTarget","isLogin","$html","$page","$credit","openedFavorite","prepend","$creditScroller","fadeIn","fadeOut","setViewSize","window","resize","resizeScroll","height","posX","id","setInterval","clearInterval","clearTimeout","event","cancelBubble","$toolBar","outerHeight","$body","bcJwt","accessToken","refreshToken","localStorage","getItem","getToken","login","email","password","saved","successCallback","errorCallback","apiAdminBaseUrl","done","response","setToken","access_token","refresh_token","bind","fail","async","headers","setItem","logout","removeToken","bcSortable","updateSortUrl","sortHandle","sortTable","sortable","sortableOptions","scroll","items","opacity","zIndex","containment","tolerance","distance","cursor","handle","placeholder","revert","start","sortStartHandler","update","sortUpdateHandler","ui","item","target","offset","index","sortId","sortOffset","getHiddenToken","i","v","complete","bcTimeUtil","getNowDateTime","getNowDate","getNowTime","date","Date","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","requested","requesting","defaultUrl","setTokenUrl","callback","timer","execCallback","_config","loaderType","always","getForm","options","fields","unlocked","debug","submitToken","submit","replaceLinkToSubmitToken","selector","match","get","onclick","postLinkForm","bcTree","shiftOnAnchor","ctrlOnAnchor","contextmenuAddOnly","settings","dropTarget","dragTarget","treeDom","jsTree","listDisplayed","beforeParentId","beforePosition","currentSiteId","isAdmin","isUseMoveContents","adminPrefix","editInIndexDisabled","_inited","load","_init","trigger","parseJSON","createTree","jstree","old_parent","old_position","updateShiftAndCtrlOnAnchor","nodeId","closest","get_node","alias","contentType","editDisabled","openUrl","contentId","createLink","baserCorePrefix","contentParentId","contentEntityId","isAliasMenuByLabel","trim","text","after","isAddMenuByLabel","refreshTree","destroy","operation","node","node_parent","node_position","more","contentSiteRoot","mode","get_parent","manageDisabled","editUrl","manageUrl","copyUrl","isEnabled","deleteLabel","menu","contentFullUrl","label","bcTreeCheck","obj","related","bcTreeUnpublish","siteId","contentSiteId","_csrfToken","showAjaxError","commonChangePublishFailedMessage","bcTreePublish","bcTreeManage","bcTreeRename","renameContent","bcTreeEdit","bcTreeCopy","copyContent","bcTreeDelete","bcTreeToTrash","deleteDisabled","bcTreeConfirmToTrash","bcTreeConfirmDeleteAlias","deleteContent","_disabled","bcTreeUndo","contentAliasId","exists","returnContent","bcTreeAlertMessage1","bcTreeEmptyTrash","bcTreeConfirmMessage1","empty","nodes","delete_node","showNoticeMessage","bcTreeInfoMessage1","bcTreeAlertMessage2","Default","ContentAlias","addMenu","counter","maxContents","addDisabled","createMenu","get_selected","multiple","disableCheck","treeData","get_json","flat","sort","decodeURIComponent","deselect_all","select_node","show_contextmenu","pageX","pageY","forceBlank","open","href","setting","current","iconAdd","iconMenu","contentTitle","bcTreeNewTitle","sprintf","contentPlugin","plugin","icon","separatorBefore","separatorAfter","bcTreeAliasTitle","separator_before","separator_after","action","createContent","_data","bcTreeUnNamedTitle","create_node","edit","editNode","content","parent_id","site_id","alias_id","entity_id","fillExtraData","bcTreeAlertMessage6","then","decodeURI","fullUrl","postData","settingData","extra","folder_template","page_template","contents","draft","code","encodeURI","param","bcTreeAlertMessage4","content_id","newNode","commonCopyFailedMessage","defaultTitle","first","oldTitle","newTitle","rename_node","bcTreeAlertMessage5","base","orderContent","changeNormalCursor","cancel","element","oldSort","commonSortSaveConfirmMessage","move_node","open_node","nextNode","get_next_dom","targetId","origin","parentId","entityId","commonSortSaveFailedMessage","showMenuByOuter","shiftKey","ctrlKey","metaKey","changeDnDCursor","addEventListener","componentId","tmpl","document","querySelector","dataStore","getElementById","textContent","console","warn","menuList","contentList","systemList","forEach","hidden","isSystemSettingPage","some","expanded","app","Vue","el","systemExpanded","baseURL","availableVersions","useUpdateNotice","mounted","availableCoreVersionInfo","versions","methods","openSystem","disabledHideMessage","apiBaseUrl","ajaxLoaderPath","ajaxLoaderSmallPath","adminScript","frontFullUrl","setUpTextCounter","div","img","loaderSelector","loaderKey","ajaxConfig","commonExecFailedMessage","responseJSON","showApiError","errors","Object","keys","Cookies","set","showFlashMessage","initTooltip","btConfig","$help","bt","closeWhenOthersOpen","positions","shadow","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","shadowOverlap","noShadowOpts","strokeStyle","strokeWidth","spikeLength","spikeGirth","padding","cornerRadius","fill","cssStyles","fontSize","showTip","box","hideTip","animate","contentSelector","$textCounter","keyup","len","maxlen","next","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/admin/common.bundle.js","mappings":"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","sources":["webpack://bc-admin-third/webpack/runtime/chunk loaded","webpack://bc-admin-third/./src/js/admin/_lib/jquery.baseUrl.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcBatch.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcCkeditor.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcConfirm.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcCredit.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcJwt.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcSortable.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcTimeUtil.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcToken.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcTree.js","webpack://bc-admin-third/./src/js/admin/_module/sidebar.js","webpack://bc-admin-third/./src/js/admin/_lib/jquery.bcUtil.js","webpack://bc-admin-third/webpack/bootstrap","webpack://bc-admin-third/webpack/runtime/define property getters","webpack://bc-admin-third/webpack/runtime/global","webpack://bc-admin-third/webpack/runtime/hasOwnProperty shorthand","webpack://bc-admin-third/webpack/runtime/make namespace object","webpack://bc-admin-third/webpack/runtime/runtimeId","webpack://bc-admin-third/webpack/runtime/jsonp chunk loading","webpack://bc-admin-third/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * baseUrl プラグイン\n */\n(function( $ ){\n $.baseUrl = function() {\n return $(\"#AdminScript\").attr('data-baseUrl');\n };\n})( jQuery );\n\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcBatch プラグイン\n */\n\n(function ($) {\n $.bcBatch = {\n /**\n * 初期値\n */\n config: {\n batchUrl: '',\n listTable: '#ListTable',\n executeButton: '#BtnApplyBatch',\n methodSelect: '#batch',\n checkAll: '#checkall',\n targetCheckbox: '.batch-targets',\n alertBox: '#AlertMessage',\n loader: '#Waiting',\n flashBox: '#flashMessage'\n },\n /**\n * 初期化\n */\n init: function (config) {\n if (config) {\n $.extend($.bcBatch.config, config);\n }\n this.initList();\n return this;\n },\n /**\n * リストの初期化\n */\n initList: function () {\n\n var config = $.bcBatch.config;\n\n // イベント削除\n $($.bcBatch.config.executeButton).unbind();\n $($.bcBatch.config.methodSelect).unbind();\n $(config.listTable + \" \" + config.targetCheckbox).unbind();\n $(config.checkAll).unbind();\n\n // イベント登録\n $($.bcBatch.config.executeButton).click(function () {\n if (!$(config.targetCheckbox + \":checked\").length) {\n alert(bcI18n.commonSelectDataFailedMessage);\n return false;\n }\n\n if (!confirm(bcI18n.batchConfirmMessage)) {\n return false;\n }\n\n var form = $('').append($(config.methodSelect).clone().val($(config.methodSelect).val()));\n $(config.targetCheckbox + \":checked\").each(function(){\n var value = $(this).attr('value');\n if(value) {\n form.append($('').val(value));\n }\n });\n\n $.bcToken.check(function () {\n form.append($('').val($.bcToken.key));\n return $.ajax({\n url: config.batchUrl,\n type: 'POST',\n data: form.serialize(),\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.setFlashMessage(result.message);\n location.reload();\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n $.bcToken.key = null;\n var errorMessage = '';\n if (XMLHttpRequest.status === 404) {\n errorMessage = '
' + bcI18n.commonNotFoundProgramMessage;\n } else {\n if (XMLHttpRequest.responseText && XMLHttpRequest.responseText !== 'null') {\n errorMessage = '
' + JSON.parse(XMLHttpRequest.responseText).message;\n } else {\n errorMessage = '
' + errorThrown;\n }\n }\n form.remove();\n $.bcUtil.showAlertMessage(bcI18n.commonBatchExecFailedMessage + '(' + XMLHttpRequest.status + ')' + errorMessage);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n return false;\n });\n\n\n $($.bcBatch.config.methodSelect).change(toolChangeHandler);\n\n $(config.listTable + \" tbody td\").click(function () {\n var checkbox = $(this).parent().find(config.targetCheckbox);\n if (!checkbox.prop('checked')) {\n checkbox.prop('checked', true);\n } else {\n checkbox.prop('checked', false);\n }\n changeRow(checkbox);\n return false;\n });\n\n $(config.listTable + \" tbody td a\").click(function (e) {\n if ($(this).attr('rel') !== 'colorbox') {\n e.stopPropagation();\n }\n });\n\n $(config.listTable + \" \" + config.targetCheckbox).click(function (e) {\n e.stopPropagation();\n });\n\n $(config.listTable + \" \" + config.targetCheckbox).change(function () {\n changeRow($(this));\n });\n\n $(config.checkAll).change(function () {\n if ($(this).prop('checked')) {\n $(config.listTable + \" \" + config.targetCheckbox).prop('checked', true);\n } else {\n $(config.listTable + \" \" + config.targetCheckbox).prop('checked', false);\n }\n $.bcBatch.initRowSelected();\n });\n\n toolChangeHandler();\n $.bcBatch.initRowSelected();\n\n },\n /**\n * 行の選択状態を初期化\n */\n initRowSelected: function () {\n var config = $.bcBatch.config;\n $(config.listTable + \" \" + config.targetCheckbox).each(function () {\n if ($(this).prop('checked')) {\n $(this).parent().parent().addClass('selectedrow');\n } else {\n $(this).parent().parent().removeClass('selectedrow');\n }\n });\n }\n\n };\n\n /**\n * バッチ処理ドロップダウン変更時イベント\n */\n function toolChangeHandler() {\n var config = $.bcBatch.config;\n if ($(config.methodSelect).val()) {\n $(config.executeButton).removeAttr('disabled');\n } else {\n $(config.executeButton).prop('disabled', true);\n }\n }\n})(jQuery);\n\nfunction changeRow(checkbox) {\n if (checkbox.attr('checked') !== undefined) {\n $(checkbox).parent().parent().addClass('selectedrow');\n } else {\n $(checkbox).parent().parent().removeClass('selectedrow');\n }\n}\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * bcCkeditor プラグイン\n */\n(function ($) {\n $.bcCkeditor = {\n\n /**\n * editor\n */\n editor: {},\n\n /**\n * 初期化チェックフラグ\n */\n initStatus: false,\n\n /**\n * スタイル初期化チェックフラグ\n */\n styleInitStatus: false,\n\n /**\n * エディタを表示する\n * @param config\n */\n show: function (config) {\n this.setUpConfig(config);\n if (!this.initStatus) {\n CKEDITOR.addStylesSet('basercms', config.initialStyle);\n this.initStatus = true;\n }\n if (!this.styleInitStatus && config.editorStyle.length) {\n this.editorStyle.map((editor, key) => CKEDITOR.addStylesSet(key, editor));\n this.styleInitStatus = true;\n }\n config.themeEditorCsses.map((css) => {\n if (Array.isArray(CKEDITOR.config.contentsCss)) {\n CKEDITOR.config.contentsCss.push(css);\n }\n });\n this.editor[config.ckeditorField] = CKEDITOR.replace(config.editorDomId, config.editorOptions);\n this.setUpDraft(config);\n this.setUpToolBar(config);\n },\n\n /**\n * 基本設定\n * @param config\n */\n setUpConfig: function (config) {\n CKEDITOR.config.allowedContent = true;\n CKEDITOR.config.extraPlugins = 'draft,showprotected';\n CKEDITOR.config.stylesCombo_stylesSet = config.editorStylesSet;\n CKEDITOR.config.protectedSource.push(/<\\?[\\s\\S]*?\\?>/g);\n // 空「i」タグを消さないようにする\n CKEDITOR.dtd.$removeEmpty[\"i\"] = false;\n // 空「span」タグを消さないようにする\n CKEDITOR.dtd.$removeEmpty[\"span\"] = false;\n if (config.editorUrl) {\n CKEDITOR.config.templates_files = [config.editorUrl];\n }\n if (config.editorEnterBr) {\n CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;\n }\n // 複数入ることを前提に配列型に変更\n if (typeof CKEDITOR.config.contentsCss === 'string') {\n CKEDITOR.config.contentsCss = [CKEDITOR.config.contentsCss];\n }\n },\n\n /**\n * 下書き設定\n * @param config\n */\n setUpDraft: function(config)\n {\n if (!config.editorUseDraft) return;\n this.editor[config.ckeditorField].on('pluginsLoaded', function () {\n if (config.editorUseDraft) {\n if (config.draftAreaId) {\n this.draftDraftAreaId = config.draftAreaId;\n }\n if (config.publishAreaId) {\n this.draftPublishAreaId = config.publishAreaId;\n }\n if (config.editorReadonlyPublish) {\n this.draftReadOnlyPublish = true;\n }\n }\n });\n this.editor[config.ckeditorField].on('instanceReady', function () {\n if (config.editorDisableDraft) {\n this.execCommand('changePublish');\n this.execCommand('disableDraft');\n }\n if (config.editorDisablePublish) {\n this.execCommand('changeDraft');\n this.execCommand('disablePublish');\n }\n this.on('beforeCommandExec', function (e) {\n if (e.data.name === 'changePublish' || e.data.name === 'copyPublish') {\n $(`#${config.previewModeId}`).val('default');\n } else if (e.data.name === 'changeDraft' || e.data.name === 'copyDraft') {\n $(`#${config.previewModeId}`).val('draft');\n }\n });\n });\n },\n\n /**\n * ツールバー設定\n * @param config\n */\n setUpToolBar: function(config)\n {\n this.editor[config.ckeditorField].on('instanceReady', function () {\n if (this.getCommand('maximize').uiItems.length > 0) {\n // ツールバーの表示を切り替え\n this.getCommand('maximize').on('state', () => {\n if (this.state === 1) {\n $(\"#ToolBar\").hide();\n } else {\n $(\"#ToolBar\").show();\n }\n });\n }\n });\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcConfirm\n */\n\n(function ($) {\n $.bcConfirm = {\n config: {\n title: bcI18n.bcConfirmTitle1,\n message: bcI18n.bcConfirmAlertMessage1,\n defaultCancel: true,\n ok: null\n },\n show: function (config) {\n $.extend($.bcConfirm.config, config);\n var message = $(\"
\").html($.bcConfirm.config.message);\n message.dialog({\n modal: true,\n title: $.bcConfirm.config.title,\n width: '50%',\n buttons: {\n \"キャンセル\": function () {\n $(this).dialog(\"close\");\n },\n \"OK\": function () {\n $(this).dialog(\"close\");\n if (typeof ($.bcConfirm.config.ok) == 'function') {\n $.bcConfirm.config.ok();\n } else {\n alert(bcI18n.bcConfirmAlertMessage2);\n }\n }\n }\n });\n }\n };\n})(jQuery);\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 2.0.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * bcCredit\n */\n\n(function ($) {\n $.bcCredit = {\n show: function () {\n $.ajax({\n url: $.bcUtil.adminBaseUrl + 'baser-core/utilities/credit',\n type: \"GET\",\n success: function (result) {\n let hideTarget;\n let isLogin = false;\n let $html = $(\"html\");\n let $page = $(\"#Page\");\n let $credit = $(\"#Credit\");\n if ($(\"#SideBar\").css('display') === 'none') {\n openedFavorite = false;\n hideTarget = \"#Contents\";\n } else {\n openedFavorite = true;\n hideTarget = \"#Contents, #SideBar\";\n }\n if ($credit.length) {\n isLogin = true;\n $credit.remove();\n }\n\n if ($html.css('margin-top') !== '0px') {\n $html.prepend(result);\n } else {\n $page.prepend(result);\n }\n // 再度読み込み直す\n $credit = $(\"#Credit\");\n let $creditScroller = $(\"#CreditScroller\");\n\n if (isLogin) {\n $credit.show();\n } else {\n $credit.fadeIn(1000);\n }\n $page.css('overflow', 'hidden');\n if (!isLogin) {\n $(\"#Footer\").fadeOut(500);\n $(hideTarget).fadeOut(500, function () {\n $(\"#Footer\").fadeIn(2000);\n $.bcCredit.setViewSize();\n });\n }\n $creditScroller.fadeIn(1000);\n\n //リサイズイベント\n $(window).resize(function () {\n $.bcCredit.resizeScroll();\n });\n\n var scrollSpeed = 1;\n var height = $creditScroller.height();\n var posX = $(window).height();\n var id = setInterval(function () {\n if (posX < -height + $(window).height() / 2) {\n clearInterval(id);\n }\n posX -= scrollSpeed;\n $creditScroller.css(\"margin-top\", posX + \"px\");\n }, 40);\n\n $credit.click(function () {\n clearTimeout(id);\n $credit.fadeOut(1000, function () {\n $credit.remove();\n });\n if ($('#Login').length > 0) {\n hideTarget = \"\";\n $(\"#Wrap\").css('height', '280px');\n $(\"#LoginInner\").css('color', '#333');\n } else {\n $(\"#Wrap\").css('height', 'auto');\n if (!openedFavorite) {\n hideTarget = \"#Contents\";\n } else {\n hideTarget = \"#Contents, #SideBar\";\n }\n $(hideTarget).fadeIn(1000);\n }\n $page.css('height', 'auto').css('overflow', 'auto');\n });\n\n $(\"#CreditScrollerInner\").click(function (e) {\n if (e && e.stopPropagation) {\n e.stopPropagation();\n } else {\n window.event.cancelBubble = true;\n }\n });\n }\n });\n },\n\n /**\n * 表示領域を設定\n */\n setViewSize: function(){\n let $toolBar = $(\"#ToolBar\");\n let $credit = $(\"#Credit\");\n let $page = $(\"#Page\");\n let $html = $(\"html\");\n $(\"#Wrap\").css('height', '280px');\n $html.height($html.height() - $toolBar.outerHeight() * 1);\n $credit.height($page.height() + $toolBar.outerHeight() * 1);\n $credit.width($page.width());\n },\n\n /**\n * スクロールバーを非表示に\n */\n resizeScroll: function(){\n let $toolBar = $(\"#ToolBar\");\n let $credit = $(\"#Credit\");\n let $page = $(\"#Page\");\n let $html = $(\"html\");\n let $body = $(\"body\");\n $html.height($html.height() - $toolBar.outerHeight() * 1);\n $body.height($body.height() - $toolBar.outerHeight() * 1);\n $credit.width($page.width());\n $credit.height($page.height() + $toolBar.outerHeight() * 1);\n }\n };\n})(jQuery);\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n $.bcJwt = {\n\n /**\n * Access Token\n */\n accessToken: null,\n\n /**\n * Init\n */\n init: function() {\n let refreshToken = localStorage.getItem('refreshToken');\n if(refreshToken && refreshToken !== 'null') {\n this.getToken(refreshToken)\n }\n },\n\n /**\n * Login\n */\n login: function (email, password, saved, successCallback, errorCallback) {\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/users/login.json',\n type: 'post',\n data: {\n email: email,\n password: password,\n saved: (saved !== undefined && saved)? 1 : ''\n },\n dataType: 'json'\n }).done(function (response) {\n if (response) {\n this.setToken(response.access_token, response.refresh_token)\n if(successCallback) {\n successCallback(response);\n }\n }\n }.bind(this)).fail(function () {\n if(errorCallback) {\n errorCallback()\n }\n })\n },\n\n /**\n * Get Token\n * @param refreshToken\n */\n getToken: function (refreshToken) {\n if(!refreshToken) {\n return\n }\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/users/refresh_token.json',\n type: 'get',\n async: false,\n headers: {\n \"Authorization\": refreshToken,\n 'Content-Type': 'application/json'\n },\n dataType: 'json',\n }).done(function (response) {\n if (response) {\n this.setToken(response.access_token, response.refresh_token)\n } else {\n alert('APIトークンが取得できませんでした。ブラウザをリロードしてください。')\n }\n }.bind(this)).fail(function(error){\n if (error.status === 401) {\n localStorage.setItem('refreshToken', '')\n }\n })\n },\n\n /**\n * Set Token\n * @param accessToken\n * @param refreshToken\n */\n setToken: function (accessToken, refreshToken) {\n this.accessToken = accessToken\n localStorage.setItem('refreshToken', refreshToken);\n },\n\n /**\n * Logout\n */\n logout: function () {\n this.removeToken()\n },\n\n /**\n * Remove Token\n */\n removeToken: function () {\n localStorage.setItem('refreshToken', null);\n this.accessToken = null\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n\n $.bcSortable = {\n updateSortUrl : null,\n init: function (config) {\n this.updateSortUrl = config.updateSortUrl\n var sortHandle = $(\".sort-handle\");\n var sortTable = $(\".sort-table\");\n // イベント削除\n sortHandle.unbind();\n // 初期化されてない場合にメソッドを実行すると処理が止まってしまう為 try を利用\n try {\n $(sortTable).sortable(\"destroy\");\n } catch (e) {\n }\n // イベント登録\n var sortableOptions = {\n scroll: true,\n items: \"tr.sortable\",\n opacity: 1,\n zIndex: 55,\n containment: 'body',\n tolerance: 'pointer',\n distance: 5,\n cursor: 'move',\n handle: \".sort-handle\",\n placeholder: 'ui-sortable-placeholder',\n revert: 100,\n start: this.sortStartHandler,\n update: this.sortUpdateHandler\n };\n sortHandle.css('cursor', 'move');\n sortTable.sortable(sortableOptions);\n sortHandle.click(function (e) {\n e.stopPropagation();\n });\n },\n\n /**\n * 並び替え開始時イベント\n */\n sortStartHandler: function (event, ui) {\n var placeholder = $(\".ui-sortable-placeholder\");\n placeholder.css('height', ui.item.height());\n },\n\n /**\n * 並び順を更新時イベント\n */\n sortUpdateHandler: function (event, ui) {\n var target = ui.item;\n var targetNum = $(\".sort-table\" + \" \" + \"tr.sortable\").index(target) + 1;\n var sourceNum = target.attr('id').replace('Row', '');\n var offset = targetNum - sourceNum;\n var sortTable = $(\".sort-table\");\n var form = $('').hide();\n var sortId = $('').attr('type', 'hidden').attr('name', 'id').val(target.find('.id').val());\n var sortOffset = $('').attr('type', 'hidden').attr('name', 'offset').val(offset);\n form.append(sortId).append(sortOffset);\n\n $.bcToken.check(function () {\n form.append($.bcToken.getHiddenToken());\n var data = form.serialize();\n form.find('input[name=\"_csrfToken\"]').remove();\n return $.ajax({\n url: $.bcSortable.updateSortUrl,\n type: 'POST',\n data: data,\n dataType: 'text',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function () {\n sortTable.find(\"tr.sortable\").each(function (i, v) {\n $(this).attr('id', 'Row' + (i + 1));\n });\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n var errorMessage = '';\n if (XMLHttpRequest.status === 404) {\n errorMessage = '
' + bcI18n.commonNotFoundProgramMessage;\n } else {\n if (XMLHttpRequest.responseText) {\n errorMessage = '
' + JSON.parse(XMLHttpRequest.responseText).message;\n } else {\n errorMessage = '
' + errorThrown;\n }\n }\n sortTable.sortable(\"cancel\");\n $.bcUtil.showAlertMessage(bcI18n.commonBatchExecFailedMessage + '(' + XMLHttpRequest.status + ')' + errorMessage)\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n };\n\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n(function ($) {\n $.bcTimeUtil = {\n\n /**\n * 現在の日時を文字列で取得する\n *\n * @returns {string}\n */\n getNowDateTime : function () {\n return $.bcTimeUtil.getNowDate() + ' ' + $.bcTimeUtil.getNowTime();\n },\n\n /**\n * 現在の日付を文字列で取得する\n *\n * @returns {string}\n */\n getNowDate : function () {\n var date = new Date();\n var year = date.getFullYear();\n var month = date.getMonth() + 1;\n var day = date.getDate();\n if (month < 10) month = '0' + month;\n if (day < 10) day = '0' + day;\n return year + '/' + month + '/' + day;\n },\n\n /**\n * 現在の時間を文字列で取得する\n *\n * @returns {string}\n */\n getNowTime : function () {\n var date = new Date();\n var hour = date.getHours();\n var minute = date.getMinutes();\n if (hour < 10) hour = '0' + hour;\n if (minute < 10) minute = '0' + minute;\n return hour + ':' + minute;\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * bcTokenプラグイン\n *\n * フロントエンドでCakePHPのセキュリティコンポーネントのトークンの管理等を行う\n */\n\n(function ($) {\n\n $.bcToken = {\n\n /**\n * トークン\n */\n key: null,\n\n /**\n * トークンを取得済かどうか\n */\n requested: false,\n\n /**\n * トークンを取得中かどうか\n */\n requesting: false,\n\n /**\n * トークンURL\n */\n url: null,\n\n /**\n * デフォルトトークンURL\n */\n defaultUrl: '/baser-core/bc_form/get_token?requestview=false',\n\n /**\n * 初期化\n */\n init: function () {\n this.setTokenUrl();\n },\n\n /**\n * トークンを取得しているかどうかチェックし、取得していない場合取得する\n * コールバック処理を登録する前提となっており、コールバック処理完了後、再度、新しいトークンを取得する\n *\n * @param callback\n * @param config\n */\n check: function (callback, config) {\n if (this.requesting) {\n var timer = setInterval(function () {\n if (!$.bcToken.requesting) {\n clearInterval(timer);\n if (callback) {\n $.bcToken.execCallback(callback, config);\n }\n }\n }, 100);\n } else {\n if (!this.key) {\n this.update(config).done(function () {\n if (callback) {\n $.bcToken.execCallback(callback, config);\n }\n });\n } else {\n if (callback) {\n this.execCallback(callback, config);\n }\n }\n }\n },\n\n /**\n * コールバック処理を実行\n * @param callback\n * @param config\n */\n execCallback: function (callback, config) {\n var _config = {\n useUpdate: true\n };\n if (config !== undefined) {\n config = $.extend(_config, config);\n } else {\n config = _config;\n }\n var result = callback();\n if (config.useUpdate) {\n config.hideLoader = true;\n config.loaderType = 'none';\n if (result) {\n result.always(function () {\n $.bcToken.update(config);\n });\n } else {\n this.update(config);\n }\n }\n },\n\n /**\n * 新しいトークンをサーバーより取得する\n *\n * @param config\n */\n update: function (config) {\n var _config = {\n type: 'GET'\n };\n if (config !== undefined) {\n config = $.extend(_config, config);\n } else {\n config = _config;\n }\n this.requesting = true;\n return $.bcUtil.ajax(this.url, function (result) {\n $.bcToken.key = result;\n $.bcToken.requesting = false;\n $('input[name=\"_csrfToken\"]').val($.bcToken.key);\n }, $.extend(true, {}, config));\n },\n\n /**\n * トークンを取得した空のフォームを取得する\n * コールバック処理の引数として利用可能\n * @param url\n * @param options\n * @param callback\n * @param config\n */\n getForm: function (url, options, callback, config) {\n var form = $('');\n form.attr('action', url).attr('method', 'post');\n this.check(function () {\n form.append($.bcToken.getHiddenToken());\n if (options.fields) form.append(options.fields);\n if (options.unlocked) form.append(options.unlocked);\n if (options.debug) form.append(options.debug);\n callback(form);\n }, config);\n },\n\n /**\n * トークン用の hidden タグを取得する\n *\n * @returns {*}\n */\n getHiddenToken: function () {\n return $('').val(this.key);\n },\n\n /**\n * 指定したURLに対しトークンを付加した上でPOST送信を行う\n * @param url\n * @param options\n */\n submitToken: function (url, options) {\n this.getForm(url, options, function (form) {\n $('body').append(form);\n form.submit();\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * 指定したセレクターのリンクのクリックイベントについて、\n * トークン付加前提のフォーム送信処理に置き換える\n *\n * CakePHP の postLink に対応\n * postLink を利用した場合、ローダーを表示するなどの処理を割り込ませる事ができないが、\n * CakePHP が生成するフォームでなく、こちらで生成するフォームを利用することで、ローダーを表示できるようにした。\n * @param selector\n */\n replaceLinkToSubmitToken: function (selector) {\n $(selector).each(function () {\n if ($(this).attr('onclick')) {\n var regex = /document\\.(post_.+?).submit\\(\\)/;\n var result = $(this).attr('onclick').match(regex);\n if (result) {\n $(this).attr('data-post-link-form-id', result[1]);\n }\n $(this).get(0).onclick = '';\n $(this).removeAttr('onclick');\n }\n });\n $(selector).click(function () {\n if ($(this).attr('data-confirm-message')) {\n var message = $(this).attr('data-confirm-message');\n if (!confirm(message)) {\n return false;\n }\n }\n let url = $(this).attr('href');\n let options = {};\n if ($(this).attr('data-post-link-form-id')) {\n let postLinkForm = $(\"form[name='\" + $(this).attr('data-post-link-form-id') + \"']\");\n let fields = postLinkForm.find(\"input[name='_Token[fields]']\");\n let unlocked = postLinkForm.find(\"input[name='_Token[unlocked]']\");\n let debug = postLinkForm.find(\"input[name='_Token[debug]']\");\n url = postLinkForm.attr('action');\n options = {\n fields: (fields.length) ? fields : null,\n unlocked: (unlocked.length) ? unlocked : null,\n debug: (debug.length) ? debug : null\n }\n }\n // key を null にしておくことで、トークンを再取得時の loading が表示されるようになる\n $.bcToken.key = null;\n $.bcToken.submitToken(url, options);\n return false;\n });\n },\n\n /**\n * トークン発行URLのセット\n * @param url トークン発行URL。nullの場合はデフォルトURL\n */\n setTokenUrl: function (url) {\n this.url = url != null ? url : $.bcUtil.baseUrl + this.defaultUrl;\n return this;\n }\n\n };\n\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * jsTree 設定\n */\n\n(function ($) {\n $.bcTree = {\n\n /**\n * リンクをクリックする際にShiftキーを押しているかどうか\n */\n shiftOnAnchor: false,\n\n /**\n * リンクをクリックする際にCtrlキーを押しているかどうか\n */\n ctrlOnAnchor: false,\n\n /**\n * コンテキストメニューを追加項目のみとする\n */\n contextmenuAddOnly: false,\n\n /**\n * 設定 BcManageContent より値を取得\n */\n settings: [],\n\n /**\n * ドラッグターゲット\n */\n dropTarget: null,\n\n /**\n * ドロップターゲット\n */\n dragTarget: null,\n\n /**\n * ツリー構造のDOM(jQueryオブジェクト)\n */\n treeDom: null,\n\n /**\n * jsTree実体\n */\n jsTree: null,\n\n /**\n * 一覧を表示した時間\n */\n listDisplayed: null,\n\n /**\n * ノードを移動する場合の直前の親ID\n */\n beforeParentId: null,\n\n /**\n * ノードを移動する場合の直前のポジション\n */\n beforePosition: null,\n\n /**\n * 現在のサイトid\n */\n currentSiteId: 1,\n\n /**\n * 設定\n */\n config: {\n isAdmin: false,\n isUseMoveContents: false,\n adminPrefix: 'admin',\n editInIndexDisabled: false\n },\n\n /**\n * 初期化済かどうか\n */\n _inited: false,\n\n /**\n * 初期化\n * @param config\n */\n init: function (config) {\n if (config) {\n $.extend($.bcTree.config, config);\n }\n $.bcTree._inited = true;\n },\n /**\n * ツリーを読み込む\n */\n load: function () {\n $.bcUtil.showLoader();\n if (!$.bcTree._inited) {\n return;\n }\n const mode = $(\"#viewsetting-mode\").val();\n let url;\n $.bcTree.listDisplayed = $.bcTimeUtil.getNowDateTime();\n $.bcTree._init();\n $($.bcTree).trigger('loaded');\n $.bcUtil.hideLoader();\n },\n\n /**\n * ツリーを初期化する\n */\n _init: function () {\n if (!$('#ContentsTreeList').length) {\n return false;\n }\n $.bcTree.settings = $.parseJSON($(\"#bcmanagecontent\").val());\n $.bcTree.treeDom = $('#ContentsTreeList');\n $.bcTree.createTree();\n $.bcTree.jsTree = $.bcTree.treeDom.jstree(true);\n $.bcTree.treeDom.bind(\"move_node.jstree\", function (e, data) {\n $.bcTree.beforeParentId = data.old_parent;\n $.bcTree.beforePosition = data.old_position;\n });\n\n // ダブルクリックイベント\n $.bcTree.treeDom.bind(\"dblclick\", $.bcTree.updateShiftAndCtrlOnAnchor);\n\n // ダブルクリックイベント\n $.bcTree.treeDom.bind(\"dblclick.jstree\", function (event) {\n var mode = $(\"#viewsetting-mode\").val();\n if (mode == 'trash') {\n return false;\n }\n var nodeId = $(event.target).closest(\"li\").attr('id');\n var data = $.bcTree.jsTree.get_node(nodeId).data.jstree;\n if (data.type == 'default' || data.alias) {\n if ($.bcTree.settings[data.contentType] == undefined || !$.bcTree.settings[data.contentType].editDisabled) {\n if (!data.alias) {\n if ($.bcTree.settings[data.contentType] == undefined) {\n $.bcTree.openUrl($.bcTree.createLink($.baseUrl() + '/' + $.bcTree.config.baserCorePrefix + '/' + $.bcTree.config.adminPrefix + '/contents/edit', data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n if ($.bcTree.settings[data.contentType]['url']['dblclick'] !== undefined) {\n $.bcTree.openUrl($.bcTree.createLink($.bcTree.settings[data.contentType]['url']['dblclick'], data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n $.bcTree.openUrl($.bcTree.createLink($.bcTree.settings[data.contentType]['url']['edit'], data.contentId, data.contentParentId, data.contentEntityId));\n }\n }\n } else {\n $.bcTree.openUrl($.bcUtil.adminBaseUrl + 'baser-core' + '/contents/edit_alias/' + data.contentId);\n }\n }\n }\n });\n\n // コンテキストメニュー表示イベント\n $.bcTree.treeDom.on(\"show_contextmenu.jstree\", function () {\n $(\"ul.jstree-contextmenu li\").each(function () {\n if ($.bcTree.isAliasMenuByLabel($.trim($(this).text()))) {\n $(this).find('a i').after('');\n }\n if ($.bcTree.isAddMenuByLabel($.trim($(this).text()))) {\n $(this).find('a i').after('');\n }\n });\n });\n\n // フォルダ展開イベント\n $.bcTree.treeDom.on(\"after_open.jstree\", function (e) {\n $.bcTree.refreshTree();\n });\n\n // テキスト変更イベント\n // コンテンツ追加のリネーム時\n $.bcTree.treeDom.on(\"set_text.jstree\", function (e) {\n $.bcTree.refreshTree();\n });\n\n // ロード完了イベント\n $.bcTree.treeDom.on(\"ready.jstree\", function (e) {\n $.bcTree.treeDom.show();\n $.bcTree.refreshTree();\n });\n\n },\n\n /**\n * ツリーを破棄する\n */\n destroy: function () {\n if ($.bcTree.treeDom) {\n $.bcTree.treeDom.unbind(\"dblclick\");\n $.bcTree.treeDom.unbind(\"dblclick.jstree\");\n $.bcTree.treeDom.unbind(\"show_contextmenu.jstree\");\n $.bcTree.treeDom.unbind(\"after_open.jstree\");\n $.bcTree.treeDom.unbind(\"set_text.jstree\");\n $.bcTree.treeDom.unbind(\"ready.jstree\");\n $.bcTree.treeDom.remove();\n }\n $.bcTree.shiftOnAnchor = false;\n $.bcTree.ctrlOnAnchor = false;\n $.bcTree.contextmenuAddOnly = false;\n $.bcTree.settings = [];\n $.bcTree.dropTarget = null;\n $.bcTree.dragTarget = null;\n $.bcTree.treeDom = null;\n $.bcTree.jsTree = null;\n },\n\n /**\n * ツリー構造を生成する\n */\n createTree: function () {\n\n // ツリービュー生成\n $.bcTree.treeDom.jstree({\n 'core': {\n 'themes': {\n 'name': 'proton',\n \"stripes\": true,\n \"variant\": \"large\"\n },\n \"multiple\": false,\n \"force_text\": true,\n \"check_callback\": function (operation, node, node_parent, node_position, more) {\n if (operation == 'move_node') {\n if (node_parent.type == 'folder' && !node_parent.data.jstree.alias && !node.data.jstree.contentSiteRoot) {\n $.bcTree.dropTarget = node_parent;\n $.bcTree.dragTarget = node;\n return true;\n } else {\n $.bcTree.dropTarget = null;\n $.bcTree.dragTarget = null\n return false;\n }\n }\n }\n },\n \"plugins\": [\n \"dnd\",\n \"changed\",\n \"state\",\n \"wholerow\",\n \"contextmenu\",\n \"types\"\n ],\n \"dnd\": {\n \"large_drop_target\": true,\n \"is_draggable\" : function (nodes) {\n if (!$.bcTree.config.isUseMoveContents) {\n return false;\n }\n // 最上位のコンテンツは移動不可\n if (nodes[0].parents.length <= 1) {\n return false;\n }\n return true;\n },\n },\n \"types\": {\n \"default\": {},\n \"folder\": {}\n },\n \"state\": {\n \"key\": 'jstree-' + $.bcTree.currentSiteId,\n \"events\": \"open_all.jstree close_all.jstree changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree\"\n },\n \"contextmenu\": {\n \"show_at_node\": false,\n \"items\": function (node) {\n var maxContents = 6;\n var data = node.data.jstree;\n var mode = $(\"#viewsetting-mode\").val();\n var parent;\n if (data.type === 'folder' && !node.data.jstree.alias) {\n parent = node;\n } else {\n parent = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_parent(node));\n }\n\n var editDisabled = false;\n var manageDisabled = false;\n var editUrl = null;\n var manageUrl = null;\n var copyUrl = null;\n var isEnabled = false;\n\n if ($.bcTree.settings[data.contentType] !== undefined) {\n editDisabled = data.editDisabled;\n manageDisabled = data.manageDisabled;\n manageUrl = $.bcTree.settings[data.contentType]['url']['manage'];\n editUrl = $.bcTree.settings[data.contentType]['url']['edit'];\n copyUrl = $.bcTree.settings[data.contentType]['url']['copy'];\n isEnabled = true;\n }\n\n var menu = {};\n\n // 確認\n // - 公開されている\n // - URLがある\n if (isEnabled && data.status && data.contentFullUrl && !$.bcTree.contextmenuAddOnly && mode === 'index') {\n $.extend(true, menu, {\n \"view\": {\n label: bcI18n.bcTreeCheck,\n \"icon\": \"bca-icon--preview\",\n \"action\": function (obj) {\n $.bcTree.openUrl(data.contentFullUrl, true);\n }\n }\n });\n }\n\n // 公開・非公開\n // - サイトルートではない\n // - 関連データではない\n if (isEnabled && !$.bcTree.config.editInIndexDisabled && !editDisabled && !data.contentSiteRoot && mode === 'index' && !$.bcTree.contextmenuAddOnly && !data.related) {\n if (!data.status) {\n $.extend(true, menu, {\n \"publish\": {\n label: bcI18n.bcTreePublish,\n \"icon\": \"bca-icon--publish\",\n \"action\": function (obj) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/change_status.json',\n type: 'PATCH',\n data: {\n id: data.contentId,\n status: 'publish',\n type: data.contentType,\n siteId: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.status = true;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n });\n } else if (data.status) {\n $.extend(true, menu, {\n \"unpublish\": {\n label: bcI18n.bcTreeUnpublish,\n \"icon\": \"bca-icon--unpublish\",\n \"action\": function (obj) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/change_status.json',\n type: 'PATCH',\n data: {\n id: data.contentId,\n status: 'unpublish',\n type: data.contentType,\n siteId: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.status = false;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonChangePublishFailedMessage, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n });\n }\n }\n\n // 管理\n // - 管理権限あり\n // - 管理機能サポート\n // - エイリアスではない\n if (!manageDisabled && !$.bcTree.contextmenuAddOnly && manageUrl && mode === 'index' && !data.alias) {\n $.extend(true, menu, {\n \"manage\": {\n label: bcI18n.bcTreeManage,\n \"icon\": \"bca-icon--th-list\",\n \"action\": function (obj) {\n $.bcTree.openUrl($.bcTree.createLink(manageUrl, data.contentId, data.contentParentId, data.contentEntityId));\n }\n }\n });\n }\n\n // 名称変更\n // - 編集権限あり\n // - サイトルートでない\n // − サイト関連データでない\n if (isEnabled && !$.bcTree.config.editInIndexDisabled && !editDisabled && !$.bcTree.contextmenuAddOnly && !data.contentSiteRoot && mode === 'index' && !data.related) {\n $.extend(true, menu, {\n \"rename\": {\n label: bcI18n.bcTreeRename,\n \"icon\": \"bca-icon--rename\",\n \"action\": function (obj) {\n $.bcTree.renameContent(node, node.text);\n }\n }\n });\n }\n\n // 編集\n // - 編集権限あり\n if (isEnabled && !editDisabled && !$.bcTree.contextmenuAddOnly && mode === 'index') {\n $.extend(true, menu, {\n \"edit\": {\n label: bcI18n.bcTreeEdit,\n \"icon\": \"bca-icon--edit\",\n \"action\": function (obj) {\n if (!node.data.jstree.alias) {\n $.bcTree.openUrl($.bcTree.createLink(editUrl, data.contentId, data.contentParentId, data.contentEntityId));\n } else {\n $.bcTree.openUrl($.bcUtil.adminBaseUrl + 'baser-core' + '/contents/edit_alias/' + data.contentId);\n }\n }\n }\n });\n }\n\n // コピー\n // - 編集権限あり\n // - フォルダーでない\n // - コピー機能サポート\n if (!editDisabled && !$.bcTree.contextmenuAddOnly && data.contentType !== 'ContentFolder' && !data.alias && copyUrl && mode === 'index') {\n $.extend(true, menu, {\n \"copy\": {\n label: bcI18n.bcTreeCopy,\n \"icon\": \"bca-icon--copy\",\n \"action\": function (obj) {\n $.bcTree.copyContent(parent, node);\n }\n }\n });\n }\n var deleteLabel;\n if (data.alias) {\n deleteLabel = bcI18n.bcTreeDelete;\n } else {\n deleteLabel = bcI18n.bcTreeToTrash;\n }\n\n // 削除\n // - 編集権限あり\n // - サイトルートでない\n if (!$.bcTree.config.editInIndexDisabled && !editDisabled && !data.deleteDisabled && !$.bcTree.contextmenuAddOnly && !data.contentSiteRoot && mode === 'index') {\n $.extend(true, menu, {\n \"delete\": {\n label: deleteLabel,\n \"icon\": \"bca-icon--delete\",\n \"action\": function (obj) {\n var message = bcI18n.bcTreeConfirmToTrash;\n if (data.alias) {\n message = bcI18n.bcTreeConfirmDeleteAlias;\n }\n if (confirm(message)) {\n $.bcTree.deleteContent(node);\n }\n }\n }\n });\n }\n if (mode === 'trash') {\n $.extend(true, menu, {\n \"return\": {\n _disabled: editDisabled,\n label: bcI18n.bcTreeUndo,\n \"icon\": \"bca-icon--undo\",\n \"action\": function (obj) {\n if (data.alias) {\n $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/exists/' + data.contentAliasId + '.json',\n type: 'GET',\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n }).done(function (result) {\n if (result.exists) {\n $.bcTree.returnContent(node);\n } else {\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage1);\n }\n });\n } else {\n $.bcTree.returnContent(node);\n }\n }\n },\n \"empty\": {\n _disabled: !$.bcTree.config.isAdmin,\n label: bcI18n.bcTreeEmptyTrash,\n \"icon\": \"bca-icon--ban\",\n \"action\": function (obj) {\n if (confirm(bcI18n.bcTreeConfirmMessage1)) {\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/trash_empty.json',\n type: 'DELETE',\n dataType: 'json',\n data: {\n empty: true,\n _csrfToken: $.bcToken.key,\n },\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n if (result) {\n var nodes = [];\n $(\"li.jstree-node\").each(function (i) {\n nodes.push($.bcTree.jsTree.get_node(this));\n });\n $.bcTree.jsTree.delete_node(nodes);\n $.bcUtil.showNoticeMessage(result.message);\n $(\"#DataList\").html('
' + bcI18n.bcTreeInfoMessage1 + '
');\n }\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage2, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n });\n }, {hideLoader: false});\n }\n }\n }\n });\n }\n\n var settings = $.extend(true, {}, $.bcTree.settings);\n\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n\n if (mode === 'index') {\n var addMenu = {};\n var counter = 1;\n\n $.each(settings, function (i, val) {\n if (counter === maxContents + 1) {\n addMenu['Etc'] = {\n \"separator_before\": false,\n \"separator_after\": false,\n \"label\": \"その他...\",\n \"submenu\": {}\n }\n }\n if (counter <= maxContents) {\n if (!val.addDisabled) {\n addMenu[i] = $.bcTree.createMenu(val, parent, data, counter);\n }\n } else {\n if (!val.addDisabled) {\n addMenu['Etc']['submenu'][i] = $.bcTree.createMenu(val, parent, data, counter);\n }\n }\n counter++;\n });\n $.extend(true, menu, addMenu);\n }\n return menu;\n }\n }\n });\n },\n\n /**\n * メニューのラベルから登録メニューかどうかをチェックする\n *\n * @param name\n * @returns {boolean}\n */\n isAddMenuByLabel: function (name) {\n var node = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_selected());\n var settings = $.extend(true, {}, $.bcTree.settings);\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n var counter = 1;\n var result = false;\n $.each(settings, function (i) {\n if (name == counter + '.' + this.title) {\n result = true;\n }\n counter++;\n });\n return result;\n },\n\n /**\n * メニューのラベルからエイリアスかどうかをチェックする\n *\n * @param name\n * @returns {boolean}\n */\n isAliasMenuByLabel: function (name) {\n var node = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_selected());\n var settings = $.extend(true, {}, $.bcTree.settings);\n delete settings.Default;\n if (node.data.jstree.alias) {\n delete settings.ContentAlias;\n }\n var counter = 1;\n var result = false;\n $.each(settings, function (i) {\n if (i == 'Default') {\n return true;\n }\n if (node.data.jstree.alias && i == 'ContentLink') {\n return true;\n }\n if (name == counter + '.' + this.title && !this.multiple && this.exists) {\n result = true;\n }\n counter++;\n });\n return result;\n },\n\n /**\n * ツリーを更新する\n */\n refreshTree: function (disableCheck) {\n if (disableCheck === undefined) {\n disableCheck = false;\n }\n var treeData = $.bcTree.jsTree.get_json('#', {flat: true});\n sort = 1;\n // 並び順を特定する番号を更新する\n $(treeData).each(function () {\n var node = $.bcTree.jsTree.get_node(this.id);\n node.data.jstree.sort = sort;\n sort++;\n });\n // 公開状態によってカラーリングを更新する\n $(\"li.jstree-node\").each(function (i) {\n var node = $.bcTree.jsTree.get_node(this);\n // =====================================================================================================\n // コンテンツをドラッグ&ドロップした際に、階層が変更となると、フロントエンドの確認を行う為のURLの更新も行う必要がある。\n // 現在、対象コンテンツは更新されるが、フォルダの場合、子のコンテンツのURLが更新できていない為、\n // 確認ボタンをクリックするとNot Found となる。そのため一時的な対策として、確認ボタンを無効にする\n // TODO D&Dの際、子コンテンツのURLを返却し全てのコンテンツの確認ができるようにする\n // =====================================================================================================\n if (disableCheck) {\n node.data.jstree.contentFullUrl = false;\n }\n\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).removeClass('jstree-unpublish-odd jstree-unpublish-even jstree-publish-odd jstree-publish-even');\n return false;\n });\n if (node.data.jstree.status == false) {\n if (i % 2 == 0) {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-unpublish-odd');\n return false;\n });\n } else {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-unpublish-even');\n return false;\n });\n }\n } else {\n if (i % 2 == 0) {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-publish-odd');\n return false;\n });\n } else {\n $(this).find('div.jstree-wholerow').each(function () {\n $(this).addClass('jstree-publish-even');\n return false;\n });\n }\n }\n if (node.data.jstree.alias) {\n $(this).find('a i.jstree-icon:first').after('');\n }\n $(this).find('a.jstree-anchor:first').after('');\n $(this).find('.content-name').remove();\n if (node.data.jstree.name) {\n $(this).find('a.jstree-anchor:first').after('( ' + decodeURIComponent(node.data.jstree.name) + ' )')\n }\n });\n $(\"span.function\").on('click', function (e) {\n $.bcTree.jsTree.deselect_all();\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_node($(this).parent().attr('id')));\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n return false;\n });\n $(\"span.function\").on('contextmenu', function (e) {\n $.bcTree.jsTree.deselect_all();\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_node($(this).parent().attr('id')));\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n return false;\n });\n if ($.bcTree.config.isUseMoveContents) {\n $(\".jstree-icon\").css('cursor', 'move');\n }\n },\n\n /**\n * ゴミ箱から元にもどす\n *\n * @param node\n */\n returnContent: function (node) {\n $.bcToken.check(function () {\n return $(location).prop('href', $.bcUtil.adminBaseUrl + 'baser-core' + '/contents/trash_return/' + node.data.jstree.contentId);\n }, {hideLoader: false});\n },\n\n /**\n * Open Url\n *\n * @param url\n * @param forceBlank\n */\n openUrl: function (url, forceBlank) {\n forceBlank = forceBlank === undefined ? false : forceBlank;\n if ($.bcTree.ctrlOnAnchor || forceBlank) {\n window.open(url);\n } else if ($.bcTree.shiftOnAnchor) {\n window.open(url, '_blank');\n } else {\n window.location.href = url;\n }\n },\n\n /**\n * Create Menu\n *\n * @param setting\n * @param parent\n * @returns {{label: string, icon: string, action: function}}\n */\n createMenu: function (setting, parent, current, i) {\n var type = 'default';\n var contentAliasId = null;\n var contentTitle = bcI18n.bcTreeNewTitle.sprintf(setting.title);\n var contentPlugin = setting.plugin;\n var contentType = setting.type;\n var contentEntityId = null;\n var iconAdd;\n var iconMenu;\n if (setting.url.icon) {\n iconAdd = iconMenu = setting.url.icon;\n } else {\n iconAdd = iconMenu = setting.icon;\n }\n if (setting.type == 'ContentFolder') {\n var separatorBefore = true;\n type = 'folder';\n } else if (setting.type == 'ContentLink') {\n var separatorAfter = true;\n } else if (setting.type == 'ContentAlias') {\n iconAdd = current.icon;\n contentAliasId = current.contentId;\n contentPlugin = current.contentPlugin;\n contentType = current.contentType;\n contentTitle = bcI18n.bcTreeAliasTitle.sprintf(current.contentTitle);\n contentEntityId = current.contentEntityId;\n } else {\n if ((!setting['multiple'] && setting['exists'])) {\n contentTitle = bcI18n.bcTreeAliasTitle.sprintf(setting['existsTitle']);\n }\n }\n\n return {\n label: \"\" + i + \".\" + setting.title,\n icon: iconMenu,\n separator_before: separatorBefore,\n separator_after: separatorAfter,\n action: function () {\n $.bcTree.createContent(parent, {\n type: type,\n icon: iconAdd,\n contentParentId: parent.data.jstree.contentId,\n contentTitle: contentTitle,\n contentPlugin: contentPlugin,\n contentType: contentType,\n contentSiteId: parent.data.jstree.contentSiteId,\n contentAliasId: contentAliasId,\n contentEntityId: contentEntityId\n });\n }\n };\n },\n\n /**\n * Create Content\n *\n * @param parent\n * @param data\n */\n createContent: function (parent, data) {\n var _data = {\n icon: null,\n type: 'default',\n status: false,\n contentId: null,\n contentParentId: null,\n contentTitle: bcI18n.bcTreeUnNamedTitle,\n contentPlugin: null,\n contentType: null,\n contentEntityId: null,\n contentFullUrl: null,\n contentSiteId: null,\n contentAliasId: null\n };\n $.extend(true, _data, data);\n data = _data;\n var url = '';\n // シングルコンテンツでデータが既に存在する場合 エイリアス作成の場合\n if ((!$.bcTree.settings[data.contentType]['multiple'] && $.bcTree.settings[data.contentType]['exists']) || data.contentAliasId) {\n url = $.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/add_alias.json';\n data.alias = true;\n } else {\n url = $.bcTree.settings[data.contentType]['url']['add'];\n }\n var nodeId = $.bcTree.jsTree.create_node(parent, {\n text: data.contentTitle,\n data: {jstree: data}\n });\n var node = $.bcTree.jsTree.get_node(nodeId);\n $.bcTree.jsTree.edit(node, data.contentTitle, function (editNode) {\n $.bcToken.check(function () {\n const content = {\n parent_id: data.contentParentId,\n title: editNode.text,\n plugin: data.contentPlugin,\n type: data.contentType,\n site_id: data.contentSiteId,\n alias_id: data.contentAliasId,\n entity_id: data.contentEntityId\n };\n return $.ajax({\n url: url,\n type: 'POST',\n data: {\n _csrfToken: $.bcToken.key,\n content: content,\n },\n dataType: 'json',\n beforeSend: function () {\n this.data = $.bcTree.fillExtraData(this.data, data);\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $.bcTree.settings[data.contentType]['exists'] = true;\n $.bcTree.settings[data.contentType]['existsTitle'] = editNode.text;\n data.contentId = result.content.id;\n data.contentEntityId = result.content.entity_id;\n data.name = decodeURIComponent(result.content.name);\n node.data.jstree = data;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage6, XMLHttpRequest);\n $.bcTree.jsTree.delete_node(node);\n $.bcUtil.hideLoader();\n }\n }).then(function () {\n return $.bcUtil.ajax($.bcUtil.apiAdminBaseUrl + 'baser-core' + '/contents/get_full_url/' + data.contentId + '.json', {}, {\n type: 'GET',\n dataType: 'json'\n }).done(function (result) {\n data.contentFullUrl = decodeURI(result.fullUrl);\n node.data.jstree = data;\n if (data.contentType == 'ContentFolder') {\n node.type = 'folder'\n }\n });\n });\n }\n , {hideLoader: false});\n });\n },\n /**\n * ポスト用のデータにコンテンツの種類に基づいた不足データを追加する\n *\n * @param postData 送信用データ\n * @param settingData 保持してるデータ\n */\n fillExtraData: function (postData, settingData) {\n const extra = (() => {\n switch (settingData.contentType) {\n case \"ContentFolder\":\n return {\n folder_template: \"\",\n page_template: \"\"\n };\n case \"Page\":\n return {\n contents: \"\",\n draft: \"\",\n page_template: \"\",\n code: \"\"\n };\n default:\n break;\n }\n })();\n if (extra) {\n postData += '&' + encodeURI($.param(extra));\n }\n return postData;\n },\n\n /**\n * Delete Content\n *\n * @param node\n */\n deleteContent: function (node) {\n var data = node.data.jstree;\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/delete/' + data.contentId + '.json',\n type: 'POST',\n data: {\n id: data.contentId,\n entity_id: data.contentEntityId,\n alias: data.alias,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $.bcToken.key = null;\n $.bcTree.jsTree.delete_node(node);\n // エイリアス削除\n var nodes = $.bcTree.jsTree.get_json(null, {flat: true});\n for (var i = 0; i < nodes.length; i++) {\n if (data.contentId == nodes[i].state.contentAliasId) {\n $.bcTree.jsTree.delete_node(nodes[i]);\n }\n }\n $.bcTree.refreshTree();\n $.bcUtil.hideLoader();\n },\n error: function (XMLHttpRequest) {\n $.bcToken.key = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage4, XMLHttpRequest);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * Copy Content\n *\n * @param parent\n * @param node\n */\n copyContent: function (parent, node) {\n var data = $.extend(true, {}, node.data.jstree);\n data.status = false;\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcTree.settings[data.contentType]['url']['copy'],\n type: 'POST',\n data: {\n content_id: data.contentId,\n entity_id: data.contentEntityId,\n title: data.contentTitle,\n parent_id: data.contentParentId,\n site_id: data.contentSiteId,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n $.bcToken.key = null;\n $.bcTree.settings[data.contentType]['exists'] = true;\n $.bcTree.settings[data.contentType]['existsTitle'] = data.contentTitle;\n data.contentId = result.content.id;\n data.name = result.content.name;\n data.contentEntityId = result.content.entity_id;\n data.contentTitle = result.content.title;\n data.contentTitle = data.contentTitle.replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n $.ajax($.bcUtil.apiAdminBaseUrl + 'baser-core/contents/get_full_url/' + data.contentId + '.json', {\n type: 'GET',\n dataType: 'json'\n }).done(function (result) {\n data.contentFullUrl = result.fullUrl;\n var nodeId = $.bcTree.jsTree.create_node(parent, {\n text: data.contentTitle,\n data: {jstree: data}\n });\n var newNode = $.bcTree.jsTree.get_node(nodeId);\n newNode.data.jstree = data;\n if (data.contentType === 'ContentFolder') {\n newNode.type = 'folder'\n }\n $.bcUtil.hideLoader();\n $.bcTree.renameContent(newNode, data.contentTitle, true);\n });\n },\n error: function (XMLHttpRequest) {\n $.bcToken.key = null;\n $.bcUtil.showAjaxError(bcI18n.commonCopyFailedMessage, XMLHttpRequest);\n $.bcUtil.hideLoader();\n }\n });\n }, {useUpdate: false, hideLoader: false});\n },\n\n /**\n * Rename Content\n *\n * @param node\n * @param defaultTitle 初期タイトル\n * @param first 新規登録時の初回リネームかどうか\n */\n renameContent: function (node, defaultTitle, first) {\n if (first === undefined) {\n first = false;\n }\n var oldTitle = defaultTitle;\n $.bcTree.jsTree.edit(node, oldTitle, function (editNode) {\n var newTitle = editNode.text;\n $.bcTree.jsTree.rename_node(editNode, newTitle);\n if (oldTitle === newTitle) {\n return false;\n }\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/rename.json',\n type: 'PATCH',\n dataType: 'json',\n data: {\n id: node.data.jstree.contentId,\n title: newTitle,\n first: +first, // 0 Or 1 に変換\n _csrfToken: $.bcToken.key,\n },\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n if (!result) {\n $.bcUtil.showNoticeMessage(result.message);\n }\n $.bcTree.settings[node.data.jstree.contentType]['existsTitle'] = editNode.text;\n editNode.data.jstree.contentFullUrl = result.url;\n editNode.data.jstree.name = result.name;\n $.bcTree.refreshTree();\n },\n error: function (XMLHttpRequest) {\n $.bcTree.jsTree.rename_node(editNode, defaultTitle);\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.bcTreeAlertMessage5, XMLHttpRequest);\n },\n complete: function () {\n $.bcUtil.hideLoader();\n }\n })\n }, {hideLoader: false});\n });\n },\n\n /**\n * Create Link\n *\n * @param base\n * @param contentParentId\n * @param contentEntityId\n * @returns string\n */\n createLink: function (base, contentId, contentParentId, contentEntityId) {\n var url = base;\n if (contentEntityId) {\n url += '/' + contentEntityId;\n }\n if (contentId) {\n url += '/content_id:' + contentId;\n }\n if (contentParentId) {\n url += '/parent_id:' + contentParentId;\n }\n return url;\n },\n\n /**\n * コンテンツを並び替える\n *\n * @param e\n * @param data\n */\n orderContent: function (e, data) {\n $.bcTree.changeNormalCursor();\n var cancel = false;\n var node = $.bcTree.jsTree.get_node(data.element);\n if (!node) {\n node = $.bcTree.dragTarget;\n }\n if (!node) {\n cancel = true;\n }\n var oldSort = node.data.jstree.sort;\n $.bcTree.refreshTree();\n var newSort = node.data.jstree.sort;\n var offset = newSort - oldSort;\n if (offset == 0) {\n if (!$.bcTree.dropTarget) {\n cancel = true;\n }\n if (node.data.jstree.contentParentId == $.bcTree.dropTarget.data.jstree.contentId) {\n cancel = true;\n }\n }\n\n if (cancel || !confirm(bcI18n.commonSortSaveConfirmMessage)) {\n // コンテンツを別のフォルダに移動するか、コンテンツを上から下に移動\n if (node.parent != $.bcTree.beforeParentId || offset >= 0) {\n $.bcTree.jsTree.move_node(node, $.bcTree.beforeParentId, $.bcTree.beforePosition);\n // コンテンツを下から上に移動\n } else {\n $.bcTree.jsTree.move_node(node, $.bcTree.beforeParentId, $.bcTree.beforePosition + 1);\n }\n $.bcTree.refreshTree();\n return false;\n }\n\n if ($.bcTree.dropTarget) {\n $.bcTree.jsTree.open_node($.bcTree.dropTarget);\n }\n\n var nextNode = $.bcTree.jsTree.get_node($.bcTree.jsTree.get_next_dom(node, true));\n var targetId = null;\n if (nextNode) {\n targetId = nextNode.data.jstree.contentId;\n }\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/contents/move.json',\n type: 'PATCH',\n data: {\n origin: {\n id: node.data.jstree.contentId,\n parentId: node.data.jstree.contentParentId,\n type: node.data.jstree.contentType,\n entityId: node.data.jstree.contentEntityId,\n },\n target: {\n id: targetId,\n parentId: $.bcTree.dropTarget.data.jstree.contentId,\n siteId: $.bcTree.dropTarget.data.jstree.contentSiteId,\n },\n listDisplayed: $.bcTree.listDisplayed,\n _csrfToken: $.bcToken.key,\n },\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n success: function (result) {\n node.data.jstree.contentFullUrl = result.url;\n $.bcTree.refreshTree(true);\n node.data.jstree.contentParentId = $.bcTree.dropTarget.data.jstree.contentId;\n $.bcUtil.showNoticeMessage(result.message);\n $.bcUtil.hideLoader();\n },\n error: function (XMLHttpRequest) {\n XMLHttpRequest.responseText = null;\n $.bcUtil.showAjaxError(bcI18n.commonSortSaveFailedMessage, XMLHttpRequest);\n $.bcTree.load();\n },\n complete: function () {\n }\n });\n }, {hideLoader: false});\n },\n\n /**\n * 外部よりメニューを表示する\n *\n * @param e\n * @returns {boolean}\n */\n showMenuByOuter: function (e) {\n $.bcTree.contextmenuAddOnly = true;\n var selected = $.bcTree.jsTree.get_selected();\n if (!selected.length) {\n $.bcTree.jsTree.select_node($.bcTree.jsTree.get_json());\n }\n $.bcTree.jsTree.show_contextmenu($.bcTree.jsTree.get_selected(), e.pageX, e.pageY);\n $.bcTree.contextmenuAddOnly = false;\n return false;\n },\n\n /**\n * Shift / Ctrl キーの押印状態を更新する\n *\n * @param e\n */\n updateShiftAndCtrlOnAnchor: function (e) {\n $.bcTree.shiftOnAnchor = e.shiftKey;\n $.bcTree.ctrlOnAnchor = (e.ctrlKey || e.metaKey);\n },\n\n changeDnDCursor: function () {\n $(\"#ContentsTreeList .jstree-wholerow\").css('cursor', 'move');\n $(\"#ContentsTreeList .jstree-anchor\").css('cursor', 'move');\n $(\"#ContentsTreeList .function\").css('cursor', 'move');\n $(\"#ContentsTreeList .jstree-ocl\").css('cursor', 'move');\n },\n\n changeNormalCursor: function () {\n $(\"#ContentsTreeList .jstree-wholerow\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .jstree-anchor\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .function\").css('cursor', 'pointer');\n $(\"#ContentsTreeList .jstree-ocl\").css('cursor', 'pointer');\n }\n\n };\n})(jQuery);\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n\n/**\n * サイドバーのコンテンツメニューを設定する\n */\nwindow.addEventListener('DOMContentLoaded', function () {\n\tvar componentId = 'AdminMenu';\n\tvar tmpl = document.querySelector('[data-js-tmpl=\"' + componentId + '\"]');\n\tvar dataStore = document.getElementById(componentId);\n\tvar data = null;\n\ttry {\n\t\tdata = JSON.parse(dataStore ? dataStore.textContent : '{}');\n\t} catch (error) {\n\t\tif (window.console) {\n\t\t\tconsole.warn('管理メニューのデータが破損しています(JSONデータが不正です)')\n\t\t}\n\t}\n\n\tif (tmpl && data && data.menuList && data.menuList.length) {\n\n\t\tvar contentList = [];\n\t\tvar systemList = [];\n\n\t\tdata.menuList.forEach(function (item, i) {\n\t\t\tif (item.type === 'system') {\n\t\t\t\t//item.menus = item.menus.filter(function (menu) { return menu.url !== item.url });\n\t\t\t\tsystemList.push(item);\n\t\t\t} else {\n\t\t\t\tcontentList.push(item);\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * for deubg\n\t\t */\n\t\t// console.log($.extend(true, {}, contentList));\n\t\t// console.log($.extend(true, {}, systemList));\n\n\t\ttmpl.hidden = false;\n\t\tvar isSystemSettingPage = systemList.some(function (item) { return (item.current || item.expanded); });\n\t\tvar app = new Vue({\n\t\t\tel: tmpl,\n\t\t\tdata: {\n\t\t\t\tsystemExpanded: isSystemSettingPage,\n\t\t\t\tbaseURL: $.baseUrl(),\n\t\t\t\tcurrentSiteId: data.currentSiteId,\n\t\t\t\tcontentList: contentList,\n\t\t\t\tisSystemSettingPage: isSystemSettingPage,\n\t\t\t\tsystemList: systemList,\n\t\t\t\tavailableVersions: null,\n\t\t\t\tuseUpdateNotice: data.useUpdateNotice\n\t\t\t},\n mounted() {\n if(!this.useUpdateNotice) return;\n $.get($.bcUtil.apiAdminBaseUrl + 'baser-core/plugins/get_available_core_version_info.json', function (response){\n if(response.availableCoreVersionInfo !== undefined) {\n app.availableVersions = Object.keys(response.availableCoreVersionInfo.versions).length;\n }\n });\n },\n\t\t\tmethods: {\n\t\t\t\topenSystem () {\n\t\t\t\t\tapp.systemExpanded = !app.systemExpanded;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t} else {\n\n\t\tif (window.console) {\n\t\t\tconsole.warn('データが空のため、管理メニューは表示されませんでした');\n\t\t}\n\n\t}\n\n});\n\n","/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\nimport Cookies from 'js-cookie'\n\n(function ($) {\n $.bcUtil = {\n /**\n * hideMessage() を無効にする\n */\n disabledHideMessage: false,\n\n\n /**\n * ベースとなるURL\n */\n baseUrl: null,\n\n /**\n * BaserCoreプレフィックス\n */\n baserCorePrefix: null,\n\n /**\n * 管理画面用URLプレフィックス\n */\n adminPrefix: null,\n\n /**\n * 管理画面用のベースURL\n */\n adminBaseUrl: null,\n\n /**\n * API用のベースURL\n */\n apiBaseUrl: null,\n\n /**\n * 管理画面用APIのベースURL\n */\n apiAdminBaseUrl: null,\n\n /**\n * Ajaxローダーのパス\n */\n ajaxLoaderPath: null,\n\n /**\n * Ajaxローダー(小)のパス\n */\n ajaxLoaderSmallPath: null,\n\n /**\n * 初期化\n *\n * @param config\n */\n init: function (config) {\n if(config === undefined) config = {};\n var adminScript = $(\"#AdminScript\");\n $.bcUtil.baseUrl = adminScript.attr('data-baseUrl');\n $.bcUtil.baserCorePrefix = adminScript.attr('data-baserCorePrefix');\n $.bcUtil.adminPrefix = adminScript.attr('data-adminPrefix');\n $.bcUtil.ajaxLoaderPath = adminScript.attr('data-ajaxLoaderPath');\n $.bcUtil.ajaxLoaderSmallPath = adminScript.attr('data-ajaxLoaderSmallPath');\n $.bcUtil.frontFullUrl = adminScript.attr('data-frontFullUrl');\n if (config.baseUrl !== undefined) {\n $.bcUtil.baseUrl = config.baseUrl;\n }\n if (config.baserCorePrefix !== undefined) {\n $.bcUtil.baserCorePrefix = config.baserCorePrefix;\n }\n if (config.adminPrefix !== undefined) {\n $.bcUtil.adminPrefix = config.adminPrefix;\n }\n if (config.ajaxLoaderPath !== undefined) {\n $.bcUtil.ajaxLoaderPath = config.ajaxLoaderPath;\n }\n if (config.ajaxLoaderSmallPath !== undefined) {\n $.bcUtil.ajaxLoaderSmallPath = config.ajaxLoaderSmallPath;\n }\n $.bcUtil.adminBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/' + $.bcUtil.adminPrefix + '/';\n $.bcUtil.apiBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/api/';\n $.bcUtil.apiAdminBaseUrl = $.bcUtil.baseUrl + '/' + $.bcUtil.baserCorePrefix + '/api/admin/';\n this.setUpTextCounter();\n },\n\n /**\n * アラートメッセージを表示\n *\n * @param message\n */\n showAlertMessage: function (message) {\n $.bcUtil.hideMessage();\n $(\"#BcSystemMessage\")\n .removeClass('notice-messge alert-message')\n .addClass('alert-message')\n .html(message);\n $(\"#BcMessageBox\").fadeIn(500);\n },\n\n /**\n * ノーティスメッセージを表示\n *\n * @param message\n */\n showNoticeMessage: function (message) {\n $.bcUtil.hideMessage();\n $(\"#BcSystemMessage\")\n .removeClass('notice-messge alert-message')\n .addClass('notice-message')\n .html(message);\n $(\"#BcMessageBox\").fadeIn(500);\n },\n\n /**\n * メッセージを隠す\n */\n hideMessage: function () {\n if (!$.bcUtil.disabledHideMessage) {\n $(\"#BcMessageBox\").fadeOut(200);\n $(\"#AlertMessage\").fadeOut(200);\n $(\"#MessageBox\").fadeOut(200);\n }\n },\n\n /**\n * ローダーを表示\n */\n showLoader: function (type, selector, key) {\n if (type == undefined || (type != 'none' && selector == undefined)) {\n type = 'over';\n }\n switch (type) {\n case 'over':\n $(\"#Waiting\").show();\n break;\n case 'inner':\n var div = $('
').css({'text-align': 'center'}).attr('id', key);\n var img = $('').attr('src', $.bcUtil.ajaxLoaderPath);\n div.html(img);\n $(selector).html(div);\n break;\n case 'after':\n var img = $('').attr('src', $.bcUtil.ajaxLoaderSmallPath).attr('id', key).css({\n 'width':'16px',\n 'vertical-align': 'middle',\n 'margin':'5px'\n });\n $(selector).after(img);\n break;\n case 'target':\n $(selector).show();\n break;\n case 'none':\n break;\n }\n },\n\n /**\n * ローダーを隠す\n */\n hideLoader: function (type, selector, key) {\n if (type == undefined || (type != 'none' && selector == undefined)) {\n type = 'over';\n }\n switch (type) {\n case 'over':\n $(\"#Waiting\").hide();\n break;\n case 'inner':\n $(\"#\" + key).remove();\n break;\n case 'after':\n $(\"#\" + key).remove();\n break;\n case 'target':\n $(selector).show();\n break;\n case 'none':\n break;\n }\n },\n\n /**\n * Ajax\n */\n ajax: function (url, success, config) {\n if (!config) {\n config = {};\n }\n var loaderType, loaderSelector, loaderKey;\n var hideLoader = true;\n if (typeof config.loaderType !== 'undefined') {\n loaderType = config.loaderType;\n delete config.loaderType;\n }\n if (typeof config.loaderSelector !== 'undefined') {\n loaderSelector = config.loaderSelector;\n delete config.loaderSelector;\n loaderKey = loaderSelector.replace(/\\./g, '').replace(/#/g, '').replace(/\\s/g, '') + 'loaderkey';\n }\n if (typeof config.hideLoader !== 'undefined') {\n hideLoader = config.hideLoader;\n delete config.loaderType;\n }\n var ajaxConfig = {\n url: url,\n type: 'POST',\n dataType: 'html',\n beforeSend: function () {\n $.bcUtil.showLoader(loaderType, loaderSelector, loaderKey);\n },\n complete: function () {\n if (hideLoader) {\n $.bcUtil.hideLoader(loaderType, loaderSelector, loaderKey);\n }\n },\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n $.bcUtil.showAjaxError(bcI18n.commonExecFailedMessage, XMLHttpRequest, errorThrown);\n },\n success: success\n };\n if (config) {\n $.extend(ajaxConfig, config);\n }\n return $.ajax(ajaxConfig);\n },\n\n /**\n * Ajax のエラーメッセージを表示\n *\n * @param XMLHttpRequest\n * @param errorThrown\n * @param message\n */\n showAjaxError: function (message, XMLHttpRequest, errorThrown) {\n var errorMessage = '';\n if (XMLHttpRequest !== undefined && XMLHttpRequest.status) {\n errorMessage = '
(' + XMLHttpRequest.status + ') ';\n }\n if(XMLHttpRequest !== undefined && XMLHttpRequest.responseJSON){\n errorMessage += XMLHttpRequest.responseJSON.message;\n }\n if (XMLHttpRequest !== undefined && XMLHttpRequest.responseText) {\n errorMessage += '
' + XMLHttpRequest.responseText;\n } else if (errorThrown !== undefined) {\n errorMessage += '
' + errorThrown;\n }\n $.bcUtil.showAlertMessage(message + errorMessage);\n },\n\n /**\n * APIのエラーメッセージを表示\n * @param response\n */\n showApiError: function (response) {\n let message = response.responseJSON.message;\n let errors = response.responseJSON.errors;\n if(errors !== undefined) {\n message += \"
\";\n Object.keys(errors).forEach(function (key) {\n message += \"
    \"\n Object.keys(errors[key]).forEach(function (index) {\n message += \"
  • \" + errors[key][index] + \"
  • \";\n });\n message += \"
\"\n });\n }\n $.bcUtil.showAlertMessage(message);\n },\n\n /**\n * フラッシュメッセージをセットする\n *\n * 一度しか表示できないメッセージ\n * @param message\n */\n setFlashMessage: function(message) {\n Cookies.set('bcFlashMessage', message);\n },\n\n /**\n * フラッシュメッセージを表示する\n *\n * 一度表示したら削除する\n */\n showFlashMessage: function () {\n let message = Cookies.get('bcFlashMessage');\n if(message !== undefined) {\n this.showNoticeMessage(message);\n Cookies.remove('bcFlashMessage')\n }\n },\n\n /**\n * ツールチップを初期化する\n *\n * @param config\n */\n initTooltip: function(config) {\n let btConfig = {\n target: '.bca-help',\n content: '.bca-helptext'\n };\n if(config !== undefined) {\n $.extend(btConfig, config);\n }\n let $help = $(btConfig.target);\n if ($help.bt) {\n $(btConfig.content).css('display', 'none');\n $.bt.options.closeWhenOthersOpen = true;\n $help.bt({\n trigger: 'click',\n positions: 'top',\n shadow: true,\n shadowOffsetX: 1,\n shadowOffsetY: 1,\n shadowBlur: 8,\n shadowColor: 'rgba(101,101,101,.6)',\n shadowOverlap: false,\n noShadowOpts: {\n strokeStyle: '#999',\n strokeWidth: 1\n },\n width: '600px',\n /*shrinkToFit: true,*/\n spikeLength: 12,\n spikeGirth: 18,\n padding: 20,\n cornerRadius: 0,\n strokeWidth: 1, /*no stroke*/\n strokeStyle: '#656565',\n fill: 'rgba(255, 255, 255, 1.00)',\n cssStyles: {\n fontSize: '14px'\n },\n showTip: function (box) {\n $(box).fadeIn(200);\n },\n hideTip: function (box, callback) {\n $(box).animate({\n opacity: 0\n }, 100, callback);\n },\n contentSelector: `$(this).next('${btConfig.content}').html()`\n });\n }\n },\n\n /**\n * テキストカウンターをセットアップする\n */\n setUpTextCounter(selector) {\n if(selector === undefined) {\n selector = \".bca-text-counter\";\n }\n const $textCounter = $(selector);\n $textCounter.after('');\n $textCounter.keyup(function (){\n var len = $(this).val().length;\n var maxlen = $(this).attr('maxlength');\n if(!maxlen || maxlen === -1){\n maxlen = '-';\n }\n $(this).next().html(len+' /'+maxlen+'');\n });\n $textCounter.keyup();\n },\n\n };\n})(jQuery);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 3207;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3207: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbc_admin_third\"] = self[\"webpackChunkbc_admin_third\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [5000], () => (__webpack_require__(2670)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","$","baseUrl","attr","jQuery","changeRow","checkbox","undefined","parent","addClass","removeClass","toolChangeHandler","config","bcBatch","methodSelect","val","executeButton","removeAttr","prop","batchUrl","listTable","checkAll","targetCheckbox","alertBox","loader","flashBox","init","extend","this","initList","unbind","click","length","alert","bcI18n","commonSelectDataFailedMessage","confirm","batchConfirmMessage","form","append","clone","each","value","bcToken","check","key","ajax","url","type","data","serialize","dataType","beforeSend","bcUtil","hideMessage","showLoader","success","result","setFlashMessage","message","location","reload","error","XMLHttpRequest","textStatus","errorThrown","errorMessage","status","commonNotFoundProgramMessage","responseText","JSON","parse","remove","showAlertMessage","commonBatchExecFailedMessage","hideLoader","useUpdate","change","find","e","stopPropagation","initRowSelected","bcCkeditor","editor","initStatus","styleInitStatus","show","setUpConfig","CKEDITOR","addStylesSet","initialStyle","editorStyle","map","themeEditorCsses","css","Array","isArray","contentsCss","push","ckeditorField","replace","editorDomId","editorOptions","setUpDraft","setUpToolBar","allowedContent","extraPlugins","stylesCombo_stylesSet","editorStylesSet","protectedSource","dtd","$removeEmpty","editorUrl","templates_files","editorEnterBr","enterMode","ENTER_BR","editorUseDraft","on","draftAreaId","draftDraftAreaId","publishAreaId","draftPublishAreaId","editorReadonlyPublish","draftReadOnlyPublish","editorDisableDraft","execCommand","editorDisablePublish","name","concat","previewModeId","_this","getCommand","uiItems","state","hide","bcConfirm","title","bcConfirmTitle1","bcConfirmAlertMessage1","defaultCancel","ok","html","dialog","modal","width","buttons","bcConfirmAlertMessage2","bcCredit","adminBaseUrl","hideTarget","isLogin","$html","$page","$credit","openedFavorite","prepend","$creditScroller","fadeIn","fadeOut","setViewSize","window","resize","resizeScroll","height","posX","id","setInterval","clearInterval","clearTimeout","event","cancelBubble","$toolBar","outerHeight","$body","bcJwt","accessToken","refreshToken","localStorage","getItem","getToken","login","email","password","saved","successCallback","errorCallback","apiAdminBaseUrl","done","response","setToken","access_token","refresh_token","bind","fail","async","headers","setItem","logout","removeToken","bcSortable","updateSortUrl","sortHandle","sortTable","sortable","sortableOptions","scroll","items","opacity","zIndex","containment","tolerance","distance","cursor","handle","placeholder","revert","start","sortStartHandler","update","sortUpdateHandler","ui","item","target","offset","index","sortId","sortOffset","getHiddenToken","i","v","complete","bcTimeUtil","getNowDateTime","getNowDate","getNowTime","date","Date","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","requested","requesting","defaultUrl","setTokenUrl","callback","timer","execCallback","_config","loaderType","always","getForm","options","fields","unlocked","debug","submitToken","submit","replaceLinkToSubmitToken","selector","match","get","onclick","postLinkForm","bcTree","shiftOnAnchor","ctrlOnAnchor","contextmenuAddOnly","settings","dropTarget","dragTarget","treeDom","jsTree","listDisplayed","beforeParentId","beforePosition","currentSiteId","isAdmin","isUseMoveContents","adminPrefix","editInIndexDisabled","_inited","load","_init","trigger","parseJSON","createTree","jstree","old_parent","old_position","updateShiftAndCtrlOnAnchor","nodeId","closest","get_node","alias","contentType","editDisabled","openUrl","contentId","createLink","baserCorePrefix","contentParentId","contentEntityId","isAliasMenuByLabel","trim","text","after","isAddMenuByLabel","refreshTree","destroy","operation","node","node_parent","node_position","more","contentSiteRoot","nodes","parents","mode","get_parent","manageDisabled","editUrl","manageUrl","copyUrl","isEnabled","deleteLabel","menu","contentFullUrl","label","bcTreeCheck","obj","related","bcTreeUnpublish","siteId","contentSiteId","_csrfToken","showAjaxError","commonChangePublishFailedMessage","bcTreePublish","bcTreeManage","bcTreeRename","renameContent","bcTreeEdit","bcTreeCopy","copyContent","bcTreeDelete","bcTreeToTrash","deleteDisabled","bcTreeConfirmToTrash","bcTreeConfirmDeleteAlias","deleteContent","_disabled","bcTreeUndo","contentAliasId","exists","returnContent","bcTreeAlertMessage1","bcTreeEmptyTrash","bcTreeConfirmMessage1","empty","delete_node","showNoticeMessage","bcTreeInfoMessage1","bcTreeAlertMessage2","Default","ContentAlias","addMenu","counter","maxContents","addDisabled","createMenu","get_selected","multiple","disableCheck","treeData","get_json","flat","sort","decodeURIComponent","deselect_all","select_node","show_contextmenu","pageX","pageY","forceBlank","open","href","setting","current","iconAdd","iconMenu","contentTitle","bcTreeNewTitle","sprintf","contentPlugin","plugin","icon","separatorBefore","separatorAfter","bcTreeAliasTitle","separator_before","separator_after","action","createContent","_data","bcTreeUnNamedTitle","create_node","edit","editNode","content","parent_id","site_id","alias_id","entity_id","fillExtraData","bcTreeAlertMessage6","then","decodeURI","fullUrl","postData","settingData","extra","folder_template","page_template","contents","draft","code","encodeURI","param","bcTreeAlertMessage4","content_id","newNode","commonCopyFailedMessage","defaultTitle","first","oldTitle","newTitle","rename_node","bcTreeAlertMessage5","base","orderContent","changeNormalCursor","cancel","element","oldSort","commonSortSaveConfirmMessage","move_node","open_node","nextNode","get_next_dom","targetId","origin","parentId","entityId","commonSortSaveFailedMessage","showMenuByOuter","shiftKey","ctrlKey","metaKey","changeDnDCursor","addEventListener","componentId","tmpl","document","querySelector","dataStore","getElementById","textContent","console","warn","menuList","contentList","systemList","forEach","hidden","isSystemSettingPage","some","expanded","app","Vue","el","systemExpanded","baseURL","availableVersions","useUpdateNotice","mounted","availableCoreVersionInfo","Object","keys","versions","methods","openSystem","disabledHideMessage","apiBaseUrl","ajaxLoaderPath","ajaxLoaderSmallPath","adminScript","frontFullUrl","setUpTextCounter","div","img","loaderSelector","loaderKey","ajaxConfig","commonExecFailedMessage","responseJSON","showApiError","errors","Cookies","set","showFlashMessage","initTooltip","btConfig","$help","bt","closeWhenOthersOpen","positions","shadow","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","shadowOverlap","noShadowOpts","strokeStyle","strokeWidth","spikeLength","spikeGirth","padding","cornerRadius","fill","cssStyles","fontSize","showTip","box","hideTip","animate","contentSelector","$textCounter","keyup","len","maxlen","next","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/js/admin/permissions/dialog.bundle.js.map b/plugins/bc-admin-third/webroot/js/admin/permissions/dialog.bundle.js.map index 034e3b1b1a..d50bd393b5 100644 --- a/plugins/bc-admin-third/webroot/js/admin/permissions/dialog.bundle.js.map +++ b/plugins/bc-admin-third/webroot/js/admin/permissions/dialog.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"js/admin/permissions/dialog.bundle.js","mappings":";;;;;;;;;AAeAA,GAAE,WAKEA,EAAE,sBAAsBC,OAAM,WAE1B,OADAD,EAAE,qBAAqBE,OAAO,SACvB,CACX,IAKA,IAAIC,EAAOH,EAAE,0BACbG,EAAKC,WACLD,EAAKE,QAAO,WACR,OAAO,CACX,IAKAL,EAAE,qBAAqBE,OAAO,CAC1BI,UAAU,EACVC,UAAU,EACVC,MAAO,OACPC,OAAO,EACPC,KAAM,SAAUC,EAAOC,GACnBZ,EAAE,gCAAgCa,QAAQC,OAC9C,EACAC,QAAS,CACLC,OAAQ,CACJC,KAAMC,OAAOC,aACblB,MAAO,WACHD,EAAEoB,MAAMlB,OAAO,QACnB,GAEJmB,KAAM,CACFJ,KAAMC,OAAOI,WACbrB,MAAO,WAEHE,EAAKE,SACAF,EAAKoB,SAEVvB,EAAEwB,QAAQC,OAAM,WACZ,OAAOzB,EAAE0B,KAAK,CACVC,IAAK3B,EAAE4B,OAAOC,gBAAkB,6BAChCC,KAAM,OACNC,KAAM5B,EAAK6B,YACXC,SAAU,OACVC,WAAY,WACRlC,EAAE4B,OAAOO,cACTnC,EAAE4B,OAAOQ,YACb,IACDC,MAAK,SAAUC,GACdtC,EAAE4B,OAAOW,kBAAkBD,EAAOE,SAClCxC,EAAE,qBAAqBE,OAAO,QAClC,IAAGuC,MAAK,SAASC,EAAgBC,EAAYC,GACzCC,MAAM3B,OAAO4B,wBACjB,IAAGC,QAAO,WACN/C,EAAE4B,OAAOoB,YACb,GACJ,GAAG,CAACA,YAAY,GAEpB,KAIhB","sources":["webpack://bc-admin-third/./src/js/admin/permissions/dialog.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 0.1.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * dialog\n * @checked\n * @noTodo\n */\n$(function () {\n\n /**\n * ダイアログを開く\n */\n $(\"#BtnMenuPermission\").click(function () {\n $('#PermissionDialog').dialog('open');\n return false;\n });\n\n /**\n * バリデーション\n */\n let form = $(\"#PermissionAjaxAddForm\");\n form.validate();\n form.submit(function () {\n return false\n });\n\n /**\n * ダイアログを初期化\n */\n $(\"#PermissionDialog\").dialog({\n bgiframe: true,\n autoOpen: false,\n width: 'auto',\n modal: true,\n open: function (event, ui) {\n $(\"#PermissionAjaxAddForm input\").first().focus();\n },\n buttons: {\n cancel: {\n text: bcI18n.commonCancel,\n click: function () {\n $(this).dialog('close');\n }\n },\n save: {\n text: bcI18n.commonSave,\n click: function () {\n\n form.submit();\n if (!form.valid()) return;\n\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/permissions/add',\n type: 'POST',\n data: form.serialize(),\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n }).done(function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $(\"#PermissionDialog\").dialog('close');\n }).fail(function(XMLHttpRequest, textStatus, errorThrown) {\n alert(bcI18n.commonSaveFailedMessage);\n }).always(function(){\n $.bcUtil.hideLoader();\n });\n }, {hideLoader: false});\n\n }\n }\n }\n });\n});\n"],"names":["$","click","dialog","form","validate","submit","bgiframe","autoOpen","width","modal","open","event","ui","first","focus","buttons","cancel","text","bcI18n","commonCancel","this","save","commonSave","valid","bcToken","check","ajax","url","bcUtil","apiAdminBaseUrl","type","data","serialize","dataType","beforeSend","hideMessage","showLoader","done","result","showNoticeMessage","message","fail","XMLHttpRequest","textStatus","errorThrown","alert","commonSaveFailedMessage","always","hideLoader"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/admin/permissions/dialog.bundle.js","mappings":";;;;;;;;;AAgBAA,GAAE,WAKEA,EAAE,sBAAsBC,OAAM,WAE1B,OADAD,EAAE,qBAAqBE,OAAO,SACvB,CACX,IAKA,IAAIC,EAAOH,EAAE,0BACbG,EAAKC,WACLD,EAAKE,QAAO,WACR,OAAO,CACX,IAKAL,EAAE,qBAAqBE,OAAO,CAC1BI,UAAU,EACVC,UAAU,EACVC,MAAO,OACPC,OAAO,EACPC,KAAM,SAAUC,EAAOC,GACnBZ,EAAE,gCAAgCa,QAAQC,OAC9C,EACAC,QAAS,CACLC,OAAQ,CACJC,KAAMC,OAAOC,aACblB,MAAO,WACHD,EAAEoB,MAAMlB,OAAO,QACnB,GAEJmB,KAAM,CACFJ,KAAMC,OAAOI,WACbrB,MAAO,WAEHE,EAAKE,SACAF,EAAKoB,SAEVvB,EAAEwB,QAAQC,OAAM,WACZ,OAAOzB,EAAE0B,KAAK,CACVC,IAAK3B,EAAE4B,OAAOC,gBAAkB,6BAChCC,KAAM,OACNC,KAAM5B,EAAK6B,YACXC,SAAU,OACVC,WAAY,WACRlC,EAAE4B,OAAOO,cACTnC,EAAE4B,OAAOQ,YACb,IACDC,MAAK,SAAUC,GACdtC,EAAE4B,OAAOW,kBAAkBD,EAAOE,SAClCxC,EAAE,qBAAqBE,OAAO,QAClC,IAAGuC,MAAK,SAASC,EAAgBC,EAAYC,GACzCC,MAAM3B,OAAO4B,wBACjB,IAAGC,QAAO,WACN/C,EAAE4B,OAAOoB,YACb,GACJ,GAAG,CAACA,YAAY,GAEpB,KAIhB","sources":["webpack://bc-admin-third/./src/js/admin/permissions/dialog.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) baserCMS Users Community \n *\n * @copyright Copyright (c) baserCMS Users Community\n * @link https://basercms.net baserCMS Project\n * @since baserCMS v 0.1.0\n * @license https://basercms.net/license/index.html\n */\n\n/**\n * dialog\n * @checked\n * @noTodo\n * @unitTest\n */\n$(function () {\n\n /**\n * ダイアログを開く\n */\n $(\"#BtnMenuPermission\").click(function () {\n $('#PermissionDialog').dialog('open');\n return false;\n });\n\n /**\n * バリデーション\n */\n let form = $(\"#PermissionAjaxAddForm\");\n form.validate();\n form.submit(function () {\n return false\n });\n\n /**\n * ダイアログを初期化\n */\n $(\"#PermissionDialog\").dialog({\n bgiframe: true,\n autoOpen: false,\n width: 'auto',\n modal: true,\n open: function (event, ui) {\n $(\"#PermissionAjaxAddForm input\").first().focus();\n },\n buttons: {\n cancel: {\n text: bcI18n.commonCancel,\n click: function () {\n $(this).dialog('close');\n }\n },\n save: {\n text: bcI18n.commonSave,\n click: function () {\n\n form.submit();\n if (!form.valid()) return;\n\n $.bcToken.check(function () {\n return $.ajax({\n url: $.bcUtil.apiAdminBaseUrl + 'baser-core/permissions/add',\n type: 'POST',\n data: form.serialize(),\n dataType: 'json',\n beforeSend: function () {\n $.bcUtil.hideMessage();\n $.bcUtil.showLoader();\n },\n }).done(function (result) {\n $.bcUtil.showNoticeMessage(result.message);\n $(\"#PermissionDialog\").dialog('close');\n }).fail(function(XMLHttpRequest, textStatus, errorThrown) {\n alert(bcI18n.commonSaveFailedMessage);\n }).always(function(){\n $.bcUtil.hideLoader();\n });\n }, {hideLoader: false});\n\n }\n }\n }\n });\n});\n"],"names":["$","click","dialog","form","validate","submit","bgiframe","autoOpen","width","modal","open","event","ui","first","focus","buttons","cancel","text","bcI18n","commonCancel","this","save","commonSave","valid","bcToken","check","ajax","url","bcUtil","apiAdminBaseUrl","type","data","serialize","dataType","beforeSend","hideMessage","showLoader","done","result","showNoticeMessage","message","fail","XMLHttpRequest","textStatus","errorThrown","alert","commonSaveFailedMessage","always","hideLoader"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js b/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js index f17a5f6d93..c45db69de2 100644 --- a/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js +++ b/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js @@ -1,4 +1,4 @@ -(()=>{ +(()=>{"use strict"; /** * baserCMS : Based Website Development Project * Copyright (c) NPO baser foundation @@ -8,5 +8,5 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -var t={plugin:null,isWritablePackage:!1,mounted:function(){var t=$("#AdminPluginsUpdateScript");this.plugin=t.attr("data-plugin"),this.isWritablePackage=t.attr("data-isWritablePackage"),this.registerEvents(),this.toggleUpdate()},registerEvents:function(){$("#BtnUpdate").on("click",this.update),$("#php").on("change",this.toggleUpdate)},update:function(){return!!confirm(bcI18n.confirmMessage1)&&($.bcUtil.showLoader(),!0)},toggleUpdate:function(){var e=$("#BtnUpdate"),a=$(".php-notice");"BaserCore"===t.plugin&&($("#php").val()?(e.removeAttr("disabled"),a.hide()):(e.attr("disabled","disabled"),a.show()),t.isWritablePackage||e.attr("disabled","disabled"))}};t.mounted()})(); +var t={plugin:null,isWritablePackage:!1,isUpdatable:!1,mounted:function(){var t=$("#AdminPluginsUpdateScript");this.plugin=t.attr("data-plugin"),this.isUpdatable=t.attr("data-isUpdatable"),void 0===this.isUpdatable&&(this.isUpdatable=!1),this.registerEvents(),this.toggleUpdate()},registerEvents:function(){$("#BtnUpdate").on("click",this.update),$("#BtnDownload").on("click",$.bcUtil.showLoader),$("#php").on("change",this.toggleUpdate)},update:function(){return!!confirm(bcI18n.confirmMessage1)&&($.bcUtil.showLoader(),!0)},toggleUpdate:function(){var a=$("#BtnUpdate"),e=$("#BtnDownload"),d=$(".php-notice"),i=$("#php");"BaserCore"===t.plugin?(""!==i.val()?(t.isUpdatable?a.removeAttr("disabled"):a.attr("disabled","disabled"),e.removeAttr("disabled")):(a.attr("disabled","disabled"),e.attr("disabled","disabled")),i.val()?d.hide():d.show()):t.isUpdatable?(a.removeAttr("disabled"),e.removeAttr("disabled")):(a.attr("disabled","disabled"),e.attr("disabled","disabled"))}};t.mounted()})(); //# sourceMappingURL=update.bundle.js.map \ No newline at end of file diff --git a/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js.map b/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js.map index 7dca1f65f5..e9ac3630e1 100644 --- a/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js.map +++ b/plugins/bc-admin-third/webroot/js/admin/plugins/update.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"js/admin/plugins/update.bundle.js","mappings":";;;;;;;;;;AAUA,IAAMA,EAAa,CAKfC,OAAQ,KAKRC,mBAAmB,EAKnBC,QAAO,WACH,IAAMC,EAASC,EAAE,6BACjBC,KAAKL,OAASG,EAAOG,KAAK,eAC1BD,KAAKJ,kBAAoBE,EAAOG,KAAK,0BACrCD,KAAKE,iBACLF,KAAKG,cACT,EAKAD,eAAc,WACVH,EAAE,cAAcK,GAAG,QAASJ,KAAKK,QACjCN,EAAE,QAAQK,GAAG,SAAUJ,KAAKG,aAChC,EAMAE,OAAM,WACF,QAAIC,QAAQC,OAAOC,mBACfT,EAAEU,OAAOC,cACF,EAGf,EAKAP,aAAY,WACR,IAAMQ,EAAaZ,EAAE,cACfa,EAAab,EAAE,eACI,cAAtBL,EAAWC,SACXI,EAAE,QAAQc,OACTF,EAAWG,WAAW,YACtBF,EAAWG,SAEXJ,EAAWV,KAAK,WAAY,YAC5BW,EAAWI,QAEXtB,EAAWE,mBACXe,EAAWV,KAAK,WAAY,YAEpC,GAIJP,EAAWG,S","sources":["webpack://bc-admin-third/./src/js/admin/plugins/update.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\nconst updateForm = {\n\n /**\n * プラグイン名\n */\n plugin: null,\n\n /**\n * vendor / composer に書き込み権限があるか\n */\n isWritablePackage: false,\n\n /**\n * 起動処理\n */\n mounted() {\n const script = $(\"#AdminPluginsUpdateScript\");\n this.plugin = script.attr('data-plugin');\n this.isWritablePackage = script.attr('data-isWritablePackage');\n this.registerEvents();\n this.toggleUpdate();\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BtnUpdate\").on('click', this.update);\n $(\"#php\").on('change', this.toggleUpdate);\n },\n\n /**\n * アップデート実行\n * @returns {boolean}\n */\n update() {\n if (confirm(bcI18n.confirmMessage1)) {\n $.bcUtil.showLoader();\n return true;\n }\n return false;\n },\n\n /**\n * アップデートボタン切り替え\n */\n toggleUpdate() {\n const $btnUpdate = $(\"#BtnUpdate\");\n const $phpNotice = $(\".php-notice\");\n if(updateForm.plugin !== 'BaserCore') return;\n if($(\"#php\").val()) {\n $btnUpdate.removeAttr('disabled');\n $phpNotice.hide();\n } else {\n $btnUpdate.attr('disabled', 'disabled');\n $phpNotice.show();\n }\n if(!updateForm.isWritablePackage) {\n $btnUpdate.attr('disabled', 'disabled');\n }\n }\n\n};\n\nupdateForm.mounted();\n\n"],"names":["updateForm","plugin","isWritablePackage","mounted","script","$","this","attr","registerEvents","toggleUpdate","on","update","confirm","bcI18n","confirmMessage1","bcUtil","showLoader","$btnUpdate","$phpNotice","val","removeAttr","hide","show"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/admin/plugins/update.bundle.js","mappings":";;;;;;;;;;AAWA,IAAMA,EAAa,CAKfC,OAAQ,KAKRC,mBAAmB,EAKnBC,aAAa,EAKbC,QAAO,WACH,IAAMC,EAASC,EAAE,6BACjBC,KAAKN,OAASI,EAAOG,KAAK,eAC1BD,KAAKJ,YAAcE,EAAOG,KAAK,yBACPC,IAArBF,KAAKJ,cAA2BI,KAAKJ,aAAc,GACtDI,KAAKG,iBACLH,KAAKI,cACT,EAKAD,eAAc,WACVJ,EAAE,cAAcM,GAAG,QAASL,KAAKM,QACjCP,EAAE,gBAAgBM,GAAG,QAASN,EAAEQ,OAAOC,YACvCT,EAAE,QAAQM,GAAG,SAAUL,KAAKI,aAChC,EAQAE,OAAM,WACF,QAAIG,QAAQC,OAAOC,mBACfZ,EAAEQ,OAAOC,cACF,EAGf,EAKAJ,aAAY,WACR,IAAMQ,EAAab,EAAE,cACfc,EAAed,EAAE,gBACjBe,EAAaf,EAAE,eACfgB,EAAYhB,EAAE,QAEM,cAAtBN,EAAWC,QACa,KAApBqB,EAAUC,OACPvB,EAAWG,YACVgB,EAAWK,WAAW,YAEtBL,EAAWX,KAAK,WAAY,YAEhCY,EAAaI,WAAW,cAExBL,EAAWX,KAAK,WAAY,YAC5BY,EAAaZ,KAAK,WAAY,aAE9Bc,EAAUC,MACVF,EAAWI,OAEXJ,EAAWK,QAGX1B,EAAWG,aACXgB,EAAWK,WAAW,YACtBJ,EAAaI,WAAW,cAExBL,EAAWX,KAAK,WAAY,YAC5BY,EAAaZ,KAAK,WAAY,YAG1C,GAIJR,EAAWI,S","sources":["webpack://bc-admin-third/./src/js/admin/plugins/update.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project \n * Copyright (c) NPO baser foundation \n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\nimport axios from \"axios\";\n\nconst updateForm = {\n\n /**\n * プラグイン名\n */\n plugin: null,\n\n /**\n * vendor / composer に書き込み権限があるか\n */\n isWritablePackage: false,\n\n /**\n * アップデートできるかどうか\n */\n isUpdatable: false,\n\n /**\n * 起動処理\n */\n mounted() {\n const script = $(\"#AdminPluginsUpdateScript\");\n this.plugin = script.attr('data-plugin');\n this.isUpdatable = script.attr('data-isUpdatable');\n if(this.isUpdatable === undefined) this.isUpdatable = false;\n this.registerEvents();\n this.toggleUpdate();\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BtnUpdate\").on('click', this.update);\n $(\"#BtnDownload\").on('click', $.bcUtil.showLoader);\n $(\"#php\").on('change', this.toggleUpdate);\n },\n\n /**\n * アップデート実行\n * コアのアップデートの場合、ダウンロードした最新版のファイルを適用してからリクエストを送信する\n * マイグレーションファイルがプログラムに反映されないと実行できないため、別プロセスとして実行する\n * @returns {boolean}\n */\n update() {\n if (confirm(bcI18n.confirmMessage1)) {\n $.bcUtil.showLoader();\n return true;\n }\n return false;\n },\n\n /**\n * アップデートボタン切り替え\n */\n toggleUpdate() {\n const $btnUpdate = $(\"#BtnUpdate\");\n const $btnDownload = $(\"#BtnDownload\");\n const $phpNotice = $(\".php-notice\");\n const $inputPhp = $(\"#php\");\n\n if (updateForm.plugin === 'BaserCore') {\n if ($inputPhp.val() !== ''){\n if(updateForm.isUpdatable) {\n $btnUpdate.removeAttr('disabled');\n } else {\n $btnUpdate.attr('disabled', 'disabled');\n }\n $btnDownload.removeAttr('disabled');\n } else {\n $btnUpdate.attr('disabled', 'disabled');\n $btnDownload.attr('disabled', 'disabled');\n }\n if ($inputPhp.val()) {\n $phpNotice.hide();\n } else {\n $phpNotice.show();\n }\n } else {\n if (updateForm.isUpdatable) {\n $btnUpdate.removeAttr('disabled');\n $btnDownload.removeAttr('disabled');\n } else {\n $btnUpdate.attr('disabled', 'disabled');\n $btnDownload.attr('disabled', 'disabled');\n }\n }\n }\n\n};\n\nupdateForm.mounted();\n\n"],"names":["updateForm","plugin","isWritablePackage","isUpdatable","mounted","script","$","this","attr","undefined","registerEvents","toggleUpdate","on","update","bcUtil","showLoader","confirm","bcI18n","confirmMessage1","$btnUpdate","$btnDownload","$phpNotice","$inputPhp","val","removeAttr","hide","show"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-blog/src/Plugin.php b/plugins/bc-blog/src/BcBlogPlugin.php similarity index 87% rename from plugins/bc-blog/src/Plugin.php rename to plugins/bc-blog/src/BcBlogPlugin.php index 2a8da6b275..6bd91ac58c 100755 --- a/plugins/bc-blog/src/Plugin.php +++ b/plugins/bc-blog/src/BcBlogPlugin.php @@ -16,6 +16,7 @@ use BaserCore\Model\Table\SitesTable; use BaserCore\Utility\BcContainerTrait; use BcBlog\ServiceProvider\BcBlogServiceProvider; +use Cake\Core\Configure; use Cake\Core\ContainerInterface; use BaserCore\Annotation\NoTodo; use BaserCore\Annotation\Checked; @@ -26,7 +27,7 @@ /** * plugin for BcBlog */ -class Plugin extends BcPlugin +class BcBlogPlugin extends BcPlugin { /** @@ -48,12 +49,23 @@ public function install($options = []) : bool { $result = parent::install($options); // ブログ記事の投稿日を更新 - if(empty($options['db_init'])) { + if(Configure::read('BcEnv.isInstalled') && empty($options['db_init'])) { $this->updateDateNow('BcBlog.BlogPosts', ['posted'], [], $options); } return $result; } + /** + * 初期データ読み込み時の更新処理 + * @param array $options + * @return void + */ + public function updateDefaultData($options = []) : void + { + // ブログ記事の投稿日を更新 + $this->updateDateNow('BcBlog.BlogPosts', ['posted'], [], $options); + } + /** * プラグインをアンインストールする * diff --git a/plugins/bc-blog/src/Controller/BlogController.php b/plugins/bc-blog/src/Controller/BlogController.php index 3ff9349343..d4c2c4e0fd 100755 --- a/plugins/bc-blog/src/Controller/BlogController.php +++ b/plugins/bc-blog/src/Controller/BlogController.php @@ -21,6 +21,7 @@ use BcBlog\Service\BlogPostsServiceInterface; use BcBlog\Service\Front\BlogFrontService; use BcBlog\Service\Front\BlogFrontServiceInterface; +use Cake\Core\Exception\CakeException; use Cake\Event\EventInterface; use BaserCore\Annotation\UnitTest; use BaserCore\Annotation\NoTodo; @@ -110,8 +111,15 @@ public function index( $entities = $this->paginate($blogPostsService->getIndex([ 'blog_content_id' => $blogContentId, 'limit' => $listCount, - 'status' => 'publish' - ])); + 'status' => 'publish', + 'draft' => false, + 'contain' => [ + 'Users', + 'BlogCategories', + 'BlogContents' => ['Contents'], + 'BlogComments', + 'BlogTags', + ]])); } catch (NotFoundException $e) { return $this->redirect(['action' => 'index']); } @@ -178,7 +186,8 @@ public function archives( $this->paginate($blogPostsService->getIndexByCategory($category, array_merge([ 'status' => 'publish', 'blog_content_id' => $blogContent->id, - 'direction' => $blogContent->list_direction + 'direction' => $blogContent->list_direction, + 'draft' => false ], $this->getRequest()->getQueryParams())), ['limit' => $blogContent->list_count]), $category, $this->getRequest(), @@ -195,6 +204,7 @@ public function archives( 'status' => 'publish', 'blog_content_id' => $blogContent->id, 'direction' => $blogContent->list_direction, + 'draft' => false ], $this->getRequest()->getQueryParams())), ['limit' => $blogContent->list_count]), $author, $blogContent @@ -209,6 +219,7 @@ public function archives( 'status' => 'publish', 'blog_content_id' => $blogContent->id, 'direction' => $blogContent->list_direction, + 'draft' => false ], $this->getRequest()->getQueryParams())), ['limit' => $blogContent->list_count]), $tag, $blogContent @@ -232,6 +243,7 @@ public function archives( 'status' => 'publish', 'blog_content_id' => $blogContent->id, 'direction' => $blogContent->list_direction, + 'draft' => false ], $this->getRequest()->getQueryParams())), ['limit' => $blogContent->list_count]), $year, $month, @@ -335,10 +347,14 @@ public function ajax_add_comment(BlogCommentsServiceInterface $service, BcCaptch ])); } - $service->sendCommentToAdmin($entity); - // コメント承認機能を利用していない場合は、公開されているコメント投稿者に送信 - if (!$blogContent->comment_approve) { - $service->sendCommentToContributor($entity); + try { + $service->sendCommentToAdmin($entity); + // コメント承認機能を利用していない場合は、公開されているコメント投稿者に送信 + if (!$blogContent->comment_approve) { + $service->sendCommentToContributor($entity); + } + } catch (CakeException $e) { + $this->log($e->getMessage()); } $this->set([ diff --git a/plugins/bc-blog/src/Model/Table/BlogCategoriesTable.php b/plugins/bc-blog/src/Model/Table/BlogCategoriesTable.php index 6b5cac670a..516c44fffb 100755 --- a/plugins/bc-blog/src/Model/Table/BlogCategoriesTable.php +++ b/plugins/bc-blog/src/Model/Table/BlogCategoriesTable.php @@ -22,7 +22,6 @@ use BaserCore\Annotation\NoTodo; use BaserCore\Annotation\Checked; use BaserCore\Annotation\UnitTest; -use SoftDelete\ORM\SelectQuery; /** * BlogCategoriesTable diff --git a/plugins/bc-blog/src/Model/Table/BlogCommentsTable.php b/plugins/bc-blog/src/Model/Table/BlogCommentsTable.php index eef4a52906..88a23dd891 100755 --- a/plugins/bc-blog/src/Model/Table/BlogCommentsTable.php +++ b/plugins/bc-blog/src/Model/Table/BlogCommentsTable.php @@ -32,6 +32,7 @@ class BlogCommentsTable extends BlogAppTable * @return Validator * @checked * @noTodo + * @unitTest */ public function validationDefault(Validator $validator): Validator { diff --git a/plugins/bc-blog/src/Model/Table/BlogContentsTable.php b/plugins/bc-blog/src/Model/Table/BlogContentsTable.php index ffe31517d2..d248949924 100755 --- a/plugins/bc-blog/src/Model/Table/BlogContentsTable.php +++ b/plugins/bc-blog/src/Model/Table/BlogContentsTable.php @@ -149,7 +149,7 @@ public function beforeSave(EventInterface $event, EntityInterface $entity, \Arra if (!Plugin::isLoaded('BcSearchIndex')) { return true; } - if (empty($entity->content) || !empty($entity->content->exclude_search) || !$entity->content->status) { + if (empty($entity->content) || !empty($entity->content->exclude_search)) { $this->setExcluded(); } return true; @@ -219,7 +219,7 @@ public function createRelatedSearchIndexes(EntityInterface $entity) public function copy( int $id, int $newParentId, - string $newTitle, + string|null $newTitle, int $newAuthorId, int $newSiteId = null ) @@ -246,7 +246,7 @@ public function copy( $data->content = new Content([ 'name' => $name, 'parent_id' => $newParentId, - 'title' => $newTitle ?? $oldData->title . '_copy', + 'title' => $newTitle ?? $oldData->content->title . '_copy', 'author_id' => $newAuthorId, 'site_id' => $newSiteId, 'exclude_search' => false, diff --git a/plugins/bc-blog/src/Model/Table/BlogPostsTable.php b/plugins/bc-blog/src/Model/Table/BlogPostsTable.php index 603521fb1a..91b1d4605f 100755 --- a/plugins/bc-blog/src/Model/Table/BlogPostsTable.php +++ b/plugins/bc-blog/src/Model/Table/BlogPostsTable.php @@ -234,8 +234,12 @@ public function beforeSave(EventInterface $event, EntityInterface $entity, Array if (!Plugin::isLoaded('BcSearchIndex') || !$this->searchIndexSaving) { return; } + $this->unsetExcluded(); // 検索用テーブルに登録 - if (empty($entity->blog_content->content) || !empty($entity->blog_content->content->exclude_search)) { + if ($entity->exclude_search + || empty($entity->blog_content->content) + || !empty($entity->blog_content->content->exclude_search) + ) { $this->setExcluded(); } } @@ -829,7 +833,7 @@ public function getPublishByNo(int $blogContentId, mixed $no, bool $preview = fa ['BlogPosts.name' => rawurldecode($no)] ); } - return $this->find()->where($conditions) + $entity = $this->find()->where($conditions) ->contain([ 'BlogContents' => ['Contents' => ['Sites']], 'BlogCategories', @@ -838,6 +842,11 @@ public function getPublishByNo(int $blogContentId, mixed $no, bool $preview = fa 'Users' ]) ->first(); + if($entity) { + unset($entity->content_draft); + unset($entity->detail_draft); + } + return $entity; } } diff --git a/plugins/bc-blog/src/Service/BlogCommentsService.php b/plugins/bc-blog/src/Service/BlogCommentsService.php index 815ce40750..0eabf39e3a 100755 --- a/plugins/bc-blog/src/Service/BlogCommentsService.php +++ b/plugins/bc-blog/src/Service/BlogCommentsService.php @@ -92,7 +92,9 @@ public function getIndex(array $queryParams) if (!empty($options['blog_post_id'])) { $query = $query->where(['BlogComments.blog_post_id' => $options['blog_post_id']]); } - + if (!empty($options['blog_content_id'])) { + $query = $query->where(['BlogComments.blog_content_id' => $options['blog_content_id']]); + } if ($options['status'] === 'publish') { $query->where($this->BlogComments->BlogContents->Contents->getConditionAllowPublish()); } diff --git a/plugins/bc-blog/src/Service/BlogPostsService.php b/plugins/bc-blog/src/Service/BlogPostsService.php index b9455dd811..80381ad7ba 100755 --- a/plugins/bc-blog/src/Service/BlogPostsService.php +++ b/plugins/bc-blog/src/Service/BlogPostsService.php @@ -27,6 +27,7 @@ use Cake\Database\Driver\Sqlite; use Cake\Datasource\ConnectionManager; use Cake\Datasource\EntityInterface; +use Cake\Datasource\QueryInterface; use Cake\Http\Exception\NotFoundException; use Cake\I18n\FrozenTime; use Cake\ORM\Query; @@ -260,17 +261,12 @@ protected function createIndexConditions(Query $query, array $params) // ステータス if (($params['status'] === 'publish' || (string)$params['status'] === '1') && !$params['preview']) { $conditions = $this->BlogPosts->getConditionAllowPublish(); - if (empty($params['contain']) || $params['draft'] === false) { - $fields = $this->BlogPosts->getSchema()->columns(); - if ($params['draft'] === false) { - unset($fields[array_search('content_draft', $fields)]); - unset($fields[array_search('detail_draft', $fields)]); - } - $query->contain(['BlogContents' => ['Contents']])->select($fields); - } elseif (!isset($params['contain']['BlogContents']['Contents'])) { - $query->contain(array_merge_recursive($query->getContain(), ['BlogContents' => ['Contents']])); - } $conditions = array_merge($conditions, $this->BlogPosts->BlogContents->Contents->getConditionAllowPublish()); + $query->contain(['BlogContents' => ['Contents']]); + if($params['draft'] === false) { + $query->selectAllExcept($this->BlogPosts, ['content_draft', 'detail_draft']); + $query = $this->selectContains($query); + } } elseif ((string)$params['status'] === '0') { $conditions = ['BlogPosts.status' => false]; } else { @@ -324,7 +320,7 @@ protected function createIndexConditions(Query $query, array $params) } // タグ名 if ($params['tag']) { - $conditions = $this->createTagCondition($conditions, $params['tag']); + $query = $this->createTagCondition($query, $params['tag']); } // 年月日 if ($params['year'] || $params['month'] || $params['day']) { @@ -353,6 +349,51 @@ protected function createIndexConditions(Query $query, array $params) return $query->where($conditions); } + /** + * Contains を select を前提として適用する + * select を利用した場合、関連テーブルのカラムを指定しないと、取得できないため + * @param Query $query + * @param array $contains + * @return Query + * @noTodo + * @checked + */ + public function selectContains(Query $query, array $contains = []) + { + if(!$contains) $contains = $query->getContain(); + if(isset($contains['BlogContents'])) { + $query->contain(['BlogContents' => function($q) { + return $q->select($this->BlogPosts->BlogContents); + }]); + } + if(isset($contains['BlogContents']['Contents'])) { + $query->contain(['BlogContents.Contents' => function($q) { + return $q->select($this->BlogPosts->BlogContents->Contents); + }]); + } + if(isset($contains['Users'])) { + $query->contain(['Users' => function($q) { + return $q->select($this->BlogPosts->Users); + }]); + } + if(isset($contains['BlogComments'])) { + $query->contain(['BlogComments' => function($q) { + return $q->select($this->BlogPosts->BlogComments); + }]); + } + if(isset($contains['BlogCategories'])) { + $query->contain(['BlogCategories' => function($q) { + return $q->select($this->BlogPosts->BlogCategories); + }]); + } + if(isset($contains['BlogTags'])) { + $query->contain(['BlogTags' => function($q) { + return $q->select($this->BlogPosts->BlogTags); + }]); + } + return $query; + } + /** * カテゴリ条件を生成する * @@ -417,30 +458,23 @@ public function createCategoryCondition( /** * タグ条件を生成する * - * @param array $conditions + * @param Query $query * @param mixed $tag タグ(配列可) - * @return array + * @return QueryInterface * @checked * @noTodo * @unitTest */ - public function createTagCondition($conditions, $tag) + public function createTagCondition(Query $query, $tag): QueryInterface { if (!is_array($tag)) $tag = [$tag]; foreach($tag as $key => $value) { $tag[$key] = rawurldecode($value); } - $tags = $this->BlogPosts->BlogTags->find() - ->where(['BlogTags.name IN' => $tag]) - ->contain(['BlogPosts']) - ->all()->toArray(); - $postIds = Hash::extract($tags, '{n}.blog_posts.{n}.id'); - if ($postIds) { - $conditions['BlogPosts.id IN'] = $postIds; - } else { - $conditions['BlogPosts.id IS'] = null; - } - return $conditions; + $query->matching('BlogTags', function($q) use ($tag) { + return $q->where(['BlogTags.name IN' => $tag]); + }); + return $query; } /** diff --git a/plugins/bc-blog/src/View/Helper/BlogHelper.php b/plugins/bc-blog/src/View/Helper/BlogHelper.php index 0614a5fe1d..f5f20d241e 100755 --- a/plugins/bc-blog/src/View/Helper/BlogHelper.php +++ b/plugins/bc-blog/src/View/Helper/BlogHelper.php @@ -20,7 +20,6 @@ use BaserCore\Service\SitesServiceInterface; use BaserCore\Utility\BcContainerTrait; use BaserCore\Utility\BcFolder; -use BaserCore\Utility\BcText; use BaserCore\Utility\BcUtil; use BaserCore\View\Helper\BcBaserHelper; use BaserCore\View\Helper\BcContentsHelper; @@ -1612,6 +1611,7 @@ public function tagLink($blogContentId, $tag, $options = []) * @return array * @checked * @noTodo + * @unitTest */ private function _mergePostCountToTagsData(ResultSetInterface $tags, $options) { @@ -1648,7 +1648,7 @@ private function _mergePostCountToTagsData(ResultSetInterface $tags, $options) $query = $blogPostsService->BlogPosts->find() ->where($conditions) ->leftJoinWith('BlogTags') - ->group(['BlogTags.id']) + ->groupBy(['BlogTags.id']) ->select(['BlogTags.id']); $query = $query->select([ 'post_count' => $query->func()->count('BlogPosts.id') diff --git a/plugins/bc-blog/src/View/Helper/RssHelper.php b/plugins/bc-blog/src/View/Helper/RssHelper.php index 2a0e5d3b88..90a15d4d97 100755 --- a/plugins/bc-blog/src/View/Helper/RssHelper.php +++ b/plugins/bc-blog/src/View/Helper/RssHelper.php @@ -13,6 +13,9 @@ use Cake\Utility\Xml; use Cake\View\Helper; +use BaserCore\Annotation\NoTodo; +use BaserCore\Annotation\Checked; +use BaserCore\Annotation\UnitTest; /** * RSS Helper class for easy output RSS structures. @@ -116,6 +119,9 @@ public function document($attrib = [], $content = null) * @param array $elements Named array elements which are converted to tags * @param string|null $content Content (``'s belonging to this channel * @return string An RSS `` + * @checked + * @noTodo + * @unitTest */ public function channel($attrib = [], $elements = [], $content = null) { @@ -162,6 +168,9 @@ public function channel($attrib = [], $elements = [], $content = null) * @param string|array|null $callback A string function name, or array containing an object * and a string method name * @return string A set of RSS `` elements + * @checked + * @noTodo + * @unitTest */ public function items($items, $callback = null) { @@ -185,6 +194,9 @@ public function items($items, $callback = null) * @param array $att The attributes of the `` element * @param array $elements The list of elements contained in this `` * @return string An RSS `` element + * @checked + * @noTodo + * @unitTest */ public function item($att = [], $elements = []) { @@ -278,6 +290,9 @@ public function item($att = [], $elements = []) * @param int|string|\DateTime $time UNIX timestamp or valid time string or DateTime object. * @return string An RSS-formatted timestamp * @see \Cake\View\Helper\TimeHelper::toRSS + * @checked + * @noTodo + * @unitTest */ public function time($time) { diff --git a/plugins/bc-blog/tests/Scenario/MultiSiteBlogPostScenario.php b/plugins/bc-blog/tests/Scenario/MultiSiteBlogPostScenario.php index d03345f24c..70f794cd8e 100755 --- a/plugins/bc-blog/tests/Scenario/MultiSiteBlogPostScenario.php +++ b/plugins/bc-blog/tests/Scenario/MultiSiteBlogPostScenario.php @@ -116,12 +116,14 @@ protected function createBlogPosts() { BlogPostFactory::make([ 'id' => 1, + 'user_id' => 1, 'blog_content_id' => 6, 'blog_category_id' => 6, 'no' => 3, 'name' => 'release', 'title' => 'プレスリリース', 'status' => 1, + 'exclude_search' => 0, 'posted' => '2015-01-27 12:57:59', ])->persist(); BlogPostFactory::make([ @@ -131,6 +133,7 @@ protected function createBlogPosts() 'name' => 'smartphone_release', 'title' => 'スマホサイトリリース', 'status' => 1, + 'exclude_search' => 0, 'posted' => '2016-02-10 12:57:59', ])->persist(); BlogPostFactory::make([ @@ -140,6 +143,7 @@ protected function createBlogPosts() 'name' => 'english_release', 'title' => '英語サイトリリース', 'status' => 1, + 'exclude_search' => 0, ])->persist(); BlogPostFactory::make([ 'id' => 4, @@ -148,6 +152,7 @@ protected function createBlogPosts() 'name' => 'another_domain_release', 'title' => '別サイトリリース', 'status' => 1, + 'exclude_search' => 0, ])->persist(); BlogPostFactory::make([ 'id' => 5, @@ -156,6 +161,7 @@ protected function createBlogPosts() 'name' => 'sub_domain_release', 'title' => '別サイトリリース', 'status' => 1, + 'exclude_search' => 0, ])->persist(); BlogPostFactory::make([ 'id' => 6, @@ -164,6 +170,7 @@ protected function createBlogPosts() 'name' => 'release', 'title' => 'プレスリリース', 'status' => 1, + 'exclude_search' => 0, ])->persist(); return null; } diff --git a/plugins/bc-blog/tests/TestCase/Controller/Api/Admin/BlogContentsControllerTest.php b/plugins/bc-blog/tests/TestCase/Controller/Api/Admin/BlogContentsControllerTest.php index a028ff28d2..fddf050dee 100755 --- a/plugins/bc-blog/tests/TestCase/Controller/Api/Admin/BlogContentsControllerTest.php +++ b/plugins/bc-blog/tests/TestCase/Controller/Api/Admin/BlogContentsControllerTest.php @@ -190,7 +190,13 @@ public function test_edit() */ public function test_delete() { - ContentFactory::make(['plugin' => 'BcBlog', 'type' => 'BlogContent', 'entity_id' => 101])->persist(); + ContentFactory::make([ + 'plugin' => 'BcBlog', + 'type' => 'BlogContent', + 'entity_id' => 101, + 'lft' => 1, + 'rght' => 2 + ])->persist(); BlogContentFactory::make(['id' => 101, 'description' => 'abc'])->persist(); $this->post('/baser/api/admin/bc-blog/blog_contents/delete/101.json?token=' . $this->accessToken); diff --git a/plugins/bc-blog/tests/TestCase/Model/BlogCommentsTableTest.php b/plugins/bc-blog/tests/TestCase/Model/BlogCommentsTableTest.php index 5cd4ee49e6..a2e7f6f2f0 100755 --- a/plugins/bc-blog/tests/TestCase/Model/BlogCommentsTableTest.php +++ b/plugins/bc-blog/tests/TestCase/Model/BlogCommentsTableTest.php @@ -57,79 +57,53 @@ public function test_initialize() /* * validate */ - public function test空チェック() + public function test_validationDefaultEmptyCheck() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->BlogComment->create([ - 'BlogComment' => [ - 'name' => '', - 'message' => '', - ] + $validator = $this->BlogCommentsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => '', + 'message' => '' ]); - - $this->assertFalse($this->BlogComment->validates()); - - $this->assertArrayHasKey('name', $this->BlogComment->validationErrors); - $this->assertEquals('お名前を入力してください。', current($this->BlogComment->validationErrors['name'])); - - $this->assertArrayHasKey('message', $this->BlogComment->validationErrors); - $this->assertEquals('コメントを入力してください。', current($this->BlogComment->validationErrors['message'])); + $this->assertEquals('お名前を入力してください。', current($errors['name'])); + $this->assertEquals('コメントを入力してください。', current($errors['message'])); } - public function test桁数チェック異常系() + public function test_validationDefaultMaxLength() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->BlogComment->create([ - 'BlogComment' => [ - 'name' => '123456789012345678901234567890123456789012345678901', - 'email' => '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@example.com', - 'url' => 'http://example.com/1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456', - ] + $validator = $this->BlogCommentsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => str_repeat('a', 51), + 'email' => str_repeat('a', 246) . '@gmail.com', + 'url' => 'http://example.com/' . str_repeat('a', 237) ]); - $this->assertFalse($this->BlogComment->validates()); - - $this->assertArrayHasKey('name', $this->BlogComment->validationErrors); - $this->assertEquals('お名前は50文字以内で入力してください。', current($this->BlogComment->validationErrors['name'])); - $this->assertArrayHasKey('email', $this->BlogComment->validationErrors); - $this->assertEquals('Eメールは255文字以内で入力してください。', current($this->BlogComment->validationErrors['email'])); - - - $this->assertArrayHasKey('url', $this->BlogComment->validationErrors); - $this->assertEquals('URLは255文字以内で入力してください。', current($this->BlogComment->validationErrors['url'])); + $this->assertEquals('お名前は50文字以内で入力してください。', current($errors['name'])); + $this->assertEquals('Eメールは255文字以内で入力してください。', current($errors['email'])); + $this->assertEquals('URLは255文字以内で入力してください。', current($errors['url'])); } - public function test桁数チェック正常系() + public function test_validationDefaultNotError() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->BlogComment->create([ - 'BlogComment' => [ - 'name' => '12345678901234567890123456789012345678901234567890', - 'email' => '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678@example.com', - 'url' => 'http://example.com/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456' - ] + $validator = $this->BlogCommentsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => str_repeat('a', 50), + 'email' => str_repeat('a', 245) . '@gmail.com', + 'url' => 'http://example.com/' . str_repeat('a', 236) ]); - $this->assertTrue($this->BlogComment->validates()); + $this->assertCount(0, $errors); } - public function testその他異常系() + public function test_validationDefaultOtherErrors() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - // 形式チェック - $this->BlogComment->create([ - 'BlogComment' => [ - 'email' => 'hoge', - 'url' => 'hoge' - ] + $validator = $this->BlogCommentsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => str_repeat('a', 5), + 'email' => str_repeat('a', 10), + 'url' => str_repeat('a', 10) ]); - $this->assertFalse($this->BlogComment->validates()); - - $this->assertArrayHasKey('email', $this->BlogComment->validationErrors); - $this->assertEquals('Eメールの形式が不正です。', current($this->BlogComment->validationErrors['email'])); - - $this->assertArrayHasKey('url', $this->BlogComment->validationErrors); - $this->assertEquals('URLの形式が不正です。', current($this->BlogComment->validationErrors['url'])); + $this->assertEquals('Eメールの形式が不正です。', current($errors['email'])); + $this->assertEquals('URLの形式が不正です。', current($errors['url'])); } /** diff --git a/plugins/bc-blog/tests/TestCase/Model/BlogPostsTableTest.php b/plugins/bc-blog/tests/TestCase/Model/BlogPostsTableTest.php index cae5cc585f..e5fb7d4103 100755 --- a/plugins/bc-blog/tests/TestCase/Model/BlogPostsTableTest.php +++ b/plugins/bc-blog/tests/TestCase/Model/BlogPostsTableTest.php @@ -22,10 +22,8 @@ use BcBlog\Test\Factory\BlogCategoryFactory; use BcBlog\Test\Factory\BlogContentFactory; use BcBlog\Test\Factory\BlogPostFactory; -use BcBlog\Test\Scenario\BlogPostsScenario; use BcBlog\Test\Scenario\MultiSiteBlogPostScenario; use Cake\Event\Event; -use Cake\I18n\FrozenTime; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; use ArrayObject; /** @@ -770,8 +768,9 @@ public function test_beforeSave() $this->loadFixtureScenario(MultiSiteBlogPostScenario::class); $blogPost = $BlogPostsService->get(1); + $blogPost->exclude_search = 1; $this->BlogPostsTable->beforeSave(new Event("beforeSave"), $blogPost, new ArrayObject()); - $this->assertFalse($this->BlogPostsTable->isExcluded()); + $this->assertTrue($this->BlogPostsTable->isExcluded()); //set isExcluded true BlogContentFactory::make(['id' => 11])->persist(); diff --git a/plugins/bc-blog/tests/TestCase/Service/BlogPostsServiceTest.php b/plugins/bc-blog/tests/TestCase/Service/BlogPostsServiceTest.php index 190eca6c0f..fc16f6b76f 100755 --- a/plugins/bc-blog/tests/TestCase/Service/BlogPostsServiceTest.php +++ b/plugins/bc-blog/tests/TestCase/Service/BlogPostsServiceTest.php @@ -17,7 +17,6 @@ use BaserCore\Test\Scenario\InitAppScenario; use BaserCore\TestSuite\BcTestCase; use BaserCore\Utility\BcContainerTrait; -use BcBlog\Model\Table\BlogPostsTable; use BcBlog\Service\BlogPostsService; use BcBlog\Service\BlogPostsServiceInterface; use BcBlog\Test\Factory\BlogCategoryFactory; @@ -346,22 +345,27 @@ public function testCreateTagCondition() BlogPostBlogTagFactory::make(['blog_post_id' => 1, 'blog_tag_id' => 3])->persist(); BlogPostBlogTagFactory::make(['blog_post_id' => 2, 'blog_tag_id' => 4])->persist(); - //文字:存在しているタグを確認場合、 - $result = $this->BlogPostsService->createTagCondition([], 'tag1'); - $this->assertEquals(1, $result["BlogPosts.id IN"][0]); + $blogPostsTable = $this->getTableLocator()->get('BcBlog.BlogPosts'); - //配列:存在しているタグを確認場合、 - $result = $this->BlogPostsService->createTagCondition([], ['tag1', 'tag2']); - $this->assertEquals(1, $result["BlogPosts.id IN"][0]); - $this->assertEquals(2, $result['BlogPosts.id IN'][1]); + // 単一:存在しているタグを確認場合 + $query = $blogPostsTable->find(); + $result = $this->BlogPostsService->createTagCondition($query, 'tag1'); + $this->assertEquals(1, $result->count()); + + // 配列:存在しているタグを確認場合 + $query = $blogPostsTable->find(); + $result = $this->BlogPostsService->createTagCondition($query, ['tag1', 'tag2']); + $this->assertEquals(2, $result->count()); - //配列:存在しているタグと存在していないタグを確認場合、 - $result = $this->BlogPostsService->createTagCondition([], ['tag1111', 'tag2']); - $this->assertEquals(2, $result["BlogPosts.id IN"][0]); + // 配列:存在しているタグと存在していないタグを確認場合 + $query = $blogPostsTable->find(); + $result = $this->BlogPostsService->createTagCondition($query, ['tag1111', 'tag1']); + $this->assertEquals(1, $result->count()); - //配列:存在していないタグを確認場合、 - $result = $this->BlogPostsService->createTagCondition([], ['tag1111', 'tag22222']); - $this->assertNull($result["BlogPosts.id IS"]); + //配列:存在していないタグを確認場合 + $query = $blogPostsTable->find(); + $result = $this->BlogPostsService->createTagCondition($query, ['tag1111', 'tag22222']); + $this->assertEquals(0, $result->count()); } /** diff --git a/plugins/bc-blog/tests/TestCase/Service/Front/BlogFrontServiceTest.php b/plugins/bc-blog/tests/TestCase/Service/Front/BlogFrontServiceTest.php index 639086d1b4..c062b48e5d 100755 --- a/plugins/bc-blog/tests/TestCase/Service/Front/BlogFrontServiceTest.php +++ b/plugins/bc-blog/tests/TestCase/Service/Front/BlogFrontServiceTest.php @@ -702,7 +702,7 @@ public function test_getViewVarsForBlogAuthorArchivesWidget() // データを生成 $this->loadFixtureScenario(MultiSiteBlogPostScenario::class); UserFactory::make([ - 'id' => BlogPostFactory::get(1)->user_id, + 'id' => 1, 'name' => 'name_test', 'real_name_1' => 'real_name_1_test', 'real_name_2' => 'real_name_2_test', diff --git a/plugins/bc-blog/tests/TestCase/View/Helper/BlogHelperTest.php b/plugins/bc-blog/tests/TestCase/View/Helper/BlogHelperTest.php index f89c740a71..ec747f8610 100755 --- a/plugins/bc-blog/tests/TestCase/View/Helper/BlogHelperTest.php +++ b/plugins/bc-blog/tests/TestCase/View/Helper/BlogHelperTest.php @@ -21,6 +21,7 @@ use BcBlog\Model\Entity\BlogTag; use BcBlog\Service\BlogPostsService; use BcBlog\Service\BlogPostsServiceInterface; +use BcBlog\Service\BlogTagsServiceInterface; use BcBlog\Test\Factory\BlogCategoryFactory; use BcBlog\Test\Factory\BlogContentFactory; use BcBlog\Test\Factory\BlogPostBlogTagFactory; @@ -1188,6 +1189,42 @@ public static function tagListDataProvider() ]; } + /** + * test _mergePostCountToTagsData + */ + public function test_mergePostCountToTagsData() + { + $this->truncateTable('blog_contents'); + $this->truncateTable('contents'); + $this->truncateTable('sites'); + + //データ生成 + $this->loadFixtureScenario(MultiSiteBlogPostScenario::class); + $this->loadFixtureScenario(BlogTagsScenario::class); + BlogPostBlogTagFactory::make(['blog_post_id' => 1, 'blog_tag_id' => 1])->persist(); + BlogPostBlogTagFactory::make(['blog_post_id' => 2, 'blog_tag_id' => 1])->persist(); + BlogPostBlogTagFactory::make(['blog_post_id' => 2, 'blog_tag_id' => 2])->persist(); + + //サービス + $blogTagsService = $this->getService(BlogTagsServiceInterface::class); + + $tags = $blogTagsService->getIndex([])->all(); + $options = [ + 'direction' => 'ASC', + 'sort' => 'name', + 'siteId' => null, + 'contentUrl' => ['/news/'] + ]; + //対象メソッドをコール + $rs = $this->execPrivateMethod($this->Blog, '_mergePostCountToTagsData', [$tags, $options]); + //戻り値を確認 + $this->assertCount(3, $rs); + + //post_count の値をチェック + $tags = $rs->toArray(); + $this->assertEquals(1, $tags[0]->post_count); + } + /** * ブログタグ記事一覧へのリンクURLを取得する * @param string $expected diff --git a/plugins/bc-blog/tests/TestCase/View/Helper/RssHelperTest.php b/plugins/bc-blog/tests/TestCase/View/Helper/RssHelperTest.php index aaf404113e..0d275b3dc5 100644 --- a/plugins/bc-blog/tests/TestCase/View/Helper/RssHelperTest.php +++ b/plugins/bc-blog/tests/TestCase/View/Helper/RssHelperTest.php @@ -80,18 +80,78 @@ public static function elemDataProvider() /** * test time + * @param string $time + * @param string $expect + * @dataProvider timeDataProvider */ - public function test_time() + public function test_time(string $time, $expect) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + // 呼び出し + $result = $this->RssHelper->time($time); + // 結果チェック + $this->assertEquals($expect, $result); + } + + public static function timeDataProvider() + { + return [ + ['2024-1-1', 'Mon, 01 Jan 2024 00:00:00 +0900'], + ['2024-2-10 10:10:1', 'Sat, 10 Feb 2024 10:10:01 +0900'], + ]; + } /** * test item + * @param array $att + * @param array $elements + * @param string $expect + * @dataProvider itemDataProvider */ - public function test_item() + public function test_item(array $att, array $elements, $expect) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + // 呼び出し + $result = $this->RssHelper->item($att, $elements); + // 結果チェック + $this->assertEquals($expect, $result); + } + + public static function itemDataProvider() + { + return [ + [ + ['attribute' => 'value'], + [ + 'link' => 'http://example.com', + 'guid' => 'http://example.com/guid', + 'pubDate' => '2024-01-26', + 'category' => ['domain' => 'example.com', 'category1', 'category2'] + ], + 'http://example.comhttp://example.com/guidFri, 26 Jan 2024 00:00:00 +0900example.comcategory1category2' + ], + [ + ['attribute' => 'value'], + [ + 'link' => 'http://example.com', + 'guid' => 'http://example.com/guid', + 'pubDate' => '2024-01-26', + 'category' => ['domain' => 'example.com', 'category1', 'category2'], + 'convertEntities' => false + ], + 'http://example.comhttp://example.com/guidFri, 26 Jan 2024 00:00:00 +0900example.comcategory1category2' + ], + [ + ['attribute' => 'value'], + [ + 'link' => 'http://example.com', + 'guid' => 'http://example.com/guid', + 'pubDate' => '2024-01-26', + 'category' => ['domain' => 'example.com', 'category1', 'category2'], + 'comments' => ['comment' => 'ok', 'url' => 'http://example.com/comment'] + ], + 'http://example.comhttp://example.com/guidFri, 26 Jan 2024 00:00:00 +0900example.comcategory1category2http://example.com/comment' + ] + ]; } /** @@ -100,7 +160,22 @@ public function test_item() public function test_items() { //準備 - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $items = [ + ['title' => 'Item 1', 'link' => 'http://example.com/item1'], + ['title' => 'Item 2', 'link' => 'http://example.com/item2'], + // Add more test data as needed + ]; + //$callback = null場合、 + $result = $this->RssHelper->items($items); + $this->assertStringContainsString('Item 1', $result); + $this->assertStringContainsString('<link>http://example.com/item2', $result); + + //$callback != null場合、 + $callbackMock = function ($item) { + return ['title' => strtoupper($item['title'])]; + }; + $result = $this->RssHelper->items($items, $callbackMock); + $this->assertStringContainsString('<item><title>ITEM 1', $result); } @@ -109,6 +184,21 @@ public function test_items() */ public function test_channel() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $attrib = ['attribute' => 'value']; + $elements = [ + 'link' => '/news', + 'title' => 'Channel Title', + 'description' => 'Channel Description', + 'customElement' => 'Custom Value', + ]; + $content = 'Channel Content'; + //正常系実行 + $result = $this->RssHelper->channel($attrib, $elements, $content); + $this->assertStringContainsString('<channel attribute="value">', $result); + $this->assertStringContainsString('Channel Content</channel>', $result); + $this->assertStringContainsString('<link>https://localhost/news</link>', $result); + $this->assertStringContainsString('<title>Channel Title', $result); + $this->assertStringContainsString('<description>Channel Description', $result); + $this->assertStringContainsString('<customElement>Custom Value', $result); } } diff --git a/plugins/bc-content-link/src/Plugin.php b/plugins/bc-content-link/src/BcContentLinkPlugin.php similarity index 96% rename from plugins/bc-content-link/src/Plugin.php rename to plugins/bc-content-link/src/BcContentLinkPlugin.php index 2a16ef1593..6241ee7c94 100755 --- a/plugins/bc-content-link/src/Plugin.php +++ b/plugins/bc-content-link/src/BcContentLinkPlugin.php @@ -22,7 +22,7 @@ /** * plugin for BcPlugin */ -class Plugin extends BcPlugin +class BcContentLinkPlugin extends BcPlugin { /** diff --git a/plugins/bc-content-link/tests/TestCase/PluginTest.php b/plugins/bc-content-link/tests/TestCase/PluginTest.php index 8b43b00278..8fc241e989 100644 --- a/plugins/bc-content-link/tests/TestCase/PluginTest.php +++ b/plugins/bc-content-link/tests/TestCase/PluginTest.php @@ -11,14 +11,14 @@ namespace BcContentLink\Test\TestCase; -use BcContentLink\Plugin; +use BcContentLink\BcContentLinkPlugin; use BcContentLink\Service\ContentLinksServiceInterface; use Cake\Core\Container; use BaserCore\TestSuite\BcTestCase; /** * Class PluginTest - * @property Plugin $Plugin + * @property BcContentLinkPlugin $Plugin */ class PluginTest extends BcTestCase { @@ -31,7 +31,7 @@ class PluginTest extends BcTestCase public function setUp(): void { parent::setUp(); - $this->Plugin = new Plugin(['name' => 'BcContentLink']); + $this->Plugin = new BcContentLinkPlugin(['name' => 'BcContentLink']); } /** diff --git a/plugins/bc-custom-content/config/setting.php b/plugins/bc-custom-content/config/setting.php index 727918941a..dc5702122e 100644 --- a/plugins/bc-custom-content/config/setting.php +++ b/plugins/bc-custom-content/config/setting.php @@ -110,6 +110,7 @@ 'group' => [ 'category' => __d('baser_core', 'その他'), 'label' => __d('baser_core', 'グループ'), + 'useDefaultValue' => false ] ] ] diff --git a/plugins/bc-custom-content/plugins/BcCcAutoZip/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcAutoZip/src/BcCcAutoZipPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcAutoZip/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcAutoZip/src/BcCcAutoZipPlugin.php index e5c79355c6..2f1db60f4e 100644 --- a/plugins/bc-custom-content/plugins/BcCcAutoZip/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcAutoZip/src/BcCcAutoZipPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcAutoZipPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcCheckbox/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcCheckbox/src/BcCcCheckboxPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcCheckbox/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcCheckbox/src/BcCcCheckboxPlugin.php index 97b10b5b34..e89eb537fb 100644 --- a/plugins/bc-custom-content/plugins/BcCcCheckbox/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcCheckbox/src/BcCcCheckboxPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcCheckboxPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcCheckbox/src/View/Helper/BcCcCheckboxHelper.php b/plugins/bc-custom-content/plugins/BcCcCheckbox/src/View/Helper/BcCcCheckboxHelper.php index 117c34e790..e69473ebfc 100644 --- a/plugins/bc-custom-content/plugins/BcCcCheckbox/src/View/Helper/BcCcCheckboxHelper.php +++ b/plugins/bc-custom-content/plugins/BcCcCheckbox/src/View/Helper/BcCcCheckboxHelper.php @@ -70,7 +70,7 @@ public function control(CustomLink $link, array $options = []): string public function preview(CustomLink $link) { $options = [ - 'v-model' => 'entity.default_value', + 'v-model' => 'checkboxDefaultValue', 'label' => '{{checkboxLabel}}', ]; return $this->control($link, $options); diff --git a/plugins/bc-custom-content/plugins/BcCcDate/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcDate/src/BcCcDatePlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcDate/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcDate/src/BcCcDatePlugin.php index 3d4e4e6eb7..010fbb9830 100644 --- a/plugins/bc-custom-content/plugins/BcCcDate/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcDate/src/BcCcDatePlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcDatePlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcDateTime/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcDateTime/src/BcCcDateTimePlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcDateTime/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcDateTime/src/BcCcDateTimePlugin.php index 67f7bb4a80..dd0636eceb 100644 --- a/plugins/bc-custom-content/plugins/BcCcDateTime/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcDateTime/src/BcCcDateTimePlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcDateTimePlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcEmail/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcEmail/src/BcCcEmailPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcEmail/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcEmail/src/BcCcEmailPlugin.php index 5e8b350ec4..836521f999 100644 --- a/plugins/bc-custom-content/plugins/BcCcEmail/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcEmail/src/BcCcEmailPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcEmailPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcFile/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcFile/src/BcCcFilePlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcFile/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcFile/src/BcCcFilePlugin.php index 46a8d4364a..0559ee6404 100644 --- a/plugins/bc-custom-content/plugins/BcCcFile/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcFile/src/BcCcFilePlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcFilePlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcHidden/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcHidden/src/BcCcHiddenPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcHidden/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcHidden/src/BcCcHiddenPlugin.php index 167b7f2de5..0e5115702c 100644 --- a/plugins/bc-custom-content/plugins/BcCcHidden/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcHidden/src/BcCcHiddenPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcHiddenPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcMultiple/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcMultiple/src/BcCcMultiplePlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcMultiple/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcMultiple/src/BcCcMultiplePlugin.php index fe7cc6b28f..1e009f5f70 100644 --- a/plugins/bc-custom-content/plugins/BcCcMultiple/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcMultiple/src/BcCcMultiplePlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcMultiplePlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcMultiple/templates/Admin/element/preview.php b/plugins/bc-custom-content/plugins/BcCcMultiple/templates/Admin/element/preview.php index 85bfe1face..9a80bf1c00 100644 --- a/plugins/bc-custom-content/plugins/BcCcMultiple/templates/Admin/element/preview.php +++ b/plugins/bc-custom-content/plugins/BcCcMultiple/templates/Admin/element/preview.php @@ -19,7 +19,7 @@ :value="value" :id="'text-' + value" class="bca-checkbox__input" - v-model="arrayDefaultValue"> + v-model="multipleDefaultValue"> <label class="bca-checkbox__label" :for="'text-' + value">{{ value }}</label> </span> <span v-show="arraySource.length < 1">選択リストを入力してください。</span> diff --git a/plugins/bc-custom-content/plugins/BcCcPassword/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcPassword/src/BcCcPasswordPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcPassword/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcPassword/src/BcCcPasswordPlugin.php index 25fc120ebc..cae65099b9 100644 --- a/plugins/bc-custom-content/plugins/BcCcPassword/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcPassword/src/BcCcPasswordPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcPasswordPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcPref/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcPref/src/BcCcPrefPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcPref/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcPref/src/BcCcPrefPlugin.php index 25ed4649e6..46c63ab8c4 100644 --- a/plugins/bc-custom-content/plugins/BcCcPref/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcPref/src/BcCcPrefPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcPrefPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcRadio/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcRadio/src/BcCcRadioPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcRadio/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcRadio/src/BcCcRadioPlugin.php index 62eae6a065..c447af9a70 100644 --- a/plugins/bc-custom-content/plugins/BcCcRadio/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcRadio/src/BcCcRadioPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcRadioPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcRelated/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcRelated/src/BcCcRelatedPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcRelated/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcRelated/src/BcCcRelatedPlugin.php index ed57dda5ba..0a02c9602f 100644 --- a/plugins/bc-custom-content/plugins/BcCcRelated/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcRelated/src/BcCcRelatedPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcRelatedPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcRelated/src/View/Helper/BcCcRelatedHelper.php b/plugins/bc-custom-content/plugins/BcCcRelated/src/View/Helper/BcCcRelatedHelper.php index 124c02edc3..e11dd40ff6 100644 --- a/plugins/bc-custom-content/plugins/BcCcRelated/src/View/Helper/BcCcRelatedHelper.php +++ b/plugins/bc-custom-content/plugins/BcCcRelated/src/View/Helper/BcCcRelatedHelper.php @@ -131,11 +131,20 @@ public function searchControl(CustomLink $link, array $options = []): string */ public function get($fieldValue, CustomLink $link, array $options = []) { - if(!$fieldValue) return ''; + $options = array_merge([ + 'getRelatedBody' => false + ], $options); + + if (!$fieldValue) return ''; + /** @var CustomEntriesServiceInterface $entriesService */ $entriesService = $this->getService(CustomEntriesServiceInterface::class); $entriesService->setup($link->custom_field->meta['BcCcRelated']['custom_table_id']); $entry = $entriesService->get($fieldValue, ['contain' => 'CustomTables']); + + if ($options['getRelatedBody']) + return $entry; + return $entry->{$entry->custom_table->display_field}; } diff --git a/plugins/bc-custom-content/plugins/BcCcSelect/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcSelect/src/BcCcSelectPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcSelect/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcSelect/src/BcCcSelectPlugin.php index da1c3f1011..d78828fedb 100644 --- a/plugins/bc-custom-content/plugins/BcCcSelect/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcSelect/src/BcCcSelectPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcSelectPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcTel/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcTel/src/BcCcTelPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcTel/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcTel/src/BcCcTelPlugin.php index 9e7630b4cc..890fc7990d 100644 --- a/plugins/bc-custom-content/plugins/BcCcTel/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcTel/src/BcCcTelPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcTelPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcText/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcText/src/BcCcTextPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcText/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcText/src/BcCcTextPlugin.php index ce3a137d4a..ee5afd4f9b 100644 --- a/plugins/bc-custom-content/plugins/BcCcText/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcText/src/BcCcTextPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcTextPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcTextarea/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcTextarea/src/BcCcTextareaPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcTextarea/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcTextarea/src/BcCcTextareaPlugin.php index fe337608d8..08fa87c4b7 100644 --- a/plugins/bc-custom-content/plugins/BcCcTextarea/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcTextarea/src/BcCcTextareaPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcTextareaPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/Plugin.php b/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/BcCcWysiwygPlugin.php similarity index 95% rename from plugins/bc-custom-content/plugins/BcCcWysiwyg/src/Plugin.php rename to plugins/bc-custom-content/plugins/BcCcWysiwyg/src/BcCcWysiwygPlugin.php index 3746e9b5a5..1c28ab8ed4 100644 --- a/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/Plugin.php +++ b/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/BcCcWysiwygPlugin.php @@ -20,7 +20,7 @@ /** * Plugin */ -class Plugin extends BcPlugin +class BcCcWysiwygPlugin extends BcPlugin { /** diff --git a/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/View/Helper/BcCcWysiwygHelper.php b/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/View/Helper/BcCcWysiwygHelper.php index 2f10e94735..7ff56fefcd 100644 --- a/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/View/Helper/BcCcWysiwygHelper.php +++ b/plugins/bc-custom-content/plugins/BcCcWysiwyg/src/View/Helper/BcCcWysiwygHelper.php @@ -67,7 +67,10 @@ public function preview(CustomLink $link) { $link->name = 'wysiwyg'; $this->BcAdminForm->unlockField($link->name); - return $this->control($link) . '<br>※ Wysiwyg エディタはリアルタイムでのプレビューは未対応です。保存してから確認してください。'; + $options = [ + 'value' => $link->custom_field->default_value, + ]; + return $this->control($link, $options) . '<br>※ Wysiwyg エディタはリアルタイムでのプレビューは未対応です。保存してから確認してください。'; } /** diff --git a/plugins/bc-custom-content/src/Plugin.php b/plugins/bc-custom-content/src/BcCustomContentPlugin.php similarity index 70% rename from plugins/bc-custom-content/src/Plugin.php rename to plugins/bc-custom-content/src/BcCustomContentPlugin.php index 4b083b5c44..fd6a5a1027 100644 --- a/plugins/bc-custom-content/src/Plugin.php +++ b/plugins/bc-custom-content/src/BcCustomContentPlugin.php @@ -29,7 +29,7 @@ /** * plugin for BcCustomContent */ -class Plugin extends BcPlugin +class BcCustomContentPlugin extends BcPlugin { /** @@ -47,17 +47,31 @@ public function install($options = []): bool 'connection' => 'default' ], $options); $result = parent::install($options); - $table = TableRegistry::getTableLocator()->get('BcCustomContent.CustomEntries', ['connectionName' => $options['connection']]); - $table->setUp(1); - $this->updateDateNow('BcCustomContent.CustomEntries', ['published'], [], $options); + if(Configure::read('BcEnv.isInstalled') && empty($options['db_init'])) { + $table = TableRegistry::getTableLocator()->get('BcCustomContent.CustomEntries', ['connectionName' => $options['connection']]); + $table->setUp(1); + $this->updateDateNow('BcCustomContent.CustomEntries', ['published'], [], $options); + } return $result; } + /** + * 初期データ読み込み時の更新処理 + * @param array $options + * @return void + */ + public function updateDefaultData($options = []) : void + { + // エントリーの公開日を更新 + $this->updateDateNow('BcCustomContent.CustomEntries', ['published'], [], $options); + } + /** * services * @param ContainerInterface $container - * @noTodo * @checked + * @noTodo + * @unitTest */ public function services(ContainerInterface $container): void { @@ -80,7 +94,9 @@ public function bootstrap(PluginApplicationInterface $app): void /** * カスタムコンテンツコアのプラグインをロードする * + * @return void * @checked + * @noTodo */ public function loadPlugin(): void { @@ -95,20 +111,13 @@ public function loadPlugin(): void $files = $Folder->getFolders(); if (empty($files)) return; - if (Configure::read('BcRequest.asset')) { - // TODO ucmitz 検証要 - foreach($files as $pluginName) { - BcUtil::includePluginClass($pluginName); - } - } else { - foreach($files as $pluginName) { - // 設定ファイルを読み込む - if (!BcUtil::includePluginClass($pluginName)) continue; - $pluginCollection = CakePlugin::getCollection(); - $plugin = $pluginCollection->create($pluginName); - $pluginCollection->add($plugin); - BcEvent::registerPluginEvent($pluginName); - } + foreach($files as $pluginName) { + // 設定ファイルを読み込む + if (!BcUtil::includePluginClass($pluginName)) continue; + $pluginCollection = CakePlugin::getCollection(); + $plugin = $pluginCollection->create($pluginName); + $pluginCollection->add($plugin); + BcEvent::registerPluginEvent($pluginName); } } diff --git a/plugins/bc-custom-content/src/Controller/Admin/CustomFieldsController.php b/plugins/bc-custom-content/src/Controller/Admin/CustomFieldsController.php index 41af7790a2..1b79637605 100644 --- a/plugins/bc-custom-content/src/Controller/Admin/CustomFieldsController.php +++ b/plugins/bc-custom-content/src/Controller/Admin/CustomFieldsController.php @@ -72,6 +72,7 @@ public function add(CustomFieldsAdminServiceInterface $service) $this->redirect(['action' => 'edit', $entity->id]); } catch (PersistenceFailedException $e) { $entity = $e->getEntity(); + $service->CustomFields->decodeEntity($entity); $this->BcMessage->setError(__d('baser_core', '入力エラーです。内容を修正してください。')); } catch (\Throwable $e) { $this->BcMessage->setError(__d('baser_core', 'データベース処理中にエラーが発生しました。' . $e->getMessage())); @@ -114,6 +115,7 @@ public function edit(CustomFieldsAdminServiceInterface $service, int $id) return $this->redirect(['action' => 'edit', $entity->id]); } catch (PersistenceFailedException $e) { $entity = $e->getEntity(); + $service->CustomFields->decodeEntity($entity); $this->BcMessage->setError(__d('baser_core', '入力エラーです。内容を修正してください。')); } catch (\Throwable $e) { $this->BcMessage->setError(__d('baser_core', 'データベース処理中にエラーが発生しました。' . $e->getMessage())); diff --git a/plugins/bc-custom-content/src/Controller/Admin/CustomTablesController.php b/plugins/bc-custom-content/src/Controller/Admin/CustomTablesController.php index 357d0c214b..b550d91418 100644 --- a/plugins/bc-custom-content/src/Controller/Admin/CustomTablesController.php +++ b/plugins/bc-custom-content/src/Controller/Admin/CustomTablesController.php @@ -133,7 +133,18 @@ public function edit(CustomTablesAdminServiceInterface $service, int $id) return $this->redirect(['action' => 'edit', $entity->id]); } catch (PersistenceFailedException $e) { $entity = $e->getEntity(); - $this->BcMessage->setError(__d('baser_core', '入力エラーです。内容を修正してください。')); + $hasLinkError = false; + if($entity->custom_links) { + foreach($entity->custom_links as $key => $link) { + // リンクにエラーが存在する場合、そのままビューに値が渡ると、 + // 利用中のフィールド内の対象フィールドの表示が壊れてしまうため除外する + if(!$link->id) unset($entity->custom_links[$key]); + if($link->getErrors()) $hasLinkError = true; + } + } + $message = __d('baser_core', '入力エラーです。内容を修正してください。'); + if($hasLinkError) $message .= "\n" . $e->getMessage(); + $this->BcMessage->setError($message); } catch (\Throwable $e) { $this->BcMessage->setError(__d('baser_core', 'データベース処理中にエラーが発生しました。' . $e->getMessage())); } diff --git a/plugins/bc-custom-content/src/Controller/CustomContentController.php b/plugins/bc-custom-content/src/Controller/CustomContentController.php index 5dbe39af77..61d5e1ef47 100644 --- a/plugins/bc-custom-content/src/Controller/CustomContentController.php +++ b/plugins/bc-custom-content/src/Controller/CustomContentController.php @@ -63,12 +63,6 @@ public function index(CustomContentFrontServiceInterface $service) $this->notFound(); } - $this->setRequest($this->getRequest()->withQueryParams(array_merge([ - 'limit' => $customContent->list_count, - 'sort' => $customContent->list_order, - 'direction' => $customContent->list_direction - ], $this->getRequest()->getQueryParams()))); - $this->set($service->getViewVarsForIndex( $customContent, $this->paginate($service->getCustomEntries($customContent, $this->getRequest()->getQueryParams())) diff --git a/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php b/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php index 916960e7ef..79ce7f9669 100644 --- a/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php +++ b/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php @@ -15,6 +15,9 @@ use BaserCore\Annotation\UnitTest; use BaserCore\Annotation\NoTodo; use BaserCore\Annotation\Checked; +use Cake\Core\Plugin; +use Cake\Datasource\EntityInterface; +use Cake\Event\EventInterface; use Cake\Validation\Validator; /** @@ -24,6 +27,7 @@ */ class CustomContentsTable extends AppTable { + /** * Initialize * @@ -39,9 +43,11 @@ public function initialize(array $config): void $this->addBehavior('Timestamp'); $this->belongsTo('CustomTables', ['className' => 'BcCustomContent.CustomTables']) ->setForeignKey('custom_table_id'); + if (Plugin::isLoaded('BcSearchIndex')) { + $this->addBehavior('BcSearchIndex.BcSearchIndexManager'); + } } - /** * デフォルトのバリデーションを設定する * @@ -64,4 +70,53 @@ public function validationWithTable(Validator $validator): Validator return $validator; } + /** + * beforeSave + * @param EventInterface $event + * @param EntityInterface $entity + * @param \ArrayObject $options + * @return boolean + * @checked + * @noTodo + * @unitTest + */ + public function beforeSave(EventInterface $event, EntityInterface $entity, \ArrayObject $options) + { + if (!Plugin::isLoaded('BcSearchIndex')) { + return true; + } + if (empty($entity->content) || !empty($entity->content->exclude_search)) { + $this->setExcluded(); + } + return true; + } + + /** + * 検索用データを生成する + * + * @param array $data + * @return array|false + * @checked + * @noTodo + * @unitTest + */ + public function createSearchIndex($entity) + { + if (!$entity || !isset($entity->content)) { + return false; + } + return [ + 'type' => __d('baser_core', 'カスタムコンテンツ'), + 'model_id' => $entity->id, + 'content_id' => $entity->content->id, + 'site_id' => $entity->content->site_id, + 'title' => $entity->content->title, + 'detail' => $entity->description, + 'url' => $entity->content->url, + 'status' => $entity->content->status, + 'publish_begin' => $entity->content->publish_begin, + 'publish_end' => $entity->content->publish_end + ]; + } + } diff --git a/plugins/bc-custom-content/src/Model/Table/CustomEntriesTable.php b/plugins/bc-custom-content/src/Model/Table/CustomEntriesTable.php index cc6890902c..86f8df7b28 100644 --- a/plugins/bc-custom-content/src/Model/Table/CustomEntriesTable.php +++ b/plugins/bc-custom-content/src/Model/Table/CustomEntriesTable.php @@ -22,8 +22,6 @@ use BcCustomContent\Model\Entity\CustomEntry; use BcCustomContent\Model\Entity\CustomLink; use BcCustomContent\Model\Entity\CustomTable; -use BcCustomContent\Service\CustomTablesService; -use BcCustomContent\Service\CustomTablesServiceInterface; use BcCustomContent\Utility\CustomContentUtil; use Cake\Core\Configure; use Cake\Core\Plugin; @@ -263,6 +261,7 @@ public function setupValidate(array $postData = []) * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateMaxFileSize(Validator $validator, CustomLink $link, array $postData) { @@ -294,6 +293,7 @@ public function setValidateMaxFileSize(Validator $validator, CustomLink $link, a * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateFileExt(Validator $validator, CustomLink $link) { @@ -317,11 +317,12 @@ public function setValidateFileExt(Validator $validator, CustomLink $link) * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateEmailConfirm(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('EMAIL_CONFIRM', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('EMAIL_CONFIRM', $field->validate)) { if (empty($field->meta['BcCustomContent']['email_confirm'])) { return $validator; } @@ -344,6 +345,7 @@ public function setValidateEmailConfirm(Validator $validator, CustomLink $link): * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateRegex(Validator $validator, CustomLink $link): Validator { @@ -368,11 +370,12 @@ public function setValidateRegex(Validator $validator, CustomLink $link): Valida * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateEmail(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('EMAIL', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('EMAIL', $field->validate)) { $validator->email($link->name, false, __d('baser_core', 'Eメール形式で入力してください。')) ->regex( $link->name, @@ -391,11 +394,12 @@ public function setValidateEmail(Validator $validator, CustomLink $link): Valida * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateNumber(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('NUMBER', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('NUMBER', $field->validate)) { $validator->add($link->name, [ 'numeric' => [ 'rule' => 'numeric', @@ -414,11 +418,12 @@ public function setValidateNumber(Validator $validator, CustomLink $link): Valid * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateHankaku(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('HANKAKU', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('HANKAKU', $field->validate)) { $validator->add($link->name, [ 'asciiAlphaNumeric' => [ 'rule' => 'asciiAlphaNumeric', @@ -441,7 +446,7 @@ public function setValidateHankaku(Validator $validator, CustomLink $link): Vali public function setValidateZenkakuKatakana(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('ZENKAKU_KATAKANA', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('ZENKAKU_KATAKANA', $field->validate)) { $validator->add($link->name, [ 'checkKatakana' => [ 'provider' => 'bc', @@ -461,11 +466,12 @@ public function setValidateZenkakuKatakana(Validator $validator, CustomLink $lin * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateZenkakuHiragana(Validator $validator, CustomLink $link): Validator { $field = $link->custom_field; - if ($field->validate && in_array('ZENKAKU_HIRAGANA', $field->validate)) { + if ($field->validate && is_array($field->validate) && in_array('ZENKAKU_HIRAGANA', $field->validate)) { $validator->add($link->name, [ 'checkHiragana' => [ 'provider' => 'bc', @@ -485,12 +491,15 @@ public function setValidateZenkakuHiragana(Validator $validator, CustomLink $lin * @return Validator * @checked * @noTodo + * @unitTest */ public function setValidateDatetime(Validator $validator, CustomLink $link, array $postData): Validator { + $validator->setProvider('mailMessage', 'BcMail\Model\Validation\MailMessageValidation'); $field = $link->custom_field; - if ($field->validate && in_array('DATETIME', $field->validate)) { + if ($field->type == "BcCcDate" || $field->type == "BcCcDateTime" + || ($field->validate && is_array($field->validate) && in_array('DATETIME', $field->validate))) { if (isset($postData[$link->name]) && is_array($postData[$link->name])) { $validator->add($link->name, [ 'dataArray' => [ @@ -529,6 +538,40 @@ public function validationDefault(Validator $validator): Validator $validator ->allowEmptyString('name') ->regex('name', '/\D/', __d('baser_core', '数値だけのスラッグを登録することはできません。')); + $validator + ->add('published', [ + 'dateTime' => [ + 'rule' => ['dateTime'], + 'message' => __d('baser_core', '公開日付に不正な文字列が入っています。') + ] + ]) + ->allowEmptyDateTime('published_date'); + + $validator + ->add('publish_begin', [ + 'dateTime' => [ + 'rule' => ['dateTime'], + 'message' => __d('baser_core', '公開開始日に不正な文字列が入っています。') + ] + ]) + ->allowEmptyDateTime('publish_begin'); + + $validator + ->add('publish_end', [ + 'dateTime' => [ + 'rule' => ['dateTime'], + 'message' => __d('baser_core', '公開終了日に不正な文字列が入っています。') + ] + ]) + ->allowEmptyDateTime('publish_end') + ->add('publish_end', [ + 'checkDateAfterThan' => [ + 'rule' => ['checkDateAfterThan', 'publish_begin'], + 'provider' => 'bc', + 'message' => __d('baser_core', '公開終了日は、公開開始日より新しい日付で入力してください。') + ] + ]); + return $validator; } @@ -604,6 +647,7 @@ public function findAll(Query $query, array $options = []): Query * @return EntityInterface * @checked * @noTodo + * @unitTest */ public function decodeRow(EntityInterface $row) { diff --git a/plugins/bc-custom-content/src/Model/Table/CustomFieldsTable.php b/plugins/bc-custom-content/src/Model/Table/CustomFieldsTable.php index d32ebb9969..20b731a5c8 100644 --- a/plugins/bc-custom-content/src/Model/Table/CustomFieldsTable.php +++ b/plugins/bc-custom-content/src/Model/Table/CustomFieldsTable.php @@ -16,6 +16,7 @@ use BaserCore\Annotation\UnitTest; use BaserCore\Annotation\NoTodo; use BaserCore\Annotation\Checked; +use Cake\Datasource\EntityInterface; use Cake\Event\EventInterface; use Cake\ORM\Query; use Cake\Validation\Validator; @@ -31,6 +32,7 @@ class CustomFieldsTable extends AppTable * @param array $config * @checked * @noTodo + * @unitTest */ public function initialize(array $config): void { @@ -51,6 +53,7 @@ public function initialize(array $config): void * @return Validator * @checked * @noTodo + * @unitTest */ public function validationDefault(Validator $validator): Validator { @@ -59,14 +62,20 @@ public function validationDefault(Validator $validator): Validator ->scalar('name') ->notEmptyString('name', __d('baser_core', 'フィールド名を入力してください。')) ->maxLength('name', 255, __d('baser_core', 'フィールド名は255文字以内で入力してください。')) - ->regex('name', '/^[a-z0-9_]+$/', __d('baser_core', 'フィールド名は半角英数字とアンダースコアのみで入力してください。')) + ->regex('name', '/^[a-z0-9_]+$/', __d('baser_core', 'フィールド名は半角小文字英数字とアンダースコアのみで入力してください。')) ->add('name', [ 'validateUnique' => [ 'rule' => 'validateUnique', 'provider' => 'table', 'message' => __d('baser_core', '既に登録のあるフィールド名です。') ] - ]); + ]) + ->add('name', [ + 'reserved' => [ + 'rule' => ['reserved'], + 'provider' => 'bc', + 'message' => __d('baser_core', 'システム予約名称のため利用できません。') + ]]); $validator ->scalar('title') ->notEmptyString('title', __d('baser_core', '項目見出しを入力してください。')) @@ -95,6 +104,28 @@ public function validationDefault(Validator $validator): Validator 'message' => __d('baser_core', '選択リストに同じ項目を複数登録できません。') ] ]); + $validator + ->add('meta', [ + 'checkAlphaNumericWithJson' => [ + 'rule' => ['checkWithJson', 'BcCustomContent.email_confirm', "/^[a-z0-9_]+$/"], + 'provider' => 'bc', + 'message' => __d('baser_core', 'Eメール比較先フィールド名は半角小文字英数字とアンダースコアのみで入力してください。') + ], + ]) + ->add('meta', [ + 'checkMaxFileSizeWithJson' => [ + 'rule' => ['checkWithJson', 'BcCustomContent.max_file_size', "/^[0-9]+$/"], + 'provider' => 'bc', + 'message' => __d('baser_core', 'ファイルアップロードサイズ上限は整数値のみで入力してください。') + ], + ]) + ->add('meta', [ + 'checkFileExtWithJson' => [ + 'rule' => ['checkWithJson', 'BcCustomContent.file_ext', "/^[a-z,]+$/"], + 'provider' => 'bc', + 'message' => __d('baser_core', '拡張子を次の形式のようにカンマ(,)区切りで入力します。') + ], + ]); return $validator; } @@ -111,11 +142,33 @@ public function validationDefault(Validator $validator): Validator public function beforeMarshal(EventInterface $event, ArrayObject $content, ArrayObject $options) { // beforeMarshal のタイミングで変換しないと配列が null になってしまう - if (!empty($content['meta'])) { - $content['meta'] = json_encode($content['meta'], JSON_UNESCAPED_UNICODE); + $this->encodeEntity($content); + } + + /** + * afterMarshal + * + * @param EventInterface $event + * @param EntityInterface $entity + * @param ArrayObject $data + * @param ArrayObject $options + * @return void + * + * @checked + * @noTodo + * @unitTest + */ + public function afterMarshal(EventInterface $event, EntityInterface $entity, ArrayObject $data, ArrayObject $options) + { + $metaErrors = $entity->getError('meta'); + if (isset($metaErrors['checkAlphaNumericWithJson'])) { + $entity->setError('meta.BcCustomContent.email_confirm', ['checkAlphaNumericWithJson' => $metaErrors['checkAlphaNumericWithJson']]); + } + if (isset($metaErrors['checkFileExtWithJson'])) { + $entity->setError('meta.BcCustomContent.file_ext', ['checkFileExtWithJson' => $metaErrors['checkFileExtWithJson']]); } - if (!empty($content['validate'])) { - $content['validate'] = json_encode($content['validate'], JSON_UNESCAPED_UNICODE); + if (isset($metaErrors['checkMaxFileSizeWithJson'])) { + $entity->setError('meta.BcCustomContent.max_file_size', ['checkMaxFileSizeWithJson' => $metaErrors['checkMaxFileSizeWithJson']]); } } @@ -133,13 +186,43 @@ public function beforeMarshal(EventInterface $event, ArrayObject $content, Array public function findAll(Query $query, array $options = []): Query { return $query->formatResults(function(\Cake\Collection\CollectionInterface $results) { - return $results->map(function($row) { - if (!$row) return $row; - if (isset($row->meta) && $row->meta && is_string($row->meta)) $row->meta = json_decode($row->meta, true); - if (isset($row->validate) && $row->validate && is_string($row->validate)) $row->validate = json_decode($row->validate, true); - return $row; - }); + return $results->map([$this, 'decodeEntity']); }); } + /** + * エンティティをデコードする + * + * @param EntityInterface $entity + * @return mixed + * @unitTest + */ + public function decodeEntity(EntityInterface|array|null $entity): EntityInterface|array|null + { + if (!$entity) return $entity; + if (isset($entity->meta) && $entity->meta && is_string($entity->meta)) $entity->meta = json_decode($entity->meta, true); + if (isset($entity->validate) && $entity->validate && is_string($entity->validate)) $entity->validate = json_decode($entity->validate, true); + return $entity; + } + + /** + * エンティティをエンコードする + * + * @param ArrayObject $entity + * @return ArrayObject + * @checked + * @noTodo + * @unitTest + */ + public function encodeEntity(ArrayObject $entity) + { + if (!empty($entity['meta'])) { + $entity['meta'] = json_encode($entity['meta'], JSON_UNESCAPED_UNICODE); + } + if (!empty($entity['validate'])) { + $entity['validate'] = json_encode($entity['validate'], JSON_UNESCAPED_UNICODE); + } + return $entity; + } + } diff --git a/plugins/bc-custom-content/src/Model/Table/CustomLinksTable.php b/plugins/bc-custom-content/src/Model/Table/CustomLinksTable.php index 007705f4e1..4993d6c3b1 100644 --- a/plugins/bc-custom-content/src/Model/Table/CustomLinksTable.php +++ b/plugins/bc-custom-content/src/Model/Table/CustomLinksTable.php @@ -65,7 +65,7 @@ public function validationDefault(Validator $validator): Validator ->scalar('name') ->maxLength('name', 255, __d('baser_core', '255文字以内で入力してください。')) ->notEmptyString('name', __d('baser_core', 'フィールド名を入力してください。')) - ->regex('name', '/^[a-z0-9_]+$/', __d('baser_core', 'フィールド名は半角英数字とアンダースコアのみで入力してください。')) + ->regex('name', '/^[a-z0-9_]+$/', __d('baser_core', 'フィールド名は半角小文字英数字とアンダースコアのみで入力してください。')) ->add('name', [ 'validateUnique' => [ 'rule' => ['validateUnique', ['scope' => 'custom_table_id']], @@ -76,12 +76,19 @@ public function validationDefault(Validator $validator): Validator 'reserved' => [ 'rule' => ['reserved'], 'provider' => 'bc', - 'message' => __d('baser_core', '{0} はシステム予約名称のため利用できません。', implode(', ', Configure::read('BcApp.reservedWords'))) + 'message' => __d('baser_core', 'システム予約名称のため利用できません。') ]]); $validator ->scalar('title') ->maxLength('title', 255, __d('baser_core', '255文字以内で入力してください。')) - ->notEmptyString('title', __d('baser_core', 'タイトルを入力してください。')); + ->notEmptyString('title', __d('baser_core', 'タイトルを入力してください。')) + ->add('title', [ + 'notBlankOnlyString' => [ + 'rule' => ['notBlankOnlyString'], + 'provider' => 'bc', + 'message' => __d('baser_core', 'タイトルを入力してください。') + ] + ]); return $validator; } @@ -131,6 +138,7 @@ public function setTreeScope(int $tableId): void * @return bool|void * @checked * @noTodo + * @unitTest */ public function beforeSave(EventInterface $event, EntityInterface $entity, ArrayObject $options) { diff --git a/plugins/bc-custom-content/src/Service/CustomContentsService.php b/plugins/bc-custom-content/src/Service/CustomContentsService.php index 3f4b0f634e..662b59f559 100644 --- a/plugins/bc-custom-content/src/Service/CustomContentsService.php +++ b/plugins/bc-custom-content/src/Service/CustomContentsService.php @@ -237,7 +237,7 @@ public function getControlSource(string $field, array $options = []): array */ public function getListOrders(int $tableId): array { - $list = ['id' => 'No', 'created' => __d('baser_core', '登録日'), 'modified' => __d('baser_core', '編集日')]; + $list = ['id' => 'No', 'published' => __d('baser_core', '公開日付'), 'created' => __d('baser_core', '登録日'), 'modified' => __d('baser_core', '編集日')]; if(!$tableId) return $list; $table = $this->CustomContents->CustomTables->get($tableId, contain: [ 'CustomLinks' => ['CustomFields'] @@ -267,7 +267,7 @@ public function getTemplates(int $siteId): array $site = $sites->get($siteId); $templatesPaths = array_merge( - [Plugin::templatePath($site->theme) . 'plugin' . DS . 'BcCustomContent' . DS], + [Plugin::templatePath($site->getAppliedTheme()) . 'plugin' . DS . 'BcCustomContent' . DS], App::path('templates'), [Plugin::templatePath(Configure::read('BcApp.coreFrontTheme')) . 'plugin' . DS . 'BcCustomContent' . DS], [Plugin::templatePath('BcCustomContent')] diff --git a/plugins/bc-custom-content/src/Service/CustomEntriesService.php b/plugins/bc-custom-content/src/Service/CustomEntriesService.php index bb50547aa8..9f8ca6c267 100644 --- a/plugins/bc-custom-content/src/Service/CustomEntriesService.php +++ b/plugins/bc-custom-content/src/Service/CustomEntriesService.php @@ -124,6 +124,7 @@ public function getNew(int $tableId) * @return string * @notodo * @checked + * @unitTest */ public function getFieldControlType(string $type) { @@ -243,6 +244,7 @@ public function createIndexConditions(Query $query, array $params) 'title' => null, 'creator_id' => null, 'status' => null, + 'custom_content_id' => null ], $params); // 公開状態 @@ -274,6 +276,12 @@ public function createIndexConditions(Query $query, array $params) $conditions['CustomEntries.creator_id'] = $params['creator_id']; } + // custom_content_id + if (!is_null($params['custom_content_id'])) { + $query->contain('CustomTables.CustomContents'); + $conditions['CustomContents.id'] = $params['custom_content_id']; + } + unset($params['status'], $params['title'], $params['creator_id']); if (!$params) return $query->where($conditions); @@ -332,7 +340,7 @@ public function getList(array $options = []) $table = $this->CustomEntries->CustomTables->get($this->CustomEntries->tableId); $this->CustomEntries->setDisplayField($table->display_field); if ($table->has_child) { - return $this->getParentTargetList(null, $options['conditions']); + return $this->getParentTargetList(null, $options); } else { return $this->CustomEntries->find('list')->where($options['conditions'])->toArray(); } @@ -353,7 +361,11 @@ public function createOrder(string $order, string $direction) if (strpos($order, '.') === false) { $order = "CustomEntries.{$order}"; } - return "{$order} {$direction}, CustomEntries.id {$direction}"; + if($order !== 'CustomEntries.id') { + return "{$order} {$direction}, CustomEntries.id {$direction}"; + } else { + return "{$order} {$direction}"; + } } /** diff --git a/plugins/bc-custom-content/src/Service/Front/CustomContentFrontService.php b/plugins/bc-custom-content/src/Service/Front/CustomContentFrontService.php index bdf59b403f..8b34b269f4 100644 --- a/plugins/bc-custom-content/src/Service/Front/CustomContentFrontService.php +++ b/plugins/bc-custom-content/src/Service/Front/CustomContentFrontService.php @@ -104,7 +104,8 @@ public function getCustomEntries(CustomContent $customContent, array $queryParam 'status' => 'publish', 'order' => $customContent->list_order, 'direction' => $customContent->list_direction, - 'limit' => $customContent->list_count + 'limit' => $customContent->list_count, + 'custom_content_id' => $customContent->id ], $queryParams); return $this->EntriesService->getIndex($params); } diff --git a/plugins/bc-custom-content/src/ServiceProvider/BcCustomContentServiceProvider.php b/plugins/bc-custom-content/src/ServiceProvider/BcCustomContentServiceProvider.php index f5485a13f4..873f13bfa3 100644 --- a/plugins/bc-custom-content/src/ServiceProvider/BcCustomContentServiceProvider.php +++ b/plugins/bc-custom-content/src/ServiceProvider/BcCustomContentServiceProvider.php @@ -70,6 +70,7 @@ class BcCustomContentServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-custom-content/src/Utility/CustomContentUtil.php b/plugins/bc-custom-content/src/Utility/CustomContentUtil.php index eeb86eba39..668328100d 100644 --- a/plugins/bc-custom-content/src/Utility/CustomContentUtil.php +++ b/plugins/bc-custom-content/src/Utility/CustomContentUtil.php @@ -30,6 +30,7 @@ class CustomContentUtil * @return mixed * @checked * @noTodo + * @unitTest */ public static function getPluginSetting(string $plugin, string $name = '') { diff --git a/plugins/bc-custom-content/src/View/CustomContentAdminAppView.php b/plugins/bc-custom-content/src/View/CustomContentAdminAppView.php index b00486f919..91bf2ddf9d 100644 --- a/plugins/bc-custom-content/src/View/CustomContentAdminAppView.php +++ b/plugins/bc-custom-content/src/View/CustomContentAdminAppView.php @@ -28,6 +28,7 @@ class CustomContentAdminAppView extends BcAdminAppView * initialize * @checked * @noTodo + * @unitTest */ public function initialize(): void { diff --git a/plugins/bc-custom-content/src/View/CustomContentFrontAppView.php b/plugins/bc-custom-content/src/View/CustomContentFrontAppView.php index e476e1bb26..031f8635af 100644 --- a/plugins/bc-custom-content/src/View/CustomContentFrontAppView.php +++ b/plugins/bc-custom-content/src/View/CustomContentFrontAppView.php @@ -28,6 +28,7 @@ class CustomContentFrontAppView extends AppView * initialize * @checked * @noTodo + * @unitTest */ public function initialize(): void { diff --git a/plugins/bc-custom-content/src/View/Helper/BcCustomContentBaserHelper.php b/plugins/bc-custom-content/src/View/Helper/BcCustomContentBaserHelper.php index b23bf4104f..159d74ac59 100644 --- a/plugins/bc-custom-content/src/View/Helper/BcCustomContentBaserHelper.php +++ b/plugins/bc-custom-content/src/View/Helper/BcCustomContentBaserHelper.php @@ -53,6 +53,7 @@ public function methods(): array 'isDisplayCustomField' => ['CustomContent', 'isDisplayField'], 'getCustomFieldTitle' => ['CustomContent', 'getFieldTitle'], 'getCustomFieldValue' => ['CustomContent', 'getFieldValue'], + 'getCustomContentTitle' => ['CustomContent', 'getTitle'], ]; } diff --git a/plugins/bc-custom-content/src/View/Helper/CustomContentAdminHelper.php b/plugins/bc-custom-content/src/View/Helper/CustomContentAdminHelper.php index 12a3dce3ad..e0c602adb1 100644 --- a/plugins/bc-custom-content/src/View/Helper/CustomContentAdminHelper.php +++ b/plugins/bc-custom-content/src/View/Helper/CustomContentAdminHelper.php @@ -25,6 +25,7 @@ use BcCustomContent\Service\CustomFieldsServiceInterface; use Cake\Core\Configure; use Cake\Core\Plugin; +use Cake\Datasource\EntityInterface; /** * CustomContentAdminHelper @@ -62,6 +63,7 @@ public function isDisplayEntryList(CustomLink $customLink) * @return int * @checked * @noTodo + * @unitTest */ public function getEntryColumnsNum(array $customLinks) { @@ -121,17 +123,18 @@ public function getFieldName(CustomLink $link, array $options = []) * @return string * @checked * @noTodo + * @unitTest */ - public function required(CustomLink $link): string + public function required(CustomLink|EntityInterface $link): string { if (!$link->children) { - return ($link->required)? $this->BcBaser->getElement('required') : ''; + return ($link->required)? $this->BcBaser->getElement('BcCustomContent.required') : ''; } else { $hasRequired = false; foreach($link->children as $child) { if ($child->required) $hasRequired = true; } - return ($hasRequired)? $this->BcBaser->getElement('required') : ''; + return ($hasRequired)? $this->BcBaser->getElement('BcCustomContent.required') : ''; } } @@ -296,6 +299,7 @@ public function attention(CustomLink $link): string * @return string * @checked * @noTodo + * @unitTest */ public function getEntryIndexTitle(CustomTable $table, CustomEntry $entry) { @@ -303,7 +307,7 @@ public function getEntryIndexTitle(CustomTable $table, CustomEntry $entry) return $this->BcBaser->getLink( $entry->title, ['action' => 'edit', $table->id, $entry->id], - ['escape' => false] + ['escape' => true] ); } else { return h($entry->title); @@ -335,6 +339,7 @@ public function displayPluginMeta() * @return bool * @checked * @noTodo + * @unitTest */ public function isEnabledMoveUpEntry(\ArrayObject $entries, CustomEntry $currentEntry) { @@ -358,6 +363,7 @@ public function isEnabledMoveUpEntry(\ArrayObject $entries, CustomEntry $current * @return bool * @checked * @noTodo + * @unitTest */ public function isEnabledMoveDownEntry(\ArrayObject $entries, CustomEntry $currentEntry) { diff --git a/plugins/bc-custom-content/src/View/Helper/CustomContentArrayTrait.php b/plugins/bc-custom-content/src/View/Helper/CustomContentArrayTrait.php index a87b378110..592543948e 100644 --- a/plugins/bc-custom-content/src/View/Helper/CustomContentArrayTrait.php +++ b/plugins/bc-custom-content/src/View/Helper/CustomContentArrayTrait.php @@ -31,6 +31,7 @@ trait CustomContentArrayTrait * @return string * @checked * @noTodo + * @UnitTest */ public function arrayValue($key, $array, $noValue = '') { @@ -58,6 +59,7 @@ public function arrayValue($key, $array, $noValue = '') * @return array * @checked * @noTodo + * @UnitTest */ public function textToArray($str) { diff --git a/plugins/bc-custom-content/src/View/Helper/CustomContentHelper.php b/plugins/bc-custom-content/src/View/Helper/CustomContentHelper.php index a1ff2b5fc3..78fa8c014f 100644 --- a/plugins/bc-custom-content/src/View/Helper/CustomContentHelper.php +++ b/plugins/bc-custom-content/src/View/Helper/CustomContentHelper.php @@ -84,7 +84,7 @@ public function title(): void * @return bool * @checked * @noTodo - * @unitTest + * @unitTest */ public function descriptionExists(CustomContent $content) { @@ -207,6 +207,7 @@ public function getFieldTitle(mixed $entry, string $fieldName) * @return string|array * @checked * @noTodo + * @unitTest */ public function getFieldValue(mixed $entry, string $fieldName, array $options = []) { @@ -286,6 +287,7 @@ public function getField(int $tableId, string $fieldName) * @return bool * @checked * @noTodo + * @unitTest */ public function isLoop(CustomEntry $customEntry, string $fieldName): bool { @@ -326,6 +328,7 @@ public function getLinks(int $tableId, bool $isThreaded = true) * @return \Cake\Datasource\ResultSetInterface * @checked * @noTodo + * @unitTest */ public function getLinkChildren(CustomEntry $customEntry, string $fieldName) { @@ -342,6 +345,7 @@ public function getLinkChildren(CustomEntry $customEntry, string $fieldName) * 関連リンクのエンティティキャッシュを削除する * @checked * @noTodo + * @unitTest */ public function clearCacheLinks() { diff --git a/plugins/bc-custom-content/tests/PluginTest.php b/plugins/bc-custom-content/tests/PluginTest.php new file mode 100644 index 0000000000..738aca5eec --- /dev/null +++ b/plugins/bc-custom-content/tests/PluginTest.php @@ -0,0 +1,67 @@ +<?php + +namespace BcCustomContent\Test; + +use BaserCore\TestSuite\BcTestCase; +use BaserCore\Utility\BcUtil; +use BcCustomContent\Service\CustomContentsServiceInterface; +use BcCustomContent\Service\CustomEntriesServiceInterface; +use BcCustomContent\Service\CustomFieldsServiceInterface; +use BcCustomContent\Service\CustomLinksServiceInterface; +use BcCustomContent\Service\CustomTablesServiceInterface; +use Cake\Core\Plugin; +use Cake\Core\Container; + +class PluginTest extends BcTestCase +{ + public $Plugin; + + public function setUp(): void + { + parent::setUp(); + BcUtil::includePluginClass('BcCustomContent'); + $plugins = Plugin::getCollection(); + $this->Plugin = $plugins->create('BcCustomContent'); + $plugins->add($this->Plugin); + } + + public function tearDown(): void + { + unset($this->Plugin); + parent::tearDown(); + } + + public function test_install() + { + $this->markTestIncomplete('このテストを利用すると全体のテストが失敗してしまうためスキップ。対応方法検討要'); + } + + /** + * test services + */ + public function test_services() + { + $container = new Container(); + $this->Plugin->services($container); + $this->assertTrue($container->has(CustomContentsServiceInterface::class)); + $this->assertTrue($container->has(CustomEntriesServiceInterface::class)); + $this->assertTrue($container->has(CustomFieldsServiceInterface::class)); + $this->assertTrue($container->has(CustomLinksServiceInterface::class)); + $this->assertTrue($container->has(CustomTablesServiceInterface::class)); + } + /** + * test Bootstrap + */ + public function test_bootstrap() + { + $this->markTestIncomplete('このテストを利用すると全体のテストが失敗してしまうためスキップ。対応方法検討要'); + } + + /** + * test loadPlugin + */ + public function test_loadPlugin() + { + $this->markTestIncomplete('このテストを利用すると全体のテストが失敗してしまうためスキップ。対応方法検討要'); + } +} \ No newline at end of file diff --git a/plugins/bc-custom-content/tests/TestCase/Controller/Admin/Api/CustomFieldsControllerTest.php b/plugins/bc-custom-content/tests/TestCase/Controller/Admin/Api/CustomFieldsControllerTest.php index 8b81d74047..157f89b388 100644 --- a/plugins/bc-custom-content/tests/TestCase/Controller/Admin/Api/CustomFieldsControllerTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Controller/Admin/Api/CustomFieldsControllerTest.php @@ -147,6 +147,8 @@ public function test_edit() $this->loadFixtureScenario(CustomFieldsScenario::class); $data = CustomFieldFactory::get(1); $data['title'] = 'test edit title'; + $data['validate'] = ['EMAIL_CONFIRM']; + $data['meta'] = ['BcCustomContent' => ['email_confirm' => 'aa']]; //APIを呼ぶ $this->post('/baser/api/admin/bc-custom-content/custom_fields/edit/1.json?token=' . $this->accessToken, $data->toArray()); //ステータスを確認 diff --git a/plugins/bc-custom-content/tests/TestCase/Controller/Admin/CustomFieldsControllerTest.php b/plugins/bc-custom-content/tests/TestCase/Controller/Admin/CustomFieldsControllerTest.php index ec836f2ad4..d7384a2c54 100644 --- a/plugins/bc-custom-content/tests/TestCase/Controller/Admin/CustomFieldsControllerTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Controller/Admin/CustomFieldsControllerTest.php @@ -181,6 +181,8 @@ public function testEdit() //Postデータを生成 $data = CustomFieldFactory::get(1); $data['title'] = 'test edit title'; + $data['validate'] = ['EMAIL_CONFIRM']; + $data['meta'] = ['BcCustomContent' => ['email_confirm' => 'aa']]; //対象URLをコル $this->post('/baser/admin/bc-custom-content/custom_fields/edit/1', $data->toArray()); $this->assertResponseCode(302); @@ -192,7 +194,7 @@ public function testEdit() $this->assertEquals(1, $query->count()); //タイトルを指定しない場合、 - $this->post('/baser/admin/bc-custom-content/custom_fields/edit/1', ['title' => '']); + $this->post('/baser/admin/bc-custom-content/custom_fields/edit/1', ['title' => '', ]); $this->assertResponseCode(200); //エラーを確認 $vars = $this->_controller->viewBuilder()->getVars(); @@ -220,6 +222,8 @@ public function testBeforeEditEvent() //Postデータを生成 $data = CustomFieldFactory::get(1); $data['title'] = 'test edit title'; + $data['validate'] = ['EMAIL_CONFIRM']; + $data['meta'] = ['BcCustomContent' => ['email_confirm' => 'aa']]; //対象URLをコル $this->post('/baser/admin/bc-custom-content/custom_fields/edit/1', $data->toArray()); //イベントに入るかどうか確認 @@ -247,6 +251,8 @@ public function testAfterEditEvent() //Postデータを生成 $data = CustomFieldFactory::get(1); $data['title'] = 'test edit title'; + $data['validate'] = ['EMAIL_CONFIRM']; + $data['meta'] = ['BcCustomContent' => ['email_confirm' => 'aa']]; //対象URLをコル $this->post('/baser/admin/bc-custom-content/custom_fields/edit/1', $data->toArray()); //イベントに入るかどうか確認 diff --git a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php index facd835119..19ea8d4224 100644 --- a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php @@ -11,8 +11,16 @@ namespace BcCustomContent\Test\TestCase\Model\Table; +use ArrayObject; +use BaserCore\Service\PluginsServiceInterface; use BaserCore\TestSuite\BcTestCase; use BcCustomContent\Model\Table\CustomContentsTable; +use BcCustomContent\Service\CustomContentsService; +use BcCustomContent\Test\Factory\CustomContentFactory; +use BcCustomContent\Test\Scenario\CustomContentsScenario; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; +use BcCustomContent\Service\CustomContentsServiceInterface; +use Cake\Event\Event; /** * CustomContentsTableTest @@ -21,6 +29,11 @@ class CustomContentsTableTest extends BcTestCase { + /** + * ScenarioAwareTrait + */ + use ScenarioAwareTrait; + /** * Set up */ @@ -69,6 +82,7 @@ public function test_validationWithTable() $validator = $this->CustomContentsTable->getValidator('withTable'); $errors = $validator->validate([ 'list_count' => '101' + ]); $this->assertEquals([ 'range' => '一覧表示件数は100までの数値で入力してください。', @@ -83,4 +97,61 @@ public function test_validationWithTable() '_empty' => '一覧表示件数は必須項目です。', ], $errors['list_count']); } + + /** + * test createSearchIndex + */ + public function test_createSearchIndex() + { + //content empty + $entity = CustomContentFactory::make([ + 'id' => 1, + ])->getEntity(); + $this->assertFalse($this->CustomContentsTable->createSearchIndex($entity)); + + //The system operates normally + $this->loadFixtureScenario(CustomContentsScenario::class); + $customContentService = new CustomContentsService(); + $customContent = $customContentService->get(1); + + //set content publish_begin and publish_end + $customContent->content->publish_begin = '2021-01-01 00:00:00'; + $customContent->content->publish_end = '2021-12-31 23:59:59'; + + $rs = $this->CustomContentsTable->createSearchIndex($customContent); + $this->assertEquals($rs['type'], 'カスタムコンテンツ'); + $this->assertEquals($rs['model_id'], 1); + $this->assertEquals($rs['content_id'], 100); + $this->assertEquals($rs['site_id'], 1); + $this->assertEquals($rs['title'], 'サービスタイトル'); + $this->assertEquals($rs['detail'], 'サービステスト'); + $this->assertEquals($rs['url'], '/test/'); + $this->assertTrue($rs['status']); + $this->assertEquals($rs['publish_begin'], '2021-01-01 00:00:00'); + $this->assertEquals($rs['publish_end'], '2021-12-31 23:59:59'); + } + + /** + * test beforeSave + */ + public function test_beforeSave() + { + //サービスクラス + $PluginsService = $this->getService(PluginsServiceInterface::class); + $customContentService = $this->getService(CustomContentsServiceInterface::class); + $PluginsService->attach('BcSearchIndex'); + + $this->loadFixtureScenario(CustomContentsScenario::class); + + //isExcluded false + $customContent = $customContentService->get(1); + $this->CustomContentsTable->beforeSave(new Event("beforeSave"), $customContent, new ArrayObject()); + $this->assertFalse($this->CustomContentsTable->isExcluded()); + + //isExcluded true + $customContent = $customContentService->get(1); + $customContent->content->exclude_search = 1; + $this->CustomContentsTable->beforeSave(new Event("beforeSave"), $customContent, new ArrayObject()); + $this->assertTrue($this->CustomContentsTable->isExcluded()); + } } diff --git a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomEntriesTableTest.php b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomEntriesTableTest.php index fa9f1301c1..e4bd8d73c8 100644 --- a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomEntriesTableTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomEntriesTableTest.php @@ -22,9 +22,11 @@ use BcCustomContent\Test\Factory\CustomLinkFactory; use BcCustomContent\Test\Scenario\CustomContentsScenario; use BcCustomContent\Service\CustomEntriesService; +use Cake\I18n\DateTime; use Cake\ORM\TableRegistry; use Cake\Core\Configure; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; +use Laminas\Diactoros\UploadedFile; /** * CustomEntriesTableTest @@ -382,12 +384,53 @@ public function test_setupValidate() */ public function test_setValidateMaxFileSize() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 + //CustomLinkを準備 + $link = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + $customField->meta = ['BcCustomContent' => ['max_file_size' => null]]; + $link->custom_field = $customField; - //正常系実行 + $validator = $this->CustomEntriesTable->getValidator('default'); - //異常系実行 + //max_file_size == null 場合、ファイルアップロード上限バリデーションをセットアップしない。 + $validator = $this->CustomEntriesTable->setValidateMaxFileSize($validator, $link, ['test' => '']); + //ファイルアップロード上限バリデーションをセットアップしないか確認すること + $this->assertArrayNotHasKey('test', $validator); + + //metaを再セット + $customField->meta = ['BcCustomContent' => ['max_file_size' => 1]]; + $link->custom_field = $customField; + + //UPLOAD_ERR_NO_FILE == true 場合、ファイルアップロード上限バリデーションをセットアップしない。 + //$postDataを準備 + $files = new UploadedFile( + 'image.png', + 10, + UPLOAD_ERR_NO_FILE, + 'image.png', + 'png' + ); + $validator = $this->CustomEntriesTable->setValidateMaxFileSize($validator, $link, ['test' => $files]); + //ファイルアップロード上限バリデーションをセットアップしないか確認すること + $this->assertArrayNotHasKey('test', $validator); + + //$postData != $link->name 場合、ファイルアップロード上限バリデーションをセットアップしない。 + $validator = $this->CustomEntriesTable->setValidateMaxFileSize($validator, $link, ['test2' => $files]); + //ファイルアップロード上限バリデーションをセットアップしないか確認すること + $this->assertArrayNotHasKey('test', $validator); + + //ファイルアップロード上限バリデーションをセットアップできる + //$postDataを準備 + $files = new UploadedFile( + 'image.png', + 10, + UPLOAD_ERR_FORM_SIZE, + 'image.png', + 'png' + ); + $validator = $this->CustomEntriesTable->setValidateMaxFileSize($validator, $link, ['test' => $files]); + //ファイルアップロード上限バリデーションをセットアップできるか確認すること + $this->assertArrayHasKey('test', $validator); } @@ -397,14 +440,34 @@ public function test_setValidateMaxFileSize() */ public function test_setValidateFileExt() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /** + * file_ext is null + */ + $customField->meta = ['BcCustomContent' => ['file_ext' => null]]; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateFileExt($validator, $customLink); + //check result return + $this->assertArrayNotHasKey('test', $rs); + /** + * file_ext is not null + */ + $customField->meta = ['BcCustomContent' => ['file_ext' => 'jpg,png,gif']]; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateFileExt($validator, $customLink); + //check result return + $this->assertArrayHasKey('test', $rs); + /** + * check message return + * after when setValidateFileExt + */ + $errors = $rs->validate([ + 'title' => 'title', + 'test' => 'test.pdf' + ]); + $this->assertEquals('ファイル形式が無効です。拡張子 jpg, png, gif のファイルをご利用ください。', current($errors['test'])); } /** @@ -412,14 +475,35 @@ public function test_setValidateFileExt() */ public function test_setValidateEmailConfirm() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $link = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $link->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateEmailConfirm($validator, $link); + //check result return + $this->assertArrayNotHasKey('test', $rs); + /** + * customField validate is exists + * and empty + */ + $customField->validate = ['EMAIL_CONFIRM']; + $customField->meta = ['BcCustomContent' => ['email_confirm' => null]]; + $link->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateEmailConfirm($validator, $link); + //check result return + $this->assertArrayNotHasKey('test', $rs); + /** + * customField validate is exists + */ + $customField->validate = ['EMAIL_CONFIRM']; + $customField->meta = ['BcCustomContent' => ['email_confirm' => 'confirm']]; + $link->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateEmailConfirm($validator, $link); + //check result return + $this->assertArrayHasKey('test', $rs); } /** @@ -427,14 +511,33 @@ public function test_setValidateEmailConfirm() */ public function test_setValidateRegex() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + /** + * regex is empty + */ + $customField = CustomFieldFactory::make([ + 'regex' => null + ])->getEntity(); + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateRegex($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + /** + * regex is not empty + */ + $customField = CustomFieldFactory::make([ + 'regex' => '[0-9]' + ])->getEntity(); + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateRegex($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + //check after when setValidateRegex + $errors = $rs->validate([ + 'title' => 'test', + 'name' => 'name', + 'test' => 'test' + ]); + $this->assertEquals('形式が無効です。', current($errors['test'])); } /** @@ -442,14 +545,40 @@ public function test_setValidateRegex() */ public function test_setValidateEmail() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateEmail($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + /* + * customField validate is exists + */ + $customField->validate = ['EMAIL']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateEmail($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + /** + * check message result + * after when setValidateEmail + * and invalid email + */ + $errors = $rs->validate([ + 'title' => 'title', + 'test' => 'test' + ]); + $this->assertEquals('Eメール形式で入力してください。', current($errors['test'])); + /** + * 半角で入力してください + */ + $errors = $rs->validate([ + 'title' => 'title', + 'test' => '半角で入力@gmail.com' + ]); + $this->assertEquals('半角で入力してください。', current($errors['test'])); } /** @@ -457,14 +586,28 @@ public function test_setValidateEmail() */ public function test_setValidateNumber() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateNumber($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + /* + * customField validate is exists + */ + $customField->validate = ['NUMBER']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateNumber($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + /** + * check message return + * after when setValidateNumber + */ + $errors = $rs->validate(['test' => 'abc']); + $this->assertEquals('数値形式で入力してください。', current($errors['test'])); } /** @@ -472,14 +615,30 @@ public function test_setValidateNumber() */ public function test_setValidateHankaku() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateHankaku($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + /* + * customField validate is exists + */ + $customField->validate = ['HANKAKU']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateHankaku($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + /** + * check mesaage return + * after when setValidateHankaku + */ + $errors = $rs->validate([ + 'test' => 'あいうえお' + ]); + $this->assertEquals('半角英数で入力してください。', current($errors['test'])); } /** @@ -487,14 +646,30 @@ public function test_setValidateHankaku() */ public function test_setValidateZenkakuKatakana() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateZenkakuKatakana($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + /* + * customField validate is exists + */ + $customField->validate = ['ZENKAKU_KATAKANA']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateZenkakuKatakana($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + /** + * check mesaage return + * after when setValidateZenkakuKatakana + */ + $errors = $rs->validate([ + 'test' => 'あいうえお' + ]); + $this->assertEquals('全角カタカナで入力してください。', current($errors['test'])); } /** @@ -502,14 +677,31 @@ public function test_setValidateZenkakuKatakana() */ public function test_setValidateZenkakuHiragana() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateZenkakuHiragana($validator, $customLink); + $this->assertArrayNotHasKey('test', $rs); + + /* + * customField validate is exists + */ + $customField->validate = ['ZENKAKU_HIRAGANA']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateZenkakuHiragana($validator, $customLink); + $this->assertArrayHasKey('test', $rs); + /** + * check message result + * after when setValidateZenkakuHiragana + */ + $errors = $rs->validate([ + 'test' => 'test' + ]); + $this->assertEquals('全角ひらがなで入力してください。', current($errors['test'])); } /** @@ -517,14 +709,43 @@ public function test_setValidateZenkakuHiragana() */ public function test_setValidateDatetime() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - - + $validator = $this->CustomEntriesTable->getValidator('default'); + $customLink = CustomLinkFactory::make(['name' => 'test'])->getEntity(); + $customField = CustomFieldFactory::make()->getEntity(); + /* + * customField validate is not exists + * and postData is empty + */ + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateDatetime($validator, $customLink, []); + $this->assertArrayNotHasKey('test', $rs); + /* + * customField validate is exists + * and postData is not empty + * postData is not array + */ + $customField->validate = ['DATETIME']; + $customLink->custom_field = $customField; + $rs = $this->CustomEntriesTable->setValidateDatetime($validator, $customLink, ['test']); + $this->assertArrayHasKey('test', $rs); + /** + * check message return + * after when setValidateDatetime + */ + $errors = $rs->validate(['test' => 'test']); + $this->assertEquals("日付の形式が無効です。", current($errors['test'])); + /* + * customField validate is exists + * and postData is array + */ + $postData = [ + $customLink->name => [ + 'year' => '2023', + 'month' => '02' + ] + ]; + $rs = $this->CustomEntriesTable->setValidateDatetime($validator, $customLink, $postData); + $this->assertArrayHasKey('test', $rs); } /** @@ -544,10 +765,24 @@ public function test_validationDefault() 'name' => 243435435, ]); $this->assertEquals('数値だけのスラッグを登録することはできません。', current($errors['name'])); + + $validator = $this->CustomEntriesTable->getValidator('default'); + //日付 + $errors = $validator->validate([ + 'published' => 'test', + 'publish_begin' => 'test', + 'publish_end' => 'test' + ]); + $this->assertEquals('公開日付に不正な文字列が入っています。', current($errors['published'])); + $this->assertEquals('公開開始日に不正な文字列が入っています。', current($errors['publish_begin'])); + $this->assertEquals('公開終了日に不正な文字列が入っています。', current($errors['publish_end'])); + //正常系実行 $errors = $validator->validate([ 'title' => 'test', 'name' => 'test 2324', + 'published' => DateTime::now(), + 'publish_begin' => DateTime::now() ]); $this->assertEmpty($errors); } @@ -675,14 +910,12 @@ public function test_findAll() */ public function test_decodeRow() { - $this->markTestIncomplete('このテストは未実装です。'); - //準備 - - //正常系実行 - - //異常系実行 - + $customLink = CustomLinkFactory::make(['options' => '{"name":"abc"}'])->getEntity(); + $rs = $this->CustomEntriesTable->decodeRow($customLink); + //Jsonデータが配列に交換できるか確認すること + $this->assertIsArray($rs['options']); + $this->assertEquals('abc', $rs['options']['name']); } /** diff --git a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomFieldsTableTest.php b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomFieldsTableTest.php index 27d1a95b6c..6efe8c5d67 100644 --- a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomFieldsTableTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomFieldsTableTest.php @@ -14,22 +14,27 @@ use ArrayObject; use BaserCore\TestSuite\BcTestCase; use BcCustomContent\Model\Table\CustomFieldsTable; -use BcCustomContent\Test\Factory\CustomFieldFactory; +use Cake\Routing\Router; /** * CustomFieldsTableTest - * @property CustomFieldsTable $customFieldsTable + * @property CustomFieldsTable $CustomFieldsTable */ class CustomFieldsTableTest extends BcTestCase { + /** + * @var CustomFieldsTable + */ + public $CustomFieldsTable; + /** * Set up */ public function setUp(): void { parent::setUp(); - $this->customFieldsTable = $this->getTableLocator()->get('BcCustomContent.CustomFields'); + $this->CustomFieldsTable = $this->getTableLocator()->get('BcCustomContent.CustomFields'); } /** @@ -37,7 +42,7 @@ public function setUp(): void */ public function tearDown(): void { - unset($this->customFieldsTable); + unset($this->CustomFieldsTable); parent::tearDown(); } @@ -46,7 +51,8 @@ public function tearDown(): void */ public function test_initialize() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->assertTrue($this->CustomFieldsTable->hasBehavior('Timestamp')); + $this->assertTrue($this->CustomFieldsTable->hasAssociation('CustomLinks')); } /** @@ -54,64 +60,65 @@ public function test_initialize() */ public function test_validationDefault() { - $validator = $this->customFieldsTable->getValidator('default'); - //バリディションを発生しない テスト + $validator = $this->CustomFieldsTable->getValidator('default'); + //入力フィールドのデータが超えた場合、 $errors = $validator->validate([ - 'name' => 'a', - 'title' => 'a', - 'type' => 'group', - 'size' => '', - 'max_length' => '', - 'source' => '', + 'name' => str_repeat('a', 256), + 'title' => str_repeat('a', 256) ]); - $this->assertCount(0, $errors); + //戻り値を確認 + $this->assertEquals('フィールド名は255文字以内で入力してください。', current($errors['name'])); + $this->assertEquals('項目見出しは255文字以内で入力してください。', current($errors['title'])); - //notEmptyString テスト + //入力フィールドのデータがNULL場合、 $errors = $validator->validate([ 'name' => '', 'title' => '', 'type' => '', - 'size' => '', - 'max_length' => '', - 'source' => '', ]); + //戻り値を確認 $this->assertEquals('フィールド名を入力してください。', current($errors['name'])); $this->assertEquals('項目見出しを入力してください。', current($errors['title'])); $this->assertEquals('タイプを入力してください。', current($errors['type'])); - //maxLength テスト + //フィールド名は半角小文字英数字とアンダースコアのみ利用可能 $errors = $validator->validate([ - 'name' => str_repeat('a', 256), - 'title' => str_repeat('a', 256) + 'name' => 'test sss', ]); - $this->assertEquals('フィールド名は255文字以内で入力してください。', current($errors['name'])); - $this->assertEquals('項目見出しは255文字以内で入力してください。', current($errors['title'])); + //戻り値を確認 + $this->assertEquals('フィールド名は半角小文字英数字とアンダースコアのみで入力してください。', current($errors['name'])); + $errors = $validator->validate([ + 'name' => 'ひらがな', + ]); + //戻り値を確認 + $this->assertEquals('フィールド名は半角小文字英数字とアンダースコアのみで入力してください。', current($errors['name'])); - //フィールド名は半角英数字とアンダースコア & 横幅サイズと最大文字数は整数ではない テスト + //trueを返す $errors = $validator->validate([ - 'name' => 'あ', - 'size' => 'a', - 'line' => 'a', - 'max_length' => 'b', + 'name' => 'test_test', ]); - $this->assertEquals('フィールド名は半角英数字とアンダースコアのみで入力してください。', current($errors['name'])); - $this->assertEquals('横幅サイズは整数を入力してください。', current($errors['size'])); - $this->assertEquals('行数は整数を入力してください。', current($errors['line'])); - $this->assertEquals('最大文字数は整数を入力してください。', current($errors['max_length'])); + //戻り値を確認 + $this->assertArrayNotHasKey('name', $errors); - //validateUnique テスト - CustomFieldFactory::make(['name' => 'test'])->persist(); + //Eメール比較先フィールド名のバリデーション + //trueを返す + $request = $this->getRequest('/')->withData('validate', ['EMAIL_CONFIRM', 'FILE_EXT', 'MAX_FILE_SIZE']); + Router::setRequest($request); $errors = $validator->validate([ - 'name' => 'test', + 'meta' => '{"BcCustomContent":{"email_confirm":"aaaa_bbb","max_file_size":"100","file_ext":"png"}}' ]); - $this->assertEquals('既に登録のあるフィールド名です。', current($errors['name'])); + //戻り値を確認 + $this->assertArrayNotHasKey('meta', $errors); - //validate checkSelectList テスト - CustomFieldFactory::make(['name' => 'test'])->persist(); + //全角文字 $errors = $validator->validate([ - 'source' => "あ\rべ\r\nあ\nべ\ntest", + 'meta' => '{"BcCustomContent":{"email_confirm":"ああ","max_file_size":"ああ","file_ext":"ああ"}}' + ]); - $this->assertEquals('選択リストに同じ項目を複数登録できません。', current($errors['source'])); + //戻り値を確認 + $this->assertEquals('Eメール比較先フィールド名は半角小文字英数字とアンダースコアのみで入力してください。', $errors['meta']['checkAlphaNumericWithJson']); + $this->assertEquals('ファイルアップロードサイズ上限は整数値のみで入力してください。', $errors['meta']['checkMaxFileSizeWithJson']); + $this->assertEquals('拡張子を次の形式のようにカンマ(,)区切りで入力します。', $errors['meta']['checkFileExtWithJson']); } /** @@ -130,7 +137,7 @@ public function test_beforeMarshal() ]; $options = new \ArrayObject(); $content = new \ArrayObject($data); - $this->customFieldsTable->dispatchEvent('Model.beforeMarshal', ['entity' => $content, 'options' => $options]); + $this->CustomFieldsTable->dispatchEvent('Model.beforeMarshal', ['entity' => $content, 'options' => $options]); $this->assertEquals('{"test":"test"}', $content['meta']); $this->assertEquals('{"test":"test"}', $content['validate']); //case false @@ -140,11 +147,27 @@ public function test_beforeMarshal() ]; $options = new \ArrayObject(); $content = new \ArrayObject($data); - $this->customFieldsTable->dispatchEvent('Model.beforeMarshal', ['entity' => $content, 'options' => $options]); + $this->CustomFieldsTable->dispatchEvent('Model.beforeMarshal', ['entity' => $content, 'options' => $options]); $this->assertEquals('', $content['meta']); $this->assertEquals('', $content['validate']); } + /** + * test afterMarshal + */ + public function test_afterMarshal() + { + $request = $this->getRequest('/')->withData('validate', ['EMAIL_CONFIRM', 'FILE_EXT', 'MAX_FILE_SIZE']); + Router::setRequest($request); + + $customFields = $this->CustomFieldsTable->newEntity(['meta' => ['BcCustomContent' => ['email_confirm' => '全角文字', 'max_file_size' => 'abc', 'file_ext' => 'avc']]]); + $result = $this->CustomFieldsTable->dispatchEvent('Model.afterMarshal', ['entity' => $customFields, 'data' => new \ArrayObject(), 'options' => new \ArrayObject()]); + $customFields = $result->getData('entity'); + //エラー情報を正しい状態に戻すことを確認 + $errors = $customFields->getErrors(); + $this->assertEquals('Eメール比較先フィールド名は半角小文字英数字とアンダースコアのみで入力してください。', $errors['meta.BcCustomContent.email_confirm']['checkAlphaNumericWithJson']); + } + /** * test findAll */ @@ -152,4 +175,29 @@ public function test_findAll() { $this->markTestIncomplete('このテストは、まだ実装されていません。'); } + + /** + * test encodeEntity + */ + public function test_encodeEntity() + { + $entity = new ArrayObject(['meta' => ['key' => 'value'], 'validate' => ['rule' => 'notEmpty']]); + $result = $this->CustomFieldsTable->encodeEntity($entity); + $this->assertEquals(json_encode(['key' => 'value'], JSON_UNESCAPED_UNICODE), $result['meta']); + $this->assertEquals(json_encode(['rule' => 'notEmpty'], JSON_UNESCAPED_UNICODE), $result['validate']); + + //meta empty and validate empty + $entity = new ArrayObject(['meta' => [], 'validate' => []]); + $result = $this->CustomFieldsTable->encodeEntity($entity); + $this->assertEmpty($result['meta']); + $this->assertEmpty($result['validate']); + + //without meta and validate + $entity = new ArrayObject(['other' => 'value']); + $result = $this->CustomFieldsTable->encodeEntity($entity); + $this->assertEquals('value', $result['other']); + $this->assertArrayNotHasKey('meta', $result); + $this->assertArrayNotHasKey('validate', $result); + } + } diff --git a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomLinksTableTest.php b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomLinksTableTest.php index dec8e7a84f..52b4cf7d08 100644 --- a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomLinksTableTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomLinksTableTest.php @@ -12,12 +12,14 @@ namespace BcCustomContent\Test\TestCase\Model\Table; use BaserCore\Service\BcDatabaseServiceInterface; +use ArrayObject; use BaserCore\TestSuite\BcTestCase; use BcCustomContent\Model\Table\CustomLinksTable; use BcCustomContent\Service\CustomLinksServiceInterface; use BcCustomContent\Service\CustomTablesServiceInterface; use BcCustomContent\Test\Factory\CustomFieldFactory; use BcCustomContent\Test\Factory\CustomLinkFactory; +use BcThemeFile\Model\Entity\ThemeFile; use Cake\Event\Event; use BcCustomContent\Test\Scenario\CustomContentsScenario; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; @@ -85,12 +87,12 @@ public function test_validationDefault() $errors = $validator->validate([ 'name' => 'aこんにちは', ]); - $this->assertEquals('フィールド名は半角英数字とアンダースコアのみで入力してください。', current($errors['name'])); + $this->assertEquals('フィールド名は半角小文字英数字とアンダースコアのみで入力してください。', current($errors['name'])); //システム予約名称のケース $errors = $validator->validate([ 'name' => 'option', ]); - $this->assertStringContainsString( 'はシステム予約名称のため利用できません。', current($errors['name'])); + $this->assertStringContainsString( 'システム予約名称のため利用できません。', current($errors['name'])); //既に登録のケース CustomLinkFactory::make([ 'name' => 'recruit_category', @@ -102,6 +104,11 @@ public function test_validationDefault() ]); $this->assertEquals('既に登録のあるフィールド名です。', current($errors['name'])); + //スペースだけ登録した場合、 + $errors = $validator->validate([ + 'title' => ' ' + ]); + $this->assertEquals('タイトルを入力してください。', current($errors['title'])); } /** @@ -129,7 +136,22 @@ public function test_setTreeScope() */ public function test_beforeSave() { - $this->markTestIncomplete('このテストは未実装です。'); + //データを生成 + CustomLinkFactory::make([ + 'custom_table_id' => 1, + 'name' => 'recruit_category' + ])->persist(); + $entity = CustomLinkFactory::make([ + 'custom_table_id' => 1, + 'name' => 'recruit_category' + ])->getEntity(); + $this->CustomLinksTable->dispatchEvent('Model.beforeSave', + ['entity' => $entity, 'options' => new \ArrayObject()]); + //check unique name + $this->assertEquals('recruit_category_2', $entity->get('name')); + //check tree scope + $treeScope = $this->CustomLinksTable->getBehavior('Tree')->getConfig('scope'); + $this->assertEquals(['custom_table_id' => 1], $treeScope); } /** diff --git a/plugins/bc-custom-content/tests/TestCase/Service/CustomContentsServiceTest.php b/plugins/bc-custom-content/tests/TestCase/Service/CustomContentsServiceTest.php index 05a6186b61..5b9213fd20 100644 --- a/plugins/bc-custom-content/tests/TestCase/Service/CustomContentsServiceTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Service/CustomContentsServiceTest.php @@ -216,6 +216,7 @@ public function test_getControlSource() $result = $this->CustomContentsService->getControlSource('list_order', $options); $listExpected = [ 'id' => 'No', + 'published' => '公開日付', 'created' => '登録日', 'modified' => '編集日' ]; @@ -272,6 +273,7 @@ public function test_getListOrders() 'display_field' => 'title', 'publish_begin' => '2021-10-01 00:00:00', 'publish_end' => '9999-11-30 23:59:59', + 'published' => '2021-10-01 00:00:00', 'has_child' => 0 ]); @@ -282,6 +284,7 @@ public function test_getListOrders() //対象メソッドをコール $rs = $this->CustomContentsService->getListOrders(1); $listExpect = [ + 'published' => '公開日付', 'created' => '登録日', 'modified' => '編集日', 'recruit_category' => '求人分類', diff --git a/plugins/bc-custom-content/tests/TestCase/Service/CustomEntriesServiceTest.php b/plugins/bc-custom-content/tests/TestCase/Service/CustomEntriesServiceTest.php index 4f75726829..49801644d9 100644 --- a/plugins/bc-custom-content/tests/TestCase/Service/CustomEntriesServiceTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Service/CustomEntriesServiceTest.php @@ -26,6 +26,7 @@ use BcCustomContent\Test\Scenario\CustomContentsScenario; use BcCustomContent\Test\Scenario\CustomEntriesScenario; use BcCustomContent\Test\Scenario\CustomFieldsScenario; +use Cake\Core\Configure; use Cake\I18n\FrozenTime; use Cake\ORM\Entity; use Cake\Datasource\Exception\RecordNotFoundException; @@ -94,12 +95,15 @@ public function test_getNew() */ public function test_getFieldControlType() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); + Configure::write('BcCustomContent.fieldTypes.BcCcText.controlType', 'text'); + Configure::write('BcCustomContent.fieldTypes.BcCcCheckbox.controlType', 'checkbox'); + //正常系実行 $result = $this->CustomEntriesService->getFieldControlType('BcCcText'); $this->assertEquals('text', $result); $result = $this->CustomEntriesService->getFieldControlType('BcCcCheckbox'); $this->assertEquals('checkbox', $result); + //異常系実行 $result = $this->CustomEntriesService->getFieldControlType('a'); $this->assertEquals('', $result); diff --git a/plugins/bc-custom-content/tests/TestCase/Service/CustomFieldsServiceTest.php b/plugins/bc-custom-content/tests/TestCase/Service/CustomFieldsServiceTest.php index 968934311b..b4f4b123c5 100644 --- a/plugins/bc-custom-content/tests/TestCase/Service/CustomFieldsServiceTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Service/CustomFieldsServiceTest.php @@ -19,6 +19,7 @@ use BcCustomContent\Test\Scenario\CustomFieldsScenario; use Cake\Datasource\Exception\RecordNotFoundException; use Cake\ORM\Exception\PersistenceFailedException; +use Cake\Routing\Router; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; /** @@ -150,6 +151,12 @@ public function test_update() $this->loadFixtureScenario(CustomFieldsScenario::class); $customField = $this->CustomFieldsService->get(1); $customField->title = 'test edit title'; + $customField->validate = ['EMAIL_CONFIRM']; + $customField->meta = ['BcCustomContent' => ['email_confirm' => 'aa']]; + + $request = $this->getRequest('/')->withData('validate', ['EMAIL_CONFIRM', 'FILE_EXT', 'MAX_FILE_SIZE']); + Router::setRequest($request); + //正常系をテスト $rs = $this->CustomFieldsService->update($customField, $customField->toArray()); //戻る値を確認 @@ -157,6 +164,8 @@ public function test_update() //異常系をテスト $customField->title = null; + $customField->meta = ['BcCustomContent' => ['email_confirm' => 'aa']]; + $customField->validate = ['EMAIL_CONFIRM']; $this->expectException(PersistenceFailedException::class); $this->expectExceptionMessage('Entity save failure. Found the following errors (title._empty: "項目見出しを入力してください。")'); $this->CustomFieldsService->update($customField, $customField->toArray()); diff --git a/plugins/bc-custom-content/tests/TestCase/ServiceProvider/BcCustomContentServiceProviderTest.php b/plugins/bc-custom-content/tests/TestCase/ServiceProvider/BcCustomContentServiceProviderTest.php index 3611c8d0a0..435bebdcb8 100644 --- a/plugins/bc-custom-content/tests/TestCase/ServiceProvider/BcCustomContentServiceProviderTest.php +++ b/plugins/bc-custom-content/tests/TestCase/ServiceProvider/BcCustomContentServiceProviderTest.php @@ -12,6 +12,19 @@ namespace BcCustomContent\Test\TestCase\ServiceProvider; use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\Service\Admin\CustomContentsAdminServiceInterface; +use BcCustomContent\Service\Admin\CustomEntriesAdminServiceInterface; +use BcCustomContent\Service\Admin\CustomFieldsAdminServiceInterface; +use BcCustomContent\Service\Admin\CustomLinksAdminServiceInterface; +use BcCustomContent\Service\Admin\CustomTablesAdminServiceInterface; +use BcCustomContent\Service\CustomContentsServiceInterface; +use BcCustomContent\Service\CustomEntriesServiceInterface; +use BcCustomContent\Service\CustomFieldsServiceInterface; +use BcCustomContent\Service\CustomLinksServiceInterface; +use BcCustomContent\Service\CustomTablesServiceInterface; +use BcCustomContent\Service\Front\CustomContentFrontServiceInterface; +use BcCustomContent\ServiceProvider\BcCustomContentServiceProvider; +use Cake\Core\Container; /** * Class BcCustomContentServiceProviderTest @@ -25,6 +38,7 @@ class BcCustomContentServiceProviderTest extends BcTestCase public function setUp(): void { parent::setUp(); + $this->BcCustomContentServiceProvider = new BcCustomContentServiceProvider(); } /** @@ -32,6 +46,7 @@ public function setUp(): void */ public function tearDown(): void { + unset($this->BcCustomContentServiceProvider); parent::tearDown(); } @@ -40,6 +55,18 @@ public function tearDown(): void */ public function test_services() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $container = new Container(); + $this->BcCustomContentServiceProvider->services($container); + $this->assertTrue($container->has(CustomContentsServiceInterface::class)); + $this->assertTrue($container->has(CustomContentsAdminServiceInterface::class)); + $this->assertTrue($container->has(CustomTablesServiceInterface::class)); + $this->assertTrue($container->has(CustomTablesAdminServiceInterface::class)); + $this->assertTrue($container->has(CustomFieldsServiceInterface::class)); + $this->assertTrue($container->has(CustomFieldsAdminServiceInterface::class)); + $this->assertTrue($container->has(CustomEntriesServiceInterface::class)); + $this->assertTrue($container->has(CustomEntriesAdminServiceInterface::class)); + $this->assertTrue($container->has(CustomContentFrontServiceInterface::class)); + $this->assertTrue($container->has(CustomLinksServiceInterface::class)); + $this->assertTrue($container->has(CustomLinksAdminServiceInterface::class)); } } diff --git a/plugins/bc-custom-content/tests/TestCase/Utility/CustomContentUtilTest.php b/plugins/bc-custom-content/tests/TestCase/Utility/CustomContentUtilTest.php new file mode 100644 index 0000000000..65b0f17d4a --- /dev/null +++ b/plugins/bc-custom-content/tests/TestCase/Utility/CustomContentUtilTest.php @@ -0,0 +1,36 @@ +<?php + +namespace BcCustomContent\Test\TestCase\Utility; + +use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\Utility\CustomContentUtil; +use Cake\Core\Configure; + +class CustomContentUtilTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->CustomContentUtil = new CustomContentUtil(); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test getPluginSetting + */ + public function test_getPluginSetting() + { + //plugin and name is not empty + Configure::write('BcCustomContent.fieldTypes.testPlugin.testSetting', 'testValue'); + $rs = CustomContentUtil::getPluginSetting('testPlugin', 'testSetting'); + $this->assertEquals('testValue', $rs); + + //plugin is not empty and name is empty + $rs = CustomContentUtil::getPluginSetting('testPlugin'); + $this->assertEquals(['testSetting' => 'testValue'], $rs); + } +} \ No newline at end of file diff --git a/plugins/bc-custom-content/tests/TestCase/View/CustomContentAdminAppViewTest.php b/plugins/bc-custom-content/tests/TestCase/View/CustomContentAdminAppViewTest.php new file mode 100644 index 0000000000..818c0791d5 --- /dev/null +++ b/plugins/bc-custom-content/tests/TestCase/View/CustomContentAdminAppViewTest.php @@ -0,0 +1,32 @@ +<?php + +namespace BcCustomContent\Test\TestCase\View; + +use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\View\CustomContentAdminAppView; + +class CustomContentAdminAppViewTest extends BcTestCase +{ + /** + * @return void + */ + public function setUp(): void + { + parent::setUp(); + } + + /** + * @return void + */ + public function tearDown(): void + { + parent::tearDown(); + } + + public function test_initialize(): void + { + $this->getRequest(); + $customContentAdminAppView = new CustomContentAdminAppView($this->getRequest()); + $this->assertNotEmpty($customContentAdminAppView->CustomContentAdmin); + } +} \ No newline at end of file diff --git a/plugins/bc-custom-content/tests/TestCase/View/CustomContentFrontAppViewTest.php b/plugins/bc-custom-content/tests/TestCase/View/CustomContentFrontAppViewTest.php new file mode 100644 index 0000000000..9b53b88722 --- /dev/null +++ b/plugins/bc-custom-content/tests/TestCase/View/CustomContentFrontAppViewTest.php @@ -0,0 +1,29 @@ +<?php + +namespace BcCustomContent\Test\TestCase\View; + +use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\View\CustomContentFrontAppView; + +class CustomContentFrontAppViewTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test initialize + */ + public function test_initialize() + { + $this->getRequest(); + $customContentFrontAppView = new CustomContentFrontAppView($this->getRequest()); + $this->assertNotEmpty($customContentFrontAppView->CustomContent); + } +} \ No newline at end of file diff --git a/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentAdminHelperTest.php b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentAdminHelperTest.php index 378dd5f227..9867cac4d1 100644 --- a/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentAdminHelperTest.php +++ b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentAdminHelperTest.php @@ -4,8 +4,10 @@ use BaserCore\Service\BcDatabaseServiceInterface; use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\Model\Entity\CustomEntry; use BcCustomContent\Service\CustomEntriesServiceInterface; use BcCustomContent\Service\CustomTablesServiceInterface; +use BcCustomContent\Test\Factory\CustomEntryFactory; use BcCustomContent\Test\Factory\CustomLinkFactory; use BcCustomContent\Test\Scenario\CustomFieldsScenario; use BcCustomContent\Test\Scenario\CustomContentsScenario; @@ -26,7 +28,7 @@ class CustomContentAdminHelperTest extends BcTestCase public function setUp(): void { parent::setUp(); - $view = new View($this->getRequest()); + $view = new View($this->getRequest('/baser/admin')); $this->CustomContentAdminHelper = new CustomContentAdminHelper($view); } /** @@ -172,7 +174,40 @@ public function test_label() */ public function test_required() { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + /** + * case children is not exists + * and required is false + */ + $customLink = CustomLinkFactory::make([ + 'required' => 0 + ])->getEntity(); + $rs = $this->CustomContentAdminHelper->required($customLink); + $this->assertEquals('', $rs); + /** + * case children is not exists + * and required is true + */ + $customLink->required = 1; + $rs = $this->CustomContentAdminHelper->required($customLink); + $this->assertEquals("<span class=\"bca-label\" data-bca-label-type=\"required\">必須</span>\n", $rs); + /** + * case children is exists + * and required of children is false + */ + $customLink->children = [CustomLinkFactory::make([ + 'required' => 0 + ])->getEntity()]; + $rs = $this->CustomContentAdminHelper->required($customLink); + $this->assertEquals('', $rs); + /** + * case children is exists + * and required of children is true + */ + $customLink->children = [CustomLinkFactory::make([ + 'required' => 1 + ])->getEntity()]; + $rs = $this->CustomContentAdminHelper->required($customLink); + $this->assertEquals("<span class=\"bca-label\" data-bca-label-type=\"required\">必須</span>\n", $rs); } /** * test attention @@ -204,7 +239,53 @@ public function test_preview() */ public function test_getEntryIndexTitle() { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + //サービスクラス + $dataBaseService = $this->getService(BcDatabaseServiceInterface::class); + $customTableService = $this->getService(CustomTablesServiceInterface::class); + $customEntriesService = $this->getService(CustomEntriesServiceInterface::class); + /** + * case has_child is true + * and customTable with display_field is title + */ + //カスタムテーブルとカスタムエントリテーブルを生成 + $customTableService->create([ + 'id' => 1, + 'name' => 'recruit_categories', + 'display_field' => 'title', + 'has_child' => 1 + ]); + $customTableService->create([ + 'id' => 2, + 'name' => 'recruit_categories_2', + 'display_field' => 'text', + 'has_child' => 0 + ]); + //データ生成 + $this->loadFixtureScenario(CustomContentsScenario::class); + $this->loadFixtureScenario(CustomEntriesScenario::class); + $customEntriesService->setup(1); + $customTable = $customTableService->get(1); + $customEntry = $customEntriesService->get(1); + //case customEntry exists + $rs = $this->CustomContentAdminHelper->getEntryIndexTitle($customTable, $customEntry); + //check result return + $this->assertEquals('<a href="/baser/admin/baser-core/dashboard/edit/1/1">Webエンジニア・Webプログラマー</a>', $rs); + /** + * case has_child is false + * and customTable with display_field is not title + */ + CustomEntryFactory::make([ + 'id' => 4, + 'custom_table_id' => 2, + 'title' => 'プログラマー 4', + ])->persist(); + $customTable = $customTableService->get(2); + $customEntry = $customEntriesService->get(4); + $rs = $this->CustomContentAdminHelper->getEntryIndexTitle($customTable, $customEntry); + //check result return + $this->assertEquals('プログラマー 4', $rs); + $dataBaseService->dropTable('custom_entry_1_recruit_categories'); + $dataBaseService->dropTable('custom_entry_2_recruit_categories_2'); } /* @@ -312,4 +393,73 @@ public function test_getFields() $this->assertEquals(2, $rs->count()); } + /* + * test getEntryColumnsNum + */ + public function test_getEntryColumnsNum() + { + //case isDisplayEntryList is false + $arrCustomLink = [ + CustomLinkFactory::make([ + 'display_admin_list' => 1 + ])->getEntity() + ]; + $rs = $this->CustomContentAdminHelper->getEntryColumnsNum($arrCustomLink); + $this->assertEquals(6, $rs); + //case isDisplayEntryList is true + $arrCustomLink = [ + CustomLinkFactory::make([ + 'display_admin_list' => 1, + 'custom_field' => [ + 'type' => 'group' + ], + 'children' => [ + 'name' => 'test children' + ] + ])->getEntity() + ]; + $rs = $this->CustomContentAdminHelper->getEntryColumnsNum($arrCustomLink); + $this->assertEquals(7, $rs); + } + + /** + * test isEnabledMoveUpEntry + */ + public function test_isEnabledMoveUpEntry() + { + $entries = new \ArrayObject([ + new CustomEntry(['id' => 1, 'level' => 1]), + new CustomEntry(['id' => 2, 'level' => 1]), + new CustomEntry(['id' => 3, 'level' => 1]) + ]); + $currentEntry = new CustomEntry(['id' => 2, 'level' => 1]); + $result = $this->CustomContentAdminHelper->isEnabledMoveUpEntry($entries, $currentEntry); + $this->assertTrue($result); + + //with move not possible + $currentEntry = new CustomEntry(['id' => 1, 'level' => 1]); + $result = $this->CustomContentAdminHelper->isEnabledMoveUpEntry($entries, $currentEntry); + $this->assertFalse($result); + } + + /** + * test isEnabledMoveDownEntry + */ + + public function test_isEnabledMoveDownEntry() + { + $entries = new \ArrayObject([ + new CustomEntry(['id' => 1, 'level' => 1]), + new CustomEntry(['id' => 2, 'level' => 1]), + new CustomEntry(['id' => 3, 'level' => 1]) + ]); + $currentEntry = new CustomEntry(['id' => 2, 'level' => 1]); + $result = $this->CustomContentAdminHelper->isEnabledMoveDownEntry($entries, $currentEntry); + $this->assertTrue($result); + + //with move not possible + $currentEntry = new CustomEntry(['id' => 3, 'level' => 1]); + $result = $this->CustomContentAdminHelper->isEnabledMoveDownEntry($entries, $currentEntry); + $this->assertFalse($result); + } } diff --git a/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentArrayTraitTest.php b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentArrayTraitTest.php new file mode 100644 index 0000000000..7075256fb9 --- /dev/null +++ b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentArrayTraitTest.php @@ -0,0 +1,75 @@ +<?php + +namespace BcCustomContent\Test\TestCase\View\Helper; + +use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\View\Helper\CustomContentArrayTrait; + +class CustomContentArrayTraitTest extends BcTestCase +{ + use CustomContentArrayTrait; + + /** + * @return void + */ + public function setUp(): void + { + parent::setUp(); + } + + /** + * @return void + */ + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test arrayValue + */ + public function test_arrayValue() + { + /** + * array key is numeric + */ + $array = ['value1']; + $this->assertEquals('value1', $this->arrayValue(0, $array)); + /** + * array key exists + */ + $array = ['key1' => 'value1']; + $this->assertEquals('value1', $this->arrayValue('key1', $array)); + /** + * return noValue + */ + $this->assertEquals('', $this->arrayValue('key2', $array)); + /** + * array key is array + */ + $array = [ + [ + 'key1' => 'value1' + ] + ]; + $this->assertEquals('value1', $this->arrayValue('key1', $array)); + } + + /** + * test textToArray + */ + public function test_textToArray() + { + /** + * case array = 1 + */ + $str = "value1\nvalue2\nvalue3"; + $this->assertEquals(['value1' => 'value1', 'value2' => 'value2', 'value3' => 'value3'], + $this->textToArray($str)); + /** + * case array > 1 + */ + $str = "item:item1"; + $this->assertEquals(['item1' => 'item'], $this->textToArray($str)); + } +} \ No newline at end of file diff --git a/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentHelperTest.php b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentHelperTest.php index 93e9ee5212..1f8d34415c 100755 --- a/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentHelperTest.php +++ b/plugins/bc-custom-content/tests/TestCase/View/Helper/CustomContentHelperTest.php @@ -15,15 +15,19 @@ use BaserCore\Test\Scenario\InitAppScenario; use BaserCore\Test\Factory\ContentFactory; use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\Model\Entity\CustomEntry; use BcCustomContent\Service\CustomContentsServiceInterface; use BcCustomContent\Service\CustomEntriesServiceInterface; use BcCustomContent\Service\CustomTablesServiceInterface; +use BcCustomContent\Test\Factory\CustomEntryFactory; +use BcCustomContent\Test\Factory\CustomFieldFactory; use BcCustomContent\Test\Factory\CustomLinkFactory; use BcCustomContent\Test\Factory\CustomContentFactory; use BcCustomContent\Test\Scenario\CustomContentsScenario; use BcCustomContent\Test\Scenario\CustomFieldsScenario; use BcCustomContent\Test\Scenario\CustomEntriesScenario; use BcCustomContent\View\Helper\CustomContentHelper; +use Cake\Core\Configure; use Cake\View\View; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; @@ -226,10 +230,70 @@ public function test_getFieldTitle() /** * test getFieldValue + * @param string $displayFront + * @param string $fieldType + * @param string $requestUrl + * @param string $fieldName + * @param string $fieldValue + * @param array $options + * @param string $expect + * @dataProvider getFieldValueDataProvider */ - public function test_getFieldValue() + public function test_getFieldValue($displayFront, $fieldType, $requestUrl, $fieldName, $fieldValue, $options, $expect) { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + //plugin BcCcRelatedを追加 + Configure::write('BcCustomContent.fieldTypes.BcCcRelated', ['category' => '選択', 'label' => '関連データ', 'columnType' => 'string', 'controlType' => 'select', 'preview' => true, 'loop' => true]); + //サービスをコル + $dataBaseService = $this->getService(BcDatabaseServiceInterface::class); + $customTable = $this->getService(CustomTablesServiceInterface::class); + $customContentsService = $this->getService(CustomContentsServiceInterface::class); + + //テストデータを生成 + $customTable->create(['id' => 1, 'type' => 'recruit_category', 'name' => 'recruit_categories', 'display_field' => 'name']); + //データを生成 + CustomContentFactory::make(['id' => 1, 'custom_table_id' => 1, 'recruit_category' => 'test'])->persist(); + ContentFactory::make(['id' => 100, 'plugin' => 'BcCustomContent', 'type' => 'CustomContent', 'site_id' => 1, 'entity_id' => 1])->persist(); + CustomFieldFactory::make(['id' => 1, 'name' => 'recruit_category', 'type' => $fieldType, 'meta' => '{"BcCcRelated":{"custom_table_id":"1","filter_name":"","filter_value":""}}'])->persist(); + CustomEntryFactory::make(['id' => 1, 'custom_table_id' => 1, 'name' => 'プログラマー'])->persist(); + CustomLinkFactory::make([ + 'id' => 1, + 'custom_table_id' => 1, + 'custom_field_id' => 1, + 'name' => 'recruit_category', + 'before_head' => true, + 'before_linefeed' => true, + 'after_head' => true, + 'after_linefeed' => true, + 'display_front' => $displayFront + ])->persist(); + + $this->getRequest($requestUrl); + + //currentContentをセット + $customContent = $customContentsService->get(1); + $view = new View($this->getRequest($requestUrl)->withAttribute('currentContent', $customContent->content)); + $this->CustomContentHelper = new CustomContentHelper($view); + + $rs = $this->CustomContentHelper->getFieldValue(['custom_table_id' => 1, 'recruit_category' => $fieldValue], $fieldName, $options); + //戻り値を確認 + $this->assertEquals($expect, $rs); + + //不要なテーブルを削除 + $dataBaseService->dropTable('custom_entry_1_recruit_categories'); + } + + public static function getFieldValueDataProvider() + { + return [ + [null, 'group', '/', 'recruit_category', 'test', [], ''], //$customLink->display_front = null + [true, 'group', '/', 'recruit_category', 'test', [], 'test'], //$customLink->display_front != null && $field->type === 'group' + [true, 'BcCcRelated', '/', 'recruit_category', 1, [], 'プログラマー'], //$customLink->display_front != null && $field->type === 'group' && isAdminSystem = false + [true, 'BcCcRelated', '/baser/admin', 'recruit_category', 1, [], '<br>1 プログラマー 1<br>'], //isAdminSystem = true && 全て$options=true + [true, 'BcCcRelated', '/baser/admin', 'recruit_category', 1, ['beforeHead' => false], '<br>プログラマー 1<br>'], //isAdminSystem = true && beforeHead = false + [true, 'BcCcRelated', '/baser/admin', 'recruit_category', 1, ['beforeLinefeed' => false], '1 プログラマー 1<br>'], //isAdminSystem = true && beforeLinefeed = false + [true, 'BcCcRelated', '/baser/admin', 'recruit_category', 1, ['afterHead' => false], '<br>1 プログラマー<br>'], //isAdminSystem = true && afterHead = false + [true, 'BcCcRelated', '/baser/admin', 'recruit_category', 1, ['afterLinefeed' => false], '<br>1 プログラマー 1'], //isAdminSystem = true && afterLinefeed = false + ]; } /** @@ -304,7 +368,47 @@ public function test_getField() */ public function test_isLoop() { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + //サービスをコル + $dataBaseService = $this->getService(BcDatabaseServiceInterface::class); + $customTable = $this->getService(CustomTablesServiceInterface::class); + $customEntriesService = $this->getService(CustomEntriesServiceInterface::class); + + //テストデータを生成 + $customTable->create([ + 'id' => 1, + 'name' => 'recruit_categories' + ]); + //データを生成 + $this->loadFixtureScenario(CustomContentsScenario::class); + CustomFieldFactory::make([ + 'id' => 1, + 'name' => 'recruit_category', + 'type' => 'group' + ])->persist(); + CustomLinkFactory::make([ + 'id' => 1, + 'custom_table_id' => 1, + 'custom_field_id' => 1, + 'use_loop' => true, + 'name' => 'recruit_category' + ])->persist(); + CustomEntryFactory::make([ + 'id' => 1, + 'custom_table_id' => 1 + ])->persist(); + + $customEntriesService->setup(1); + + //trueを返す場合 + $rs = $this->CustomContentHelper->isLoop($customEntriesService->get(1), 'recruit_category'); + $this->assertTrue($rs); + + //falseを返す場合 + $rs = $this->CustomContentHelper->isLoop($customEntriesService->get(1), 'recruit'); + $this->assertFalse($rs); + + //不要なテーブルを削除 + $dataBaseService->dropTable('custom_entry_1_recruit_categories'); } /** @@ -361,7 +465,42 @@ public function test_getLinks() */ public function test_getLinkChildren() { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + //サービスをコル + $dataBaseService = $this->getService(BcDatabaseServiceInterface::class); + $customTable = $this->getService(CustomTablesServiceInterface::class); + + //データを生成 + $this->loadFixtureScenario(CustomContentsScenario::class); + $this->loadFixtureScenario(CustomFieldsScenario::class); + //テストデータを生成 + $customTable->create([ + 'type' => 'contact', + 'name' => 'contact', + 'title' => 'お問い合わせタイトル', + 'display_field' => 'お問い合わせ' + ]); + + CustomLinkFactory::make([ + 'id' => 3, + 'custom_table_id' => 1, + 'custom_field_id' => 2, + 'parent_id' => 2, + 'lft' => 2, + 'rght' => 3, + ])->persist(); + + //カスタムリンクの子がある場合、 + $rs = $this->CustomContentHelper->getLinkChildren(new CustomEntry(['custom_table_id' => 1]), 'feature')->toArray(); + //カスタムリンクの子を取得するできるか確認すること + $this->assertEquals(3, $rs[0]->id); + + //カスタムリンクの子がない場合、 + $rs = $this->CustomContentHelper->getLinkChildren(new CustomEntry(['custom_table_id' => 1]), 'recruit_category'); + //カスタムリンクの子を取得するできるか確認すること + $this->assertCount(0, $rs); + + //不要なテーブルを削除 + $dataBaseService->dropTable('custom_entry_1_contact'); } /** @@ -369,7 +508,33 @@ public function test_getLinkChildren() */ public function test_clearCacheLinks() { - $this->markTestIncomplete('このテストはまだ実装されていません。'); + //サービスをコル + $dataBaseService = $this->getService(BcDatabaseServiceInterface::class); + $customTable = $this->getService(CustomTablesServiceInterface::class); + + //データを生成 + $this->loadFixtureScenario(CustomContentsScenario::class); + $this->loadFixtureScenario(CustomFieldsScenario::class); + //テストデータを生成 + $customTable->create([ + 'type' => 'contact', + 'name' => 'contact', + 'title' => 'お問い合わせタイトル', + 'display_field' => 'お問い合わせ' + ]); + + //getLink()メソッドを使ってcacheLinksをセット + $this->CustomContentHelper->getLink(1, 'recruit_category'); + //関連リンクのエンティティキャッシュがあるか確認すること + $this->assertCount(2, $this->getPrivateProperty($this->CustomContentHelper, 'cacheLinks')); + + //関連リンクのエンティティキャッシュを削除するメソッドをコール + $this->CustomContentHelper->clearCacheLinks(); + //関連リンクのエンティティキャッシュが削除できるか確認すること + $this->assertEquals([], $this->getPrivateProperty($this->CustomContentHelper, 'cacheLinks')); + + //不要なテーブルを削除 + $dataBaseService->dropTable('custom_entry_1_contact'); } /** diff --git a/plugins/bc-editor-template/src/Plugin.php b/plugins/bc-editor-template/src/BcEditorTemplatePlugin.php similarity index 93% rename from plugins/bc-editor-template/src/Plugin.php rename to plugins/bc-editor-template/src/BcEditorTemplatePlugin.php index d50e33a523..6dab310c18 100644 --- a/plugins/bc-editor-template/src/Plugin.php +++ b/plugins/bc-editor-template/src/BcEditorTemplatePlugin.php @@ -21,7 +21,7 @@ /** * Class Plugin */ -class Plugin extends BcPlugin +class BcEditorTemplatePlugin extends BcPlugin { /** @@ -29,6 +29,7 @@ class Plugin extends BcPlugin * @param ContainerInterface $container * @noTodo * @checked + * @unitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-editor-template/src/Controller/Admin/EditorTemplatesController.php b/plugins/bc-editor-template/src/Controller/Admin/EditorTemplatesController.php index 92c520398a..69ccd20caf 100644 --- a/plugins/bc-editor-template/src/Controller/Admin/EditorTemplatesController.php +++ b/plugins/bc-editor-template/src/Controller/Admin/EditorTemplatesController.php @@ -37,6 +37,7 @@ class EditorTemplatesController extends BcAdminAppController * @param EditorTemplatesService $service * @checked * @noTodo + * @UnitTest */ public function index(EditorTemplatesServiceInterface $service) { @@ -51,6 +52,7 @@ public function index(EditorTemplatesServiceInterface $service) * @param EditorTemplatesService $service * @checked * @noTodo + * @UnitTest */ public function add(EditorTemplatesServiceInterface $service) { @@ -72,7 +74,7 @@ public function add(EditorTemplatesServiceInterface $service) ]); $this->BcMessage->setSuccess(__d('baser_core', 'テンプレート「{0}」を追加しました', $entity->name)); - $this->redirect(['action' => 'index']); + return $this->redirect(['action' => 'index']); } catch (PersistenceFailedException $e) { $entity = $e->getEntity(); $this->BcMessage->setError(__d('baser_core', '入力エラーです。内容を修正してください。')); @@ -83,7 +85,6 @@ public function add(EditorTemplatesServiceInterface $service) $this->set([ 'editorTemplate' => $entity?? $service->getNew() ]); - $this->viewBuilder()->addHelper(BcSiteConfig::get('editor')); } /** @@ -93,6 +94,7 @@ public function add(EditorTemplatesServiceInterface $service) * @param int $id * @checked * @noTodo + * @unitTest */ public function edit(EditorTemplatesServiceInterface $service, int $id) { @@ -115,7 +117,7 @@ public function edit(EditorTemplatesServiceInterface $service, int $id) ]); $this->BcMessage->setSuccess(__d('baser_core', 'テンプレート「{0}」を更新しました', $entity->name)); - $this->redirect(['action' => 'index']); + return $this->redirect(['action' => 'index']); } catch (PersistenceFailedException $e) { $entity = $e->getEntity(); $this->BcMessage->setError(__d('baser_core', '入力エラーです。内容を修正してください。')); @@ -126,7 +128,6 @@ public function edit(EditorTemplatesServiceInterface $service, int $id) $this->set([ 'editorTemplate' => $entity ]); - $this->viewBuilder()->addHelper(BcSiteConfig::get('editor')); } /** @@ -137,6 +138,7 @@ public function edit(EditorTemplatesServiceInterface $service, int $id) * @return \Cake\Http\Response|void|null * @checked * @noTodo + * @unitTest */ public function delete(EditorTemplatesServiceInterface $service, $id) { @@ -160,6 +162,7 @@ public function delete(EditorTemplatesServiceInterface $service, $id) * @param EditorTemplatesService $service * @checked * @noTodo + * @unitTest */ public function js(EditorTemplatesServiceInterface $service) { diff --git a/plugins/bc-editor-template/src/ServiceProvider/BcEditorTemplateServiceProvider.php b/plugins/bc-editor-template/src/ServiceProvider/BcEditorTemplateServiceProvider.php index 8a411a7298..8c547cc335 100755 --- a/plugins/bc-editor-template/src/ServiceProvider/BcEditorTemplateServiceProvider.php +++ b/plugins/bc-editor-template/src/ServiceProvider/BcEditorTemplateServiceProvider.php @@ -37,6 +37,7 @@ class BcEditorTemplateServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-editor-template/tests/BcEditorTemplatePluginTest.php b/plugins/bc-editor-template/tests/BcEditorTemplatePluginTest.php new file mode 100644 index 0000000000..d3283008c1 --- /dev/null +++ b/plugins/bc-editor-template/tests/BcEditorTemplatePluginTest.php @@ -0,0 +1,37 @@ +<?php + +namespace BcEditorTemplate\Test; + +use BaserCore\TestSuite\BcTestCase; +use BaserCore\Utility\BcUtil; +use BcEditorTemplate\Service\EditorTemplatesServiceInterface; +use Cake\Core\Container; +use Cake\Core\Plugin; + +class BcEditorTemplatePluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + BcUtil::includePluginClass('BcEditorTemplate'); + $plugins = Plugin::getCollection(); + $this->Plugin = $plugins->create('BcEditorTemplate'); + $plugins->add($this->Plugin); + } + + public function tearDown(): void + { + unset($this->Plugin); + parent::tearDown(); + } + + /** + * test services + */ + public function test_services() + { + $container = new Container(); + $this->Plugin->services($container); + $this->assertTrue($container->has(EditorTemplatesServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-editor-template/tests/TestCase/Controller/Admin/EditorTemplatesControllerTest.php b/plugins/bc-editor-template/tests/TestCase/Controller/Admin/EditorTemplatesControllerTest.php index 353e11da69..4470d93f6c 100644 --- a/plugins/bc-editor-template/tests/TestCase/Controller/Admin/EditorTemplatesControllerTest.php +++ b/plugins/bc-editor-template/tests/TestCase/Controller/Admin/EditorTemplatesControllerTest.php @@ -11,11 +11,15 @@ namespace BcEditorTemplate\Test\TestCase\Controller\Admin; +use BaserCore\Service\SiteConfigsServiceInterface; +use BaserCore\Test\Factory\SiteConfigFactory; use BaserCore\Test\Scenario\InitAppScenario; use BaserCore\TestSuite\BcTestCase; use BaserCore\Utility\BcContainerTrait; +use BcEditorTemplate\Test\Factory\EditorTemplateFactory; use BcEditorTemplate\Test\Scenario\EditorTemplatesScenario; use Cake\Datasource\ConnectionManager; +use Cake\Datasource\Exception\RecordNotFoundException; use Cake\Event\Event; use Cake\ORM\TableRegistry; use Cake\TestSuite\IntegrationTestTrait; @@ -56,6 +60,17 @@ public function tearDown(): void $this->truncateTable('editor_templates'); } + /** + * test index + */ + public function testAdmin_index() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + $this->get('/baser/admin/bc-editor-template/editor_templates/index'); + $this->assertResponseOk(); + } /** * Test beforeAddEvent */ @@ -99,6 +114,27 @@ public function testAfterAddEvent() $this->assertEquals(1, $query->count()); } + /** + * Test add + */ + public function testAdmin_add() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 + $this->post('/baser/admin/bc-editor-template/editor_templates/add', ['name' => 'test', 'description' => 'test description']); + $this->assertResponseCode(302); + $this->assertFlashMessage('テンプレート「test」を追加しました'); + $this->assertRedirect(['action' => 'index']); + + //異常系実行 + $this->post('/baser/admin/bc-editor-template/editor_templates/add', ['name' => '']); + $this->assertResponseCode(200); + $vars = $this->_controller->viewBuilder()->getVars(); + $this->assertEquals(['name' => ['_empty' => "テンプレート名を入力してください。"]], $vars['editorTemplate']->getErrors()); + } + /** * Test beforeAddEvent */ @@ -143,4 +179,79 @@ public function testAfterEditEvent() $query = $editorTemplates->find()->where(['name' => 'afterAdd']); $this->assertEquals(1, $query->count()); } + + /** + * Test edit + */ + public function testAdmin_edit() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + SiteConfigFactory::make(['name' => 'editor', 'value' => 'BaserCore.BcCkeditor'])->persist(); + + //テストデータをセット + $this->loadFixtureScenario(EditorTemplatesScenario::class); + + //正常系実行 + $data = [ + 'name' => 'japan' + ]; + $this->post('/baser/admin/bc-editor-template/editor_templates/edit/11', $data); + $this->assertResponseCode(302); + $this->assertFlashMessage('テンプレート「japan」を更新しました'); + $this->assertRedirect(['action' => 'index']); + + //異常系実行 + $this->post('/baser/admin/bc-editor-template/editor_templates/edit/11', ['name' => '']); + $this->assertResponseCode(200); + $vars = $this->_controller->viewBuilder()->getVars(); + $this->assertEquals(['name' => ['_empty' => "テンプレート名を入力してください。"]], + $vars['editorTemplate']->getErrors()); + } + + /** + * Test delete + */ + public function testAdmin_delete() + { + //delete + $this->loadFixtureScenario(EditorTemplatesScenario::class); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $editorTemplates = $this->getTableLocator()->get('BcEditorTemplate.EditorTemplates'); + //check before delete + $query = $editorTemplates->find()->where(['name' => '画像(左)とテキスト']); + $this->assertEquals(1, $query->count()); + $this->post('/baser/admin/bc-editor-template/editor_templates/delete/11'); + // ステータスを確認 + $this->assertResponseCode(302); + $this->assertFlashMessage('テンプレート「画像(左)とテキスト」を削除しました。'); + //check after delete + $query = $editorTemplates->find()->where(['name' => '画像(左)とテキスト']); + $this->assertEquals(0, $query->count()); + /** + * check RecordNotFoundException + */ + $this->expectException(RecordNotFoundException::class); + EditorTemplateFactory::get(11); + } + + public function test_js() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + $this->post('/baser/admin/bc-editor-template/editor_templates/js'); + + // 戻り値を確認 + $this->assertResponseCode(200); + $this->assertNull($this->_controller->viewBuilder()->getLayout()); + + $vars = $this->_controller->viewBuilder()->getVars(); + $this->assertNotNull($vars['templates']); + + $helpers = $this->_controller->viewBuilder()->getHelpers(); + $this->assertEquals('BaserCore.BcArray', $helpers['BcArray']['className']); + } } diff --git a/plugins/bc-editor-template/tests/TestCase/ServiceProvider/BcEditorTemplateServiceProviderTest.php b/plugins/bc-editor-template/tests/TestCase/ServiceProvider/BcEditorTemplateServiceProviderTest.php new file mode 100644 index 0000000000..564c251b2e --- /dev/null +++ b/plugins/bc-editor-template/tests/TestCase/ServiceProvider/BcEditorTemplateServiceProviderTest.php @@ -0,0 +1,33 @@ +<?php + +namespace BcEditorTemplate\Test\TestCase\ServiceProvider; + +use BaserCore\Test\TestCase\BcPluginTest; +use BcEditorTemplate\Service\EditorTemplatesServiceInterface; +use BcEditorTemplate\ServiceProvider\BcEditorTemplateServiceProvider; +use Cake\Core\Container; + +class BcEditorTemplateServiceProviderTest extends BcPluginTest +{ + public function setUp(): void + { + parent::setUp(); + $this->BcEditorTemplateServiceProvider = new BcEditorTemplateServiceProvider(); + } + + public function tearDown(): void + { + unset($this->BcEditorTemplateServiceProvider); + parent::tearDown(); + } + + /** + * test services + */ + public function test_services(): void + { + $container = new Container(); + $this->BcEditorTemplateServiceProvider->services($container); + $this->assertTrue($container->has(EditorTemplatesServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-favorite/src/Plugin.php b/plugins/bc-favorite/src/BcFavoritePlugin.php similarity index 94% rename from plugins/bc-favorite/src/Plugin.php rename to plugins/bc-favorite/src/BcFavoritePlugin.php index a138926f41..b7d96b50d9 100644 --- a/plugins/bc-favorite/src/Plugin.php +++ b/plugins/bc-favorite/src/BcFavoritePlugin.php @@ -22,13 +22,14 @@ /** * plugin for BcFavorite */ -class Plugin extends BcPlugin +class BcFavoritePlugin extends BcPlugin { /** * services * @param ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-favorite/src/Controller/Api/Admin/FavoritesController.php b/plugins/bc-favorite/src/Controller/Api/Admin/FavoritesController.php index 1e99e7c17b..43ca2c820b 100644 --- a/plugins/bc-favorite/src/Controller/Api/Admin/FavoritesController.php +++ b/plugins/bc-favorite/src/Controller/Api/Admin/FavoritesController.php @@ -75,6 +75,7 @@ public function index(FavoritesServiceInterface $service) * @param FavoritesServiceInterface $service * @checked * @noTodo + * @unitTest */ public function add(FavoritesServiceInterface $service) { @@ -106,6 +107,7 @@ public function add(FavoritesServiceInterface $service) * @param $id * @checked * @noTodo + * @unitTest */ public function edit(FavoritesServiceInterface $service, $id) { @@ -140,6 +142,7 @@ public function edit(FavoritesServiceInterface $service, $id) * @param int $id * @checked * @noTodo + * @unitTest */ public function delete(FavoritesServiceInterface $service, $id) { @@ -172,6 +175,7 @@ public function delete(FavoritesServiceInterface $service, $id) * @return void * @checked * @noTodo + * @unitTest */ public function change_sort(FavoritesServiceInterface $service) { @@ -203,6 +207,7 @@ public function change_sort(FavoritesServiceInterface $service) * @param mixed $open 1 Or '' * @checked * @noTodo + * @unitTest */ public function save_favorite_box($open = '') { @@ -229,6 +234,7 @@ public function save_favorite_box($open = '') * @return void * @checked * @noTodo + * @unitTest */ public function get_favorite_box_opened() { diff --git a/plugins/bc-favorite/src/ServiceProvider/BcFavoriteServiceProvider.php b/plugins/bc-favorite/src/ServiceProvider/BcFavoriteServiceProvider.php index 1da525a6c0..bff7746293 100644 --- a/plugins/bc-favorite/src/ServiceProvider/BcFavoriteServiceProvider.php +++ b/plugins/bc-favorite/src/ServiceProvider/BcFavoriteServiceProvider.php @@ -37,6 +37,7 @@ class BcFavoriteServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-favorite/tests/TestCase/BcFavoritePluginTest.php b/plugins/bc-favorite/tests/TestCase/BcFavoritePluginTest.php new file mode 100644 index 0000000000..a4905893f6 --- /dev/null +++ b/plugins/bc-favorite/tests/TestCase/BcFavoritePluginTest.php @@ -0,0 +1,30 @@ +<?php + +namespace BcFavorite\Test\TestCase; + +use BaserCore\TestSuite\BcTestCase; +use BcFavorite\BcFavoritePlugin; +use BcFavorite\Service\FavoritesServiceInterface; +use Cake\Core\Container; + +class BcFavoritePluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcFavoritePlugin = new BcFavoritePlugin(['name' => 'BcFavorite']); + } + + public function tearDown(): void + { + unset($this->BcFavoritePlugin); + parent::tearDown(); + } + + public function test_services(): void + { + $container = new Container(); + $this->BcFavoritePlugin->services($container); + $this->assertTrue($container->has(FavoritesServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-favorite/tests/TestCase/Controller/Api/Admin/FavoritesControllerTest.php b/plugins/bc-favorite/tests/TestCase/Controller/Api/Admin/FavoritesControllerTest.php index c3c32e1e8b..0cd55cb5ea 100644 --- a/plugins/bc-favorite/tests/TestCase/Controller/Api/Admin/FavoritesControllerTest.php +++ b/plugins/bc-favorite/tests/TestCase/Controller/Api/Admin/FavoritesControllerTest.php @@ -13,6 +13,7 @@ use BaserCore\Test\Scenario\InitAppScenario; use BcFavorite\Test\Scenario\FavoritesScenario; +use Cake\Http\Session; use Cake\TestSuite\IntegrationTestTrait; use BaserCore\TestSuite\BcTestCase; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; @@ -223,4 +224,21 @@ public function testAdmin_update_sort() ]); $this->assertResponseOk(); } + + /** + * test get_favorite_box_opened + */ + public function test_get_favorite_box_opened() + { + //セッションを設定 + $this->session(['Baser.favorite_box_opened' => 1]); + + //APIをコール + $this->post('/baser/api/admin/bc-favorite/favorites/get_favorite_box_opened.json?token=' . $this->accessToken); + + //戻り値を確認 + $this->assertResponseOk(); + $result = json_decode((string)$this->_response->getBody()); + $this->assertEquals(1, $result->result); + } } diff --git a/plugins/bc-favorite/tests/TestCase/ServiceProvider/BcFavoriteServiceProviderTest.php b/plugins/bc-favorite/tests/TestCase/ServiceProvider/BcFavoriteServiceProviderTest.php new file mode 100644 index 0000000000..a21022e2e9 --- /dev/null +++ b/plugins/bc-favorite/tests/TestCase/ServiceProvider/BcFavoriteServiceProviderTest.php @@ -0,0 +1,30 @@ +<?php + +namespace BcFavorite\Test\TestCase\ServiceProvider; + +use BaserCore\TestSuite\BcTestCase; +use BcFavorite\Service\FavoritesServiceInterface; +use BcFavorite\ServiceProvider\BcFavoriteServiceProvider; +use Cake\Core\Container; + +class BcFavoriteServiceProviderTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcFavoriteServiceProvider = new BcFavoriteServiceProvider(); + } + + public function tearDown(): void + { + unset($this->BcFavoriteServiceProvider); + parent::tearDown(); + } + + public function test_services() + { + $container = new Container(); + $this->BcFavoriteServiceProvider->services($container); + $this->assertTrue($container->has(FavoritesServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-front/src/Plugin.php b/plugins/bc-front/src/BcFrontPlugin.php similarity index 92% rename from plugins/bc-front/src/Plugin.php rename to plugins/bc-front/src/BcFrontPlugin.php index 43a1e1571b..a69936f12c 100644 --- a/plugins/bc-front/src/Plugin.php +++ b/plugins/bc-front/src/BcFrontPlugin.php @@ -17,4 +17,4 @@ /** * plugin for BcFront */ -class Plugin extends BcPlugin{} +class BcFrontPlugin extends BcPlugin{} diff --git a/plugins/bc-front/src/bc_blog/js/blog_comment.js b/plugins/bc-front/src/bc_blog/js/blog_comment.js index 85bcb30ef9..eec98f5761 100644 --- a/plugins/bc-front/src/bc_blog/js/blog_comment.js +++ b/plugins/bc-front/src/bc_blog/js/blog_comment.js @@ -89,11 +89,11 @@ const bcBlog = { success: function (result) { if(bcBlog.authCaptcha) { bcBlog.loadAuthCaptcha(); - $("#BlogCommentAuthCaptcha").val(''); + $("#auth-captcha").val(''); } if (result) { bcBlog.initView() - $("#BlogCommentAuthCaptcha").val(''); + $("#auth-captcha").val(''); let resultMessage = ''; if (bcBlog.commentApprove) { resultMessage = bcI18n.alertMessageAuthComplete; diff --git a/plugins/bc-front/templates/ContentFolders/eyecatch.php b/plugins/bc-front/templates/ContentFolders/eyecatch.php new file mode 100644 index 0000000000..add8c81b20 --- /dev/null +++ b/plugins/bc-front/templates/ContentFolders/eyecatch.php @@ -0,0 +1,36 @@ +<?php +/** + * baserCMS : Based Website Development Project <https://basercms.net> + * Copyright (c) NPO baser foundation <https://baserfoundation.org/> + * + * @copyright Copyright (c) NPO baser foundation + * @link https://basercms.net baserCMS Project + * @since 5.0.0 + * @license https://basercms.net/license/index.html MIT License + */ + +/** + * コンテンツフォルダ + * + * @var \BaserCore\View\BcFrontAppView $this + * @var array $children 子コンテンツ + */ +$this->BcUpload->setTable('BaserCore.Contents'); +?> + + +<h2 class="bs-contents-title"><?php $this->BcBaser->contentsTitle(); ?></h2> +<?php if ($children): ?> + <ul class="eyecatch-list clearfix"> + <?php foreach($children as $child): ?> + <li> + <?php $this->BcBaser->link($this->BcUpload->uploadImage('eyecatch', $child, [ + 'imgsize' => 'thumb', + 'link' => false, + 'noimage' => 'noimage.png' + ]), $child->url, ['escape' => false]) ?> + <p><?php $this->BcBaser->link($child->title, $child->url) ?></p> + </li> + <?php endforeach ?> + </ul> +<?php endif ?> diff --git a/plugins/bc-front/templates/element/list_num.php b/plugins/bc-front/templates/element/list_num.php index 93c9568614..3eacf38100 100755 --- a/plugins/bc-front/templates/element/list_num.php +++ b/plugins/bc-front/templates/element/list_num.php @@ -27,12 +27,15 @@ if (!empty($this->getRequest()->getQuery('limit'))) $currentNum = $this->getRequest()->getQuery('limit'); $links = []; -foreach ($nums as $num) { - if ($currentNum != $num) { - $links[] = '<span>' . $this->BcBaser->getLink($num, array_merge($this->getRequest()->getQuery(), ['limit' => $num, 'page' => null])) . '</span>'; - } else { - $links[] = '<span class="current">' . $num . '</span>'; - } +foreach($nums as $num) { + if ($currentNum != $num) { + $links[] = '<span>' . $this->BcBaser->getLink( + $num, array_merge($this->getRequest()->getParam('pass'), + ['?' => array_merge($this->request->getQuery(), ['limit' => $num, 'page' => null])] + )) . '</span>'; + } else { + $links[] = '<span class="current">' . $num . '</span>'; + } } if ($links) { $link = implode('|', $links); diff --git a/plugins/bc-front/templates/element/paginations/simple.php b/plugins/bc-front/templates/element/paginations/simple.php index 97b1b6b888..1d4429a1be 100755 --- a/plugins/bc-front/templates/element/paginations/simple.php +++ b/plugins/bc-front/templates/element/paginations/simple.php @@ -21,13 +21,15 @@ * @noTodo * @unitTest */ -if (empty($this->Paginator)) { - return; +try { + $pageCount = $this->Paginator->counter('{{pages}}'); +} catch (\Cake\Core\Exception\CakeException) { + return; } if (!isset($modules)) { $modules = 4; } -$pageCount = $this->Paginator->counter('{{pages}}'); + $this->Paginator->setTemplates([ 'prevActive' => '<span class="bs-pagination__prev"><a href="{{url}}" rel="prev">{{text}}</a></span>', 'prevDisabled' => '<span class="bs-pagination__prev disabled">{{text}}</span>', diff --git a/plugins/bc-front/templates/plugin/BcCustomContent/CustomContent/default/view.php b/plugins/bc-front/templates/plugin/BcCustomContent/CustomContent/default/view.php index b7eac631b0..3ab388d4d7 100644 --- a/plugins/bc-front/templates/plugin/BcCustomContent/CustomContent/default/view.php +++ b/plugins/bc-front/templates/plugin/BcCustomContent/CustomContent/default/view.php @@ -23,8 +23,7 @@ $this->BcBaser->setTitle($customEntry->title); ?> - -<h2><?php $this->BcBaser->contentsTitle() ?></h2> +<h2><?php echo $this->BcBaser->getCustomContentTitle() ?></h2> <h3> <?php $this->BcBaser->customEntryTitle($customEntry, ['link' => false]) ?> diff --git a/plugins/bc-front/templates/plugin/BcMail/email/text/mail_default.php b/plugins/bc-front/templates/plugin/BcMail/email/text/mail_default.php index d1d6ef5a0c..4381ac0874 100755 --- a/plugins/bc-front/templates/plugin/BcMail/email/text/mail_default.php +++ b/plugins/bc-front/templates/plugin/BcMail/email/text/mail_default.php @@ -23,7 +23,7 @@ <?php echo $other['date'] ?>  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ -                ◆◇ <?php echo __d('baser_core', '受信完了メール') ?> ◇◆  + ◆◇ <?php echo __d('baser_core', '受信完了メール') ?> ◇◆  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ <?php if ($other['mode'] === 'user'): ?> diff --git a/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js b/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js index 12e697430b..3f2cbf5366 100644 --- a/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js +++ b/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js @@ -8,5 +8,5 @@ * @since 5.0.0 * @license https://basercms.net/license/index.html MIT License */ -var a={commentApprove:!1,authCaptcha:!1,captchaId:null,authCaptchaImageBaseUrl:null,mounted:function(){var e=$("#BlogCommentsScripts");a.commentApprove=e.attr("data-commentApprove"),a.authCaptcha=e.attr("data-authCaptcha"),a.captchaId=e.attr("data-captchaId"),a.authCaptchaImageBaseUrl=e.attr("data-authCaptchaImageBaseUrl"),a.initView(),a.registerEvents()},registerEvents:function(){$("#BlogCommentAddButton").on("click",(function(){return a.validate()&&a.sendComment(),!1}))},initView:function(){a.authCaptcha&&a.loadAuthCaptcha(),$("#name").val(""),$("#email").val(""),$("#url").val(""),$("#message").val("")},sendComment:function(){$("#BlogCommentAddButton").prop("disabled",!0),$.bcToken.check((function(){var e=$("#BlogCommentAddForm");return e.find('input[name="_csrfToken"]').remove(),e.append($.bcToken.getHiddenToken()),$.ajax({url:$.bcUtil.baseUrl+"/bc-blog/blog/ajax_add_comment",type:"POST",data:e.serialize(),dataType:"html",beforeSend:function(){$("#ResultMessage").slideUp()},success:function(e){if(a.authCaptcha&&(a.loadAuthCaptcha(),$("#BlogCommentAuthCaptcha").val("")),e){a.initView(),$("#BlogCommentAuthCaptcha").val("");var t="";if(a.commentApprove)t=bcI18n.alertMessageAuthComplete,$("#ResultMessage").html(t).show();else{var n=$(e);n.hide(),$("#BlogCommentList").append(n),n.slideDown(500),location.hash=n.attr("id")}}else a.postError()},error:function(e){a.postError(e)},complete:function(){$.bcToken.key=null,$("#BlogCommentAddButton").removeAttr("disabled")}})}),{useUpdate:!1})},postError:function(e){a.authCaptcha&&(a.loadAuthCaptcha(),$("#BlogCommentAuthCaptcha").val(""));var t=bcI18n.alertMessageError;e.responseText&&(response=JSON.parse(e.responseText)),t+="<br>"+response.message,response.errors&&Object.keys(response.errors).forEach((function(a){Object.keys(response.errors[a]).forEach((function(e){t+="<br>"+response.errors[a][e]}))})),$("#ResultMessage").html(t).slideDown()},validate:function(){var e="";return $("#name").val()||(e+=bcI18n.alertMessageName+"\n"),$("#email").val()||(e+=bcI18n.alertMessageEmail+"\n"),$("#message").val()||(e+=bcI18n.alertMessageComment+"\n"),a.authCaptcha&&($("#auth-captcha").val()||(e+=bcI18n.alertMessageAuthImage+"\n")),!e||(alert(e),!1)},loadAuthCaptcha:function(){if(a.authCaptcha){var e=$("#AuthCaptchaImage"),t=$("#CaptchaLoader");e.hide(),t.show(),e.on("load",(function(){t.hide(),e.fadeIn(1e3)})),e.attr("src",a.authCaptchaImageBaseUrl+"/"+a.captchaId)}}};a.mounted()})(); +var a={commentApprove:!1,authCaptcha:!1,captchaId:null,authCaptchaImageBaseUrl:null,mounted:function(){var e=$("#BlogCommentsScripts");a.commentApprove=e.attr("data-commentApprove"),a.authCaptcha=e.attr("data-authCaptcha"),a.captchaId=e.attr("data-captchaId"),a.authCaptchaImageBaseUrl=e.attr("data-authCaptchaImageBaseUrl"),a.initView(),a.registerEvents()},registerEvents:function(){$("#BlogCommentAddButton").on("click",(function(){return a.validate()&&a.sendComment(),!1}))},initView:function(){a.authCaptcha&&a.loadAuthCaptcha(),$("#name").val(""),$("#email").val(""),$("#url").val(""),$("#message").val("")},sendComment:function(){$("#BlogCommentAddButton").prop("disabled",!0),$.bcToken.check((function(){var e=$("#BlogCommentAddForm");return e.find('input[name="_csrfToken"]').remove(),e.append($.bcToken.getHiddenToken()),$.ajax({url:$.bcUtil.baseUrl+"/bc-blog/blog/ajax_add_comment",type:"POST",data:e.serialize(),dataType:"html",beforeSend:function(){$("#ResultMessage").slideUp()},success:function(e){if(a.authCaptcha&&(a.loadAuthCaptcha(),$("#auth-captcha").val("")),e){a.initView(),$("#auth-captcha").val("");var t="";if(a.commentApprove)t=bcI18n.alertMessageAuthComplete,$("#ResultMessage").html(t).show();else{var n=$(e);n.hide(),$("#BlogCommentList").append(n),n.slideDown(500),location.hash=n.attr("id")}}else a.postError()},error:function(e){a.postError(e)},complete:function(){$.bcToken.key=null,$("#BlogCommentAddButton").removeAttr("disabled")}})}),{useUpdate:!1})},postError:function(e){a.authCaptcha&&(a.loadAuthCaptcha(),$("#BlogCommentAuthCaptcha").val(""));var t=bcI18n.alertMessageError;e.responseText&&(response=JSON.parse(e.responseText)),t+="<br>"+response.message,response.errors&&Object.keys(response.errors).forEach((function(a){Object.keys(response.errors[a]).forEach((function(e){t+="<br>"+response.errors[a][e]}))})),$("#ResultMessage").html(t).slideDown()},validate:function(){var e="";return $("#name").val()||(e+=bcI18n.alertMessageName+"\n"),$("#message").val()||(e+=bcI18n.alertMessageComment+"\n"),a.authCaptcha&&($("#auth-captcha").val()||(e+=bcI18n.alertMessageAuthImage+"\n")),!e||(alert(e),!1)},loadAuthCaptcha:function(){if(a.authCaptcha){var e=$("#AuthCaptchaImage"),t=$("#CaptchaLoader");e.hide(),t.show(),e.on("load",(function(){t.hide(),e.fadeIn(1e3)})),e.attr("src",a.authCaptchaImageBaseUrl+"/"+a.captchaId)}}};a.mounted()})(); //# sourceMappingURL=blog_comment.bundle.js.map \ No newline at end of file diff --git a/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js.map b/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js.map index e1b7b40290..fd6914506d 100644 --- a/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js.map +++ b/plugins/bc-front/webroot/bc_blog/js/blog_comment.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bc_blog/js/blog_comment.bundle.js","mappings":"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","sources":["webpack://bc-front/./src/bc_blog/js/blog_comment.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project <https://basercms.net>\n * Copyright (c) NPO baser foundation <https://baserfoundation.org/>\n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * ブログコメント送信\n */\nconst bcBlog = {\n\n /**\n * コメントの承認あり・なし\n */\n commentApprove: false,\n\n /**\n * キャプチャ認証を利用するかどうか\n */\n authCaptcha: false,\n\n /**\n * キャプチャID\n */\n captchaId: null,\n\n /**\n * キャプチャのベースURL\n */\n authCaptchaImageBaseUrl: null,\n\n /**\n * 初期化\n */\n mounted() {\n const $script = $(\"#BlogCommentsScripts\");\n bcBlog.commentApprove = $script.attr('data-commentApprove');\n bcBlog.authCaptcha = $script.attr('data-authCaptcha');\n bcBlog.captchaId = $script.attr('data-captchaId');\n bcBlog.authCaptchaImageBaseUrl = $script.attr('data-authCaptchaImageBaseUrl');\n bcBlog.initView();\n bcBlog.registerEvents();\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BlogCommentAddButton\").on('click', function () {\n if(bcBlog.validate()) {\n bcBlog.sendComment();\n }\n return false;\n });\n },\n\n /**\n * 表示を初期化する\n */\n initView() {\n if(bcBlog.authCaptcha) bcBlog.loadAuthCaptcha();\n $(\"#name\").val('');\n $(\"#email\").val('');\n $(\"#url\").val('');\n $(\"#message\").val('');\n },\n\n /**\n * コメントを送信する\n */\n sendComment() {\n $(\"#BlogCommentAddButton\").prop('disabled', true);\n $.bcToken.check(function () {\n let form = $(\"#BlogCommentAddForm\");\n form.find('input[name=\"_csrfToken\"]').remove();\n form.append($.bcToken.getHiddenToken());\n return $.ajax({\n url: $.bcUtil.baseUrl + '/bc-blog/blog/ajax_add_comment',\n type: 'POST',\n data: form.serialize(),\n dataType: 'html',\n beforeSend: function () {\n $(\"#ResultMessage\").slideUp();\n },\n success: function (result) {\n if(bcBlog.authCaptcha) {\n bcBlog.loadAuthCaptcha();\n $(\"#BlogCommentAuthCaptcha\").val('');\n }\n if (result) {\n bcBlog.initView()\n $(\"#BlogCommentAuthCaptcha\").val('');\n let resultMessage = '';\n if (bcBlog.commentApprove) {\n resultMessage = bcI18n.alertMessageAuthComplete;\n $(\"#ResultMessage\").html(resultMessage).show();\n } else {\n let comment = $(result);\n comment.hide();\n $(\"#BlogCommentList\").append(comment);\n comment.slideDown(500);\n location.hash = comment.attr('id');\n }\n } else {\n bcBlog.postError();\n }\n },\n error: function (result) {\n bcBlog.postError(result);\n },\n complete: function () {\n $.bcToken.key = null;\n $(\"#BlogCommentAddButton\").removeAttr('disabled');\n }\n });\n }, {useUpdate: false});\n },\n\n /**\n * エラー処理\n */\n postError(result) {\n if(bcBlog.authCaptcha) {\n bcBlog.loadAuthCaptcha();\n $(\"#BlogCommentAuthCaptcha\").val('');\n }\n let message = bcI18n.alertMessageError;\n if(result.responseText) {\n response = JSON.parse(result.responseText);\n }\n message += '<br>' + response.message;\n if(response.errors) {\n Object.keys(response.errors).forEach(function(k) {\n Object.keys(response.errors[k]).forEach(function(f){\n message += '<br>' + response.errors[k][f];\n });\n });\n }\n $(\"#ResultMessage\").html(message).slideDown();\n },\n\n /**\n * バリデーション\n */\n validate() {\n let msg = '';\n if (!$(\"#name\").val()) {\n msg += bcI18n.alertMessageName + '\\n';\n }\n if (!$(\"#email\").val()) {\n msg += bcI18n.alertMessageEmail + '\\n';\n }\n if (!$(\"#message\").val()) {\n msg += bcI18n.alertMessageComment + '\\n';\n }\n if (bcBlog.authCaptcha) {\n if (!$(\"#auth-captcha\").val()) {\n msg += bcI18n.alertMessageAuthImage + '\\n';\n }\n }\n if (msg) {\n alert(msg);\n return false;\n }\n return true;\n },\n\n /**\n * キャプチャ画像を読み込む\n */\n loadAuthCaptcha() {\n if (bcBlog.authCaptcha) {\n const $authCaptchaImage = $(\"#AuthCaptchaImage\");\n const $captchaLoader = $(\"#CaptchaLoader\");\n $authCaptchaImage.hide();\n $captchaLoader.show();\n $authCaptchaImage.on('load', function () {\n $captchaLoader.hide();\n $authCaptchaImage.fadeIn(1000);\n });\n $authCaptchaImage.attr('src', bcBlog.authCaptchaImageBaseUrl + '/' + bcBlog.captchaId);\n }\n }\n\n}\n\nbcBlog.mounted();\n\n\n\n\n\n"],"names":["bcBlog","commentApprove","authCaptcha","captchaId","authCaptchaImageBaseUrl","mounted","$script","$","attr","initView","registerEvents","on","validate","sendComment","loadAuthCaptcha","val","prop","bcToken","check","form","find","remove","append","getHiddenToken","ajax","url","bcUtil","baseUrl","type","data","serialize","dataType","beforeSend","slideUp","success","result","resultMessage","bcI18n","alertMessageAuthComplete","html","show","comment","hide","slideDown","location","hash","postError","error","complete","key","removeAttr","useUpdate","message","alertMessageError","responseText","response","JSON","parse","errors","Object","keys","forEach","k","f","msg","alertMessageName","alertMessageEmail","alertMessageComment","alertMessageAuthImage","alert","$authCaptchaImage","$captchaLoader","fadeIn"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bc_blog/js/blog_comment.bundle.js","mappings":"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","sources":["webpack://bc-front/./src/bc_blog/js/blog_comment.js"],"sourcesContent":["/**\n * baserCMS : Based Website Development Project <https://basercms.net>\n * Copyright (c) NPO baser foundation <https://baserfoundation.org/>\n *\n * @copyright Copyright (c) NPO baser foundation\n * @link https://basercms.net baserCMS Project\n * @since 5.0.0\n * @license https://basercms.net/license/index.html MIT License\n */\n\n/**\n * ブログコメント送信\n */\nconst bcBlog = {\n\n /**\n * コメントの承認あり・なし\n */\n commentApprove: false,\n\n /**\n * キャプチャ認証を利用するかどうか\n */\n authCaptcha: false,\n\n /**\n * キャプチャID\n */\n captchaId: null,\n\n /**\n * キャプチャのベースURL\n */\n authCaptchaImageBaseUrl: null,\n\n /**\n * 初期化\n */\n mounted() {\n const $script = $(\"#BlogCommentsScripts\");\n bcBlog.commentApprove = $script.attr('data-commentApprove');\n bcBlog.authCaptcha = $script.attr('data-authCaptcha');\n bcBlog.captchaId = $script.attr('data-captchaId');\n bcBlog.authCaptchaImageBaseUrl = $script.attr('data-authCaptchaImageBaseUrl');\n bcBlog.initView();\n bcBlog.registerEvents();\n },\n\n /**\n * イベント登録\n */\n registerEvents() {\n $(\"#BlogCommentAddButton\").on('click', function () {\n if(bcBlog.validate()) {\n bcBlog.sendComment();\n }\n return false;\n });\n },\n\n /**\n * 表示を初期化する\n */\n initView() {\n if(bcBlog.authCaptcha) bcBlog.loadAuthCaptcha();\n $(\"#name\").val('');\n $(\"#email\").val('');\n $(\"#url\").val('');\n $(\"#message\").val('');\n },\n\n /**\n * コメントを送信する\n */\n sendComment() {\n $(\"#BlogCommentAddButton\").prop('disabled', true);\n $.bcToken.check(function () {\n let form = $(\"#BlogCommentAddForm\");\n form.find('input[name=\"_csrfToken\"]').remove();\n form.append($.bcToken.getHiddenToken());\n return $.ajax({\n url: $.bcUtil.baseUrl + '/bc-blog/blog/ajax_add_comment',\n type: 'POST',\n data: form.serialize(),\n dataType: 'html',\n beforeSend: function () {\n $(\"#ResultMessage\").slideUp();\n },\n success: function (result) {\n if(bcBlog.authCaptcha) {\n bcBlog.loadAuthCaptcha();\n $(\"#auth-captcha\").val('');\n }\n if (result) {\n bcBlog.initView()\n $(\"#auth-captcha\").val('');\n let resultMessage = '';\n if (bcBlog.commentApprove) {\n resultMessage = bcI18n.alertMessageAuthComplete;\n $(\"#ResultMessage\").html(resultMessage).show();\n } else {\n let comment = $(result);\n comment.hide();\n $(\"#BlogCommentList\").append(comment);\n comment.slideDown(500);\n location.hash = comment.attr('id');\n }\n } else {\n bcBlog.postError();\n }\n },\n error: function (result) {\n bcBlog.postError(result);\n },\n complete: function () {\n $.bcToken.key = null;\n $(\"#BlogCommentAddButton\").removeAttr('disabled');\n }\n });\n }, {useUpdate: false});\n },\n\n /**\n * エラー処理\n */\n postError(result) {\n if(bcBlog.authCaptcha) {\n bcBlog.loadAuthCaptcha();\n $(\"#BlogCommentAuthCaptcha\").val('');\n }\n let message = bcI18n.alertMessageError;\n if(result.responseText) {\n response = JSON.parse(result.responseText);\n }\n message += '<br>' + response.message;\n if(response.errors) {\n Object.keys(response.errors).forEach(function(k) {\n Object.keys(response.errors[k]).forEach(function(f){\n message += '<br>' + response.errors[k][f];\n });\n });\n }\n $(\"#ResultMessage\").html(message).slideDown();\n },\n\n /**\n * バリデーション\n */\n validate() {\n let msg = '';\n if (!$(\"#name\").val()) {\n msg += bcI18n.alertMessageName + '\\n';\n }\n if (!$(\"#message\").val()) {\n msg += bcI18n.alertMessageComment + '\\n';\n }\n if (bcBlog.authCaptcha) {\n if (!$(\"#auth-captcha\").val()) {\n msg += bcI18n.alertMessageAuthImage + '\\n';\n }\n }\n if (msg) {\n alert(msg);\n return false;\n }\n return true;\n },\n\n /**\n * キャプチャ画像を読み込む\n */\n loadAuthCaptcha() {\n if (bcBlog.authCaptcha) {\n const $authCaptchaImage = $(\"#AuthCaptchaImage\");\n const $captchaLoader = $(\"#CaptchaLoader\");\n $authCaptchaImage.hide();\n $captchaLoader.show();\n $authCaptchaImage.on('load', function () {\n $captchaLoader.hide();\n $authCaptchaImage.fadeIn(1000);\n });\n $authCaptchaImage.attr('src', bcBlog.authCaptchaImageBaseUrl + '/' + bcBlog.captchaId);\n }\n }\n\n}\n\nbcBlog.mounted();\n\n\n\n\n\n"],"names":["bcBlog","commentApprove","authCaptcha","captchaId","authCaptchaImageBaseUrl","mounted","$script","$","attr","initView","registerEvents","on","validate","sendComment","loadAuthCaptcha","val","prop","bcToken","check","form","find","remove","append","getHiddenToken","ajax","url","bcUtil","baseUrl","type","data","serialize","dataType","beforeSend","slideUp","success","result","resultMessage","bcI18n","alertMessageAuthComplete","html","show","comment","hide","slideDown","location","hash","postError","error","complete","key","removeAttr","useUpdate","message","alertMessageError","responseText","response","JSON","parse","errors","Object","keys","forEach","k","f","msg","alertMessageName","alertMessageComment","alertMessageAuthImage","alert","$authCaptchaImage","$captchaLoader","fadeIn"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/bc-front/webroot/img/noimage.png b/plugins/bc-front/webroot/img/noimage.png new file mode 100644 index 0000000000..769105301a Binary files /dev/null and b/plugins/bc-front/webroot/img/noimage.png differ diff --git a/plugins/bc-installer/src/Plugin.php b/plugins/bc-installer/src/BcInstallerPlugin.php similarity index 98% rename from plugins/bc-installer/src/Plugin.php rename to plugins/bc-installer/src/BcInstallerPlugin.php index ecb5aec63d..70c4fafa76 100644 --- a/plugins/bc-installer/src/Plugin.php +++ b/plugins/bc-installer/src/BcInstallerPlugin.php @@ -26,7 +26,7 @@ /** * Class Plugin */ -class Plugin extends BcPlugin +class BcInstallerPlugin extends BcPlugin { /** diff --git a/plugins/bc-installer/src/Service/InstallationsService.php b/plugins/bc-installer/src/Service/InstallationsService.php index 4322ad78e5..512b89c1dc 100644 --- a/plugins/bc-installer/src/Service/InstallationsService.php +++ b/plugins/bc-installer/src/Service/InstallationsService.php @@ -358,61 +358,10 @@ public function setSiteName(string $name) */ public function executeDefaultUpdates(): bool { - $result = true; - if (!$this->_updateContents()) { - $this->log(__d('baser_core', 'コンテンツの更新に失敗しました。')); - $result = false; - } - if (!$this->_updateBlogPosts()) { - $this->log(__d('baser_core', 'ブログ記事の更新に失敗しました。')); - $result = false; - } /** @var SearchIndexesServiceInterface $searchIndexesService */ $searchIndexesService = $this->getService(SearchIndexesServiceInterface::class); $searchIndexesService->reconstruct(); - return $result; - } - - /** - * コンテンツの作成日を更新する - * - * @return bool - * @checked - * @noTodo - */ - protected function _updateContents(): bool - { - $contentsTable = TableRegistry::getTableLocator()->get('BaserCore.Contents'); - $contents = $contentsTable->find()->all(); - $result = true; - foreach($contents as $content) { - $content->created_date = new \Cake\I18n\DateTime(); - if (!$contentsTable->save($content)) { - $result = false; - } - } - return $result; - } - - /** - * コンテンツの作成日を更新する - * - * @return bool - * @checked - * @noTodo - */ - protected function _updateBlogPosts(): bool - { - $table = TableRegistry::getTableLocator()->get('BcBlog.BlogPosts'); - $entities = $table->find()->all(); - $result = true; - foreach($entities as $entity) { - $entity->posted = new \Cake\I18n\DateTime(); - if (!$table->save($entity)) { - $result = false; - } - } - return $result; + return true; } /** diff --git a/plugins/bc-installer/src/ServiceProvider/BcInstallerServiceProvider.php b/plugins/bc-installer/src/ServiceProvider/BcInstallerServiceProvider.php index dabdf0e74e..3ca40c5cfb 100755 --- a/plugins/bc-installer/src/ServiceProvider/BcInstallerServiceProvider.php +++ b/plugins/bc-installer/src/ServiceProvider/BcInstallerServiceProvider.php @@ -40,6 +40,7 @@ class BcInstallerServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-installer/tests/TestCase/Service/InstallationsServiceTest.php b/plugins/bc-installer/tests/TestCase/Service/InstallationsServiceTest.php index 6696c1c91c..d1efe9038a 100644 --- a/plugins/bc-installer/tests/TestCase/Service/InstallationsServiceTest.php +++ b/plugins/bc-installer/tests/TestCase/Service/InstallationsServiceTest.php @@ -185,14 +185,6 @@ public function testExecuteDefaultUpdates() $this->assertTrue($result, 'データベースのデータに初期更新に失敗しました'); } - /** - * test _updateContents - */ - public function test_updateContents() - { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); - } - /** * test installCorePlugin */ diff --git a/plugins/bc-installer/tests/TestCase/ServiceProvider/BcInstallerServiceProviderClass.php b/plugins/bc-installer/tests/TestCase/ServiceProvider/BcInstallerServiceProviderClass.php new file mode 100644 index 0000000000..d7ac04584f --- /dev/null +++ b/plugins/bc-installer/tests/TestCase/ServiceProvider/BcInstallerServiceProviderClass.php @@ -0,0 +1,32 @@ +<?php + +namespace BcInstaller\Test\TestCase\ServiceProvider; + +use BaserCore\TestSuite\BcTestCase; +use BcInstaller\Service\Admin\InstallationsAdminServiceInterface; +use BcInstaller\Service\InstallationsServiceInterface; +use BcInstaller\ServiceProvider\BcInstallerServiceProvider; +use Cake\Core\Container; + +class BcInstallerServiceProviderClass extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcInstallerServiceProvider = new BcInstallerServiceProvider(); + } + + public function tearDown(): void + { + unset($this->BcInstallerServiceProvider); + parent::tearDown(); + } + + public function test_services() + { + $container = new Container(); + $this->BcInstallerServiceProvider->services($container); + $this->assertTrue($container->has(InstallationsServiceInterface::class)); + $this->assertTrue($container->has(InstallationsAdminServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/src/Plugin.php b/plugins/bc-mail/src/BcMailPlugin.php similarity index 94% rename from plugins/bc-mail/src/Plugin.php rename to plugins/bc-mail/src/BcMailPlugin.php index c4d07b77f2..34467a6a97 100644 --- a/plugins/bc-mail/src/Plugin.php +++ b/plugins/bc-mail/src/BcMailPlugin.php @@ -22,7 +22,7 @@ /** * plugin for BcMail */ -class Plugin extends BcPlugin +class BcMailPlugin extends BcPlugin { /** @@ -30,6 +30,7 @@ class Plugin extends BcPlugin * @param ContainerInterface $container * @noTodo * @checked + * @unitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-mail/src/Controller/Admin/MailAdminAppController.php b/plugins/bc-mail/src/Controller/Admin/MailAdminAppController.php index 47221bb90a..24697dfc33 100755 --- a/plugins/bc-mail/src/Controller/Admin/MailAdminAppController.php +++ b/plugins/bc-mail/src/Controller/Admin/MailAdminAppController.php @@ -28,6 +28,7 @@ class MailAdminAppController extends BcAdminAppController * @return void * @checked * @noTodo + * @unitTest */ public function beforeRender(EventInterface $event): void { diff --git a/plugins/bc-mail/src/Controller/Admin/MailConfigsController.php b/plugins/bc-mail/src/Controller/Admin/MailConfigsController.php index 173b724e1a..b2c960e732 100644 --- a/plugins/bc-mail/src/Controller/Admin/MailConfigsController.php +++ b/plugins/bc-mail/src/Controller/Admin/MailConfigsController.php @@ -29,6 +29,7 @@ class MailConfigsController extends MailAdminAppController * @return void|ResponseInterface * @checked * @noTodo + * @unitTest */ public function index(MailConfigsServiceInterface $service) { diff --git a/plugins/bc-mail/src/Controller/Admin/MailFieldsController.php b/plugins/bc-mail/src/Controller/Admin/MailFieldsController.php index 0adbcfa531..153fd49efe 100644 --- a/plugins/bc-mail/src/Controller/Admin/MailFieldsController.php +++ b/plugins/bc-mail/src/Controller/Admin/MailFieldsController.php @@ -38,6 +38,7 @@ class MailFieldsController extends MailAdminAppController * @return void * @checked * @noTodo + * @unitTest */ public function initialize(): void { @@ -110,6 +111,7 @@ protected function _checkEnv() * @return void * @checked * @noTodo + * @unitTest */ public function index(MailFieldsAdminServiceInterface $service, int $mailContentId) { @@ -128,6 +130,7 @@ public function index(MailFieldsAdminServiceInterface $service, int $mailContent * @return void * @checked * @noTodo + * @unitTest */ public function add(MailFieldsAdminServiceInterface $service, int $mailContentId) { @@ -174,6 +177,7 @@ public function add(MailFieldsAdminServiceInterface $service, int $mailContentId * @return void * @checked * @noTodo + * @unitTest */ public function edit(MailFieldsAdminServiceInterface $service, int $mailContentId, int $id) { @@ -221,12 +225,13 @@ public function edit(MailFieldsAdminServiceInterface $service, int $mailContentI * @throws \Throwable * @checked * @noTodo + * @unitTest */ public function delete(MailFieldsServiceInterface $service, int $mailContentId, int $id) { $this->request->allowMethod(['post', 'delete']); - $entity = $service->get($id); try { + $entity = $service->get($id); if($service->delete($id)) { $this->BcMessage->setSuccess(__d('baser_core', 'メールフィールド「{0}」を削除しました。', $entity->name)); } else { @@ -247,6 +252,7 @@ public function delete(MailFieldsServiceInterface $service, int $mailContentId, * @return void * @checked * @noTodo + * @UnitTest */ public function copy(MailFieldsServiceInterface $service, int $mailContentId, int $id) { @@ -272,6 +278,7 @@ public function copy(MailFieldsServiceInterface $service, int $mailContentId, in * @return void * @checked * @noTodo + * @UnitTest */ public function unpublish(MailFieldsServiceInterface $service, int $mailContentId, int $id) { @@ -294,6 +301,7 @@ public function unpublish(MailFieldsServiceInterface $service, int $mailContentI * @param int $id * @checked * @noTodo + * @unitTest */ public function publish(MailFieldsServiceInterface $service, int $mailContentId, int $id) { diff --git a/plugins/bc-mail/src/Controller/MailController.php b/plugins/bc-mail/src/Controller/MailController.php index 41b80b9b10..fa4fde61be 100755 --- a/plugins/bc-mail/src/Controller/MailController.php +++ b/plugins/bc-mail/src/Controller/MailController.php @@ -224,7 +224,10 @@ public function confirm( /** * [PUBIC] データ送信 * - * @param mixed mail_content_id + * @param MailFrontServiceInterface|MailFrontService $service + * @param MailContentsServiceInterface $mailContentsService + * @param MailMessagesServiceInterface|MailMessagesService $mailMessagesService + * @param BcCaptchaServiceInterface $bcCaptchaService * @return void|Response * @checked * @noTodo diff --git a/plugins/bc-mail/src/Controller/MailFrontAppController.php b/plugins/bc-mail/src/Controller/MailFrontAppController.php index eb2793078b..d6978278ef 100644 --- a/plugins/bc-mail/src/Controller/MailFrontAppController.php +++ b/plugins/bc-mail/src/Controller/MailFrontAppController.php @@ -29,6 +29,7 @@ class MailFrontAppController extends BcFrontAppController * @return void * @checked * @noTodo + * @unitTest */ public function beforeRender(EventInterface $event): void { diff --git a/plugins/bc-mail/src/Model/Table/MailConfigsTable.php b/plugins/bc-mail/src/Model/Table/MailConfigsTable.php index 453e4018c1..7ccfefe1a2 100755 --- a/plugins/bc-mail/src/Model/Table/MailConfigsTable.php +++ b/plugins/bc-mail/src/Model/Table/MailConfigsTable.php @@ -71,7 +71,14 @@ public function validationKeyValue(Validator $validator): Validator { $validator ->scalar('site_name') - ->notEmptyString('site_name', __d('baser_core', 'Webサイト名を入力してください。')); + ->notEmptyString('site_name', __d('baser_core', 'Webサイト名を入力してください。')) + ->add('site_name', [ + 'notBlankOnlyString' => [ + 'rule' => ['notBlankOnlyString'], + 'provider' => 'bc', + 'message' => __d('baser_core', 'Webサイト名を入力してください。') + ] + ]); return $validator; } diff --git a/plugins/bc-mail/src/Model/Table/MailContentsTable.php b/plugins/bc-mail/src/Model/Table/MailContentsTable.php index 4d24fc0057..806b4c9167 100755 --- a/plugins/bc-mail/src/Model/Table/MailContentsTable.php +++ b/plugins/bc-mail/src/Model/Table/MailContentsTable.php @@ -197,6 +197,7 @@ public function validationDefault(Validator $validator): Validator * @return boolean * @checked * @noTodo + * @unitTest */ public function checkSslUrl($value) { @@ -211,6 +212,7 @@ public function checkSslUrl($value) * * @param array $check チェック対象文字列 * @return boolean + * @unitTest */ public static function alphaNumeric($check) { @@ -221,21 +223,21 @@ public static function alphaNumeric($check) } /** - * afterSave - * - * @return void + * beforeSave + * @param EventInterface $event + * @param EntityInterface $entity + * @param \ArrayObject $options + * @return boolean */ - public function afterSave(EventInterface $event, EntityInterface $entity, \ArrayObject $options) + public function beforeSave(EventInterface $event, EntityInterface $entity, \ArrayObject $options) { - // TODO ucmitz 未実装 - return; - - // 検索用テーブルへの登録・削除 - if (!$this->data['Content']['exclude_search'] && $this->data['Content']['status']) { - $this->saveSearchIndex($this->createSearchIndex($this->data)); - } else { - $this->deleteSearchIndex($this->data['MailContent']['id']); + if (!Plugin::isLoaded('BcSearchIndex')) { + return true; } + if (empty($entity->content) || !empty($entity->content->exclude_search)) { + $this->setExcluded(); + } + return true; } /** @@ -243,28 +245,26 @@ public function afterSave(EventInterface $event, EntityInterface $entity, \Array * * @param array $data * @return array|false + * @checked + * @noTodo + * @unitTest */ - public function createSearchIndex($data) + public function createSearchIndex($mailContent) { - if (!isset($data['MailContent']) || !isset($data['Content'])) { + if (!$mailContent || !isset($mailContent->content)) { return false; } - $mailContent = $data['MailContent']; - $content = $data['Content']; return [ - 'SearchIndex' => - [ - 'type' => __d('baser_core', 'メール'), - 'model_id' => (!empty($mailContent['id'])) ? $mailContent['id'] : $this->id, - 'content_id' => $content['id'], - 'site_id' => $content['site_id'], - 'title' => $content['title'], - 'detail' => $mailContent['description'], - 'url' => $content['url'], - 'status' => $content['status'], - 'publish_begin' => $content['publish_begin'], - 'publish_end' => $content['publish_end'] - ] + 'type' => __d('baser_core', 'メール'), + 'model_id' => $mailContent->id, + 'content_id' => $mailContent->content->id, + 'site_id' => $mailContent->content->site_id, + 'title' => $mailContent->content->title, + 'detail' => $mailContent->description, + 'url' => $mailContent->content->url, + 'status' => $mailContent->content->status, + 'publish_begin' => $mailContent->content->publish_begin, + 'publish_end' => $mailContent->content->publish_end ]; } @@ -282,7 +282,7 @@ public function createSearchIndex($data) public function copy( ?int $id, int $newParentId, - string $newTitle, + string|null $newTitle, int $newAuthorId, int $newSiteId = null ) { @@ -308,7 +308,7 @@ public function copy( $data->content = new Content([ 'name' => $name, 'parent_id' => $newParentId, - 'title' => $newTitle ?? $oldData->title . '_copy', + 'title' => $newTitle ?? $oldData->content->title . '_copy', 'author_id' => $newAuthorId, 'site_id' => $newSiteId, 'exclude_search' => false, diff --git a/plugins/bc-mail/src/Model/Table/MailFieldsTable.php b/plugins/bc-mail/src/Model/Table/MailFieldsTable.php index 5de91c698c..a5de9fdada 100755 --- a/plugins/bc-mail/src/Model/Table/MailFieldsTable.php +++ b/plugins/bc-mail/src/Model/Table/MailFieldsTable.php @@ -54,6 +54,7 @@ public function initialize(array $config): void * @return Validator * @checked * @noTodo + * @unitTest */ public function validationDefault(Validator $validator): Validator { @@ -108,13 +109,13 @@ public function validationDefault(Validator $validator): Validator ->maxLength('options', 255, __d('baser_core', 'オプションは255文字以内で入力してください。')); $validator ->scalar('class') - ->maxLength('class', 255, __d('baser_core', 'クラス名255文字以内で入力してください。')); + ->maxLength('class', 255, __d('baser_core', 'クラス名は255文字以内で入力してください。')); $validator ->scalar('default_value') ->maxLength('default_value', 255, __d('baser_core', '初期値は255文字以内で入力してください。')); $validator ->scalar('description') - ->maxLength('options', 255, __d('baser_core', '説明文は255文字以内で入力してください。')); + ->maxLength('description', 255, __d('baser_core', '説明文は255文字以内で入力してください。')); $validator ->scalar('group_field') ->maxLength('group_field', 255, __d('baser_core', 'グループ名は255文字以内で入力してください。')) @@ -122,7 +123,7 @@ public function validationDefault(Validator $validator): Validator 'halfTextMailField' => [ 'rule' => 'halfTextMailField', 'provider' => 'table', - 'message' => __d('baser_core', 'グループ名は小文字の半角英数字、アンダースコアのみで入力してください。') + 'message' => __d('baser_core', 'グループ名は半角英数字、ハイフン、アンダースコアで入力してください。') ]]); $validator ->scalar('group_valid') @@ -131,7 +132,7 @@ public function validationDefault(Validator $validator): Validator 'halfTextMailField' => [ 'rule' => 'halfTextMailField', 'provider' => 'table', - 'message' => __d('baser_core', 'グループ入力チェックは小文字の半角英数字、アンダースコアのみで入力してください。') + 'message' => __d('baser_core', 'グループ入力チェックは半角英数字、ハイフン、アンダースコアで入力してください。') ]]); $validator ->scalar('size') @@ -232,6 +233,7 @@ public function duplicateMailField(string $value, array $context) * @return boolean * @checked * @noTodo + * @unitTest */ public function halfTextMailField(string $value) { @@ -247,6 +249,7 @@ public function halfTextMailField(string $value) * @return bool * @checked * @noTodo + * @unitTest */ public function sourceMailField(string $value, array $context) { @@ -329,6 +332,7 @@ public function copy(?int $id, MailField $data = null, array $options = []) * @return string 整形後選択リストソース * @checked * @noTodo + * @unitTest */ public function formatSource($source) { diff --git a/plugins/bc-mail/src/Model/Table/MailMessagesTable.php b/plugins/bc-mail/src/Model/Table/MailMessagesTable.php index 579cdb0c8c..cb6e3f212e 100755 --- a/plugins/bc-mail/src/Model/Table/MailMessagesTable.php +++ b/plugins/bc-mail/src/Model/Table/MailMessagesTable.php @@ -58,6 +58,7 @@ class MailMessagesTable extends MailAppTable * @return void * @checked * @noTodo + * @unitTest */ public function initialize(array $config): void { @@ -154,7 +155,7 @@ public function createTableName($mailContentId) if (!is_int($mailContentId)) { throw new BcException(__d('baser_core', 'MailMessageService::createTableName() の引数 $mailContentId は int 型しか受けつけていません。')); } - return 'mail_message_' . $mailContentId; + return $this->addPrefix('mail_message_' . $mailContentId); } /** diff --git a/plugins/bc-mail/src/Service/MailMessagesService.php b/plugins/bc-mail/src/Service/MailMessagesService.php index 183dfe3d5c..760a2cba08 100644 --- a/plugins/bc-mail/src/Service/MailMessagesService.php +++ b/plugins/bc-mail/src/Service/MailMessagesService.php @@ -23,6 +23,7 @@ use BcMail\Model\Entity\MailMessage; use BcMail\Model\Table\MailMessagesTable; use Cake\Datasource\EntityInterface; +use Cake\Datasource\ResultSetInterface; use Cake\ORM\Exception\PersistenceFailedException; use Cake\ORM\TableRegistry; @@ -144,9 +145,32 @@ public function create(EntityInterface $mailContent, $postData) $this->MailMessages->convertToDb($mailFields, $entity); if ($mailContent->save_info) { return $this->MailMessages->saveOrFail($entity); + } else { + return $entity; + } + } + throw new PersistenceFailedException($entity, __d('baser_core', '入力エラーです。内容を見直してください。')); + } + + /** + * エンティティをフォーム用のデータに変換する + * + * @param EntityInterface $mailMessage + * @return EntityInterface + * @checked + * @noTodo + */ + public function convertToForm(EntityInterface $mailMessage) + { + foreach($this->MailMessages->mailFields as $mailField) { + if (empty($mailMessage->{$mailField->field_name})) continue; + $value = $mailMessage->{$mailField->field_name}; + // マルチチェックのデータを配列に変換 + if ($mailField->type === 'multi_check' && $mailField->use_field && $value && strpos($value, '|') !== false) { + $mailMessage->{$mailField->field_name} = explode("|", $value); } } - throw new PersistenceFailedException($validateEntity, __d('baser_core', '入力エラーです。内容を見直してください。')); + return $mailMessage; } /** diff --git a/plugins/bc-mail/src/ServiceProvider/BcMailServiceProvider.php b/plugins/bc-mail/src/ServiceProvider/BcMailServiceProvider.php index 54a155799c..f43c44a7a7 100755 --- a/plugins/bc-mail/src/ServiceProvider/BcMailServiceProvider.php +++ b/plugins/bc-mail/src/ServiceProvider/BcMailServiceProvider.php @@ -58,6 +58,7 @@ class BcMailServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-mail/src/View/Helper/BcMailBaserHelper.php b/plugins/bc-mail/src/View/Helper/BcMailBaserHelper.php index 2ed323bd93..0ec7df0c71 100644 --- a/plugins/bc-mail/src/View/Helper/BcMailBaserHelper.php +++ b/plugins/bc-mail/src/View/Helper/BcMailBaserHelper.php @@ -40,6 +40,7 @@ class BcMailBaserHelper extends Helper implements BcPluginBaserHelperInterface * @return array[] * @checked * @noTodo + * @unitTest */ public function methods(): array { diff --git a/plugins/bc-mail/src/View/Helper/MailHelper.php b/plugins/bc-mail/src/View/Helper/MailHelper.php index 1893e0ce93..50fb8f38f4 100755 --- a/plugins/bc-mail/src/View/Helper/MailHelper.php +++ b/plugins/bc-mail/src/View/Helper/MailHelper.php @@ -160,6 +160,7 @@ public function getMailTemplates($siteId = 1) * @return string メールフォームの説明文 * @checked * @noTodo + * @unitTest */ public function getDescription() { @@ -172,6 +173,7 @@ public function getDescription() * @return void * @checked * @noTodo + * @unitTest ラッパーのためテスト不要 */ public function description() { @@ -184,6 +186,7 @@ public function description() * @return boolean 設定されている場合 true を返す * @checked * @noTodo + * @unitTest */ public function descriptionExists() { diff --git a/plugins/bc-mail/src/View/Helper/MaildataHelper.php b/plugins/bc-mail/src/View/Helper/MaildataHelper.php index a9321d6bde..d677ae5d95 100755 --- a/plugins/bc-mail/src/View/Helper/MaildataHelper.php +++ b/plugins/bc-mail/src/View/Helper/MaildataHelper.php @@ -43,6 +43,7 @@ class MaildataHelper extends BcTextHelper * @return string メール用データ * @checked * @noTodo + * @unitTest */ public function control($type, $value, $escape = true) { diff --git a/plugins/bc-mail/src/View/Helper/MailfieldHelper.php b/plugins/bc-mail/src/View/Helper/MailfieldHelper.php index 98313d27e3..69675fe56a 100755 --- a/plugins/bc-mail/src/View/Helper/MailfieldHelper.php +++ b/plugins/bc-mail/src/View/Helper/MailfieldHelper.php @@ -31,6 +31,7 @@ class MailfieldHelper extends Helper * @return array HTML属性 * @checked * @noTodo + * @unitTest */ public function getAttributes($data) { @@ -67,6 +68,7 @@ public function getAttributes($data) * @return array コントロールソース * @checked * @noTodo + * @unitTest */ public function getOptions($data) { diff --git a/plugins/bc-mail/src/View/MailAdminAppView.php b/plugins/bc-mail/src/View/MailAdminAppView.php index 13dc4a4cb4..2b4fbe1eba 100755 --- a/plugins/bc-mail/src/View/MailAdminAppView.php +++ b/plugins/bc-mail/src/View/MailAdminAppView.php @@ -34,6 +34,7 @@ class MailAdminAppView extends BcAdminAppView * initialize * @checked * @noTodo + * @unitTest */ public function initialize(): void { diff --git a/plugins/bc-mail/src/View/MailFrontAppView.php b/plugins/bc-mail/src/View/MailFrontAppView.php index 7a99759924..24d0908844 100644 --- a/plugins/bc-mail/src/View/MailFrontAppView.php +++ b/plugins/bc-mail/src/View/MailFrontAppView.php @@ -32,6 +32,7 @@ class MailFrontAppView extends BcFrontAppView * initialize * @checked * @noTodo + * @unitTest */ public function initialize(): void { diff --git a/plugins/bc-mail/src/View/MailFrontEmailView.php b/plugins/bc-mail/src/View/MailFrontEmailView.php index bcb7164aa7..6d70852e4f 100644 --- a/plugins/bc-mail/src/View/MailFrontEmailView.php +++ b/plugins/bc-mail/src/View/MailFrontEmailView.php @@ -35,6 +35,7 @@ class MailFrontEmailView extends BcFrontEmailView * initialize * @checked * @noTodo + * @unitTest */ public function initialize(): void { diff --git a/plugins/bc-mail/tests/BcMailPluginTest.php b/plugins/bc-mail/tests/BcMailPluginTest.php new file mode 100644 index 0000000000..560b1ae514 --- /dev/null +++ b/plugins/bc-mail/tests/BcMailPluginTest.php @@ -0,0 +1,47 @@ +<?php + +namespace BcMail\Test; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\BcMailPlugin; +use BcMail\Service\Admin\MailContentsAdminServiceInterface; +use BcMail\Service\Admin\MailFieldsAdminServiceInterface; +use BcMail\Service\Admin\MailMessagesAdminServiceInterface; +use BcMail\Service\Front\MailFrontServiceInterface; +use BcMail\Service\MailConfigsServiceInterface; +use BcMail\Service\MailContentsServiceInterface; +use BcMail\Service\MailFieldsServiceInterface; +use BcMail\Service\MailMessagesServiceInterface; +use Cake\Core\Container; + +class BcMailPluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcMailPlugin = new BcMailPlugin(['name' => 'BcMail']); + } + + public function tearDown(): void + { + unset($this->BcMailPlugin); + parent::tearDown(); + } + + /** + * test services + */ + public function testServices(): void + { + $container = new Container(); + $this->BcMailPlugin->services($container); + $this->assertTrue($container->has(MailConfigsServiceInterface::class)); + $this->assertTrue($container->has(MailContentsServiceInterface::class)); + $this->assertTrue($container->has(MailContentsAdminServiceInterface::class)); + $this->assertTrue($container->has(MailFieldsServiceInterface::class)); + $this->assertTrue($container->has(MailFieldsAdminServiceInterface::class)); + $this->assertTrue($container->has(MailMessagesServiceInterface::class)); + $this->assertTrue($container->has(MailMessagesAdminServiceInterface::class)); + $this->assertTrue($container->has(MailFrontServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/Controller/Admin/MailAdminAppControllerTest.php b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailAdminAppControllerTest.php new file mode 100644 index 0000000000..404e99157d --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailAdminAppControllerTest.php @@ -0,0 +1,31 @@ +<?php + +namespace BcMail\Test\TestCase\Controller\Admin; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\Controller\Admin\MailAdminAppController; +use Cake\Event\Event; + +class MailAdminAppControllerTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->Controller = new MailAdminAppController($this->getRequest()); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + public function testAdmin_beforeRender() + { + $this->Controller->beforeRender(new Event('beforeRender')); + $this->assertEquals('BcMail.MailAdminApp', $this->Controller->viewBuilder()->getClassName()); + $this->Controller->setRequest($this->Controller->getRequest()->withQueryParams(['preview' => 'default'])); + $this->Controller->viewBuilder()->setClassName(''); + $this->Controller->beforeRender(new Event('beforeRender')); + $this->assertNotEquals('BcMail.MailAdminApp', $this->Controller->viewBuilder()->getClassName()); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/Controller/Admin/MailConfigsControllerTest.php b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailConfigsControllerTest.php index d391e0fc47..0adb87f3db 100644 --- a/plugins/bc-mail/tests/TestCase/Controller/Admin/MailConfigsControllerTest.php +++ b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailConfigsControllerTest.php @@ -9,10 +9,17 @@ * @license https://basercms.net/license/index.html */ namespace BcMail\Test\TestCase\Controller\Admin; +use BaserCore\Test\Scenario\InitAppScenario; use BaserCore\TestSuite\BcTestCase; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; class MailConfigsControllerTest extends BcTestCase { + /** + * ScenarioAwareTrait + */ + use ScenarioAwareTrait; + /** * set up * @@ -20,11 +27,8 @@ class MailConfigsControllerTest extends BcTestCase */ public function setUp(): void { -// $this->MailConfigs = new MailConfigsController(new CakeRequest(null, false), new CakeResponse()); -// -// $this->Case = $this->getMockForAbstractClass('ControllerTestCase'); - parent::setUp(); + $this->loadFixtureScenario(InitAppScenario::class); } /** @@ -34,8 +38,6 @@ public function setUp(): void */ public function tearDown(): void { -// unset($this->MailConfigs); -// unset($this->Case); parent::tearDown(); } @@ -74,4 +76,24 @@ public static function admin_formDataProvider() ], '\/admin\/mail\/mail_configs\/form'] ]; } + + /** + * test index + */ + public function testIndex() + { + $this->loginAdmin($this->getRequest('/')); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //request is get + $this->get('/baser/admin/bc-mail/mail_configs/index'); + $this->assertResponseOk(); + + //request is post + $this->post('/baser/admin/bc-mail/mail_configs/index', ['name_add' => 'test']); + $this->assertResponseCode(302); + $this->assertFlashMessage('メールプラグイン設定を保存しました。'); + $this->assertRedirect('/baser/admin/bc-mail/mail_configs/index'); + } } diff --git a/plugins/bc-mail/tests/TestCase/Controller/Admin/MailFieldsControllerTest.php b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailFieldsControllerTest.php index ab672cd9ec..ce15e3ccdf 100644 --- a/plugins/bc-mail/tests/TestCase/Controller/Admin/MailFieldsControllerTest.php +++ b/plugins/bc-mail/tests/TestCase/Controller/Admin/MailFieldsControllerTest.php @@ -12,12 +12,15 @@ namespace BcMail\Test\TestCase\Controller\Admin; +use BaserCore\Service\BcDatabaseServiceInterface; use BaserCore\Test\Scenario\InitAppScenario; use BaserCore\TestSuite\BcTestCase; use BaserCore\Utility\BcContainerTrait; use BcMail\Controller\Admin\MailFieldsController; use BcMail\Service\Admin\MailFieldsAdminServiceInterface; +use BcMail\Service\MailFieldsServiceInterface; use BcMail\Service\MailMessagesServiceInterface; +use BcMail\Test\Factory\MailFieldsFactory; use BcMail\Test\Scenario\MailContentsScenario; use BcMail\Test\Scenario\MailFieldsScenario; use Cake\Event\Event; @@ -57,6 +60,16 @@ public function tearDown(): void parent::tearDown(); } + /** + * Test initialize + */ + public function testInitialize() + { + $controller = new MailFieldsController($this->getRequest()); + $this->assertNotEmpty($controller->BcAdminContents); + $this->assertEquals('mailContent', $controller->BcAdminContents->getConfig('entityVarName')); + } + /** * beforeFilter */ @@ -78,7 +91,13 @@ public function testBeforeRender() */ public function testAdmin_index() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $this->loadFixtureScenario(MailFieldsScenario::class); + $this->loadFixtureScenario(MailContentsScenario::class); + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/index/1'); + $this->assertResponseOk(); } /** @@ -86,7 +105,41 @@ public function testAdmin_index() */ public function testAdmin_add() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); + //テストデータベースを生成 + $MailMessagesService->createTable(1); + //テストデータベースを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $data = [ + 'id' => 1, + 'mail_content_id' => 1, + 'name' => 'test', + 'field_name' => 'name_1', + 'type' => 'text', + 'source' => '資料請求|問い合わせ|その他' + ]; + $this->post('/baser/admin/bc-mail/mail_fields/add/1', $data); + //check response code + $this->assertResponseCode(302); + //check redirect + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + //異常系のテスト + $data = [ + 'id' => 1, + 'mail_content_id' => 1, + 'name' => null, + 'field_name' => 'name_1', + 'type' => 'text', + 'source' => '資料請求|問い合わせ|その他' + ]; + $this->post('/baser/admin/bc-mail/mail_fields/add/1', $data); + //check response code + $this->assertResponseCode(200); + $this->assertResponseContains('入力エラーです。内容を修正してください。'); + //テストデータベースを削除 + $MailMessagesService->dropTable(1); } /** @@ -94,7 +147,34 @@ public function testAdmin_add() */ public function testAdmin_edit() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + //テストデータベースを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->loadFixtureScenario(MailFieldsScenario::class); + //data edit + $data = [ + 'name' => 'edit', + 'type' => 'text' + ]; + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data); + //check response code + $this->assertResponseCode(302); + //check flash message + $this->assertFlashMessage('メールフィールド「edit」を更新しました。'); + //check redirect + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + //case error + $data = [ + 'name' => null, + 'type' => 'text' + ]; + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data); + //check response code + $this->assertResponseCode(200); + $this->assertResponseContains('入力エラーです。内容を修正してください。'); } /** @@ -110,7 +190,32 @@ public function testAdmin_ajax_delete() */ public function testAdmin_delete() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //メールメッセージサービスをコル + $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); + $MailMessagesService->createTable(1); + $MailMessagesService->addMessageField(1, 'name_1'); + + //データを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->loadFixtureScenario(MailFieldsScenario::class); + + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/delete/1/1'); + $this->assertResponseCode(302); + $this->assertFlashMessage('メールフィールド「性」を削除しました。'); + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + + //check case error + $this->post('/baser/admin/bc-mail/mail_fields/delete/1/999'); + $this->assertResponseCode(302); + $this->assertFlashMessage('データベース処理中にエラーが発生しました。Record not found in table `mail_fields`.'); + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + + //テストデータベースを削除 + $MailMessagesService->dropTable(1); } /** @@ -121,6 +226,41 @@ public function testAdmin_ajax_copy() $this->markTestIncomplete('このテストは、まだ実装されていません。'); } + /** + * test copy + */ + public function testAdmin_copy() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //データを生成 + $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); + $BcDatabaseService = $this->getService(BcDatabaseServiceInterface::class); + + //テストデータベースを生成 + $MailMessagesService->createTable(1); + $BcDatabaseService->addColumn('mail_message_1', 'name_1', 'text'); + + //データを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->loadFixtureScenario(MailFieldsScenario::class); + + //正常系実行 + $this->post("/baser/admin/bc-mail/mail_fields/copy/1/1"); + $this->assertResponseCode(302); + $this->assertFlashMessage('メールフィールド「性」をコピーしました。'); + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + + //システム実行エラー + $this->post("/baser/admin/bc-mail/mail_fields/copy/1/999"); + $this->assertResponseCode(302); + $this->assertFlashMessage('データベース処理中にエラーが発生しました。Record not found in table `mail_fields`.'); + + //テストデータベースを削除 + $MailMessagesService->dropTable(1); + } + /** * 並び替えを更新する [AJAX] */ @@ -149,15 +289,12 @@ public function testAdmin_ajax_publish() */ public function testBeforeAddEvent() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); + $this->enableSecurityToken(); + $this->enableCsrfToken(); $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); //テストデータベースを生成 $MailMessagesService->createTable(1); - $this->loadFixtureScenario(MailFieldsScenario::class); $this->loadFixtureScenario(MailContentsScenario::class); - - $this->enableSecurityToken(); - $this->enableCsrfToken(); //イベントをコル $this->entryEventToMock(self::EVENT_LAYER_CONTROLLER, 'BcMail.MailFields.beforeAdd', function (Event $event) { $data = $event->getData('data'); @@ -166,17 +303,20 @@ public function testBeforeAddEvent() }); //追加データを準備 $data = [ + 'mail_content_id' => 1, 'field_name' => 'name_add_1', 'type' => 'text', 'name' => '性', + 'source' => '資料請求|問い合わせ|その他' ]; //対象URLをコル $this->post('/baser/admin/bc-mail/mail_fields/add/1', $data); + //check response code + $this->assertResponseCode(302); //イベントに入るかどうか確認 $mailFields = $this->getTableLocator()->get('BcMail.MailFields'); $query = $mailFields->find()->where(['name' => 'beforeAdd']); $this->assertEquals(1, $query->count()); - //テストデータベースを削除 $MailMessagesService->dropTable(1); } @@ -186,14 +326,6 @@ public function testBeforeAddEvent() */ public function testAfterAddEvent() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); - //テストデータベースを生成 - $MailMessagesService->createTable(10); - - $this->enableSecurityToken(); - $this->enableCsrfToken(); - //イベントをコル $this->entryEventToMock(self::EVENT_LAYER_CONTROLLER, 'BcMail.MailFields.afterAdd', function (Event $event) { $data = $event->getData('data'); @@ -201,59 +333,71 @@ public function testAfterAddEvent() $data->name = 'afterAdd'; $contentLinks->save($data); }); - //Postデータを生成 + $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); + $MailMessagesService->createTable(1); + + //テストデータベースを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 $data = [ + 'mail_content_id' => 1, 'field_name' => 'name_add_1', 'type' => 'text', 'name' => '性', + 'source' => '資料請求|問い合わせ|その他' ]; - //対象URLをコル - $this->post('/baser/admin/bc-mail/mail_fields/add/10', $data); + $this->post('/baser/admin/bc-mail/mail_fields/add/1', $data); + $this->assertResponseCode(302); + //イベントに入るかどうか確認 $mailFields = $this->getTableLocator()->get('BcMail.MailFields'); $query = $mailFields->find()->where(['name' => 'afterAdd']); $this->assertEquals(1, $query->count()); + //テストデータベースを削除 - $MailMessagesService->dropTable(10); + $MailMessagesService->dropTable(1); } /** - * Test beforeAddEvent + * Test beforeEditEvent */ public function testBeforeEditEvent() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->enableSecurityToken(); - $this->enableCsrfToken(); - //データを生成 - $this->loadFixtureScenario(MailFieldsScenario::class); //イベントをコル $this->entryEventToMock(self::EVENT_LAYER_CONTROLLER, 'BcMail.MailFields.beforeEdit', function (Event $event) { $data = $event->getData('data'); $data['name'] = 'beforeEdit'; $event->setData('data', $data); }); - //メールのコンテンツサービスをコル - $mailFieldsService = $this->getService(MailFieldsAdminServiceInterface::class); - $data = $mailFieldsService->get(1); - //対象URLをコル - $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data->toArray()); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $MailMessagesService = $this->getService(MailMessagesServiceInterface::class); + //テストデータベースを生成 + $MailMessagesService->createTable(1); + //データを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->loadFixtureScenario(MailFieldsScenario::class); + $data = ['name' => 'editedName', 'type' => 'text']; + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data); + //check response code + $this->assertResponseCode(302); //イベントに入るかどうか確認 $mailFields = $this->getTableLocator()->get('BcMail.MailFields'); $query = $mailFields->find()->where(['name' => 'beforeEdit']); $this->assertEquals(1, $query->count()); + //テストデータベースを削除 + $MailMessagesService->dropTable(1); } /** - * Test beforeAddEvent + * Test afterAddEvent */ public function testAfterEditEvent() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->enableSecurityToken(); - $this->enableCsrfToken(); - //データを生成 - $this->loadFixtureScenario(MailFieldsScenario::class); //イベントをコル $this->entryEventToMock(self::EVENT_LAYER_CONTROLLER, 'BcMail.MailFields.afterEdit', function (Event $event) { $data = $event->getData('data'); @@ -261,14 +405,68 @@ public function testAfterEditEvent() $data->name = 'afterEdit'; $mailFields->save($data); }); - //メールのコンテンツサービスをコル - $mailFieldsService = $this->getService(MailFieldsAdminServiceInterface::class); - $data = $mailFieldsService->get(1); - //対象URLをコル - $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data->toArray()); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //データを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + $this->loadFixtureScenario(MailFieldsScenario::class); + + //正常系実行 + $data = ['name' => 'afterEdit', 'type' => 'text']; + $this->post('/baser/admin/bc-mail/mail_fields/edit/1/1', $data); + $this->assertResponseCode(302); + //イベントに入るかどうか確認 $mailFields = $this->getTableLocator()->get('BcMail.MailFields'); $query = $mailFields->find()->where(['name' => 'afterEdit']); $this->assertEquals(1, $query->count()); } + + /** + * Test publish + */ + public function testAdmin_publish() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + //データを生成 + $this->loadFixtureScenario(MailContentsScenario::class); + MailFieldsFactory::make([ + 'id' => 1, + 'mail_content_id' => 1, + 'name' => '性', + 'field_name' => 'name_1', + 'type' => 'text', + 'use_field' => 0 + ])->persist(); + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/publish/1/1'); + //check response code + $this->assertResponseCode(302); + //check Flash message + $this->assertFlashMessage('メールフィールド「性」を有効状態にしました。'); + //check redirect + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + } + + /** + * Test unpublish + */ + public function testAdmin_unpublish() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $this->loadFixtureScenario(MailContentsScenario::class); + //メールフィルドのデータを生成 + $this->loadFixtureScenario(MailFieldsScenario::class); + //対象URLをコル + $this->post('/baser/admin/bc-mail/mail_fields/unpublish/1/1'); + //check response code + $this->assertResponseCode(302); + //check Flash message + $this->assertFlashMessage('メールフィールド「性」を無効状態にしました。'); + //check redirect + $this->assertRedirect('/baser/admin/bc-mail/mail_fields/index/1'); + } } diff --git a/plugins/bc-mail/tests/TestCase/Controller/MailFrontAppControllerTest.php b/plugins/bc-mail/tests/TestCase/Controller/MailFrontAppControllerTest.php new file mode 100644 index 0000000000..1fcf4ff266 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/Controller/MailFrontAppControllerTest.php @@ -0,0 +1,28 @@ +<?php + +namespace BcMail\Test\TestCase\Controller; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\Controller\MailFrontAppController; +use Cake\Event\Event; + +class MailFrontAppControllerTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->MailFrontAppController = new MailFrontAppController($this->getRequest()); + } + + public function tearDown(): void + { + unset($this->MailFrontAppController); + parent::tearDown(); + } + + public function test_beforeRender() + { + $this->MailFrontAppController->beforeRender(new Event('beforeRender')); + $this->assertEquals('BcMail.MailFrontApp', $this->MailFrontAppController->viewBuilder()->getClassName()); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/Model/Table/MailConfigsTableTest.php b/plugins/bc-mail/tests/TestCase/Model/Table/MailConfigsTableTest.php new file mode 100755 index 0000000000..1d346540b9 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/Model/Table/MailConfigsTableTest.php @@ -0,0 +1,100 @@ +<?php +/** + * baserCMS : Based Website Development Project <https://basercms.net> + * Copyright (c) baserCMS Users Community <https://basercms.net/community/> + * + * @copyright Copyright (c) baserCMS Users Community + * @link https://basercms.net baserCMS Project + * @since baserCMS v 3.0.0 + * @license https://basercms.net/license/index.html + */ + +namespace BcMail\Test\TestCase\Model\Table; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\Model\Table\MailConfigsTable; + +/** + * @property MailConfigsTable $MailConfigsTable + */ +class MailConfigsTableTest extends BcTestCase +{ + /** + * Set Up + * + * @return void + */ + public function setUp(): void + { + parent::setUp(); + $this->MailConfigsTable = $this->getTableLocator()->get('BcMail.MailConfigs'); + } + + /** + * Tear Down + * + * @return void + */ + public function tearDown(): void + { + unset($this->MailConfigsTable); + parent::tearDown(); + } + + /** + * test initialize + */ + public function test_initialize() + { + $this->assertTrue($this->MailConfigsTable->hasBehavior('BcKeyValue')); + } + + /** + * test validationDefault + */ + public function test_validationDefault() + { + $validator = $this->MailConfigsTable->getValidator('default'); + + //設定名が指定しない場合、 + $errors = $validator->validate([ + 'name' => '' + ]); + //戻り値を確認 + $this->assertEquals('設定名を入力してください。', current($errors['name'])); + + //maxLength テスト、 + $errors = $validator->validate([ + 'name' => str_repeat('a', 256), + 'value' => str_repeat('a', 65536) + ]); + //戻り値を確認 + $this->assertEquals('255文字以内で入力してください。', current($errors['name'])); + $this->assertEquals('65535文字以内で入力してください。', current($errors['value'])); + } + + /** + * test validationKeyValue + */ + public function test_validationKeyValue() + { + $validator = $this->MailConfigsTable->getValidator('keyValue'); + //入力しない場合、 + $errors = $validator->validate([ + 'site_name' => '', + ]); + $this->assertEquals('Webサイト名を入力してください。', current($errors['site_name'])); + + //スペースだけ入力する場合、 + $errors = $validator->validate([ + 'site_name' => ' ', + ]); + $this->assertEquals('Webサイト名を入力してください。', current($errors['site_name'])); + + //文字を入力する場合、 + $errors = $validator->validate([ + 'site_name' => ' a', + ]); + $this->assertArrayNotHasKey('site_name', $errors); + } +} diff --git a/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php b/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php index d5c4d1544e..cc152f1c1d 100755 --- a/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php +++ b/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php @@ -12,8 +12,12 @@ namespace BcMail\Test\TestCase\Model\Table; use BaserCore\TestSuite\BcTestCase; +use BaserCore\Utility\BcContainerTrait; use BcMail\Model\Entity\MailContent; +use BcMail\Service\MailContentsServiceInterface; +use BcMail\Test\Scenario\MailContentsScenario; use Cake\Core\Configure; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; /** * Class MailContentTest @@ -22,6 +26,8 @@ */ class MailContentsTableTest extends BcTestCase { + use ScenarioAwareTrait; + use BcContainerTrait; /** * Set Up * @@ -195,20 +201,43 @@ public function testURLErrors() /** * SSL用のURLが設定されているかチェックする + * @dataProvider checkSslUrlProvider */ - public function testCheckSslUrl() + public function testCheckSslUrl($expected, $sslUrl, $value) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + Configure::write('BcEnv.sslUrl', $sslUrl); + $this->assertEquals($expected, $this->MailContent->checkSslUrl($value)); + } + + public static function checkSslUrlProvider() + { + return [ + [true, true, 'https://example.com/'], + [false, false, 'https://example.com/'], + [true, false, null], + ]; } /** * 英数チェック + * @dataProvider alphaNumericDataProvider */ - public function testAlphaNumeric() + public function testAlphaNumeric($expected, $check) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $result = $this->MailContent->alphaNumeric($check); + $this->assertEquals($expected, $result); } + public static function alphaNumericDataProvider() + { + return [ + [true, ['abc123']], + [false, ['abc123!']], + [false, ['ABC123']], + [true, ['123']], + [false, ['']], + ]; + } /** * afterSave * @@ -406,4 +435,30 @@ public function testFindAccepting() { $this->markTestIncomplete('このテストは、まだ実装されていません。'); } + + /** + * test createSearchIndex + */ + + public function test_createSearchIndex() + { + $this->loadFixtureScenario(MailContentsScenario::class); + $mailContentServices = $this->getService(MailContentsServiceInterface::class); + + $mailContent = $mailContentServices->get(1); + $mailContent->content->publish_begin = '2015-01-27 12:56:53'; + $mailContent->content->publish_end = '2015-02-27 12:56:53'; + + $result = $this->MailContent->createSearchIndex($mailContent); + $this->assertEquals($result['type'], 'メール'); + $this->assertEquals($result['model_id'], 1); + $this->assertEquals($result['site_id'], 1); + $this->assertEquals($result['title'], 'お問い合わせ'); + $this->assertEquals($result['detail'], 'description test'); + $this->assertEquals($result['url'], '/contact/'); + $this->assertTrue($result['status']); + $this->assertEquals($result['publish_begin'], '2015-01-27 12:56:53'); + $this->assertEquals($result['publish_end'], '2015-02-27 12:56:53'); + } + } diff --git a/plugins/bc-mail/tests/TestCase/Model/Table/MailFieldsTableTest.php b/plugins/bc-mail/tests/TestCase/Model/Table/MailFieldsTableTest.php index e2dcb77fdf..1664de4fd7 100755 --- a/plugins/bc-mail/tests/TestCase/Model/Table/MailFieldsTableTest.php +++ b/plugins/bc-mail/tests/TestCase/Model/Table/MailFieldsTableTest.php @@ -13,6 +13,7 @@ use BaserCore\TestSuite\BcTestCase; use BcMail\Model\Table\MailFieldsTable; +use BcMail\Test\Factory\MailFieldsFactory; /** * @property MailFieldsTable $MailFieldsTable @@ -56,125 +57,100 @@ public function test_initialize() /** * validate */ - public function test正常チェック() + public function test_validationDefaultNotError() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->MailField->create([ - 'MailField' => [ - 'name' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'field_name' => '01234567890123456789012345678901234567890123456789', - 'mail_content_id' => 999, - 'type' => 'type', - 'head' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'attention' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'before_attachment' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'after_attachment' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'options' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'class' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'default_value' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'description' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'group_field' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - 'group_valid' => '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234', - ] + $validator = $this->MailFieldsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => str_repeat('a', 255), + 'field_name' => str_repeat('a', 50), + 'mail_content_id' => 999, + 'type' => 'type', + 'head' => str_repeat('a', 255), + 'attention' => str_repeat('a', 255), + 'before_attachment' => str_repeat('a', 255), + 'after_attachment' => str_repeat('a', 255), + 'options' => str_repeat('a', 255), + 'class' => str_repeat('a', 255), + 'default_value' => str_repeat('a', 255), + 'description' => str_repeat('a', 255), + 'group_field' => str_repeat('a', 255), + 'group_valid' => str_repeat('a', 255) ]); - - $this->assertTrue($this->MailField->validates()); - $this->assertEmpty($this->MailField->validationErrors); + $this->assertCount(0, $errors); } - public function test空白チェック() + public function test_validationDefaultEmpty() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->MailField->create([ - 'MailField' => [ - 'name' => '', - 'type' => '', - ] + $validator = $this->MailFieldsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => '', + 'type' => '' ]); + $this->assertEquals('項目名を入力してください。', current($errors['name'])); + $this->assertEquals('タイプを入力してください。', current($errors['type'])); - $this->assertFalse($this->MailField->validates()); - - $expected = [ - 'name' => ['項目名を入力してください。'], - 'type' => ['タイプを入力してください。'], - ]; - $this->assertEquals($expected, $this->MailField->validationErrors); } - public function test桁数チェック() + public function test_validationDefaultOverText() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->MailField->create([ - 'MailField' => [ - 'name' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'field_name' => '012345678901234567890123456789012345678901234567890', - 'mail_content_id' => 999, - 'type' => 'type', - 'head' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'attention' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'before_attachment' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'after_attachment' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'options' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'class' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'default_value' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'description' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'group_field' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - 'group_valid' => '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345', - ] + $validator = $this->MailFieldsTable->getValidator('default'); + $errors = $validator->validate([ + 'name' => str_repeat('a', 256), + 'field_name' => str_repeat('a', 51), + 'mail_content_id' => 999, + 'type' => 'type', + 'head' => str_repeat('a', 256), + 'attention' => str_repeat('a', 256), + 'before_attachment' => str_repeat('a', 256), + 'after_attachment' => str_repeat('a', 256), + 'options' => str_repeat('a', 256), + 'class' => str_repeat('a', 256), + 'default_value' => str_repeat('a', 256), + 'description' => str_repeat('a', 256), + 'group_field' => str_repeat('a', 256), + 'group_valid' => str_repeat('a', 256) ]); - $this->assertFalse($this->MailField->validates()); - $expected = [ - 'name' => ['項目名は255文字以内で入力してください。'], - 'field_name' => ['フィールド名は50文字以内で入力してください。'], - 'head' => ['項目見出しは255文字以内で入力してください。'], - 'attention' => ['注意書きは255文字以内で入力してください。'], - 'before_attachment' => ['前見出しは255文字以内で入力してください。'], - 'after_attachment' => ['後見出しは255文字以内で入力してください。'], - 'options' => ['オプションは255文字以内で入力してください。'], - 'class' => ['クラス名は255文字以内で入力してください。'], - 'default_value' => ['初期値は255文字以内で入力してください。'], - 'description' => ['説明文は255文字以内で入力してください。'], - 'group_field' => ['グループフィールドは255文字以内で入力してください。'], - 'group_valid' => ['グループ入力チェックは255文字以内で入力してください。'] - ]; - - $this->assertEquals($expected, $this->MailField->validationErrors); + $this->assertEquals('項目名は255文字以内で入力してください。', current($errors['name'])); + $this->assertEquals('フィールド名は50文字以内で入力してください。', current($errors['field_name'])); + $this->assertEquals('項目見出しは255文字以内で入力してください。', current($errors['head'])); + $this->assertEquals('注意書きは255文字以内で入力してください。', current($errors['attention'])); + $this->assertEquals('前見出しは255文字以内で入力してください。', current($errors['before_attachment'])); + $this->assertEquals('後見出しは255文字以内で入力してください。', current($errors['after_attachment'])); + $this->assertEquals('オプションは255文字以内で入力してください。', current($errors['options'])); + $this->assertEquals('クラス名は255文字以内で入力してください。', current($errors['class'])); + $this->assertEquals('初期値は255文字以内で入力してください。', current($errors['default_value'])); + $this->assertEquals('説明文は255文字以内で入力してください。', current($errors['description'])); + $this->assertEquals('グループ名は255文字以内で入力してください。', current($errors['group_field'])); + $this->assertEquals('グループ入力チェックは255文字以内で入力してください。', current($errors['group_valid'])); } - - public function test半角英数チェック() + public function test_validationDefaultHankakuCheck() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->MailField->create([ - 'MailField' => [ - 'field_name' => '123abc', - ] + $validator = $this->MailFieldsTable->getValidator('default'); + $errors = $validator->validate([ + 'mail_content_id' => 999, + 'field_name' => '123abc', + 'group_field' => '123abc', + 'group_valid' => '123abc' ]); - $this->assertFalse($this->MailField->validates()); - $expected = [ - 'field_name' => ['フィールド名は半角英数字のみで入力してください。'], - ]; - $this->assertEquals($expected, $this->MailField->validationErrors); + $this->assertEquals('フィールド名は小文字の半角英数字、アンダースコアのみで入力してください。', current($errors['field_name'])); + $this->assertEquals('グループ名は半角英数字、ハイフン、アンダースコアで入力してください。', current($errors['group_field'])); + $this->assertEquals('グループ入力チェックは半角英数字、ハイフン、アンダースコアで入力してください。', current($errors['group_valid'])); } - public function test重複チェック() + public function test_validationDefaultDuplicate() { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $this->MailField->create([ - 'MailField' => [ - 'field_name' => 'name_1', - 'mail_content_id' => 1, - ] + MailFieldsFactory::make(['mail_content_id' => 1, 'field_name' => 'field_1'])->persist(); + $validator = $this->MailFieldsTable->getValidator('default'); + $errors = $validator->validate([ + 'mail_content_id' => 1, + 'field_name' => 'field_1' ]); - $this->assertFalse($this->MailField->validates()); - $expected = [ - 'field_name' => ['入力されたフィールド名は既に登録されています。'], - ]; - $this->assertEquals($expected, $this->MailField->validationErrors); + $this->assertEquals('既に登録のあるフィールド名です。', current($errors['field_name'])); } /** @@ -200,17 +176,43 @@ public function testDuplicateMailField() */ public function testHalfTextMailField() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + //case true + $string = 'abc123_'; + $result = $this->MailFieldsTable->halfTextMailField($string); + $this->assertTrue($result); + + //case false + $string = 'abcABC123_'; + $result = $this->MailFieldsTable->halfTextMailField($string); + $this->assertFalse($result); } /** * 選択リストの入力チェック + * @dataProvider sourceMailFieldDataProvider */ - public function testSourceMailField() + public function test_sourceMailField($value, $context, $expected) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $result = $this->MailFieldsTable->sourceMailField($value, $context); + $this->assertEquals($expected, $result); } + public static function sourceMailFieldDataProvider() + { + return [ + ['radio', ['data' => ['type' => 'radio']], true], + ['', ['data' => ['type' => 'radio']], false], + ['select', ['data' => ['type' => 'select']], true], + ['', ['data' => ['type' => 'select']], false], + ['multi_check', ['data' => ['type' => 'multi_check']], true], + ['', ['data' => ['type' => 'multi_check']], false], + ['autozip', ['data' => ['type' => 'autozip']], true], + ['', ['data' => ['type' => 'autozip']], false], + ['text', ['data' => ['type' => 'text']], true] + ]; + } + + /** * フィールドデータをコピーする * @@ -285,8 +287,7 @@ public function testAfterSave() */ public function testFormatSource($source, $expected) { - $this->markTestIncomplete('こちらのテストはまだ未確認です'); - $result = $this->MailField->formatSource($source); + $result = $this->MailFieldsTable->formatSource($source); $this->assertEquals($expected, $result); } diff --git a/plugins/bc-mail/tests/TestCase/Model/MailMessagesTableTest.php b/plugins/bc-mail/tests/TestCase/Model/Table/MailMessagesTableTest.php similarity index 97% rename from plugins/bc-mail/tests/TestCase/Model/MailMessagesTableTest.php rename to plugins/bc-mail/tests/TestCase/Model/Table/MailMessagesTableTest.php index 8a2b84949f..50f57fd215 100644 --- a/plugins/bc-mail/tests/TestCase/Model/MailMessagesTableTest.php +++ b/plugins/bc-mail/tests/TestCase/Model/Table/MailMessagesTableTest.php @@ -9,7 +9,7 @@ * @license https://basercms.net/license/index.html */ -namespace BcMail\Test\TestCase\Model; +namespace BcMail\Test\TestCase\Model\Table; use BaserCore\TestSuite\BcTestCase; use BcMail\Model\Entity\MailMessage; @@ -17,6 +17,8 @@ use BcMail\Model\Table\MailMessagesTable; use BcMail\Test\Factory\MailFieldsFactory; use BcMail\Test\Scenario\MailFieldsScenario; +use BcMail\Test\TestCase\Model\Array; +use BcMail\Test\TestCase\Model\ClassRegistry; use Cake\ORM\Entity; use Cake\TestSuite\IntegrationTestTrait; use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; @@ -46,9 +48,21 @@ public function setUp(): void public function tearDown(): void { unset($this->MailMessage); + unset($this->MailField); parent::tearDown(); } + /** + * test initialize + */ + public function test_initialize() + { + $this->assertEquals('mail_messages', $this->MailMessage->getTable()); + $this->assertEquals('id', $this->MailMessage->getPrimaryKey()); + $this->assertTrue($this->MailMessage->hasBehavior('Timestamp')); + $this->assertTrue($this->MailMessage->hasBehavior('BcUpload')); + } + /** * * setup test @@ -481,5 +495,4 @@ public function testValidGroupComplete() $this->execPrivateMethod($this->MailMessage, '_validGroupComplete', [$mailMessage]); $this->assertCount(1, $mailMessage->getErrors()['_not_complate']); } - } diff --git a/plugins/bc-mail/tests/TestCase/ServiceProvider/BcMailServiceProviderTest.php b/plugins/bc-mail/tests/TestCase/ServiceProvider/BcMailServiceProviderTest.php new file mode 100644 index 0000000000..f78acc7114 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/ServiceProvider/BcMailServiceProviderTest.php @@ -0,0 +1,47 @@ +<?php + +namespace BcMail\Test\TestCase\ServiceProvider; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\Service\Admin\MailContentsAdminServiceInterface; +use BcMail\Service\Admin\MailFieldsAdminServiceInterface; +use BcMail\Service\Admin\MailMessagesAdminServiceInterface; +use BcMail\Service\Front\MailFrontServiceInterface; +use BcMail\Service\MailConfigsServiceInterface; +use BcMail\Service\MailContentsServiceInterface; +use BcMail\Service\MailFieldsServiceInterface; +use BcMail\Service\MailMessagesServiceInterface; +use BcMail\ServiceProvider\BcMailServiceProvider; +use Cake\Core\Container; + +class BcMailServiceProviderTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcMailServiceProvider = new BcMailServiceProvider(); + } + + public function tearDown(): void + { + unset($this->BcMailServiceProvider); + parent::tearDown(); + } + + /** + * test services + */ + public function testServices() + { + $container = new Container(); + $this->BcMailServiceProvider->services($container); + $this->assertTrue($container->has(MailConfigsServiceInterface::class)); + $this->assertTrue($container->has(MailContentsServiceInterface::class)); + $this->assertTrue($container->has(MailContentsAdminServiceInterface::class)); + $this->assertTrue($container->has(MailFieldsServiceInterface::class)); + $this->assertTrue($container->has(MailFieldsAdminServiceInterface::class)); + $this->assertTrue($container->has(MailMessagesServiceInterface::class)); + $this->assertTrue($container->has(MailMessagesAdminServiceInterface::class)); + $this->assertTrue($container->has(MailFrontServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/View/Helper/BcMailBaserHelperTest.php b/plugins/bc-mail/tests/TestCase/View/Helper/BcMailBaserHelperTest.php new file mode 100644 index 0000000000..6b67f2c921 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/View/Helper/BcMailBaserHelperTest.php @@ -0,0 +1,54 @@ +<?php + +namespace BcMail\Test\TestCase\View\Helper; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\View\Helper\BcMailBaserHelper; +use Cake\View\View; + +class BcMailBaserHelperTest extends BcTestCase +{ + /** + * setUp + * + * @return void + */ + public function setUp(): void + { + parent::setUp(); + $this->BcMailBaser = new BcMailBaserHelper(new View()); + } + + /** + * tearDown + * + */ + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test methods + */ + public function testMethods() + { + $methods = $this->BcMailBaser->methods(); + $this->assertEquals(['Mail', 'isMail'], $methods['isMail']); + $this->assertEquals(['Mail', 'descriptionExists'], $methods['mailFormDescriptionExists']); + $this->assertEquals(['Mail', 'description'], $methods['mailFormDescription']); + $this->assertEquals(['Mailform', 'freeze'], $methods['freezeMailForm']); + $this->assertEquals(['Mailform', 'create'], $methods['createMailForm']); + $this->assertEquals(['Mailform', 'hidden'], $methods['mailFormHidden']); + $this->assertEquals(['Mailform', 'authCaptcha'], $methods['mailFormAuthCaptcha']); + $this->assertEquals(['Mailform', 'submit'], $methods['mailFormSubmit']); + $this->assertEquals(['Mailform', 'end'], $methods['endMailForm']); + $this->assertEquals(['Mailform', 'unlockField'], $methods['unlockMailFormField']); + $this->assertEquals(['Mailform', 'getSourceValue'], $methods['getMailFormSourceValue']); + $this->assertEquals(['Mailform', 'error'], $methods['mailFormError']); + $this->assertEquals(['Mailform', 'control'], $methods['mailFormControl']); + $this->assertEquals(['Mailform', 'getGroupValidErrors'], $methods['getMailFormGroupValidErrors']); + $this->assertEquals(['Mailform', 'isGroupLastField'], $methods['isMailFormGroupLastField']); + $this->assertEquals(['Mailform', 'label'], $methods['mailFormLabel']); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/View/Helper/MailHelperTest.php b/plugins/bc-mail/tests/TestCase/View/Helper/MailHelperTest.php index 4abf7700fa..6504238e43 100644 --- a/plugins/bc-mail/tests/TestCase/View/Helper/MailHelperTest.php +++ b/plugins/bc-mail/tests/TestCase/View/Helper/MailHelperTest.php @@ -10,7 +10,9 @@ */ namespace BcMail\Test\TestCase\View\Helper; use BaserCore\TestSuite\BcTestCase; +use BcMail\Model\Entity\MailContent; use BcMail\View\Helper\MailHelper; +use Cake\View\View; /** * Class MailHelperTest @@ -25,9 +27,7 @@ class MailHelperTest extends BcTestCase public function setUp(): void { parent::setUp(); -// $this->View = new BcAppView(null); -// $this->View->request = $this->_getRequest('/'); -// $this->Mail = new MailHelper($this->View); + $this->MailHelper = new MailHelper(new View()); } /** @@ -194,4 +194,38 @@ public function testBeforeRender() { $this->markTestIncomplete('このテストは、まだ実装されていません。'); } + + /** + * test descriptionExists + */ + public function test_descriptionExists() + { + $mailContent = new MailContent(); + $mailContent->description = 'test description'; + + //with description + $this->MailHelper->currentMailContent = $mailContent; + $rs = $this->MailHelper->descriptionExists(); + $this->assertTrue($rs); + + //with empty description + $mailContent->description = ''; + $this->MailHelper->currentMailContent = $mailContent; + $rs = $this->MailHelper->descriptionExists(); + $this->assertFalse($rs); + } + + /** + * test testGetDescription + */ + public function test_getDescription() + { + $mailContent = new MailContent(); + $mailContent->description = 'test description'; + + $this->MailHelper->currentMailContent = $mailContent; + + $rs = $this->MailHelper->getDescription(); + $this->assertEquals('test description', $rs); + } } diff --git a/plugins/bc-mail/tests/TestCase/View/Helper/MaildataHelperTest.php b/plugins/bc-mail/tests/TestCase/View/Helper/MaildataHelperTest.php index f15fd9d894..61c430213a 100644 --- a/plugins/bc-mail/tests/TestCase/View/Helper/MaildataHelperTest.php +++ b/plugins/bc-mail/tests/TestCase/View/Helper/MaildataHelperTest.php @@ -1,6 +1,8 @@ <?php namespace BcMail\Test\TestCase\View\Helper; use BaserCore\TestSuite\BcTestCase; +use BcMail\View\Helper\MaildataHelper; +use Cake\View\View; class MaildataHelperTest extends BcTestCase { @@ -11,9 +13,7 @@ class MaildataHelperTest extends BcTestCase public function setUp():void { parent::setUp(); -// $this->View = new BcAppView(null); -// $this->View->request = $this->_getRequest('/'); -// $this->Maildata = new MaildataHelper($this->View); + $this->MaildataHelper = new MaildataHelper(new View()); } /** @@ -21,16 +21,26 @@ public function setUp():void */ public function tearDown():void { -// unset($this->Maildata); + unset($this->MaildataHelper); parent::tearDown(); } /** * メール表示用のデータを出力する - * - * public function testControl() { - * $this->markTestIncomplete('このメソッドは、同一クラス内のメソッドをラッピングしているメソッドのためスキップします。'); - * } + * @dataProvider controlDataProvider */ + public function testControl($type, $value, $escape, $expected) + { + $result = $this->MaildataHelper->control($type, $value, $escape); + $this->assertEquals($expected, $result); + } + + public static function controlDataProvider() + { + return [ + ['text' , '<b>bold</b>', true, ' <b>bold</b>'], + ['text' , '<b>bold</b>', false, ' <b>bold</b>'], + ]; + } /** * メール表示用のデータを出力する diff --git a/plugins/bc-mail/tests/TestCase/View/Helper/MailfieldHelperTest.php b/plugins/bc-mail/tests/TestCase/View/Helper/MailfieldHelperTest.php index dec5839f8b..3fa0535cfb 100644 --- a/plugins/bc-mail/tests/TestCase/View/Helper/MailfieldHelperTest.php +++ b/plugins/bc-mail/tests/TestCase/View/Helper/MailfieldHelperTest.php @@ -11,6 +11,9 @@ namespace BcMail\Test\TestCase\View\Helper; use BaserCore\TestSuite\BcTestCase; +use BcMail\Test\Factory\MailFieldsFactory; +use BcMail\View\Helper\MailfieldHelper; +use Cake\View\View; class MailfieldHelperTest extends BcTestCase { @@ -21,6 +24,7 @@ class MailfieldHelperTest extends BcTestCase public function setUp(): void { parent::setUp(); + $this->mailfieldHelper = new MailfieldHelper(new View()); } /** @@ -28,15 +32,27 @@ public function setUp(): void */ public function tearDown(): void { + unset($this->mailfieldHelper); parent::tearDown(); } /** * htmlの属性を取得する + * @dataProvider getAttributesProvider */ - public function testGetAttributes() + public function testGetAttributes($expected, $data) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->assertEquals($expected, $this->mailfieldHelper->getAttributes($data)); + } + + public static function getAttributesProvider() + { + return [ + [['size' => 10, 'rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'tel'], ['MailField' => ['size' => 10, 'text_rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'tel', 'options' => '']]], + [['size' => 10, 'rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'multiple' => true], ['MailField' => ['size' => 10, 'text_rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'multi_check', 'options' => '']]], + [['size' => 10, 'rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'number'], ['MailField' => ['size' => 10, 'text_rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'number', 'options' => '']]], + [['size' => 10, 'rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'number', 'key1' => 'value1', 'key2' => 'value2', 'key3' => null], ['MailField' => ['size' => 10, 'text_rows' => 5, 'maxlength' => 100, 'class' => 'test', 'autocomplete' => 'on', 'type' => 'number', 'options' => 'key1|value1|key2|value2|key3']]], + ]; } /** @@ -44,6 +60,14 @@ public function testGetAttributes() */ public function testGetOptions() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + //with source data not empty + $mailField = MailFieldsFactory::make(['source' => '資料請求|問い合わせ|その他'])->getEntity(); + $result = $this->mailfieldHelper->getOptions($mailField); + $this->assertEquals(['資料請求' => '資料請求', '問い合わせ' => '問い合わせ', 'その他' => 'その他'], $result); + + //with source data empty + $mailField = MailFieldsFactory::make(['source' => ''])->getEntity(); + $result = $this->mailfieldHelper->getOptions($mailField); + $this->assertEquals([], $result); } } diff --git a/plugins/bc-mail/tests/TestCase/View/MailAdminAppViewTest.php b/plugins/bc-mail/tests/TestCase/View/MailAdminAppViewTest.php new file mode 100644 index 0000000000..46f15bb468 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/View/MailAdminAppViewTest.php @@ -0,0 +1,36 @@ +<?php + +namespace BcMail\Test\TestCase\View; + +use BaserCore\Test\TestCase\BcPluginTest; +use BcMail\View\MailAdminAppView; + +class MailAdminAppViewTest extends BcPluginTest +{ + /** + * @return void + */ + public function setUp(): void + { + parent::setUp(); + } + + /** + * @return void + */ + public function tearDown(): void + { + parent::tearDown(); + } + + public function test_initialize(): void + { + $this->getRequest(); + $mailAdminAppView = new MailAdminAppView($this->getRequest()); + $this->assertNotEmpty($mailAdminAppView->Mail); + $this->assertNotEmpty($mailAdminAppView->Mailfield); + $this->assertNotEmpty($mailAdminAppView->Maildata); + $this->assertNotEmpty($mailAdminAppView->BcArray); + $this->assertNotEmpty($mailAdminAppView->BcCsv); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/View/MailFrontAppViewTest.php b/plugins/bc-mail/tests/TestCase/View/MailFrontAppViewTest.php new file mode 100644 index 0000000000..930a8957d1 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/View/MailFrontAppViewTest.php @@ -0,0 +1,31 @@ +<?php + +namespace BcMail\Test\TestCase\View; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\View\MailFrontAppView; + +class MailFrontAppViewTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test initialize + */ + public function testInitialize(): void + { + $this->getRequest(); + $mailFrontAppView = new MailFrontAppView($this->getRequest()); + $this->assertNotEmpty($mailFrontAppView->Mail); + $this->assertNotEmpty($mailFrontAppView->Mailfield); + $this->assertNotEmpty($mailFrontAppView->Mailform); + } +} \ No newline at end of file diff --git a/plugins/bc-mail/tests/TestCase/View/MailFrontEmailViewTest.php b/plugins/bc-mail/tests/TestCase/View/MailFrontEmailViewTest.php new file mode 100644 index 0000000000..b7649b7621 --- /dev/null +++ b/plugins/bc-mail/tests/TestCase/View/MailFrontEmailViewTest.php @@ -0,0 +1,31 @@ +<?php + +namespace BcMail\Test\TestCase\View; + +use BaserCore\TestSuite\BcTestCase; +use BcMail\View\MailFrontEmailView; + +class MailFrontEmailViewTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test initialize + */ + public function testInitialize() + { + $this->getRequest(); + $mailFrontEmailView = new MailFrontEmailView($this->getRequest()); + $this->assertNotEmpty($mailFrontEmailView->Mailfield); + $this->assertNotEmpty($mailFrontEmailView->Maildata); + + } +} \ No newline at end of file diff --git a/plugins/bc-search-index/src/Plugin.php b/plugins/bc-search-index/src/BcSearchIndexPlugin.php similarity index 95% rename from plugins/bc-search-index/src/Plugin.php rename to plugins/bc-search-index/src/BcSearchIndexPlugin.php index de9e9a78f3..18b3fe6926 100644 --- a/plugins/bc-search-index/src/Plugin.php +++ b/plugins/bc-search-index/src/BcSearchIndexPlugin.php @@ -20,7 +20,7 @@ /** * Class Plugin */ -class Plugin extends BcPlugin +class BcSearchIndexPlugin extends BcPlugin { /** diff --git a/plugins/bc-search-index/src/Model/Behavior/BcSearchIndexManagerBehavior.php b/plugins/bc-search-index/src/Model/Behavior/BcSearchIndexManagerBehavior.php index 78d4e68175..c702af7d8e 100755 --- a/plugins/bc-search-index/src/Model/Behavior/BcSearchIndexManagerBehavior.php +++ b/plugins/bc-search-index/src/Model/Behavior/BcSearchIndexManagerBehavior.php @@ -200,12 +200,13 @@ public function saveSearchIndex($searchIndex) } $searchIndex['model'] = Inflector::classify($this->table->getAlias()); // タグ、空白を除外 - $searchIndex['detail'] = str_replace(["\r\n", "\r", "\n", "\t", "\s"], '', trim(strip_tags($searchIndex['detail']))); - - // MySQLの場合、検索テーブル'detail'では半角65535以上の文字数は保存できないため、オーバーした分はカットする。※str_ends_with()は php8系~ - $db = ConnectionManager::get('default')->config()['driver']; - if (str_ends_with($db, 'Mysql') && mb_strlen($searchIndex['detail']) >= 21845) { - $searchIndex['detail'] = mb_substr($searchIndex['detail'],0, 21844); + if(!empty($searchIndex['detail'])) { + $searchIndex['detail'] = str_replace(["\r\n", "\r", "\n", "\t", "\s"], '', trim(strip_tags($searchIndex['detail']))); + // MySQLの場合、検索テーブル'detail'では半角65535以上の文字数は保存できないため、オーバーした分はカットする。※str_ends_with()は php8系~ + $db = ConnectionManager::get('default')->config()['driver']; + if (str_ends_with($db, 'Mysql') && mb_strlen($searchIndex['detail']) >= 21845) { + $searchIndex['detail'] = mb_substr($searchIndex['detail'],0, 21844); + } } // 検索用データとして保存 diff --git a/plugins/bc-search-index/tests/TestCase/PluginTest.php b/plugins/bc-search-index/tests/TestCase/PluginTest.php index 7859a87b7b..c15d52cd9b 100644 --- a/plugins/bc-search-index/tests/TestCase/PluginTest.php +++ b/plugins/bc-search-index/tests/TestCase/PluginTest.php @@ -11,7 +11,7 @@ namespace BcSearchIndex\Test\TestCase; -use BcSearchIndex\Plugin; +use BcSearchIndex\BcSearchIndexPlugin; use BcSearchIndex\Service\Admin\SearchIndexesAdminServiceInterface; use BcSearchIndex\Service\SearchIndexesServiceInterface; use Cake\Core\Container; @@ -19,7 +19,7 @@ /** * Class PluginTest - * @property Plugin $Plugin + * @property BcSearchIndexPlugin $Plugin */ class PluginTest extends BcTestCase { @@ -32,7 +32,7 @@ class PluginTest extends BcTestCase public function setUp(): void { parent::setUp(); - $this->Plugin = new Plugin(['name' => 'BcSearchIndex']); + $this->Plugin = new BcSearchIndexPlugin(['name' => 'BcSearchIndex']); } /** diff --git a/plugins/bc-theme-config/src/BcThemeConfigPlugin.php b/plugins/bc-theme-config/src/BcThemeConfigPlugin.php new file mode 100644 index 0000000000..83e95e95ee --- /dev/null +++ b/plugins/bc-theme-config/src/BcThemeConfigPlugin.php @@ -0,0 +1,71 @@ +<?php +/** + * baserCMS : Based Website Development Project <https://basercms.net> + * Copyright (c) NPO baser foundation <https://baserfoundation.org/> + * + * @copyright Copyright (c) NPO baser foundation + * @link https://basercms.net baserCMS Project + * @since 5.0.0 + * @license https://basercms.net/license/index.html MIT License + */ + +namespace BcThemeConfig; + +use BaserCore\BcPlugin; +use BaserCore\Utility\BcUtil; +use BcThemeConfig\ServiceProvider\BcThemeConfigServiceProvider; +use Cake\Core\ContainerInterface; +use BaserCore\Annotation\UnitTest; +use BaserCore\Annotation\NoTodo; +use BaserCore\Annotation\Checked; + +/** + * Class Plugin + */ +class BcThemeConfigPlugin extends BcPlugin +{ + + /** + * services + * @param ContainerInterface $container + * @noTodo + * @checked + * @unitTest + */ + public function services(ContainerInterface $container): void + { + $container->addServiceProvider(new BcThemeConfigServiceProvider()); + } + + /** + * テーマ用初期データのダウンロードCSVを修正する + * @param $path + * @return true + * @checked + * @noTodo + */ + public function modifyDownloadDefaultData($path) + { + $path .= 'theme_configs.csv'; + $targets = [ + 'logo', + 'main_image_1', + 'main_image_2', + 'main_image_3', + 'main_image_4', + 'main_image_5' + ]; + $fp = fopen($path, 'a+'); + $records = []; + while(($record = BcUtil::fgetcsvReg($fp, 10240)) !== false) { + if (in_array($record[1], $targets)) { + $record[2] = ''; + } + $records[] = '"' . implode('","', $record) . '"'; + } + ftruncate($fp, 0); + fwrite($fp, implode("\n", $records)); + return true; + } + +} diff --git a/plugins/bc-theme-config/src/Event/BcThemeConfigControllerEventListener.php b/plugins/bc-theme-config/src/Event/BcThemeConfigControllerEventListener.php new file mode 100644 index 0000000000..451e078718 --- /dev/null +++ b/plugins/bc-theme-config/src/Event/BcThemeConfigControllerEventListener.php @@ -0,0 +1,44 @@ +<?php +/** + * baserCMS : Based Website Development Project <https://basercms.net> + * Copyright (c) NPO baser foundation <https://baserfoundation.org/> + * + * @copyright Copyright (c) NPO baser foundation + * @link https://basercms.net baserCMS Project + * @since 5.0.0 + * @license https://basercms.net/license/index.html MIT License + */ + +namespace BcThemeConfig\Event; + +use BaserCore\Event\BcControllerEventListener; +use Cake\Event\Event; + +/** + * Class BcThemeConfigControllerEventListener + */ +class BcThemeConfigControllerEventListener extends BcControllerEventListener +{ + + /** + * イベント + * @var string[] + */ + public $events = [ + 'BaserCore.Themes.afterApply' + ]; + + /** + * テーマ適用後イベント + * @param Event $event + * @return void + */ + public function baserCoreThemesAfterApply(Event $event) + { + $path = WWW_ROOT . 'files' . DS . 'theme_configs' . DS . 'config.css'; + if(file_exists($path)) { + unlink($path); + } + } + +} diff --git a/plugins/bc-theme-config/src/Model/Table/ThemeConfigsTable.php b/plugins/bc-theme-config/src/Model/Table/ThemeConfigsTable.php index 20c40522a9..f61a3f556e 100644 --- a/plugins/bc-theme-config/src/Model/Table/ThemeConfigsTable.php +++ b/plugins/bc-theme-config/src/Model/Table/ThemeConfigsTable.php @@ -75,6 +75,50 @@ public function validationDefault(Validator $validator): Validator */ public function validationKeyValue(Validator $validator): Validator { + // color_main + $validator + ->allowEmptyString('color_main') + ->add('color_main', [ + 'hexColorPlus' => [ + 'rule' => 'hexColorPlus', + 'provider' => 'bc', + 'message' => __d('baser_core', 'メインのカラーコードの形式が間違っています。') + ] + ]); + + // color_sub + $validator + ->allowEmptyString('color_sub') + ->add('color_sub', [ + 'hexColorPlus' => [ + 'rule' => 'hexColorPlus', + 'provider' => 'bc', + 'message' => __d('baser_core', 'サブのカラーコードの形式が間違っています。') + ] + ]); + + // color_link + $validator + ->allowEmptyString('color_link') + ->add('color_link', [ + 'hexColorPlus' => [ + 'rule' => 'hexColorPlus', + 'provider' => 'bc', + 'message' => __d('baser_core', 'テキストリンクのカラーコードの形式が間違っています。') + ] + ]); + + // color_hover + $validator + ->allowEmptyString('color_hover') + ->add('color_hover', [ + 'hexColorPlus' => [ + 'rule' => 'hexColorPlus', + 'provider' => 'bc', + 'message' => __d('baser_core', 'テキストホバーのカラーコードの形式が間違っています。') + ] + ]); + // logo $validator->add('logo', [ 'fileExt' => [ @@ -84,22 +128,6 @@ public function validationKeyValue(Validator $validator): Validator ] ]); - // テーマカラー - $validator - ->scalar('color_main') - ->regex('color_main', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[メイン]はカラーコード形式で入力してください。')); - - $validator - ->scalar('color_sub') - ->regex('color_sub', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[サブ]はカラーコード形式で入力してください。')); - - $validator - ->scalar('color_link') - ->regex('color_link', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[テキストリンク]はカラーコード形式で入力してください。')); - $validator - ->scalar('color_hover') - ->regex('color_hover', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[テキストホバー]はカラーコード形式で入力してください。')); - // main_image_1 $validator->add('main_image_1', [ 'fileExt' => [ diff --git a/plugins/bc-theme-config/src/Plugin.php b/plugins/bc-theme-config/src/Plugin.php deleted file mode 100644 index c6ee88483d..0000000000 --- a/plugins/bc-theme-config/src/Plugin.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -/** - * baserCMS : Based Website Development Project <https://basercms.net> - * Copyright (c) NPO baser foundation <https://baserfoundation.org/> - * - * @copyright Copyright (c) NPO baser foundation - * @link https://basercms.net baserCMS Project - * @since 5.0.0 - * @license https://basercms.net/license/index.html MIT License - */ - -namespace BcThemeConfig; - -use BaserCore\BcPlugin; -use BcThemeConfig\ServiceProvider\BcThemeConfigServiceProvider; -use Cake\Core\ContainerInterface; -use BaserCore\Annotation\UnitTest; -use BaserCore\Annotation\NoTodo; -use BaserCore\Annotation\Checked; - -/** - * Class Plugin - */ -class Plugin extends BcPlugin -{ - - /** - * services - * @param ContainerInterface $container - * @noTodo - * @checked - */ - public function services(ContainerInterface $container): void - { - $container->addServiceProvider(new BcThemeConfigServiceProvider()); - } - -} diff --git a/plugins/bc-theme-config/tests/TestCase/BcThemeConfigPluginTest.php b/plugins/bc-theme-config/tests/TestCase/BcThemeConfigPluginTest.php new file mode 100644 index 0000000000..7c7c093ff7 --- /dev/null +++ b/plugins/bc-theme-config/tests/TestCase/BcThemeConfigPluginTest.php @@ -0,0 +1,43 @@ +<?php + +namespace BcThemeConfig\Test\TestCase; + +use BaserCore\TestSuite\BcTestCase; +use BcThemeConfig\BcThemeConfigPlugin; +use BcThemeConfig\Service\ThemeConfigsServiceInterface; +use Cake\Core\Container; + +class BcThemeConfigPluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcThemeConfigPlugin = new BcThemeConfigPlugin(['name' => 'BcThemeConfig']); + } + + public function tearDown(): void + { + unset($this->BcThemeConfigPlugin); + parent::tearDown(); + } + + /** + * test services + */ + + public function test_services() + { + $container = new Container(); + $this->BcThemeConfigPlugin->services($container); + $this->assertTrue($container->has(ThemeConfigsServiceInterface::class)); + } + + /** + * test modifyDownloadDefaultData + */ + public function test_modifyDownloadDefaultData() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + +} \ No newline at end of file diff --git a/plugins/bc-theme-config/tests/TestCase/Model/Table/ThemeConfigTableTest.php b/plugins/bc-theme-config/tests/TestCase/Model/Table/ThemeConfigTableTest.php index 877bd9d7ae..1b85ee3c23 100644 --- a/plugins/bc-theme-config/tests/TestCase/Model/Table/ThemeConfigTableTest.php +++ b/plugins/bc-theme-config/tests/TestCase/Model/Table/ThemeConfigTableTest.php @@ -87,6 +87,10 @@ public function test_validationKeyValue() { $validator = $this->ThemeConfigsTable->getValidator('keyValue'); $errors = $validator->validate([ + 'color_main' => 'color', + 'color_sub' => 'color', + 'color_link' => 'color', + 'color_hover' => 'color', 'logo' => 'logo.ppp', 'main_image_1' => 'logo.ppp', 'main_image_2' => 'logo.ppp', @@ -94,6 +98,14 @@ public function test_validationKeyValue() 'main_image_4' => 'logo.ppp', 'main_image_5' => 'logo.ppp', ]); + $this->assertArrayHasKey('color_main', $errors); + $this->assertEquals('メインのカラーコードの形式が間違っています。', current($errors['color_main'])); + $this->assertArrayHasKey('color_sub', $errors); + $this->assertEquals('サブのカラーコードの形式が間違っています。', current($errors['color_sub'])); + $this->assertArrayHasKey('color_link', $errors); + $this->assertEquals('テキストリンクのカラーコードの形式が間違っています。', current($errors['color_link'])); + $this->assertArrayHasKey('color_hover', $errors); + $this->assertEquals('テキストホバーのカラーコードの形式が間違っています。', current($errors['color_hover'])); $this->assertArrayHasKey('logo', $errors); $this->assertEquals('許可されていないファイルです。', current($errors['logo'])); $this->assertArrayHasKey('main_image_1', $errors); @@ -108,32 +120,4 @@ public function test_validationKeyValue() $this->assertEquals('許可されていないファイルです。', current($errors['main_image_5'])); } - /** - * test validationKeyValue color - */ - public function test_validationKeyValue_color() - { - $validator = $this->ThemeConfigsTable->getValidator('keyValue'); - //値は3桁と6桁ではない場合 - $errors = $validator->validate([ - 'color_main' => '1', - 'color_sub' => '12', - 'color_link' => '1234', - 'color_hover' => '1234567', - ]); - $this->assertEquals('[メイン]はカラーコード形式で入力してください。', current($errors['color_main'])); - $this->assertEquals('[サブ]はカラーコード形式で入力してください。', current($errors['color_sub'])); - $this->assertEquals('[テキストリンク]はカラーコード形式で入力してください。', current($errors['color_link'])); - $this->assertEquals('[テキストホバー]はカラーコード形式で入力してください。', current($errors['color_hover'])); - - //値は3桁と6桁場合 - $errors = $validator->validate([ - 'color_main' => '123', - 'color_sub' => 'abc', - 'color_link' => 'ABCFFF', - 'color_hover' => '123456', - ]); - $this->assertCount(0, $errors); - } - } diff --git a/plugins/bc-theme-file/src/Plugin.php b/plugins/bc-theme-file/src/BcThemeFilePlugin.php similarity index 93% rename from plugins/bc-theme-file/src/Plugin.php rename to plugins/bc-theme-file/src/BcThemeFilePlugin.php index b7abc3e790..89a488a7c4 100644 --- a/plugins/bc-theme-file/src/Plugin.php +++ b/plugins/bc-theme-file/src/BcThemeFilePlugin.php @@ -21,7 +21,7 @@ /** * Class Plugin */ -class Plugin extends BcPlugin +class BcThemeFilePlugin extends BcPlugin { /** @@ -29,6 +29,7 @@ class Plugin extends BcPlugin * @param ContainerInterface $container * @checked * @noTodo + * @UnitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-theme-file/tests/TestCase/BcThemeFilePluginTest.php b/plugins/bc-theme-file/tests/TestCase/BcThemeFilePluginTest.php new file mode 100644 index 0000000000..36ab12ff8b --- /dev/null +++ b/plugins/bc-theme-file/tests/TestCase/BcThemeFilePluginTest.php @@ -0,0 +1,39 @@ +<?php + +namespace BcThemeFile\Test\TestCase; + +use BaserCore\TestSuite\BcTestCase; +use BcThemeFile\BcThemeFilePlugin; +use BcThemeFile\Service\Admin\ThemeFilesAdminServiceInterface; +use BcThemeFile\Service\Admin\ThemeFoldersAdminServiceInterface; +use BcThemeFile\Service\ThemeFilesServiceInterface; +use BcThemeFile\Service\ThemeFoldersServiceInterface; +use Cake\Core\Container; + +class BcThemeFilePluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcThemeFilePlugin = new BcThemeFilePlugin(['name' => 'BcThemeFile']); + } + + public function tearDown(): void + { + unset($this->BcThemeFilePlugin); + parent::tearDown(); + } + + /** + * test services + */ + public function test_services() + { + $container = new Container(); + $this->BcThemeFilePlugin->services($container); + $this->assertTrue($container->has(ThemeFilesServiceInterface::class)); + $this->assertTrue($container->has(ThemeFilesAdminServiceInterface::class)); + $this->assertTrue($container->has(ThemeFoldersServiceInterface::class)); + $this->assertTrue($container->has(ThemeFoldersAdminServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-uploader/src/Plugin.php b/plugins/bc-uploader/src/BcUploaderPlugin.php similarity index 96% rename from plugins/bc-uploader/src/Plugin.php rename to plugins/bc-uploader/src/BcUploaderPlugin.php index d63387c8ec..2c8672f106 100644 --- a/plugins/bc-uploader/src/Plugin.php +++ b/plugins/bc-uploader/src/BcUploaderPlugin.php @@ -24,7 +24,7 @@ /** * plugin for BcUploader */ -class Plugin extends BcPlugin +class BcUploaderPlugin extends BcPlugin { /** @@ -32,6 +32,7 @@ class Plugin extends BcPlugin * @param ContainerInterface $container * @noTodo * @checked + * @UnitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-uploader/src/Controller/Admin/UploaderCategoriesController.php b/plugins/bc-uploader/src/Controller/Admin/UploaderCategoriesController.php index c1ac5fbcef..bfe655a173 100755 --- a/plugins/bc-uploader/src/Controller/Admin/UploaderCategoriesController.php +++ b/plugins/bc-uploader/src/Controller/Admin/UploaderCategoriesController.php @@ -15,6 +15,7 @@ use BaserCore\Annotation\NoTodo; use BaserCore\Annotation\Checked; use BaserCore\Annotation\UnitTest; +use BaserCore\Utility\BcSiteConfig; use BcUploader\Service\UploaderCategoriesService; use BcUploader\Service\UploaderCategoriesServiceInterface; use Cake\ORM\Exception\PersistenceFailedException; @@ -33,9 +34,15 @@ class UploaderCategoriesController extends BcAdminAppController * @return void * @checked * @noTodo + * @unitTest */ public function index(UploaderCategoriesServiceInterface $service) { + $this->setViewConditions('UploadCategory', [ + 'default' => [ + 'query' => [ + 'limit' => BcSiteConfig::get('admin_list_num'), + ]]]); $this->set(['uploaderCategories' => $this->paginate($service->getIndex())]); } @@ -46,6 +53,7 @@ public function index(UploaderCategoriesServiceInterface $service) * @return void * @checked * @noTodo + * @unitTest */ public function add(UploaderCategoriesServiceInterface $service) { @@ -87,6 +95,7 @@ public function add(UploaderCategoriesServiceInterface $service) * @return void * @checked * @noTodo + * @unitTest */ public function edit(UploaderCategoriesServiceInterface $service, $id) { @@ -126,12 +135,13 @@ public function edit(UploaderCategoriesServiceInterface $service, $id) * @return void * @checked * @noTodo + * @unitTest */ public function delete(UploaderCategoriesServiceInterface $service, int $id) { $this->request->allowMethod(['post', 'delete']); - $entity = $service->get($id); try { + $entity = $service->get($id); if($service->delete($id)) { $this->BcMessage->setSuccess(__d('baser_core', 'アップロードカテゴリ「{0}」を削除しました。', $entity->name)); } else { @@ -150,6 +160,7 @@ public function delete(UploaderCategoriesServiceInterface $service, int $id) * @param int $id * @checked * @noTodo + * @unitTest */ public function copy(UploaderCategoriesServiceInterface $service, $id) { diff --git a/plugins/bc-uploader/src/Controller/Admin/UploaderConfigsController.php b/plugins/bc-uploader/src/Controller/Admin/UploaderConfigsController.php index 9def9f1fb6..b8d1f7b035 100644 --- a/plugins/bc-uploader/src/Controller/Admin/UploaderConfigsController.php +++ b/plugins/bc-uploader/src/Controller/Admin/UploaderConfigsController.php @@ -31,6 +31,7 @@ class UploaderConfigsController extends BcAdminAppController * @return void * @checked * @noTodo + * @unitTest */ public function index(UploaderConfigsServiceInterface $service) { diff --git a/plugins/bc-uploader/src/Controller/Admin/UploaderFilesController.php b/plugins/bc-uploader/src/Controller/Admin/UploaderFilesController.php index 799e5cf753..d76e93579d 100755 --- a/plugins/bc-uploader/src/Controller/Admin/UploaderFilesController.php +++ b/plugins/bc-uploader/src/Controller/Admin/UploaderFilesController.php @@ -38,6 +38,7 @@ class UploaderFilesController extends BcAdminAppController * @return \Cake\Http\Response|void * @checked * @noTodo + * @unitTest */ public function beforeFilter(EventInterface $event) { @@ -58,7 +59,7 @@ public function index(UploaderFilesAdminServiceInterface $service) $this->setViewConditions('UploadFile', [ 'default' => [ 'query' => [ - 'num' => BcSiteConfig::get('admin_list_num'), + 'limit' => BcSiteConfig::get('admin_list_num'), 'uploader_type' => 'all' ]]]); $this->setRequest($this->getRequest()->withParsedBody($this->getRequest()->getQueryParams())); @@ -98,7 +99,7 @@ public function ajax_list(UploaderFilesAdminServiceInterface $service, int $id = $this->setViewConditions('UploadFile', [ 'default' => [ 'query' => [ - 'num' => BcSiteConfig::get('admin_list_num') + 'limit' => BcSiteConfig::get('admin_list_num'), ]], 'type' => 'get' ]); @@ -128,23 +129,6 @@ public function ajax_image( $this->set($service->getViewVarsForAjaxImage($name, $size)); } - /** - * [ADMIN] 各サイズごとの画像の存在チェックを行う - * - * @param string $name - * @return void - */ - public function ajax_exists_images(string $name) - { - - Configure::write('debug', 0); - $this->RequestHandler->setContent('json'); - $this->RequestHandler->respondAs('application/json; charset=UTF-8'); - $files = $this->UploaderFile->filesExists($name); - $this->set('result', $files); - $this->render('json_result'); - } - /** * [ADMIN] 編集処理 * @@ -153,6 +137,7 @@ public function ajax_exists_images(string $name) * @return \Cake\Http\Response|void|null * @checked * @noTodo + * @unitTest */ public function edit(UploaderFilesServiceInterface $service, int $id) { @@ -186,6 +171,7 @@ public function edit(UploaderFilesServiceInterface $service, int $id) * @return void * @checked * @noTodo + * @unitTest */ public function delete(UploaderFilesServiceInterface $service, int $id) { diff --git a/plugins/bc-uploader/src/Controller/Api/Admin/UploaderFilesController.php b/plugins/bc-uploader/src/Controller/Api/Admin/UploaderFilesController.php index 75ee662b78..b8d6c37777 100755 --- a/plugins/bc-uploader/src/Controller/Api/Admin/UploaderFilesController.php +++ b/plugins/bc-uploader/src/Controller/Api/Admin/UploaderFilesController.php @@ -12,7 +12,9 @@ namespace BcUploader\Controller\Api\Admin; use BaserCore\Controller\Api\Admin\BcAdminApiController; +use BcUploader\Service\UploaderFilesService; use BcUploader\Service\UploaderFilesServiceInterface; +use Cake\Core\Configure; use Cake\Datasource\Exception\RecordNotFoundException; use Cake\ORM\Exception\PersistenceFailedException; use Throwable; @@ -148,4 +150,19 @@ public function delete(UploaderFilesServiceInterface $service, int $id) $this->viewBuilder()->setOption('serialize', ['uploaderFile', 'message']); } + /** + * 画像が存在するかチェックする + * + * @param UploaderFilesServiceInterface|UploaderFilesService $service + * @param string $name + * @return void + */ + public function exists_images(UploaderFilesServiceInterface $service, string $name) + { + $this->set([ + 'result' => $service->filesExistsByName($name) + ]); + $this->viewBuilder()->setOption('serialize', ['result']); + } + } diff --git a/plugins/bc-uploader/src/Event/BcUploaderViewEventListener.php b/plugins/bc-uploader/src/Event/BcUploaderViewEventListener.php index 519bc41c8e..970ad85ee0 100644 --- a/plugins/bc-uploader/src/Event/BcUploaderViewEventListener.php +++ b/plugins/bc-uploader/src/Event/BcUploaderViewEventListener.php @@ -38,12 +38,6 @@ class BcUploaderViewEventListener extends BcViewEventListener 'afterLayout' ]; - /** - * BcHtmlHelper - * @var BcHtmlHelper - */ - public BcHtmlHelper $BcHtml; - /** * After Layout * @param Event $event @@ -52,76 +46,81 @@ class BcUploaderViewEventListener extends BcViewEventListener */ public function afterLayout(Event $event) { - /** @var View $View */ - $View = $event->getSubject(); - if (!BcUtil::isAdminSystem() || $View->getName() == 'CakeError') return; - if (!$View->helpers()->has('BcHtml')) return; - - $this->BcHtml = $View->BcHtml; - - if (isset($View->BcCkeditor)) { - $output = $View->fetch('content'); -// if (preg_match_all("/\\\$\('#CkeditorSetting(.+?)'\)\.val\(\)/s", $output, $matches)) { - if(preg_match_all('/"ckeditorField":"editor_(.+?)"/', $output, $matches)) { + /** @var View $view */ + $view = $event->getSubject(); + if (!BcUtil::isAdminSystem() + || $view->getName() === 'CakeError' + || !$view->helpers()->has('BcHtml') + || !$view->helpers()->has('BcCkeditor') + ) { + return; + } - /* ckeditor_uploader.js を読み込む */ + $view->assign('content', $this->setUploader( + $view->helpers()->get('BcHtml'), + $view->fetch('content'), + $view->getRequest()->getAttribute('base') + )); + } - $jscode = $this->BcHtml->scriptBlock("var baseUrl ='" . $View->getRequest()->getAttribute('base') . "/';"); - $jscode .= $this->BcHtml->scriptBlock("var adminPrefix ='" . BcUtil::getAdminPrefix() . "';"); - $jscode .= $this->BcHtml->i18nScript([ - 'ckeditorTitle' => __d('baser_core', 'ファイルプロパティ'), - 'ckeditorAlertMessage1' => __d('baser_core', '画像を選択するか、URLを直接入力して下さい。'), - 'ckeditorInfoLabel' => __d('baser_core', 'イメージ情報'), - 'ckeditorInfoTitle' => __d('baser_core', 'イメージ情報'), - 'ckeditorDescriptionLabel' => __d('baser_core', '説明文'), - 'ckeditorCaptionLabel' => __d('baser_core', 'キャプション'), - 'ckeditorHspaceLabel' => __d('baser_core', '横間隔'), - 'ckeditorVspaceLabel' => __d('baser_core', '縦間隔'), - 'ckeditorAlignLabel' => __d('baser_core', '行揃え'), - 'ckeditorLeft' => __d('baser_core', '左'), - 'ckeditorAbsBottom' => __d('baser_core', '下部(絶対的)'), - 'ckeditorAbsMiddle' => __d('baser_core', '中央(絶対的)'), - 'ckeditorBaseline' => __d('baser_core', 'ベースライン'), - 'ckeditorBottom' => __d('baser_core', '下'), - 'ckeditorMiddle' => __d('baser_core', '中央'), - 'ckeditorRight' => __d('baser_core', '右'), - 'ckeditorTextTop' => __d('baser_core', 'テキスト上部'), - 'ckeditorTop' => __d('baser_core', '上'), - 'ckeditorSizeLabel' => __d('baser_core', 'サイズ'), - 'ckeditorOriginSize' => __d('baser_core', '元サイズ'), - 'ckeditorSmall' => __d('baser_core', '小'), - 'ckeditorMidium' => __d('baser_core', '中'), - 'ckeditorLarge' => __d('baser_core', '大'), - ], ['block' => false]); - $uploaderFilesTable = TableRegistry::getTableLocator()->get('BcUploader.UploaderFiles'); - $jscode .= $View->Html->script('BcUploader.admin/uploader_files/ckeditor_uploader.bundle', [ - 'id' => 'CkeditorUploaderScript', - 'block' => false, - 'data-imageSettings' => json_encode($uploaderFilesTable->getSettings()['fields']['name']['imagecopy']), - 'data-loaderUrl' => $this->BcHtml->Url->image('admin/ajax-loader.gif') - ]); - $output = str_replace('</head>', $jscode . '</head>', $output); + private function setUploader(BcHtmlHelper $bcHtmlHelper, string $content, string $base): string + { + if (preg_match_all('/"ckeditorField":"editor_(.+?)"/', $content, $matches)) { + /* JSを読み込む */ + $jscode = $bcHtmlHelper->scriptBlock("var baseUrl ='" . $base . "/';"); + $jscode .= $bcHtmlHelper->scriptBlock("var adminPrefix ='" . BcUtil::getAdminPrefix() . "';"); + $jscode .= $bcHtmlHelper->i18nScript([ + 'ckeditorTitle' => __d('baser_core', 'ファイルプロパティ'), + 'ckeditorAlertMessage1' => __d('baser_core', '画像を選択するか、URLを直接入力して下さい。'), + 'ckeditorInfoLabel' => __d('baser_core', 'イメージ情報'), + 'ckeditorInfoTitle' => __d('baser_core', 'イメージ情報'), + 'ckeditorDescriptionLabel' => __d('baser_core', '説明文'), + 'ckeditorCaptionLabel' => __d('baser_core', 'キャプション'), + 'ckeditorHspaceLabel' => __d('baser_core', '横間隔'), + 'ckeditorVspaceLabel' => __d('baser_core', '縦間隔'), + 'ckeditorAlignLabel' => __d('baser_core', '行揃え'), + 'ckeditorLeft' => __d('baser_core', '左'), + 'ckeditorAbsBottom' => __d('baser_core', '下部(絶対的)'), + 'ckeditorAbsMiddle' => __d('baser_core', '中央(絶対的)'), + 'ckeditorBaseline' => __d('baser_core', 'ベースライン'), + 'ckeditorBottom' => __d('baser_core', '下'), + 'ckeditorMiddle' => __d('baser_core', '中央'), + 'ckeditorRight' => __d('baser_core', '右'), + 'ckeditorTextTop' => __d('baser_core', 'テキスト上部'), + 'ckeditorTop' => __d('baser_core', '上'), + 'ckeditorSizeLabel' => __d('baser_core', 'サイズ'), + 'ckeditorOriginSize' => __d('baser_core', '元サイズ'), + 'ckeditorSmall' => __d('baser_core', '小'), + 'ckeditorMidium' => __d('baser_core', '中'), + 'ckeditorLarge' => __d('baser_core', '大'), + ], ['block' => false]); + $uploaderFilesTable = TableRegistry::getTableLocator()->get('BcUploader.UploaderFiles'); + $jscode .= $bcHtmlHelper->script('BcUploader.admin/uploader_files/ckeditor_uploader.bundle', [ + 'id' => 'CkeditorUploaderScript', + 'block' => false, + 'data-imageSettings' => json_encode($uploaderFilesTable->getSettings()['fields']['name']['imagecopy']), + 'data-loaderUrl' => $bcHtmlHelper->Url->image('admin/ajax-loader.gif') + ]); + $content = str_replace('</head>', $jscode . '</head>', $content); - /* CSSを読み込む */ - // 適用の優先順位の問題があるので、bodyタグの直後に読み込む - $css = $this->BcHtml->css('admin/uploader_files/index'); - $output = str_replace('</body>', $css . '</body>', $output); + /* CSSを読み込む */ + // 適用の優先順位の問題があるので、bodyタグの直後に読み込む + $css = $bcHtmlHelper->css('admin/uploader_files/index'); + $content = str_replace('</body>', $css . '</body>', $content); - /* VIEWのCKEDITOR読込部分のコードを書き換える */ - foreach($matches[1] as $match) { - $jscode = $this->__getCkeditorUploaderScript($match); - $pattern = "/<script>(.*?let config.+?\"ckeditorField\":\"editor_" . $match . "\".+?)<\/script>/ms"; - $matchOutput = preg_replace($pattern, $this->BcHtml->scriptBlock("$1\n" . $jscode . "\n"), $output); - if (!is_null($matchOutput)) $output = $matchOutput; - /* 通常の画像貼り付けダイアログを画像アップローダーダイアログに変換する */ - $pattern = '/("ckeditorField":"editor_' . $match . '".+?)Image(.+?")/'; - preg_match($pattern, $output, $a); - $matchOutput = preg_replace($pattern, "$1BaserUploader$2", $output); - if (!is_null($matchOutput)) $output = $matchOutput; - } - $View->assign('content', $output); + /* VIEWのCKEDITOR読込部分のコードを書き換える */ + foreach($matches[1] as $match) { + $jscode = $this->__getCkeditorUploaderScript($bcHtmlHelper, $match); + $pattern = "/<script>(.*?let config.+?\"ckeditorField\":\"editor_" . $match . "\".+?)<\/script>/ms"; + $matchOutput = preg_replace($pattern, $bcHtmlHelper->scriptBlock("$1\n" . $jscode . "\n"), $content); + if (!is_null($matchOutput)) $content = $matchOutput; + /* 通常の画像貼り付けダイアログを画像アップローダーダイアログに変換する */ + $pattern = '/("ckeditorField":"editor_' . $match . '".+?)Image(.+?")/'; + $matchOutput = preg_replace($pattern, "$1BaserUploader$2", $content); + if (!is_null($matchOutput)) $content = $matchOutput; } } + return $content; } /** @@ -132,14 +131,16 @@ public function afterLayout(Event $event) * {EDITOR_NAME}.addButton // ツールバーにボタンを追加 * ※ {EDITOR_NAME} は、コントロールのIDに変換する前提 * - * @return string + * @param BcHtmlHelper $bcHtmlHelper + * @param string $id + * @return string * @checked * @noTodo */ - private function __getCkeditorUploaderScript($id) + private function __getCkeditorUploaderScript(BcHtmlHelper $bcHtmlHelper, string $id) { $fieldName = 'editor_' . Inflector::underscore($id); - $css = $this->BcHtml->Url->css('admin/uploader_files/contents.css'); + $css = $bcHtmlHelper->Url->css('admin/uploader_files/contents.css'); $label = __d('baser_core', 'アップローダー'); return <<< DOC_END $(function(){ diff --git a/plugins/bc-uploader/src/Model/Entity/UploaderFile.php b/plugins/bc-uploader/src/Model/Entity/UploaderFile.php index 347849756a..10716e34f3 100644 --- a/plugins/bc-uploader/src/Model/Entity/UploaderFile.php +++ b/plugins/bc-uploader/src/Model/Entity/UploaderFile.php @@ -104,6 +104,7 @@ protected function _getLarge() * @return string * @checked * @noTodo + * @unitTest */ private function getFileNameBySize(string $size): string { @@ -139,6 +140,7 @@ public function fileExists($fileName) * @return bool * @checked * @noTodo + * @unitTest */ public function isLimited() { diff --git a/plugins/bc-uploader/src/Model/Table/UploaderFilesTable.php b/plugins/bc-uploader/src/Model/Table/UploaderFilesTable.php index 05c7bbb7ad..3078916e64 100755 --- a/plugins/bc-uploader/src/Model/Table/UploaderFilesTable.php +++ b/plugins/bc-uploader/src/Model/Table/UploaderFilesTable.php @@ -107,6 +107,7 @@ public function setupUploadBehavior() * @return bool * @checked * @noTodo + * @unitTest */ public function checkPeriod($value, $context = null) { @@ -220,6 +221,7 @@ public function beforeSave(EventInterface $event, EntityInterface $entity, Array * @return mixed * @checked * @noTodo + * @unitTest */ public function getSourceFileName($fileName) { diff --git a/plugins/bc-uploader/src/Service/UploaderFilesService.php b/plugins/bc-uploader/src/Service/UploaderFilesService.php index 87cba4c0b0..1d5370977e 100644 --- a/plugins/bc-uploader/src/Service/UploaderFilesService.php +++ b/plugins/bc-uploader/src/Service/UploaderFilesService.php @@ -17,6 +17,7 @@ use BaserCore\Error\BcException; use BaserCore\Utility\BcContainerTrait; use BaserCore\Utility\BcUtil; +use BcUploader\Model\Entity\UploaderFile; use BcUploader\Model\Table\UploaderFilesTable; use Cake\Datasource\EntityInterface; use Cake\ORM\TableRegistry; @@ -281,4 +282,20 @@ public function getNew() ]); } + /** + * ファイル名から実ファイルが存在するかどうかを取得する + * @param string $name + * @return array|false + */ + public function filesExistsByName(string $name) + { + /** @var UploaderFile $entity */ + $entity = $this->UploaderFiles->find()->where(['UploaderFiles.name' => $name])->first(); + if ($entity) { + return $entity->filesExists(); + } else { + return false; + } + } + } diff --git a/plugins/bc-uploader/src/Service/UploaderFilesServiceInterface.php b/plugins/bc-uploader/src/Service/UploaderFilesServiceInterface.php index 12458e9722..d6f1582c13 100644 --- a/plugins/bc-uploader/src/Service/UploaderFilesServiceInterface.php +++ b/plugins/bc-uploader/src/Service/UploaderFilesServiceInterface.php @@ -33,4 +33,11 @@ interface UploaderFilesServiceInterface */ public function getControlSource($field = null, $options = []); + /** + * ファイル名から実ファイルが存在するかどうかを取得する + * @param string $name + * @return array|false + */ + public function filesExistsByName(string $name); + } diff --git a/plugins/bc-uploader/src/ServiceProvider/BcUploaderServiceProvider.php b/plugins/bc-uploader/src/ServiceProvider/BcUploaderServiceProvider.php index 1ad1cea116..da21e27495 100755 --- a/plugins/bc-uploader/src/ServiceProvider/BcUploaderServiceProvider.php +++ b/plugins/bc-uploader/src/ServiceProvider/BcUploaderServiceProvider.php @@ -46,6 +46,7 @@ class BcUploaderServiceProvider extends ServiceProvider * @param \Cake\Core\ContainerInterface $container * @checked * @noTodo + * @unitTest */ public function services($container): void { diff --git a/plugins/bc-uploader/src/View/Helper/UploaderHelper.php b/plugins/bc-uploader/src/View/Helper/UploaderHelper.php index eb3e00f10b..cee00b45c0 100755 --- a/plugins/bc-uploader/src/View/Helper/UploaderHelper.php +++ b/plugins/bc-uploader/src/View/Helper/UploaderHelper.php @@ -101,6 +101,7 @@ public function file(UploaderFile $uploaderFile, array $options = []) * @return string * @checked * @noTodo + * @unitTest */ public function getFileUrl($fileName) { diff --git a/plugins/bc-uploader/tests/TestCase/BcUploaderPluginTest.php b/plugins/bc-uploader/tests/TestCase/BcUploaderPluginTest.php new file mode 100644 index 0000000000..ce3083b326 --- /dev/null +++ b/plugins/bc-uploader/tests/TestCase/BcUploaderPluginTest.php @@ -0,0 +1,41 @@ +<?php + +namespace BcUploader\Test\TestCase; + +use BaserCore\TestSuite\BcTestCase; +use BcUploader\BcUploaderPlugin; +use BcUploader\Service\Admin\UploaderFilesAdminServiceInterface; +use BcUploader\Service\UploaderCategoriesServiceInterface; +use BcUploader\Service\UploaderConfigsServiceInterface; +use BcUploader\Service\UploaderFilesServiceInterface; +use Cake\Core\Container; + +class BcUploaderPluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcUploader = new BcUploaderPlugin(['name' => 'BcUploader']); + } + + public function tearDown(): void + { + unset($this->BcUploader); + parent::tearDown(); + } + + public function test_services() + { + $container = new Container(); + $this->BcUploader->services($container); + $this->assertTrue($container->has(UploaderCategoriesServiceInterface::class)); + $this->assertTrue($container->has(UploaderConfigsServiceInterface::class)); + $this->assertTrue($container->has(UploaderFilesServiceInterface::class)); + $this->assertTrue($container->has(UploaderFilesAdminServiceInterface::class)); + } + + public function test_routes() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } +} \ No newline at end of file diff --git a/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderCategoriesControllerTest.php b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderCategoriesControllerTest.php index b83e4f83a7..f9c172c4bd 100644 --- a/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderCategoriesControllerTest.php +++ b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderCategoriesControllerTest.php @@ -56,6 +56,18 @@ public function tearDown(): void $this->truncateTable('uploader_files'); } + /** + * test index + */ + public function test_index() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + $this->get('/baser/admin/bc-uploader/uploader_categories/index'); + $this->assertResponseOk(); + } + /** * Test beforeAddEvent */ @@ -143,4 +155,91 @@ public function testAfterEditEvent() $query = $uploaderCategories->find()->where(['name' => 'afterAdd']); $this->assertEquals(1, $query->count()); } + + /** + * test add + */ + public function test_add() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/add', ['name' => 'japan']); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードカテゴリ「japan」を追加しました。'); + $this->assertRedirect('/baser/admin/bc-uploader/uploader_categories/index'); + + //異常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/add', ['name' => '']); + $this->assertResponseCode(200); + $errors = $this->_controller->viewBuilder()->getVars()['uploaderCategory']->getErrors(); + $this->assertEquals(['_empty' => 'カテゴリ名を入力してください。'], $errors['name']); + } + + /** + * test edit + * + */ + public function test_edit() + { + $this->loadFixtureScenario(UploaderCategoriesScenario::class); + + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/edit/1', ['name' => 'japan']); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードカテゴリ「japan」を更新しました。'); + $this->assertRedirect('/baser/admin/bc-uploader/uploader_categories/index'); + + //異常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/edit/1', ['name' => null]); + $this->assertResponseCode(200); + $errors = $this->_controller->viewBuilder()->getVars()['uploaderCategory']->getErrors(); + $this->assertEquals(['_empty' => 'カテゴリ名を入力してください。'], $errors['name']); + } + + + /** + * test delete + */ + public function test_delete() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + $this->loadFixtureScenario(UploaderCategoriesScenario::class); + + //正常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/delete/1'); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードカテゴリ「blog」を削除しました。'); + + //異常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/delete/10'); + $this->assertResponseCode(302); + $this->assertFlashMessage('データベース処理中にエラーが発生しました。Record not found in table `uploader_categories`.'); + $this->assertRedirect('/baser/admin/bc-uploader/uploader_categories/index'); + } + + /** + * Test coppy + */ + public function test_copy(){ + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + $this->loadFixtureScenario(UploaderCategoriesScenario::class); + + //正常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/copy/1'); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードカテゴリ「blog」をコピーしました。'); + + //異常系実行 + $this->post('/baser/admin/bc-uploader/uploader_categories/copy/10'); + $this->assertResponseCode(302); + $this->assertFlashMessage('データベース処理中にエラーが発生しました。__clone method called on non-object'); + } } diff --git a/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderConfigsControllerTest.php b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderConfigsControllerTest.php new file mode 100644 index 0000000000..bb51538ea6 --- /dev/null +++ b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderConfigsControllerTest.php @@ -0,0 +1,46 @@ +<?php + +namespace BcUploader\Test\TestCase\Controller\Admin; + +use BaserCore\Test\Scenario\InitAppScenario; +use BaserCore\TestSuite\BcTestCase; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; + +class UploaderConfigsControllerTest extends BcTestCase +{ + + use ScenarioAwareTrait; + + public $UploaderConfigsController; + + public function setUp(): void + { + parent::setUp(); + $this->loadFixtureScenario(InitAppScenario::class); + } + + public function tearDown(): void + { + unset($this->UploaderConfigsController); + parent::tearDown(); + } + + /** + * test index + */ + public function test_index() + { + $this->loginAdmin($this->getRequest('/')); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 + $this->get("/baser/admin/bc-uploader/uploader_configs/index"); + $this->assertResponseCode(200); + + $this->post("/baser/admin/bc-uploader/uploader_configs/index", ['name_add' => 'value_add']); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップローダー設定を保存しました。'); + $this->assertRedirect("/baser/admin/bc-uploader/uploader_configs/index"); + } +} \ No newline at end of file diff --git a/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderFilesControllerTest.php b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderFilesControllerTest.php new file mode 100644 index 0000000000..828d20416e --- /dev/null +++ b/plugins/bc-uploader/tests/TestCase/Controller/Admin/UploaderFilesControllerTest.php @@ -0,0 +1,113 @@ +<?php + +namespace BcUploader\Test\TestCase\Controller\Admin; + +use BaserCore\Test\Scenario\InitAppScenario; +use BaserCore\TestSuite\BcTestCase; +use BcUploader\Controller\Admin\UploaderFilesController; +use BcUploader\Test\Factory\UploaderFileFactory; +use BcUploader\Test\Scenario\UploaderFilesScenario; +use Cake\Event\Event; +use Cake\TestSuite\IntegrationTestTrait; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; + +class UploaderFilesControllerTest extends BcTestCase +{ + use ScenarioAwareTrait; + use IntegrationTestTrait; + + public function setUp(): void + { + parent::setUp(); + $this->loadFixtureScenario(InitAppScenario::class); + $this->UploaderFilesController = new UploaderFilesController($this->loginAdmin($this->getRequest())); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test beforeFilter + */ + public function test_beforeFilter(){ + $event = new Event('Controller.beforeFilter', $this->UploaderFilesController); + $this->UploaderFilesController->beforeFilter($event); + $this->assertNotEmpty($this->UploaderFilesController->viewBuilder()->getHelpers()); + } + + public function test_index() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } + + public function test_ajax_index() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } + + public function test_ajax_list() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } + + public function test_ajax_image() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } + + public function test_ajax_exists_images() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } + + public function test_edit() + { + $this->loadFixtureScenario(UploaderFilesScenario::class); + + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + //正常系実行 + $data = UploaderFileFactory::get(1); + $data->alt = 'test edit'; + $this->post("/baser/admin/bc-uploader/uploader_files/edit/1", $data->toArray()); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードファイル「social_new.jpg」を更新しました。'); + $this->assertRedirect('/baser/admin/bc-uploader/uploader_files/index'); + + //異常系実行 + $data->id = null; + $this->post("/baser/admin/bc-uploader/uploader_files/edit/1", $data->toArray()); + $this->assertResponseCode(200); + $errors = $this->_controller->viewBuilder()->getVars()['uploaderFile']->getErrors(); + $this->assertEquals(['_empty' => 'This field cannot be left empty'], $errors['id']); + } + + /** + * test delete + */ + public function test_delete() + { + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + $this->loadFixtureScenario(UploaderFilesScenario::class); + + //正常系実行 + $this->post("/baser/admin/bc-uploader/uploader_files/delete/1"); + $this->assertResponseCode(302); + $this->assertFlashMessage('アップロードファイル「social_new.jpg」を削除しました。'); + $this->assertRedirect('/baser/admin/bc-uploader/uploader_files/index'); + + //check after delete is not exist + $this->expectException('Cake\Datasource\Exception\RecordNotFoundException'); + UploaderFileFactory::get(1); + } + + public function test_ajax_get_search_box() + { + $this->markTestIncomplete('こちらのテストはまだ未確認です'); + } +} \ No newline at end of file diff --git a/plugins/bc-uploader/tests/TestCase/Model/Entity/UploaderFileTest.php b/plugins/bc-uploader/tests/TestCase/Model/Entity/UploaderFileTest.php new file mode 100644 index 0000000000..79f701170f --- /dev/null +++ b/plugins/bc-uploader/tests/TestCase/Model/Entity/UploaderFileTest.php @@ -0,0 +1,99 @@ +<?php + +namespace BcUploader\Test\TestCase\Model\Entity; + +use BaserCore\TestSuite\BcTestCase; +use BcUploader\Model\Entity\UploaderFile; +use BcUploader\Test\Scenario\UploaderFilesScenario; +use CakephpFixtureFactories\Scenario\ScenarioAwareTrait; + +class UploaderFileTest extends BcTestCase +{ + /** + * Trait + */ + use ScenarioAwareTrait; + + /** + * @var UploaderFile + */ + public $UploaderFile; + public function setUp(): void + { + parent::setUp(); + $this->UploaderFile = $this->getTableLocator()->get('BcUploader.UploaderFiles'); + } + + public function tearDown(): void + { + unset($this->UploaderFile); + parent::tearDown(); + } + + public function test_filesExists() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + + public function test_getSmall() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + + public function test_getMedium() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + + public function test_getLarge() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + + /** + * test getFileNameBySize + */ + public function test_getFileNameBySize() + { + $this->loadFixtureScenario(UploaderFilesScenario::class); + $uploaderFile = $this->UploaderFile->get(1); + + $result = $this->execPrivateMethod($uploaderFile, 'getFileNameBySize', ['small']); + $this->assertEquals('social_new__small.jpg', $result); + + $result = $this->execPrivateMethod($uploaderFile, 'getFileNameBySize', ['midium']); + $this->assertEquals('social_new__midium.jpg', $result); + + $result = $this->execPrivateMethod($uploaderFile, 'getFileNameBySize', ['large']); + $this->assertEquals('social_new__large.jpg', $result); + + $result = $this->execPrivateMethod($uploaderFile, 'getFileNameBySize', ['mobile_small']); + $this->assertEquals('social_new__mobile_small.jpg', $result); + } + + public function test_fileExists() + { + $this->markTestIncomplete('このテストは、まだ実装されていません。'); + } + + /** + * test isLimited + */ + public function test_isLimited() + { + //isLimited true + $uploaderFile = new UploaderFile([ + 'publish_begin' => '2021-01-01 00:00:00', + 'publish_end' => '2021-12-31 23:59:59', + ]); + $this->assertTrue($uploaderFile->isLimited()); + + //isLimited false + $uploaderFile = new UploaderFile([ + 'publish_begin' => null, + 'publish_end' => null, + ]); + $this->assertFalse($uploaderFile->isLimited()); + } + +} \ No newline at end of file diff --git a/plugins/bc-uploader/tests/TestCase/Model/Table/UploaderFilesTableTest.php b/plugins/bc-uploader/tests/TestCase/Model/Table/UploaderFilesTableTest.php index 3d73116494..80ac68c164 100644 --- a/plugins/bc-uploader/tests/TestCase/Model/Table/UploaderFilesTableTest.php +++ b/plugins/bc-uploader/tests/TestCase/Model/Table/UploaderFilesTableTest.php @@ -56,12 +56,27 @@ public function test_initialize() } /** * 公開期間をチェックする + * @dataProvider periodDataProvider */ - public function testCheckPeriod() + public function testCheckPeriod($publishBegin, $publishEnd, $expected) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $context = [ + 'data' => [ + 'publish_begin' => $publishBegin, + 'publish_end' => $publishEnd, + ] + ]; + $rs = $this->UploaderFilesTable->checkPeriod(null, $context); + $this->assertEquals($expected, $rs); } + public static function periodDataProvider() + { + return [ + ['2021-01-01 00:00:00', '2021-01-02 00:00:00', true], + ['2021-01-02 00:00:00', '2021-01-01 00:00:00', false], + ]; + } /** * Before Save */ @@ -88,12 +103,25 @@ public function testFilesExists() /** * ソースファイルの名称を取得する + * @dataProvider getSourceFileNameDataProvider */ - public function testGetSourceFileName() + public function testGetSourceFileName($fileName, $expected) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->assertEquals($expected, $this->UploaderFilesTable->getSourceFileName($fileName)); } + public static function getSourceFileNameDataProvider() + { + return [ + ['example__large.jpg', 'example.jpg'], + ['example__midium.png', 'example.png'], + ['example__small.jpg', 'example.jpg'], + ['example__mobile_large.jpg', 'example.jpg'], + ['example__mobile_small.git', 'example.git'], + ]; + } + + /** * Before Delete */ diff --git a/plugins/bc-uploader/tests/TestCase/ServiceProvider/BcUploaderServiceProviderTest.php b/plugins/bc-uploader/tests/TestCase/ServiceProvider/BcUploaderServiceProviderTest.php new file mode 100644 index 0000000000..c9df23bd46 --- /dev/null +++ b/plugins/bc-uploader/tests/TestCase/ServiceProvider/BcUploaderServiceProviderTest.php @@ -0,0 +1,36 @@ +<?php + +namespace BcUploader\Test\TestCase\ServiceProvider; + +use BaserCore\TestSuite\BcTestCase; +use BcUploader\Service\Admin\UploaderFilesAdminServiceInterface; +use BcUploader\Service\UploaderCategoriesServiceInterface; +use BcUploader\Service\UploaderConfigsServiceInterface; +use BcUploader\Service\UploaderFilesServiceInterface; +use BcUploader\ServiceProvider\BcUploaderServiceProvider; +use Cake\Core\Container; + +class BcUploaderServiceProviderTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcUploaderServiceProvider = new BcUploaderServiceProvider(); + } + + public function tearDown(): void + { + unset($this->BcUploaderServiceProvider); + parent::tearDown(); + } + + public function test_services() + { + $container = new Container(); + $this->BcUploaderServiceProvider->services($container); + $this->assertTrue($container->has(UploaderCategoriesServiceInterface::class)); + $this->assertTrue($container->has(UploaderConfigsServiceInterface::class)); + $this->assertTrue($container->has(UploaderFilesServiceInterface::class)); + $this->assertTrue($container->has(UploaderFilesAdminServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-uploader/tests/TestCase/View/Helper/UploaderHelperTest.php b/plugins/bc-uploader/tests/TestCase/View/Helper/UploaderHelperTest.php index 10531de048..1d7a7cded5 100644 --- a/plugins/bc-uploader/tests/TestCase/View/Helper/UploaderHelperTest.php +++ b/plugins/bc-uploader/tests/TestCase/View/Helper/UploaderHelperTest.php @@ -1,7 +1,9 @@ <?php namespace BcUploader\Test\TestCase\View\Helper; +use App\View\AppView; use BcUploader\View\Helper\UploaderHelper; use BaserCore\TestSuite\BcTestCase; +use Cake\Event\Event; /** * baserCMS : Based Website Development Project <https://basercms.net> @@ -26,6 +28,8 @@ class UploaderHelperTest extends BcTestCase public function setUp(): void { parent::setUp(); + $this->UploaderHelper = new UploaderHelper(new AppView($this->getRequest('/'))); + $this->UploaderHelper->beforeRender(new Event('beforeRender'), ''); } /** @@ -54,10 +58,20 @@ public function testFile() /** * ファイルが保存されているURLを取得する + * @dataProvider getFileUrlProviderData */ - public function testGetFileUrl() + public function testGetFileUrl($fileName, $expected) { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $rs = $this->UploaderHelper->getFileUrl($fileName); + $this->assertEquals($expected, $rs); + } + + public static function getFileUrlProviderData() + { + return [ + ['', ''], + ['test.jpg', '/files/uploads/test.jpg'] + ]; } /** diff --git a/plugins/bc-widget-area/src/Plugin.php b/plugins/bc-widget-area/src/BcWidgetAreaPlugin.php similarity index 93% rename from plugins/bc-widget-area/src/Plugin.php rename to plugins/bc-widget-area/src/BcWidgetAreaPlugin.php index 4c49e02973..907ea608db 100644 --- a/plugins/bc-widget-area/src/Plugin.php +++ b/plugins/bc-widget-area/src/BcWidgetAreaPlugin.php @@ -21,7 +21,7 @@ /** * Class Plugin */ -class Plugin extends BcPlugin +class BcWidgetAreaPlugin extends BcPlugin { /** @@ -29,6 +29,7 @@ class Plugin extends BcPlugin * @param ContainerInterface $container * @noTodo * @checked + * @unitTest */ public function services(ContainerInterface $container): void { diff --git a/plugins/bc-widget-area/src/Controller/Admin/WidgetAreasController.php b/plugins/bc-widget-area/src/Controller/Admin/WidgetAreasController.php index 7ed4e1ac03..3a2c499d67 100644 --- a/plugins/bc-widget-area/src/Controller/Admin/WidgetAreasController.php +++ b/plugins/bc-widget-area/src/Controller/Admin/WidgetAreasController.php @@ -55,6 +55,7 @@ public function index(WidgetAreasServiceInterface $service) * @return void|ResponseInterface * @checked * @noTodo + * @unitTest */ public function add(WidgetAreasServiceInterface $service) { diff --git a/plugins/bc-widget-area/src/Event/BcWidgetAreaControllerEventListener.php b/plugins/bc-widget-area/src/Event/BcWidgetAreaControllerEventListener.php index 95a9a1d7f0..938ac9be72 100644 --- a/plugins/bc-widget-area/src/Event/BcWidgetAreaControllerEventListener.php +++ b/plugins/bc-widget-area/src/Event/BcWidgetAreaControllerEventListener.php @@ -42,7 +42,14 @@ class BcWidgetAreaControllerEventListener extends BcControllerEventListener */ public function startup(Event $event) { - if(BcUtil::isAdminSystem()) return; + $controller = $event->getSubject(); + $request = $controller->getRequest(); + if(BcUtil::isAdminSystem() + && $controller->getName() !== 'Preview' + && !$request->getParam('preview') + ){ + return; + } /** @var Controller $controller */ $controller = $event->getSubject(); $controller->set('currentWidgetAreaId', BcSiteConfig::get('widget_area')); diff --git a/plugins/bc-widget-area/src/Model/Entity/WidgetArea.php b/plugins/bc-widget-area/src/Model/Entity/WidgetArea.php index 67ad32bddd..a3aacf340c 100644 --- a/plugins/bc-widget-area/src/Model/Entity/WidgetArea.php +++ b/plugins/bc-widget-area/src/Model/Entity/WidgetArea.php @@ -55,6 +55,7 @@ class WidgetArea extends \Cake\ORM\Entity * @return array|mixed * @checked * @noTodo + * @unitTest */ protected function _getWidgetsArray() { @@ -86,6 +87,7 @@ protected function _getWidgetsArray() * @return string|null * @checked * @noTodo + * @unitTest */ protected function _setWidgets($value) { @@ -105,6 +107,7 @@ protected function _setWidgets($value) * @return int * @checked * @noTodo + * @unitTest */ protected function _getCount() { diff --git a/plugins/bc-widget-area/src/View/Helper/BcWidgetAreaBaserHelper.php b/plugins/bc-widget-area/src/View/Helper/BcWidgetAreaBaserHelper.php index a685324e2a..cce9e087cb 100644 --- a/plugins/bc-widget-area/src/View/Helper/BcWidgetAreaBaserHelper.php +++ b/plugins/bc-widget-area/src/View/Helper/BcWidgetAreaBaserHelper.php @@ -37,6 +37,7 @@ class BcWidgetAreaBaserHelper extends Helper implements BcPluginBaserHelperInter * @return array[] * @checked * @noTodo + * @unitTest */ public function methods(): array { diff --git a/plugins/bc-widget-area/tests/TestCase/BcWidgetAreaPluginTest.php b/plugins/bc-widget-area/tests/TestCase/BcWidgetAreaPluginTest.php new file mode 100644 index 0000000000..4c1eedde41 --- /dev/null +++ b/plugins/bc-widget-area/tests/TestCase/BcWidgetAreaPluginTest.php @@ -0,0 +1,32 @@ +<?php + +namespace BcWidgetArea\Test\TestCase; + +use BaserCore\TestSuite\BcTestCase; +use BcWidgetArea\BcWidgetAreaPlugin; +use BcWidgetArea\Service\Admin\WidgetAreasAdminServiceInterface; +use BcWidgetArea\Service\WidgetAreasServiceInterface; +use Cake\Core\Container; + +class BcWidgetAreaPluginTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcWidgetAreaPlugin = new BcWidgetAreaPlugin(['name' => 'BcWidgetArea']); + } + + public function tearDown(): void + { + unset($this->BcWidgetAreaPlugin); + parent::tearDown(); + } + + public function test_services(): void + { + $container = new Container(); + $this->BcWidgetAreaPlugin->services($container); + $this->assertTrue($container->has(WidgetAreasServiceInterface::class)); + $this->assertTrue($container->has(WidgetAreasAdminServiceInterface::class)); + } +} \ No newline at end of file diff --git a/plugins/bc-widget-area/tests/TestCase/Controller/Admin/WidgetAreasControllerTest.php b/plugins/bc-widget-area/tests/TestCase/Controller/Admin/WidgetAreasControllerTest.php index fc238ecd38..f840c441bd 100644 --- a/plugins/bc-widget-area/tests/TestCase/Controller/Admin/WidgetAreasControllerTest.php +++ b/plugins/bc-widget-area/tests/TestCase/Controller/Admin/WidgetAreasControllerTest.php @@ -75,7 +75,36 @@ public function testAdmin_index() */ public function testAdmin_add() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->loginAdmin($this->getRequest('/')); + $this->enableSecurityToken(); + $this->enableCsrfToken(); + + // データ生成 + $data = [ + 'name' => 'test', + 'widgets' => serialize([ + [ + 1 => 'test 1', + 2 => 'test 2' + ] + ]) + ]; + + //正常系実行 + $this->post('/baser/admin/bc-widget-area/widget_areas/add', $data); + $this->assertResponseCode(302); + $this->assertFlashMessage('新しいウィジェットエリアを保存しました。'); + $this->assertRedirect('/baser/admin/bc-widget-area/widget_areas/edit/1'); + + //データが空の場合、 + $data = [ + 'name' => '', + 'widgets' => '' + ]; + $this->post('/baser/admin/bc-widget-area/widget_areas/add', $data); + $vars = $this->_controller->viewBuilder()->getVars(); + $this->assertEquals(['name' => ['_empty' => "ウィジェットエリア名を入力してください。"]], $vars['widgetArea']->getErrors()); + $this->assertResponseCode(200); } /** diff --git a/plugins/bc-widget-area/tests/TestCase/Model/Entity/WidgetAreaTest.php b/plugins/bc-widget-area/tests/TestCase/Model/Entity/WidgetAreaTest.php new file mode 100644 index 0000000000..e3df5626d7 --- /dev/null +++ b/plugins/bc-widget-area/tests/TestCase/Model/Entity/WidgetAreaTest.php @@ -0,0 +1,82 @@ +<?php + +namespace BcWidgetArea\Test\TestCase\Model\Entity; + +use BaserCore\TestSuite\BcTestCase; +use BcWidgetArea\Model\Entity\WidgetArea; + +class WidgetAreaTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->WidgetArea = $this->getTableLocator()->get('BcWidgetArea.WidgetAreas'); + } + + public function tearDown(): void + { + unset($this->WidgetArea); + parent::tearDown(); + } + + /** + * test _getCount + */ + public function test_getCount() + { + $widgetArea = new WidgetArea([ + 'widgets' => 'a:1:{i:0;a:1:{s:4:"test";a:2:{s:4:"sort";i:1;s:4:"name";s:4:"test";}}}', + ]); + $getCount = $this->execPrivateMethod($widgetArea, '_getCount', []); + $this->assertEquals(1, $getCount); + } + + /** + * test _getWidgetsArray + */ + public function test_getWidgetsArray() + { + $widgetArea = new WidgetArea([ + 'widgets' => 'a:1:{i:0;a:1:{s:4:"test";a:2:{s:4:"sort";i:1;s:4:"name";s:4:"test";}}}', + ]); + //正常系実行 + $getWidgetsArray = $this->execPrivateMethod($widgetArea, '_getWidgetsArray', []); + $this->assertEquals([ + 0 => [ + 'test' => [ + 'sort' => 1, + 'name' => 'test', + ], + ], + ], $getWidgetsArray); + + //case empty fields widgets + $widgetArea = new WidgetArea([ + 'widgets' => '', + ]); + $getWidgetsArray = $this->execPrivateMethod($widgetArea, '_getWidgetsArray', []); + $this->assertEquals([], $getWidgetsArray); + } + + /** + * test _setWidgets + */ + public function test_setWidgets() + { + $widgetArea = new WidgetArea(); + + //正常系実行 + $setWidgets = $this->execPrivateMethod($widgetArea, '_setWidgets', + [['test' => ['sort' => 1, 'name' => 'test']]]); + $this->assertEquals('YToxOntzOjQ6InRlc3QiO2E6Mjp7czo0OiJzb3J0IjtpOjE7czo0OiJuYW1lIjtzOjQ6InRlc3QiO319', + $setWidgets); + + //case is not array + $setWidgets = $this->execPrivateMethod($widgetArea, '_setWidgets', ['test']); + $this->assertEquals('test', $setWidgets); + + //case is array but value is empty + $setWidgets = $this->execPrivateMethod($widgetArea, '_setWidgets', [[]]); + $this->assertNull($setWidgets); + } +} \ No newline at end of file diff --git a/plugins/bc-widget-area/tests/TestCase/Service/Admin/WidgetAreasAdminServiceTest.php b/plugins/bc-widget-area/tests/TestCase/Service/Admin/WidgetAreasAdminServiceTest.php index d0073bc43f..d8ba33245a 100644 --- a/plugins/bc-widget-area/tests/TestCase/Service/Admin/WidgetAreasAdminServiceTest.php +++ b/plugins/bc-widget-area/tests/TestCase/Service/Admin/WidgetAreasAdminServiceTest.php @@ -74,7 +74,7 @@ public function test_getWidgetInfos() 'paths' => ['/var/www/html/plugins/bc-admin-third/templates/Admin/element/widget'] ], $result[0]); //正常系実行 - Configure::write('BcRequest.isInstalled', true); + Configure::write('BcEnv.isInstalled', true); $result = $this->execPrivateMethod($this->WidgetAreasAdminService, 'getWidgetInfos'); $this->assertCount(1, $result); $this->assertEquals('BaserCore', $result[0]['plugin']); diff --git a/plugins/bc-widget-area/tests/TestCase/View/Helper/BcWidgetAreaBaserHelperTest.php b/plugins/bc-widget-area/tests/TestCase/View/Helper/BcWidgetAreaBaserHelperTest.php new file mode 100644 index 0000000000..1f75af9aa4 --- /dev/null +++ b/plugins/bc-widget-area/tests/TestCase/View/Helper/BcWidgetAreaBaserHelperTest.php @@ -0,0 +1,32 @@ +<?php + +namespace BcWidgetArea\Test\TestCase\View\Helper; + +use BaserCore\TestSuite\BcTestCase; +use BcWidgetArea\View\Helper\BcWidgetAreaBaserHelper; +use Cake\View\View; + +class BcWidgetAreaBaserHelperTest extends BcTestCase +{ + public function setUp(): void + { + parent::setUp(); + $this->BcWidgetAreaBaserHelper = new BcWidgetAreaBaserHelper(new View()); + } + + public function tearDown(): void + { + parent::tearDown(); + } + + /** + * test methods + */ + + public function test_methods() + { + $methods = $this->BcWidgetAreaBaserHelper->methods(); + $this->assertEquals(['BcWidgetArea', 'widgetArea'], $methods['widgetArea']); + $this->assertEquals(['BcWidgetArea', 'getWidgetArea'], $methods['getWidgetArea']); + } +} \ No newline at end of file diff --git a/plugins/cakephp-soft-delete/.gitignore b/plugins/cakephp-soft-delete/.gitignore deleted file mode 100644 index cf4cd5ad7f..0000000000 --- a/plugins/cakephp-soft-delete/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.idea -.vagrant -composer.lock -Vagrantfile -vendor -.phpunit.result.cache diff --git a/plugins/cakephp-soft-delete/.travis.yml b/plugins/cakephp-soft-delete/.travis.yml deleted file mode 100644 index 4e9e3fcbbf..0000000000 --- a/plugins/cakephp-soft-delete/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -language: php - -php: - - 5.4 - - 5.5 - - 5.6 - -install: - - composer self-update - - composer install --dev diff --git a/plugins/cakephp-soft-delete/README.md b/plugins/cakephp-soft-delete/README.md deleted file mode 100644 index 4588691506..0000000000 --- a/plugins/cakephp-soft-delete/README.md +++ /dev/null @@ -1,117 +0,0 @@ -# SoftDelete plugin for CakePHP 4 - -[![Build status](https://api.travis-ci.org/PGBI/cakephp3-soft-delete.png?branch=master)](https://travis-ci.org/PGBI/cakephp3-soft-delete) - -## Purpose - -This Cakephp plugin enables you to make your models soft deletable. -When soft deleting an entity, it is not actually removed from your database. Instead, a `deleted` timestamp is set on the record. - -## Requirements - -This plugins has been developed for cakephp 4.x. - -## Installation - -You can install this plugin into your CakePHP application using [composer](http://getcomposer.org). - -Update your composer file to include this plugin: - -``` -composer require imo-tikuwa/cakephp-soft-delete "2.*" -``` - -## Configuration - -### Load the plugin: -``` -// In /config/bootstrap.php -Plugin::load('SoftDelete'); -``` -### Make a model soft deleteable: - -Use the SoftDelete trait on your model Table class: - -``` -// in src/Model/Table/UsersTable.php -... -use SoftDelete\Model\Table\SoftDeleteTrait; - -class UsersTable extends Table -{ - use SoftDeleteTrait; - ... -``` - -Your soft deletable model database table should have a field called `deleted` of type DateTime with NULL as default value. -If you want to customise this field you can declare the field in your Table class. - -```php -// in src/Model/Table/UsersTable.php -... -use SoftDelete\Model\Table\SoftDeleteTrait; - -class UsersTable extends Table -{ - use SoftDeleteTrait; - - protected $softDeleteField = 'deleted_date'; - ... -``` - -## Use - -### Soft deleting records - -`delete` and `deleteAll` functions will now soft delete records by populating `deleted` field with the date of the deletion. - -```php -// in src/Model/Table/UsersTable.php -$this->delete($user); // $user entity is now soft deleted if UsersTable uses SoftDeleteTrait. -``` - -### Restoring Soft deleted records - -To restore a soft deleted entity into an active state, use the `restore` method: - -```php -// in src/Model/Table/UsersTable.php -// Let's suppose $user #1 is soft deleted. -$user = $this->Users->find('all', ['withDeleted'])->where('id', 1)->first(); -$this->restore($user); // $user #1 is now restored. -``` - -### Finding records - -`find`, `get` or dynamic finders (such as `findById`) will only return non soft deleted records. -To also return soft deleted records, `$options` must contain `'withDeleted'`. Example: - -```php -// in src/Model/Table/UsersTable.php -$nonSoftDeletedRecords = $this->find('all'); -$allRecords = $this->find('all', ['withDeleted']); -``` - -### Hard deleting records - -To hard delete a single entity: -```php -// in src/Model/Table/UsersTable.php -$user = $this->get($userId); -$success = $this->hardDelete($user); -``` - -To mass hard delete records that were soft deleted before a given date, you can use hardDeleteAll($date): - -``` -// in src/Model/Table/UsersTable.php -$date = new \DateTime('some date'); -$affectedRowsCount = $this->hardDeleteAll($date); -``` - -## Soft deleting & associations - -Associations are correctly handled by SoftDelete plugin. - -1. Soft deletion will be cascaded to related models as usual. If related models also use SoftDelete Trait, they will be soft deleted. -2. Soft deletes records will be excluded from counter caches. diff --git a/plugins/cakephp-soft-delete/composer.json b/plugins/cakephp-soft-delete/composer.json deleted file mode 100644 index 1c372022ca..0000000000 --- a/plugins/cakephp-soft-delete/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "imo-tikuwa/cakephp-soft-delete", - "description": "SoftDelete plugin for CakePHP", - "keywords": ["cakephp", "cakephp 4", "plugin", "soft", "delete", "deletable"], - "homepage": "https://github.com/imo-tikuwa/cakephp-soft-delete", - "type": "cakephp-plugin", - "license": "MIT", - "support": { - "source": "https://github.com/imo-tikuwa/cakephp-soft-delete" - }, - "require": { - "php": ">=8.1", - "cakephp/plugin-installer": "^2.0", - "cakephp/cakephp": "5.0.*" - }, - "require-dev": { - "cakephp/cakephp-codesniffer": "^5.0", - "phpunit/phpunit": "^10.1.0", - "cakephp/migrations": "^4.0.0" - }, - "autoload": { - "psr-4": { - "SoftDelete\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "SoftDelete\\Test\\": "tests", - "Cake\\Test\\": "../../vendor/cakephp/cakephp/tests" - } - }, - "scripts": { - "check": [ - "@test", - "@cs-check" - ], - "cs-check": "phpcs --colors -p src/ tests/", - "test": "phpunit --colors=always" - } -} diff --git a/plugins/cakephp-soft-delete/config/schema/schema.sql b/plugins/cakephp-soft-delete/config/schema/schema.sql deleted file mode 100644 index 3d36ffbc21..0000000000 --- a/plugins/cakephp-soft-delete/config/schema/schema.sql +++ /dev/null @@ -1,28 +0,0 @@ --- sqlite schema. -CREATE TABLE `users` ( - `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `posts_count` integer NOT NULL DEFAULT 0, - `deleted` datetime DEFAULT NULL -); - -CREATE TABLE `tags` ( - `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `name` text DEFAULT NULL, - `deleted_date` datetime DEFAULT NULL -); - -CREATE TABLE `posts` ( - `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `user_id` integer NOT NULL DEFAULT 0, - `deleted` datetime DEFAULT NULL -); -CREATE INDEX `posts_user_id_idx` ON `posts`(`user_id`); - -CREATE TABLE `posts_tags` ( - `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `post_id` integer DEFAULT NULL, - `tag_id` integer DEFAULT NULL, - `deleted` datetime DEFAULT NULL -); -CREATE INDEX `posts_tags_post_id_idx` ON `posts_tags`(`post_id`); -CREATE INDEX `posts_tags_tag_id_idx` ON `posts_tags`(`tag_id`); \ No newline at end of file diff --git a/plugins/cakephp-soft-delete/phpcs.xml b/plugins/cakephp-soft-delete/phpcs.xml deleted file mode 100644 index dcacbcfd05..0000000000 --- a/plugins/cakephp-soft-delete/phpcs.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<ruleset name="CakePHP_Custom"> - <description>CakePHP coding standard</description> - - <exclude-pattern>\.git</exclude-pattern> - - <rule ref="Zend.NamingConventions"> - <exclude name="Zend.NamingConventions.ValidVariableName" /> - </rule> - - <rule ref="PSR2"/> - - <!-- - Property and method names with underscore prefix are allowed in CakePHP. - Not using underscore prefix is a recommendation of PSR2, not a requirement. - --> - <rule ref="PSR2.Classes.PropertyDeclaration.Underscore"> - <severity>0</severity> - </rule> - <rule ref="PSR2.Methods.MethodDeclaration.Underscore"> - <severity>0</severity> - </rule> - <rule ref="Squiz.NamingConventions.ValidFunctionName.PublicUnderscore"> - <severity>0</severity> - </rule> - <rule ref="PEAR.NamingConventions.ValidFunctionName.PublicUnderscore"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName"> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.PrivateNoUnderscore"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.ContainsNumbers"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.StringVarContainsNumbers"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.MemberVarContainsNumbers"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.NotCamelCaps"> - <severity>0</severity> - </rule> - <rule ref="Zend.NamingConventions.ValidVariableName.MemberVarNotCamelCaps"> - <severity>0</severity> - </rule> - - <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"> - <properties> - <property name="ignoreBlankLines" value="false"/> - </properties> - </rule> - - <!-- - Temporarily ignore until API docblock formatting and line length issues in core code are fixed. - --> - <rule ref="CakePHP.Commenting.FunctionComment" /> - <rule ref="CakePHP.Commenting.FunctionComment.ParamCommentNotCapital"> - <severity>0</severity> - </rule> - <rule ref="CakePHP.Commenting.FunctionComment.ParamCommentFullStop"> - <severity>0</severity> - </rule> - <rule ref="CakePHP.Commenting.FunctionComment.ThrowsNotCapital"> - <severity>0</severity> - </rule> - <rule ref="CakePHP.Commenting.FunctionComment.ThrowsNoFullStop"> - <severity>0</severity> - </rule> - <rule ref="CakePHP.Commenting.FunctionComment.EmptyThrows"> - <severity>0</severity> - </rule> - <rule ref="Generic.Files.LineLength.TooLong"> - <severity>0</severity> - </rule> - - <rule ref="Squiz.Arrays.ArrayBracketSpacing"/> - <rule ref="Generic.Arrays.DisallowLongArraySyntax"/> - - <rule ref="Squiz.Classes.LowercaseClassKeywords"/> - - <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/> - <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/> - <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/> - <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/> - <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/> - - <rule ref="Squiz.Commenting.DocCommentAlignment"/> - <rule ref="Generic.Commenting.Todo"/> - - <rule ref="PEAR.ControlStructures.ControlSignature"/> - - <rule ref="Generic.Files.LineEndings"/> - - <rule ref="Generic.Formatting.NoSpaceAfterCast"/> - - <rule ref="Squiz.Operators.ValidLogicalOperators"/> - - <rule ref="Generic.PHP.DeprecatedFunctions"/> - <rule ref="Squiz.PHP.DisallowSizeFunctionsInLoops"/> - <rule ref="Squiz.PHP.Eval"/> - <rule ref="Generic.PHP.ForbiddenFunctions"/> - <rule ref="Squiz.PHP.NonExecutableCode"/> - - <rule ref="Generic.PHP.NoSilencedErrors"/> - - <rule ref="Squiz.Scope.MemberVarScope"/> - <rule ref="Squiz.Scope.StaticThisUsage"/> - - <rule ref="Squiz.WhiteSpace.CastSpacing"/> - <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/> - <rule ref="Squiz.WhiteSpace.LogicalOperatorSpacing"/> - <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/> - <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/> - <rule ref="Squiz.WhiteSpace.ScopeClosingBrace"/> - <rule ref="Generic.NamingConventions.UpperCaseConstantName"/> - - <!-- Relax some src/* and tests/* rules --> - <rule ref="PSR1.Files.SideEffects"> - <exclude-pattern>*/config/*</exclude-pattern> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="PSR1.Classes.ClassDeclaration"> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="PSR1.Methods.CamelCapsMethodName"> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="PEAR.NamingConventions.ValidClassName"> - <exclude-pattern>*/CakePHP/*</exclude-pattern> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="Squiz.Classes.ValidClassName"> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="CakePHP.Commenting.FunctionComment"> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="Squiz.NamingConventions.ValidFunctionName"> - <exclude-pattern>*/src/*</exclude-pattern> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="Generic.NamingConventions.CamelCapsFunctionName"> - <exclude-pattern>*/src/*</exclude-pattern> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - <rule ref="PEAR.NamingConventions.ValidFunctionName"> - <exclude-pattern>*/src/*</exclude-pattern> - <exclude-pattern>*/tests/*</exclude-pattern> - </rule> - - <!-- All rules in ./Sniffs are included automatically --> -</ruleset> diff --git a/plugins/cakephp-soft-delete/phpunit.xml.dist b/plugins/cakephp-soft-delete/phpunit.xml.dist deleted file mode 100644 index cbee9f0f8b..0000000000 --- a/plugins/cakephp-soft-delete/phpunit.xml.dist +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<phpunit - colors="true" - processIsolation="false" - stopOnFailure="false" - syntaxCheck="false" - bootstrap="./tests/bootstrap.php" - > - <php> - <ini name="memory_limit" value="-1"/> - <ini name="apc.enable_cli" value="1"/> - </php> - - <!-- Add any additional test suites you want to run here --> - <testsuites> - <testsuite name="SoftDelete Test Suite"> - <directory>./tests/TestCase</directory> - </testsuite> - </testsuites> - - <!-- Setup a listener for fixtures --> - <extensions> - <extension class="\Cake\TestSuite\Fixture\PHPUnitExtension" /> - </extensions> - - <!-- Prevent coverage reports from looking in tests and vendors --> - <filter> - <blacklist> - <directory suffix=".php">./vendor/</directory> - <directory suffix=".ctp">./vendor/</directory> - - <directory suffix=".php">./tests/</directory> - <directory suffix=".ctp">./tests/</directory> - </blacklist> - </filter> - -</phpunit> diff --git a/plugins/cakephp-soft-delete/src/Error/MissingColumnException.php b/plugins/cakephp-soft-delete/src/Error/MissingColumnException.php deleted file mode 100644 index 4f23a00605..0000000000 --- a/plugins/cakephp-soft-delete/src/Error/MissingColumnException.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php - -namespace SoftDelete\Error; - -use Cake\Core\Exception\CakeException; - -class MissingColumnException extends CakeException -{ -} diff --git a/plugins/cakephp-soft-delete/tests/Fixture/PostsFixture.php b/plugins/cakephp-soft-delete/tests/Fixture/PostsFixture.php deleted file mode 100644 index 179d294076..0000000000 --- a/plugins/cakephp-soft-delete/tests/Fixture/PostsFixture.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -namespace SoftDelete\Test\Fixture; - -use Cake\ORM\Table; -use Cake\TestSuite\Fixture\TestFixture; - -use SoftDelete\Model\Table\SoftDeleteTrait; - -class PostsTable extends Table -{ - use SoftDeleteTrait; - - /** - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsTo('Users'); - $this->belongsToMany('Tags'); - $this->addBehavior('CounterCache', ['Users' => ['posts_count']]); - } -} - - -class PostsFixture extends TestFixture -{ - public $records = [ - [ - 'id' => 1, - 'user_id' => 1, - 'deleted' => null, - ], - [ - 'id' => 2, - 'user_id' => 1, - 'deleted' => null, - ], - ]; -} diff --git a/plugins/cakephp-soft-delete/tests/Fixture/PostsTagsFixture.php b/plugins/cakephp-soft-delete/tests/Fixture/PostsTagsFixture.php deleted file mode 100644 index 2bcc55a8f7..0000000000 --- a/plugins/cakephp-soft-delete/tests/Fixture/PostsTagsFixture.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php - -namespace SoftDelete\Test\Fixture; - -use Cake\ORM\Table; -use Cake\TestSuite\Fixture\TestFixture; - -use SoftDelete\Model\Table\SoftDeleteTrait; - -class PostsTagsTable extends Table -{ - use SoftDeleteTrait; - - /** - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsTo('Tags'); - $this->belongsTo('Posts'); - } -} - - -class PostsTagsFixture extends TestFixture -{ - public $records = [ - [ - 'id' => 1, - 'post_id' => 1, - 'tag_id' => 1, - 'deleted' => null, - ], - [ - 'id' => 2, - 'post_id' => 1, - 'tag_id' => 2, - 'deleted' => '2015-05-18 15:04:00', - ], - ]; -} diff --git a/plugins/cakephp-soft-delete/tests/Fixture/TagsFixture.php b/plugins/cakephp-soft-delete/tests/Fixture/TagsFixture.php deleted file mode 100644 index e4a91eb55e..0000000000 --- a/plugins/cakephp-soft-delete/tests/Fixture/TagsFixture.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php - -namespace SoftDelete\Test\Fixture; - -use Cake\ORM\Table; -use Cake\TestSuite\Fixture\TestFixture; - -use SoftDelete\Model\Table\SoftDeleteTrait; - -class TagsTable extends Table -{ - use SoftDeleteTrait; - - protected $softDeleteField = 'deleted_date'; - - /** - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsToMany('Posts', [ - 'through' => 'PostsTags', - 'joinTable' => 'posts_tags', - 'foreignKey' => 'tag_id', - 'targetForeignKey' => 'post_id' - ]); - $this->hasMany('PostsTags'); - } -} - - -class TagsFixture extends TestFixture -{ - public $records = [ - [ - 'id' => 1, - 'name' => 'Cat', - 'deleted_date' => null, - ], - [ - 'id' => 2, - 'name' => 'Dog', - 'deleted_date' => null, - ], - [ - 'id' => 3, - 'name' => 'Fish', - 'deleted_date' => '2015-04-15 09:46:00', - ] - ]; -} diff --git a/plugins/cakephp-soft-delete/tests/Fixture/UsersFixture.php b/plugins/cakephp-soft-delete/tests/Fixture/UsersFixture.php deleted file mode 100644 index 7392a4099e..0000000000 --- a/plugins/cakephp-soft-delete/tests/Fixture/UsersFixture.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -namespace SoftDelete\Test\Fixture; - -use Cake\TestSuite\Fixture\TestFixture; -use Cake\ORM\Table; - -use SoftDelete\Model\Table\SoftDeleteTrait; - -class UsersTable extends Table -{ - use SoftDeleteTrait; - - /** - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->hasMany('Posts', [ - 'dependent' => true, - 'cascadeCallbacks' => true, - ]); - } -} - -class UsersFixture extends TestFixture -{ - public $records = [ - [ - 'id' => 1, - 'deleted' => null, - 'posts_count' => 2 - ], - [ - 'id' => 2, - 'deleted' => null, - 'posts_count' => 0 - ], - ]; -} diff --git a/plugins/cakephp-soft-delete/tests/Table/PostsTable.php b/plugins/cakephp-soft-delete/tests/Table/PostsTable.php deleted file mode 100644 index a9889c9500..0000000000 --- a/plugins/cakephp-soft-delete/tests/Table/PostsTable.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -declare(strict_types=1); - -namespace SoftDelete\Test\Table; - -use Cake\ORM\Table; -use Cake\Validation\Validator; -use SoftDelete\Model\Table\SoftDeleteTrait; - -/** - * Posts Model - */ -class PostsTable extends Table -{ - use SoftDeleteTrait; - - /** - * Initialize method - * - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsTo('Users'); - $this->belongsToMany('Tags'); - $this->addBehavior('CounterCache', ['Users' => ['posts_count']]); - } - - /** - * Default validation rules. - * - * @param \Cake\Validation\Validator $validator Validator instance. - * @return \Cake\Validation\Validator - */ - public function validationDefault(Validator $validator): Validator - { - $validator - ->integer('id') - ->allowEmptyString('id', null, 'create'); - $validator - ->integer('user_id') - ->notEmptyString('user_id'); - - return $validator; - } -} diff --git a/plugins/cakephp-soft-delete/tests/Table/PostsTagsTable.php b/plugins/cakephp-soft-delete/tests/Table/PostsTagsTable.php deleted file mode 100644 index 25d23a86ff..0000000000 --- a/plugins/cakephp-soft-delete/tests/Table/PostsTagsTable.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -declare(strict_types=1); - -namespace SoftDelete\Test\Table; - -use Cake\ORM\Table; -use Cake\Validation\Validator; -use SoftDelete\Model\Table\SoftDeleteTrait; - -/** - * PostsTags Model - */ -class PostsTagsTable extends Table -{ - use SoftDeleteTrait; - - /** - * Initialize method - * - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsTo('Tags'); - $this->belongsTo('Posts'); - } - - /** - * Default validation rules. - * - * @param \Cake\Validation\Validator $validator Validator instance. - * @return \Cake\Validation\Validator - */ - public function validationDefault(Validator $validator): Validator - { - $validator - ->integer('id') - ->allowEmptyString('id', null, 'create'); - $validator - ->integer('post_id') - ->notEmptyString('post_id'); - $validator - ->integer('tag_id') - ->notEmptyString('tag_id'); - - return $validator; - } -} diff --git a/plugins/cakephp-soft-delete/tests/Table/TagsTable.php b/plugins/cakephp-soft-delete/tests/Table/TagsTable.php deleted file mode 100644 index 4746e5508b..0000000000 --- a/plugins/cakephp-soft-delete/tests/Table/TagsTable.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -declare(strict_types=1); - -namespace SoftDelete\Test\Table; - -use Cake\ORM\Table; -use Cake\Validation\Validator; -use SoftDelete\Model\Table\SoftDeleteTrait; - -/** - * Tags Model - */ -class TagsTable extends Table -{ - use SoftDeleteTrait; - - /** - * Soft deletion field - */ - public $softDeleteField = 'deleted_date'; - - /** - * Initialize method - * - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->belongsToMany('Posts', [ - 'through' => 'PostsTags', - 'joinTable' => 'posts_tags', - 'foreignKey' => 'tag_id', - 'targetForeignKey' => 'post_id' - ]); - $this->hasMany('PostsTags'); - } - - /** - * Default validation rules. - * - * @param \Cake\Validation\Validator $validator Validator instance. - * @return \Cake\Validation\Validator - */ - public function validationDefault(Validator $validator): Validator - { - $validator - ->integer('id') - ->allowEmptyString('id', null, 'create'); - $validator - ->requirePresence('name') - ->allowEmptyString('name'); - - return $validator; - } -} diff --git a/plugins/cakephp-soft-delete/tests/Table/UsersTable.php b/plugins/cakephp-soft-delete/tests/Table/UsersTable.php deleted file mode 100644 index d0798bfc44..0000000000 --- a/plugins/cakephp-soft-delete/tests/Table/UsersTable.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -declare(strict_types=1); - -namespace SoftDelete\Test\Table; - -use Cake\ORM\Table; -use Cake\Validation\Validator; -use SoftDelete\Model\Table\SoftDeleteTrait; - -/** - * Users Model - */ -class UsersTable extends Table -{ - use SoftDeleteTrait; - - /** - * Initialize method - * - * @param array $config The configuration for the Table. - * @return void - */ - public function initialize(array $config): void - { - $this->hasMany('Posts', [ - 'dependent' => true, - 'cascadeCallbacks' => true, - ]); - } - - /** - * Default validation rules. - * - * @param \Cake\Validation\Validator $validator Validator instance. - * @return \Cake\Validation\Validator - */ - public function validationDefault(Validator $validator): Validator - { - $validator - ->integer('id') - ->allowEmptyString('id', null, 'create'); - $validator - ->integer('posts_count') - ->notEmptyString('posts_count'); - - return $validator; - } -} diff --git a/plugins/cakephp-soft-delete/tests/TestCase/Model/Table/SoftDeleteTraitTest.php b/plugins/cakephp-soft-delete/tests/TestCase/Model/Table/SoftDeleteTraitTest.php deleted file mode 100644 index 55b1dbbec9..0000000000 --- a/plugins/cakephp-soft-delete/tests/TestCase/Model/Table/SoftDeleteTraitTest.php +++ /dev/null @@ -1,307 +0,0 @@ -<?php -namespace SoftDelete\Test\TestCase\Model\Table; - -use Cake\TestSuite\TestCase; - -/** - * App\Model\Behavior\SoftDeleteBehavior Test Case - * - * @property \SoftDelete\Test\Table\UsersTable $usersTable - * @property \SoftDelete\Test\Table\PostsTable $postsTable - * @property \SoftDelete\Test\Table\TagsTable $tagsTable - * @property \SoftDelete\Test\Table\PostsTagsTable $postsTagsTable - */ -class SoftDeleteTraitTest extends TestCase -{ - private $usersTable; - private $postsTable; - private $tagsTable; - private $postsTagsTable; - - /** - * fixtures - * - * @var array - */ - public $fixtures = [ - 'plugin.SoftDelete.Users', - 'plugin.SoftDelete.Posts', - 'plugin.SoftDelete.Tags', - 'plugin.SoftDelete.PostsTags' - ]; - - /** - * setUp method - * - * @return void - */ - public function setUp(): void - { - parent::setUp(); - - $this->usersTable = $this->getTableLocator()->get('Users', ['className' => \SoftDelete\Test\Table\UsersTable::class]); - $this->postsTable = $this->getTableLocator()->get('Posts', ['className' => \SoftDelete\Test\Table\PostsTable::class]); - $this->tagsTable = $this->getTableLocator()->get('Tags', ['className' => \SoftDelete\Test\Table\TagsTable::class]); - $this->postsTagsTable = $this->getTableLocator()->get('PostsTags', ['className' => \SoftDelete\Test\Table\PostsTagsTable::class]); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown(): void - { - unset($this->usersTable); - unset($this->postsTable); - unset($this->tagsTable); - parent::tearDown(); - } - - /** - * Tests that a soft deleted entities is not found when calling Table::find() - */ - public function testFind() - { - $user = $this->usersTable->get(1); - $user->deleted = date('Y-m-d H:i:s'); - $this->usersTable->save($user); - - $user = $this->usersTable->find()->where(['id' => 1])->first(); - $this->assertEquals(null, $user); - } - - /** - * Tests that a soft deleted entities is not found when calling Table::findByXXX() - */ - public function testDynamicFinder() - { - $user = $this->usersTable->get(1); - $user->deleted = date('Y-m-d H:i:s'); - $this->usersTable->save($user); - - $user = $this->usersTable->findById(1)->first(); - $this->assertEquals(null, $user); - } - - public function testFindWithOrWhere() - { - $conditions = [ - 'OR' => [ - ['id' => 1], - ['id' => 2] - ] - ]; - $query = $this->usersTable->find()->where($conditions); - $this->assertEquals(2, $query->count()); - - $user = $this->usersTable->get(2); - $this->usersTable->delete($user); - - $query = $this->usersTable->find()->where($conditions); - $this->assertEquals(1, $query->count()); - } - - /** - * Tests that soft deleted records in join table are taken into account when retrieving - * an entity with a belongsToManyAssociation. - */ - public function testFindBelongsToMany() - { - $post = $this->postsTable->findById(1)->contain('Tags')->first(); - $this->assertEquals(1, count($post->tags)); - } - - /** - * Test that entities matching a soft deleted associated record are not returned when using $query->matching(). - */ - public function testFindMatching() - { - $users = $this->usersTable->find() - ->matching('Posts', function ($q) { - return $q->where(['Posts.id' => 1]); - }); - $this->assertEquals(1, $users->count()); - - $post = $this->postsTable->get(1); - $this->postsTable->delete($post); - - $posts = $this->postsTable->find('all', ...['withDeleted'])->where(['id' => 1]); - $this->assertEquals(1, $posts->count()); - - $users = $this->usersTable->find() - ->matching('Posts', function ($q) { - return $q->where(['Posts.id' => 1]); - }); - $this->assertEquals(0, $users->count()); - } - - - /** - * Tests that Table::deleteAll() does not hard delete - */ - public function testDeleteAll() - { - $this->usersTable->deleteAll([]); - $this->assertEquals(0, $this->usersTable->find()->count()); - $this->assertNotEquals(0, $this->usersTable->find('all', ...['withDeleted'])->count()); - - $this->postsTable->deleteAll([]); - $this->assertEquals(0, $this->postsTable->find()->count()); - $this->assertNotEquals(0, $this->postsTable->find('all', ...['withDeleted'])->count()); - } - - /** - * Tests that Table::delete() does not hard delete. - */ - public function testDelete() - { - $user = $this->usersTable->get(1); - $this->usersTable->delete($user); - $user = $this->usersTable->findById(1)->first(); - $this->assertEquals(null, $user); - - $user = $this->usersTable->find('all', ...['withDeleted'])->where(['id' => 1])->first(); - $this->assertNotEquals(null, $user); - $this->assertNotEquals(null, $user->deleted); - } - - /** - * Tests that soft deleting an entity also soft deletes its belonging entities. - */ - public function testHasManyAssociation() - { - $user = $this->usersTable->get(1); - $this->usersTable->delete($user); - - $count = $this->postsTable->find()->where(['user_id' => 1])->count(); - $this->assertEquals(0, $count); - - $count = $this->postsTable->find('all', ...['withDeleted'])->where(['user_id' => 1])->count(); - $this->assertEquals(2, $count); - } - - /** - * Tests that soft deleting affects counters the same way that hard deleting. - */ - public function testCounterCache() - { - $post = $this->postsTable->get(1); - $this->postsTable->delete($post); - $this->assertNotEquals(null, $this->postsTable->find('all', ...['withDeleted'])->where(['id' => 1])->first()); - $this->assertEquals(null, $this->postsTable->findById(1)->first()); - - $user = $this->usersTable->get(1); - $this->assertEquals(1, $user->posts_count); - } - - public function testHardDelete() - { - $user = $this->usersTable->get(1); - $this->usersTable->hardDelete($user); - $user = $this->usersTable->findById(1)->first(); - $this->assertEquals(null, $user); - - $user = $this->usersTable->find('all', ...['withDeleted'])->where(['id' => 1])->first(); - $this->assertEquals(null, $user); - } - - /** - * Tests hardDeleteAll. - */ - public function testHardDeleteAll() - { - $affectedRows = $this->postsTable->hardDeleteAll(new \DateTime('now')); - $this->assertEquals(0, $affectedRows); - - $postsRowsCount = $this->postsTable->find('all', ...['withDeleted'])->count(); - - $this->postsTable->delete($this->postsTable->get(1)); - $affectedRows = $this->postsTable->hardDeleteAll(new \DateTime('now')); - $this->assertEquals(1, $affectedRows); - - $newpostsRowsCount = $this->postsTable->find('all', ...['withDeleted'])->count(); - $this->assertEquals($postsRowsCount - 1, $newpostsRowsCount); - } - - /** - * Using a table with a custom soft delete field, ensure we can still filter - * the found results properly. - * - * @return void - */ - public function testFindingWithCustomField() - { - $query = $this->tagsTable->find(); - $this->assertEquals(2, $query->count()); - - $query = $this->tagsTable->find('all', ...['withDeleted' => true]); - $this->assertEquals(3, $query->count()); - } - - /** - * Ensure that when deleting a record which has a custom field defined in - * the table, that it is still soft deleted. - * - * @return void - */ - public function testDeleteWithCustomField() - { - $tag = $this->tagsTable->get(1); - $this->tagsTable->delete($tag); - - $query = $this->tagsTable->find(); - $this->assertEquals(1, $query->count()); - } - - /** - * With a custom soft delete field ensure that a soft deleted record can - * still be permanently removed. - * - * @return void - */ - public function testHardDeleteWithCustomField() - { - $tag = $this->tagsTable->find('all', ...['withDeleted']) - ->where(['id' => 2]) - ->first(); - - $this->tagsTable->hardDelete($tag); - - $tag = $this->tagsTable->find('all', ...['withDeleted']) - ->where(['id' => 2]) - ->first(); - - $this->assertEquals(null, $tag); - } - - /** - * Test soft deleting and restoring a record. - * @return void - */ - public function testRestore() - { - $user = $this->usersTable->findById(1)->first(); - $this->assertNotNull($user); - $this->usersTable->delete($user); - $user = $this->usersTable->findById(1)->first(); - $this->assertNull($user); - - $user = $this->usersTable->find('all', ...['withDeleted'])->where(['id' => 1])->first(); - $this->usersTable->restore($user); - $user = $this->usersTable->findById(1)->first(); - $this->assertNotNull($user); - } - - /** - * When a configured field is missing from the table, an exception should be thrown - * - */ - public function testMissingColumn() - { - $this->expectException(\SoftDelete\Error\MissingColumnException::class); - $this->postsTable->softDeleteField = 'foo'; - $post = $this->postsTable->get(1); - $this->postsTable->delete($post); - } -} diff --git a/plugins/cakephp-soft-delete/tests/bootstrap.php b/plugins/cakephp-soft-delete/tests/bootstrap.php deleted file mode 100644 index 4b392f0325..0000000000 --- a/plugins/cakephp-soft-delete/tests/bootstrap.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php -declare(strict_types=1); - -/** - * Test suite bootstrap for SoftDelete. - * - * This function is used to find the location of CakePHP whether CakePHP - * has been installed as a dependency of the plugin, or the plugin is itself - * installed as a dependency of an application. - */ -$findRoot = function ($root) { - do { - $lastRoot = $root; - $root = dirname($root); - if (is_dir($root . '/vendor/cakephp/cakephp')) { - return $root; - } - } while ($root !== $lastRoot); - - throw new Exception("Cannot find the root of the application, unable to run tests"); -}; -$root = $findRoot(__FILE__); -unset($findRoot); - -chdir($root); - -require_once $root . '/vendor/autoload.php'; - -/** - * Define fallback values for required constants and configuration. - * To customize constants and configuration remove this require - * and define the data required by your plugin here. - */ -require_once $root . '/vendor/cakephp/cakephp/tests/bootstrap.php'; - -$schema_path = dirname(__DIR__) . DS . 'config' . DS . 'schema' . DS . 'schema.sql'; -(new \Migrations\TestSuite\Migrator())->run(); -(new \Cake\TestSuite\Fixture\SchemaLoader())->loadSqlFiles($schema_path, 'test'); - -if (file_exists($root . '/config/bootstrap.php')) { - require $root . '/config/bootstrap.php'; - - return; -} diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 895bff7529..e1362e633c 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -104,11 +104,8 @@ ['plugin' => 'BaserCore'], ['plugin' => 'BcBlog'], ['plugin' => 'BcEditorTemplate'], - ['plugin' => 'BcSearchIndex'], - ['plugin' => 'BcFavorite'], ['plugin' => 'BcContentLink'], ['plugin' => 'BcCustomContent'], - ['plugin' => 'BcEditorTemplate'], ['plugin' => 'BcFavorite'], ['plugin' => 'BcMail'], ['plugin' => 'BcSearchIndex'], diff --git a/vendor/.gitkeep b/vendor/.gitkeep old mode 100644 new mode 100755