@colijnit/transaction 12.1.32 → 12.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +4658 -2914
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +256 -237
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +257 -238
- package/esm2015/lib/assets/dictionary/text.properties.js +26 -6
- package/esm2015/lib/cache/cache-field.js +75 -0
- package/esm2015/lib/cache/parameter-cache-field.js +54 -0
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +150 -0
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +38 -0
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +47 -0
- package/esm2015/lib/cache/service/select-single-cache.service.js +30 -0
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -2
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +13 -3
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +3 -3
- package/esm2015/lib/component/checkout/checkout.component.js +14 -8
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +16 -5
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +4 -3
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +2 -2
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +2 -2
- package/esm2015/lib/component/core/base/dialog-transaction-header-base.component.js +25 -0
- package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +1 -1
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +58 -0
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +43 -9
- package/esm2015/lib/component/core/core.module.js +9 -3
- package/esm2015/lib/component/core/directive/lazy-render-master.directive.js +43 -0
- package/esm2015/lib/component/core/directive/lazy-render.directive.js +30 -0
- package/esm2015/lib/component/core/relation/customer-groups.component.js +4 -2
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +35 -0
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +90 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.js +34 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +34 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +35 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +28 -0
- package/esm2015/lib/component/payment/payment.component.js +2 -2
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +2 -2
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +2 -2
- package/esm2015/lib/component/transaction/transaction.component.js +18 -1
- package/esm2015/lib/component/transaction/transaction.module.js +6 -3
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +34 -23
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.js +3 -2
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +23 -11
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +8 -2
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +10 -5
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +27 -14
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +20 -9
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +9 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +34 -18
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +57 -17
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +4 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +14 -14
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +13 -13
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +19 -10
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +47 -31
- package/esm2015/lib/component/transaction-line/transaction-line.module.js +4 -2
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +42 -0
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +25 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +10 -30
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +10 -41
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +21 -14
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.module.js +4 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +14 -13
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +6 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +5 -6
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +11 -13
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +8 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +10 -30
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +4 -2
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +1 -34
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +4 -1
- package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +4 -3
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +1 -10
- package/esm2015/lib/enum/icon.enum.js +6 -2
- package/esm2015/lib/model/icon-svg.js +6 -2
- package/esm2015/lib/service/article-connector.service.js +24 -29
- package/esm2015/lib/service/article.service.js +8 -4
- package/esm2015/lib/service/dialog.service.js +26 -11
- package/esm2015/lib/service/error.service.js +52 -0
- package/esm2015/lib/service/payment.service.js +20 -13
- package/esm2015/lib/service/pending-reason.service.js +8 -3
- package/esm2015/lib/service/transaction-connector-adapter.service.js +1405 -0
- package/esm2015/lib/service/transaction-connector.service.js +173 -1057
- package/esm2015/lib/service/transaction-mapping.service.js +2 -2
- package/esm2015/lib/service/transaction.service.js +55 -192
- package/fesm2015/colijnit-transaction.js +3457 -2097
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/cache/cache-field.d.ts +25 -0
- package/lib/cache/parameter-cache-field.d.ts +11 -0
- package/lib/cache/service/business-object-cache-manager.service.d.ts +57 -0
- package/lib/cache/service/select-multiple-cache.service.d.ts +15 -0
- package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +19 -0
- package/lib/cache/service/select-single-cache.service.d.ts +11 -0
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +5 -1
- package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +6 -0
- package/lib/component/confirmation-dialog/style/_layout.scss +9 -0
- package/lib/component/core/base/components/characteristic-answer/style/_layout.scss +0 -4
- package/lib/component/core/base/components/characteristic-answer/style/_theme.scss +0 -3
- package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +1 -1
- package/lib/component/core/base/components/warehouse/style/_layout.scss +0 -4
- package/lib/component/core/base/components/warehouse/style/_theme.scss +0 -3
- package/lib/component/core/base/dialog-transaction-header-base.component.d.ts +10 -0
- package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +1 -1
- package/lib/component/core/base/transaction-header-base.component.d.ts +28 -0
- package/lib/component/core/base/transaction-line-base.component.d.ts +18 -5
- package/lib/component/core/directive/lazy-render-master.directive.d.ts +10 -0
- package/lib/component/core/directive/lazy-render.directive.d.ts +10 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.d.ts +4 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.d.ts +2 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +14 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_material-definition.scss +0 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/material.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -5
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -5
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +12 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.d.ts +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +43 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +9 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_theme.scss +14 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/material.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.d.ts +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +14 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_material-definition.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/material.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +14 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +5 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -5
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +14 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +5 -0
- package/lib/component/relation/relation-contact-details/style/_layout.scss +11 -0
- package/lib/component/relation/relation-contact-details/style/_material-definition.scss +2 -0
- package/lib/component/transaction/style/_layout.scss +23 -0
- package/lib/component/transaction/style/_material-definition.scss +5 -0
- package/lib/component/transaction/style/material.scss +2 -0
- package/lib/component/transaction/transaction.component.d.ts +2 -0
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +4 -4
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +4 -1
- package/lib/component/transaction-header/transaction-header/style/_layout.scss +15 -7
- package/lib/component/transaction-header/transaction-header/style/_theme.scss +3 -0
- package/lib/component/transaction-header/transaction-header/style/material.scss +1 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +3 -2
- package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +4 -2
- package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +3 -1
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +4 -2
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +3 -0
- package/lib/component/transaction-header/transaction-header-relation/style/material.scss +1 -0
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +6 -10
- package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +9 -3
- package/lib/component/transaction-header-fields/transaction-header-delivery-options.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +2 -8
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +2 -2
- package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +2 -2
- package/lib/component/transaction-line/style/_layout.scss +10 -11
- package/lib/component/transaction-line/style/_material-definition.scss +3 -2
- package/lib/component/transaction-line/style/_theme.scss +5 -4
- package/lib/component/transaction-line/style/material.scss +3 -0
- package/lib/component/transaction-line/transaction-line.component.d.ts +3 -0
- package/lib/component/transaction-line-checkbox-list/style/_layout.scss +33 -0
- package/lib/component/transaction-line-checkbox-list/style/_material-definition.scss +0 -0
- package/lib/component/transaction-line-checkbox-list/style/_theme.scss +4 -0
- package/lib/component/transaction-line-checkbox-list/style/material.scss +4 -0
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +14 -0
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +5 -8
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +5 -8
- package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +7 -3
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +6 -4
- package/lib/component/transaction-line-fields/transaction-line-price.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +2 -3
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +5 -4
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +5 -8
- package/lib/component/transaction-lines/style/_layout.scss +16 -3
- package/lib/component/transaction-search/style/_layout.scss +4 -1
- package/lib/component/transaction-search/style/_material-definition.scss +11 -5
- package/lib/component/transaction-search/style/_theme.scss +1 -2
- package/lib/component/transaction-search/transaction-search-header/style/_layout.scss +24 -1
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_layout.scss +1 -1
- package/lib/enum/icon.enum.d.ts +5 -1
- package/lib/service/article-connector.service.d.ts +1 -3
- package/lib/service/article.service.d.ts +3 -1
- package/lib/service/dialog.service.d.ts +4 -2
- package/lib/service/error.service.d.ts +12 -0
- package/lib/service/payment.service.d.ts +5 -3
- package/lib/service/pending-reason.service.d.ts +6 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +153 -0
- package/lib/service/transaction-connector.service.d.ts +16 -14
- package/lib/service/transaction.service.d.ts +3 -5
- package/lib/style/_variables.scss +23 -1
- package/lib/style/transaction-globals.scss +53 -1
- package/package.json +1 -1
- package/esm2015/lib/component/transaction-header-fields/transaction-header-fields-base.component.js +0 -27
- package/esm2015/lib/service/collection-cache.service.js +0 -40
- package/lib/component/transaction-header-fields/transaction-header-fields-base.component.d.ts +0 -8
- package/lib/service/collection-cache.service.d.ts +0 -6
|
@@ -50,6 +50,7 @@ export class Dictionary {
|
|
|
50
50
|
"CHECKOUT_FINISH": "Bestelling afronden",
|
|
51
51
|
"CITY": "Stad",
|
|
52
52
|
"CLIENT_DATA": "Klantgegevens",
|
|
53
|
+
"CLIENT_INFORMATION": "Klantinformatie",
|
|
53
54
|
"COMPANY": "Bedrijf",
|
|
54
55
|
"COMPANY_NAME": "Bedrijfsnaam",
|
|
55
56
|
"COMMISSION_CODE": "Commisiecode",
|
|
@@ -89,6 +90,7 @@ export class Dictionary {
|
|
|
89
90
|
"DELIVERY_DATE_DEFINITIVE": "Leverdatum definitief",
|
|
90
91
|
"DELIVERY_DATE_FINAL": "Definitieve leverdatum",
|
|
91
92
|
"DELIVERY_DIRECT": "Direct leverbaar",
|
|
93
|
+
"DELIVERY_INFORMATION": "Leverinformatie",
|
|
92
94
|
"DELIVERY_LOCATION": "Bezorgingslocatie",
|
|
93
95
|
"DELIVERY_NOTE": "Afleverbon",
|
|
94
96
|
"DELIVERY_OPTIONS": "Leveropties",
|
|
@@ -102,6 +104,7 @@ export class Dictionary {
|
|
|
102
104
|
"DISCOUNTS": "Kortingen",
|
|
103
105
|
"DISCOUNT_AMOUNT": "Kortingsbedrag",
|
|
104
106
|
"DISCOUNT_PERCENTAGE": "Kortings %",
|
|
107
|
+
"DISCOUNT_PRICE_INFORMATION": "Korting en prijsinformatie",
|
|
105
108
|
"DOWNPAYMENT": "Aanbetaling",
|
|
106
109
|
"DOWNPAYMENT_PERCENTAGE": "Aan te betalen %",
|
|
107
110
|
"DOWNPAYMENT_AMOUNT": "Aan te betalen bedrag",
|
|
@@ -199,6 +202,7 @@ export class Dictionary {
|
|
|
199
202
|
"ORDER_TYPE": "Type bestelling",
|
|
200
203
|
"ORDERED": "Besteld",
|
|
201
204
|
"OTHER": "Overig",
|
|
205
|
+
"OVERVIEW": "Overzicht",
|
|
202
206
|
"OVERVIEW_AND_PAYMENT": "Overzicht en betaling",
|
|
203
207
|
"OWN_REFERENCE": "Eigen referentie",
|
|
204
208
|
"PACKING_SLIP": "Pakbon",
|
|
@@ -215,6 +219,7 @@ export class Dictionary {
|
|
|
215
219
|
"PASSWORD": "Wachtwoord",
|
|
216
220
|
"PAY": "Betalen",
|
|
217
221
|
"PAYMENT": "Betaling",
|
|
222
|
+
"PAYMENT_INFORMATION": "Betaalinformatie",
|
|
218
223
|
"PAYMENT_METHOD": "Betaalmethode",
|
|
219
224
|
"PERSONAL_DATA": "Basisgegevens",
|
|
220
225
|
"PICKED": "Gepickt",
|
|
@@ -260,14 +265,18 @@ export class Dictionary {
|
|
|
260
265
|
"SAME_AS_DELIVERY": "Hetzelfde als bezorgadres",
|
|
261
266
|
"SAVE": "Opslaan",
|
|
262
267
|
"SEARCH": "Zoeken",
|
|
263
|
-
"SEARCH_NUMBER_CUSTOMER_OR_DATE": "Zoeken op nummer, klant of datum",
|
|
264
|
-
"SEARCH_IN_COLLECTION": "Zoek binnen collectie...",
|
|
265
268
|
"SEARCH_ADD_ARTICLE": "Zoeken en toevoegen artikel",
|
|
269
|
+
"SEARCH_DELIVERY_METHOD": "Zoek levermethode",
|
|
270
|
+
"SEARCH_IN_COLLECTION": "Zoek binnen collectie...",
|
|
271
|
+
"SEARCH_NUMBER_CUSTOMER_OR_DATE": "Zoeken op nummer, klant of datum",
|
|
272
|
+
"SEARCH_PRICE_LIST": "Zoek prijslijst",
|
|
273
|
+
"SEARCH_VAT": "Zoek btw",
|
|
266
274
|
"SEARCH_WAREHOUSE": "Zoek magazijn",
|
|
267
275
|
"SELECT": "Selecteren",
|
|
268
276
|
"SELECT_A": "Selecteer een",
|
|
269
277
|
"SELECT_CASH_REGISTER": "Selecteer kassa",
|
|
270
278
|
"SELECT_DATE": "Selecteer een start- en einddatum",
|
|
279
|
+
"SEND": "Versturen",
|
|
271
280
|
"SERIAL_NUMBER": "Serienummer",
|
|
272
281
|
"SERVICE_NUMBER": "Servicenummer",
|
|
273
282
|
"SERVICE_REQUEST_DATE": "Datum aanvraag",
|
|
@@ -300,7 +309,7 @@ export class Dictionary {
|
|
|
300
309
|
"TOTAL_GROSS": "Totaal bruto",
|
|
301
310
|
"TOTAL_LINE_DISCOUNT": "Totale regelkorting",
|
|
302
311
|
"TRANSACTION_DATE": "Orderdatum",
|
|
303
|
-
"TRANSACTION_DISCOUNT": "
|
|
312
|
+
"TRANSACTION_DISCOUNT": "Transactie korting",
|
|
304
313
|
"TRANSACTION_DISCOUNT_PERC": "% Trans. korting",
|
|
305
314
|
"TRANSACTION_PRICE_DECLARATION": "Order prijsverklaring",
|
|
306
315
|
"TRANSACTION_SUM_I": "Ordertotaal incl. BTW",
|
|
@@ -314,6 +323,7 @@ export class Dictionary {
|
|
|
314
323
|
"UNKNOWN_ADDRESS_CHECK_IT": "Onbekend adres",
|
|
315
324
|
"USER": "Gebruiker",
|
|
316
325
|
"VAT": "Btw",
|
|
326
|
+
"VAT2": "BTW",
|
|
317
327
|
"VAT_AMOUNT": "BTW-bedrag",
|
|
318
328
|
"VALUE": "Waarde",
|
|
319
329
|
"WHERE_ARE_YOU_LOOKING_FOR": "Waar ben je naar op zoek?",
|
|
@@ -372,6 +382,7 @@ export class Dictionary {
|
|
|
372
382
|
"CHECKOUT_FINISH": "Finish checkout",
|
|
373
383
|
"CITY": "City",
|
|
374
384
|
"CLIENT_DATA": "Client data",
|
|
385
|
+
"CLIENT_INFORMATION": "Client information",
|
|
375
386
|
"COMPANY": "Company",
|
|
376
387
|
"COMPANY_NAME": "Company name",
|
|
377
388
|
"COMMISSION_CODE": "Commission code",
|
|
@@ -410,6 +421,7 @@ export class Dictionary {
|
|
|
410
421
|
"DELIVERY_DATE_DEFINITIVE": "Delivery date definitive",
|
|
411
422
|
"DELIVERY_DATE_FINAL": "Final delivery date",
|
|
412
423
|
"DELIVERY_DIRECT": "Direct delivery",
|
|
424
|
+
"DELIVERY_INFORMATION": "Direct information",
|
|
413
425
|
"DELIVERY_LOCATION": "Delivery location",
|
|
414
426
|
"DELIVERY_NOTE": "Delivery note",
|
|
415
427
|
"DELIVERY_OPTIONS": "Delivery options",
|
|
@@ -423,6 +435,7 @@ export class Dictionary {
|
|
|
423
435
|
"DISCOUNTS": "Discounts",
|
|
424
436
|
"DISCOUNT_AMOUNT": "Discount amount",
|
|
425
437
|
"DISCOUNT_PERCENTAGE": "Discount %",
|
|
438
|
+
"DISCOUNT_PRICE_INFORMATION": "Discount and price information",
|
|
426
439
|
"DOWNPAYMENT": "Downpayment",
|
|
427
440
|
"DOWNPAYMENT_PERCENTAGE": "Percentage to be paid",
|
|
428
441
|
"DOWNPAYMENT_AMOUNT": "Amount to be paid",
|
|
@@ -519,6 +532,7 @@ export class Dictionary {
|
|
|
519
532
|
"ORDER_TYPE": "Order type",
|
|
520
533
|
"ORDERED": "Ordered",
|
|
521
534
|
"OTHER": "Other",
|
|
535
|
+
"OVERVIEW": "Overview",
|
|
522
536
|
"OVERVIEW_AND_PAYMENT": "Overview and payment",
|
|
523
537
|
"OWN_REFERENCE": "Own reference",
|
|
524
538
|
"PACKING_SLIP": "Packing slip",
|
|
@@ -535,6 +549,7 @@ export class Dictionary {
|
|
|
535
549
|
"PASSWORD": "Password",
|
|
536
550
|
"PAY": "Pay",
|
|
537
551
|
"PAYMENT": "Payment",
|
|
552
|
+
"PAYMENT_INFORMATION": "Payment information",
|
|
538
553
|
"PAYMENT_METHOD": "Payment method",
|
|
539
554
|
"PERSONAL_DATA": "Personal data",
|
|
540
555
|
"PHONE_NO": "Telephone number",
|
|
@@ -571,14 +586,18 @@ export class Dictionary {
|
|
|
571
586
|
"SAME_AS_DELIVERY": "Same as delivery address",
|
|
572
587
|
"SAVE": "Save",
|
|
573
588
|
"SEARCH": "Search",
|
|
574
|
-
"SEARCH_NUMBER_CUSTOMER_OR_DATE": "Search for number, customer or date",
|
|
575
589
|
"SEARCH_ADD_ARTICLE": "Search and add article",
|
|
590
|
+
"SEARCH_DELIVERY_METHOD": "Search deliverymethod",
|
|
576
591
|
"SEARCH_IN_COLLECTION": "Search in collection...",
|
|
592
|
+
"SEARCH_NUMBER_CUSTOMER_OR_DATE": "Search for number, customer or date",
|
|
593
|
+
"SEARCH_PRICE_LIST": "Search pricelist",
|
|
594
|
+
"SEARCH_VAT": "Search vat",
|
|
577
595
|
"SEARCH_WAREHOUSE": "Search warehouse",
|
|
578
596
|
"SELECT": "Select",
|
|
579
597
|
"SELECT_A": "Select a",
|
|
580
598
|
"SELECT_CASH_REGISTER": "Select cash register",
|
|
581
599
|
"SELECT_DATE_RANGE": "Select a date range",
|
|
600
|
+
"SEND": "Send",
|
|
582
601
|
"SERIAL_NUMBER": "Serial number",
|
|
583
602
|
"SERVICE_NUMBER": "Service number",
|
|
584
603
|
"SERVICE_REQUEST_DATE": "Service request data",
|
|
@@ -610,7 +629,7 @@ export class Dictionary {
|
|
|
610
629
|
"TOTAL_GROSS": "Gross total",
|
|
611
630
|
"TOTAL_LINE_DISCOUNT": "Total linediscount",
|
|
612
631
|
"TRANSACTION_DATE": "Transaction date",
|
|
613
|
-
"TRANSACTION_DISCOUNT": "
|
|
632
|
+
"TRANSACTION_DISCOUNT": "Transaction discount",
|
|
614
633
|
"TRANSACTION_DISCOUNT_PERC": "% Trans. discount",
|
|
615
634
|
"TRANSACTION_PRICE_DECLARATION": "Transaction price declaration",
|
|
616
635
|
"TRANSACTION_SUM_I": "Ordertotal incl VAT",
|
|
@@ -625,6 +644,7 @@ export class Dictionary {
|
|
|
625
644
|
"USER": "User",
|
|
626
645
|
"VALUE": "Value",
|
|
627
646
|
"VAT": "VAT",
|
|
647
|
+
"VAT2": "VAT",
|
|
628
648
|
"VAT_AMOUNT": "VAT amount",
|
|
629
649
|
"WAREHOUSE": "Warehouse",
|
|
630
650
|
"WHERE_ARE_YOU_LOOKING_FOR": "Where are you looking for?",
|
|
@@ -637,4 +657,4 @@ export class Dictionary {
|
|
|
637
657
|
};
|
|
638
658
|
}
|
|
639
659
|
}
|
|
640
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9hc3NldHMvZGljdGlvbmFyeS90ZXh0LnByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxZQUFPLEdBQU87WUFDbkIsSUFBSSxFQUFFO2dCQUNKLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUsa0ZBQWtGO29CQUN2RywwRkFBMEY7Z0JBQzVGLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSw4QkFBOEI7Z0JBQ3JELHVCQUF1QixFQUFFLDhCQUE4QjtnQkFDdkQsMEJBQTBCLEVBQUUsNEJBQTRCO2dCQUN4RCw0QkFBNEIsRUFBRSw0QkFBNEI7Z0JBQzFELHFCQUFxQixFQUFFLHlCQUF5QjtnQkFDaEQsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMsZUFBZSxFQUFFLHFCQUFxQjtnQkFDdEMsWUFBWSxFQUFFLHdCQUF3QjtnQkFDdEMsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHdCQUF3QixFQUFFLGtDQUFrQztnQkFDNUQsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLDZCQUE2QixFQUFFLHNDQUFzQztnQkFDckUsY0FBYyxFQUFFLGVBQWU7Z0JBQy9CLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxvQkFBb0I7Z0JBQ3JDLDJCQUEyQixFQUFFLGdFQUFnRTtnQkFDN0YsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLHFCQUFxQixFQUFFLHVCQUF1QjtnQkFDOUMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxnQkFBZ0Is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Q29udGVudCI6WyJleHBvcnQgY2xhc3MgRGljdGlvbmFyeSB7XHJcbiAgcHVibGljIHN0cmluZ3M6IHt9ID0ge1xyXG4gICAgXCJubFwiOiB7XHJcbiAgICAgIFwiQUNDT1VOVF9ERVRBSUxTXCI6IFwiQWNjb3VudGdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiQUNDT1VOVF9FWFBMQU5BVElPTlwiOiBcIkhldCBlLW1haWxhZHJlcyBlbiB3YWNodHdvb3JkIHppam4gbm9kaWcgb20gdG9lZ2FuZyB0ZSBrcmlqZ2VuIHRvdCBkZSBnZWdldmVucy4gXCIgK1xyXG4gICAgICAgIFwiT29rIHp1bGxlbiB3ZSBqZSB2aWEgZGl0IGUtbWFpbGFkcmVzIG9wIGRlIGhvb2d0ZSBob3VkZW4gdmFuIGRlIHN0YXR1cyB2YW4gYmVzdGVsbGluZ2VuLlwiLFxyXG4gICAgICBcIkFDVElWRVwiOiBcIkFjdGllZlwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfVVBcIjogXCJBcnRpa2VscmVnZWwgYm92ZW4gdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9ET1dOXCI6IFwiQXJ0aWtlbHJlZ2VsIG9uZGVyIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9VUFwiOiBcIlRla3N0cmVnZWwgYm92ZW4gdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX0RPV05cIjogXCJUZWtzdHJlZ2VsIG9uZGVyIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERF9ERUxJVkVSWV9PUFRJT05cIjogXCJWb2VnIGVlbiBsZXZlcm9wdGllIHRvZVwiLFxyXG4gICAgICBcIkFERF9ESVNDT1VOVFNcIjogXCJLb3J0aW5nIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERF9SRUZFUkVOQ0VcIjogXCJWb2VnIHJlZmVyZW50aWUgdG9lXCIsXHJcbiAgICAgIFwiQUREX1JFTUFSS1wiOiBcIlZvZWcgZWVuIG9wbWVya2luZyB0b2VcIixcclxuICAgICAgXCJBRERSRVNTXCI6IFwiQWRyZXNcIixcclxuICAgICAgXCJBRERSRVNTRVNcIjogXCJBZHJlc3NlblwiLFxyXG4gICAgICBcIkFERFJFU1NfQUREXCI6IFwiQWRyZXMgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREUkVTU19DSEFOR0VcIjogXCJBZHJlcyB3aWp6aWdlblwiLFxyXG4gICAgICBcIkFETUlOSVNUUkFUSVZFX01BTkFHRVJcIjogXCJBZG1pbmlzdHJhdGllZiB2ZXJhbnR3b29yZGVsaWprZVwiLFxyXG4gICAgICBcIkFMTE9DQVRFRFwiOiBcIlRvZWdld2V6ZW5cIixcclxuICAgICAgXCJBTFdBWVNfU0hPV19MT0dJU1RJQ1NfUE9QVVBcIjogXCJDb250cm9sZWVyIG1hZ2F6aWpuIGVuIGNvbW1pc3NpZWNvZGVcIixcclxuICAgICAgXCJBUlJJVkFMX0RBVEVcIjogXCJBYW5rb21zdGRhdHVtXCIsXHJcbiAgICAgIFwiQVJUSUNMRVwiOiBcIkFydGlrZWxcIixcclxuICAgICAgXCJBUlRJQ0xFX0RFU0NSSVBUSU9OXCI6IFwiQXJ0aWtlbG9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkFSVElDTEVfSU1BR0VcIjogXCJBcnRpa2VsIGFmYmVlbGRpbmdcIixcclxuICAgICAgXCJBUlRJQ0xFX0lOX09VVF9DT0xMRUNUSU9OXCI6IFwiU3RhdHVzIHZhbiBhcnRpa2VsIGlzICd8ficuIFdlZXQgdSB6ZWtlciBkYXQgdSBkb29yIHdpbHQgZ2Fhbj9cIixcclxuICAgICAgXCJBUlRJQ0xFX05SXCI6IFwiQXJ0aWtlbG51bW1lclwiLFxyXG4gICAgICBcIkFSVElDTEVfTlJfU1VQUExJRVJcIjogXCJBcnRpa2VsbnIgbGV2ZXJhbmNpZXJcIixcclxuICAgICAgXCJBUlRJQ0xFX1VOS05PV05cIjogXCJPbmJla2VuZCBhcnRpa2VsXCIsXHJcbiAgICAgIFwiQVNTRU1CTFlfQ09TVFNcIjogXCJNb250YWdla29zdGVuXCIsXHJcbiAgICAgIFwiQVNTRU1CTFlfREFURVwiOiBcIk1vbnRhZ2VkYXR1bVwiLFxyXG4gICAgICBcIkFTU0VNQkxZX1RJTUVcIjogXCJNb250YWdldGlqZFwiLFxyXG4gICAgICBcIkFNT1VOVFwiOiBcIkFhbnRhbFwiLFxyXG4gICAgICBcIkFWQUlMQUJMRV9TVE9DS1wiOiBcIkJlY2hpa2JhYXJcIixcclxuICAgICAgXCJCQUNLXCI6IFwiVGVydWdcIixcclxuICAgICAgXCJCQUNLX1RPX1NUT0NLX0xJTkVTXCI6IFwiVGVydWcgbmFhciB2b29ycmFhZHJlZ2Vsc1wiLFxyXG4gICAgICBcIkJBTEFOQ0VcIjogXCJTYWxkb1wiLFxyXG4gICAgICBcIkJBVENIX05VTUJFUlwiOiBcIkJhdGNobnVtbWVyXCIsXHJcbiAgICAgIFwiQlJBTkNIXCI6IFwiRmlsaWFhbFwiLFxyXG4gICAgICBcIkJSQU5DSF9OVU1CRVJcIjogXCJGaWxpYWFsbnVtbWVyXCIsXHJcbiAgICAgIFwiQlVTSU5FU1NfUlVMRV9ESVNDT1VOVFwiOiBcIkJ1c2luZXNzIHJ1bGUga29ydGluZ1wiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkFubnVsZXJlblwiLFxyXG4gICAgICBcIkNBTk5PVF9DSEFOR0VfTkVHQVRJVkVfUVVBTlRJVFlcIjogXCJFZW4gbmVnYXRpZXZlIHZvb3JyYWFkIGthbiBuaWV0IGdld2lqemlnZCB3b3JkZW4uXCIsXHJcbiAgICAgIFwiQ0FSVFwiOiBcIldpbmtlbHdhZ2VuXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0RBVEFcIjogXCJXaWp6aWcgZ2VnZXZlbnNcIixcclxuICAgICAgXCJDSEFSQUNURVJJU1RJQ19RVUVTVElPTlwiOiBcIktlbm1lcmt2cmFhZ1wiLFxyXG4gICAgICBcIkNIRUNLX1dBUkVIT1VTRV9BTkRfQ09NTUlTU0lPTkNPREVcIjogXCJDb250cm9sZWVyIG1hZ2F6aWpuIGVuIGNvbW1pc3NpZWNvZGUuXCIsXHJcbiAgICAgIFwiQ0hFQ0tPVVRfRklOSVNIXCI6IFwiQmVzdGVsbGluZyBhZnJvbmRlblwiLFxyXG4gICAgICBcIkNJVFlcIjogXCJTdGFkXCIsXHJcbiAgICAgIFwiQ0xJRU5UX0RBVEFcIjogXCJLbGFudGdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiQ09NUEFOWVwiOiBcIkJlZHJpamZcIixcclxuICAgICAgXCJDT01QQU5ZX05BTUVcIjogXCJCZWRyaWpmc25hYW1cIixcclxuICAgICAgXCJDT01NSVNTSU9OX0NPREVcIjogXCJDb21taXNpZWNvZGVcIixcclxuICAgICAgXCJDT05GSVJNRURcIjogXCJCZXZlc3RpZ2RcIixcclxuICAgICAgXCJDT05GSVJNQVRJT05cIjogXCJCZXZlc3RpZ2luZ1wiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9EQVRFXCI6IFwiQmV2ZXN0aWdkZSBkYXR1bVwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9ERUxJVkVSWV9EQVRFXCI6IFwiQmV2ZXN0aWdkZSBsZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX1BSSUNFXCI6IFwiQmV2ZXN0aWdkZSBwcmlqc1wiLFxyXG4gICAgICBcIkNPTlRBQ1RfREVUQUlMU1wiOiBcIkNvbnRhY3RnZWdldmVuc1wiLFxyXG4gICAgICBcIkNPTlRJTlVFXCI6IFwiVm9sZ2VuZGVcIixcclxuICAgICAgXCJDT05USU5VRV9PUkRFUl9XSElMRV9TVE9DS19BVkFJTEFCTEVfUExFQVNFX0NPTkZJUk1cIjogXCJVIGhlZWZ0IGdla296ZW4gdm9vciBoZXQgYmVzdGVsbGVuIHZhbiBhcnRpa2VsZW4gdGVyd2lqbCBlciBub2cgdm9vcnJhYWQgYWFud2V6aWcgaXMuIFdpbHQgdSB2ZXJkZXJnYWFuP1wiLFxyXG4gICAgICBcIkNPTlRJTlVFX1dJVEhPVVRfQUNDT1VOVFwiOiBcIkdhIGRvb3Igem9uZGVyIGFjY291bnRcIixcclxuICAgICAgXCJDT1NUU1wiOiBcIktvc3RlblwiLFxyXG4gICAgICBcIkNPVU5UUllcIjogXCJMYW5kXCIsXHJcbiAgICAgIFwiQ1JFQVRFX0FDQ09VTlRcIjogXCJNYWFrIGVlbiBhY2NvdW50IGFhblwiLFxyXG4gICAgICBcIkNSRUFURV9BQ0NPVU5UX0lOXzJfTUlOXCI6IFwiTWFhayBiaW5uZW4gMiBtaW51dGVuIGVlbiBhY2NvdW50IGFhbi5cIixcclxuICAgICAgXCJDVVNUT01FUlwiOiBcIktsYW50XCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfR1JPVVBcIjogXCJLbGFudGdyb2VwXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfTkFNRVwiOiBcIktsYW50bmFhbVwiLFxyXG4gICAgICBcIkRBVEVcIjogXCJEYXR1bVwiLFxyXG4gICAgICBcIkRBVEVfT0ZfQklSVEhcIjogXCJHZWJvb3J0ZWRhdHVtXCIsXHJcbiAgICAgIFwiREVGSU5JVElWRVwiOiBcIkRlZmluaXRpZWZcIixcclxuICAgICAgXCJERUxFVEVcIjogXCJWZXJ3aWpkZXJlblwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FXCI6IFwidmVyd2lqZGVyZW5cIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9ISU5UXCI6IFwiVmVyd2lqZGVyZW4gdHJhbnNhY3RpZXJlZ2VsXCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVfRkFJTEVEXCI6IFwiSGV0IHZlcndpamRlcmVuIHZhbiBkZSB0cmFuc2FjdGllcmVnZWwgaXMgbWlzbHVrdFwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX1FVRVNUSU9OXCI6IFwiV2VldCB1IHpla2VyIGRhdCB1IGRlemUgcmVnZWwgd2lsdCB2ZXJ3aWpkZXJlbj9cIixcclxuICAgICAgXCJERUxJVkVSRURcIjogXCJHZWxldmVyZFwiLFxyXG4gICAgICBcIkRFTElWRVJZXCI6IFwiQmV6b3JnaW5nXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU1wiOiBcIkFmbGV2ZXJhZHJlc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NfQUREXCI6IFwiQmV6b3JnYWRyZXMgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU19DSEFOR0VcIjogXCJCZXpvcmdhZHJlcyB3aWp6aWdlblwiLFxyXG4gICAgICBcIkRFTElWRVJZX0JBVENIXCI6IFwiTGV2ZXJiYXRjaFwiLFxyXG4gICAgICBcIkRFTElWRVJZX0NPU1RTXCI6IFwiQmV6b3Jna29zdGVuXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFUQVwiOiBcIkxldmVyZ2VnZXZlbnNcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFXCI6IFwiTGV2ZXJkYXR1bVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEVfREVGSU5JVElWRVwiOiBcIkxldmVyZGF0dW0gZGVmaW5pdGllZlwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEVfRklOQUxcIjogXCJEZWZpbml0aWV2ZSBsZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiREVMSVZFUllfRElSRUNUXCI6IFwiRGlyZWN0IGxldmVyYmFhclwiLFxyXG4gICAgICBcIkRFTElWRVJZX0xPQ0FUSU9OXCI6IFwiQmV6b3JnaW5nc2xvY2F0aWVcIixcclxuICAgICAgXCJERUxJVkVSWV9OT1RFXCI6IFwiQWZsZXZlcmJvblwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVElPTlNcIjogXCJMZXZlcm9wdGllc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX01FVEhPRFwiOiBcIkxldmVybWV0aG9kZVwiLFxyXG4gICAgICBcIkRFTElWRVJZX01PTUVOVFwiOiBcIkxldmVybW9tZW50XCIsXHJcbiAgICAgIFwiREVMSVZFUllfT1BUQVJUSUNMRV9OUklPTlNcIjogXCJCZXpvcmdvcHRpZXNcIixcclxuICAgICAgXCJERUxJVkVSWV9USU1FX1BFUklPRFwiOiBcIkxldmVydGlqZFwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiT21zY2hyaWp2aW5nXCIsXHJcbiAgICAgIFwiREVUQUlMU1wiOiBcIkRldGFpbHNcIixcclxuICAgICAgXCJESVNDT1VOVFwiOiBcIktvcnRpbmdcIixcclxuICAgICAgXCJESVNDT1VOVFNcIjogXCJLb3J0aW5nZW5cIixcclxuICAgICAgXCJESVNDT1VOVF9BTU9VTlRcIjogXCJLb3J0aW5nc2JlZHJhZ1wiLFxyXG4gICAgICBcIkRJU0NPVU5UX1BFUkNFTlRBR0VcIjogXCJLb3J0aW5ncyAlXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRcIjogXCJBYW5iZXRhbGluZ1wiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX1BFUkNFTlRBR0VcIjogXCJBYW4gdGUgYmV0YWxlbiAlXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfQU1PVU5UXCI6IFwiQWFuIHRlIGJldGFsZW4gYmVkcmFnXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfQllfQlJcIjogXCJCZXJla2VuZCBkb29yIEJSXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfT05fREVMSVZFUllcIjogXCJSZW1ib3Vyc1wiLFxyXG4gICAgICBcIkRST1BTSElQTUVOVFwiOiBcIkRyb3BzaGlwbWVudFwiLFxyXG4gICAgICBcIkVDT05PTUlDQUxfU1RPQ0tcIjogXCJMYXRlciBiZXNjaGlrYmFhclwiLFxyXG4gICAgICBcIkVESVRfQ0FSVFwiOiBcIldpanppZyB3aW5rZWx3YWdlblwiLFxyXG4gICAgICBcIkVNQUlMX0FERFJFU1NcIjogXCJFLW1haWxhZHJlc1wiLFxyXG4gICAgICBcIkVYQ0VFREVOQ0VfQ09ERVwiOiBcIlVpdGxvb3Bjb2RlXCIsXHJcbiAgICAgIFwiRVhJU1RJTkdfQ1VTVE9NRVJTXCI6IFwiQmVzdGFhbmRlIGtsYW50ZW5cIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9EQVRFXCI6IFwiKFZlcndhY2h0ZSkgbGV2ZXJkYXR1bVwiLFxyXG4gICAgICBcIkVYUEVDVEVEX0RFTElWRVJZX1dFRUtcIjogXCIoVmVyd2FjaHRlKSBsZXZlcndlZWtcIixcclxuICAgICAgXCJGQUJSSUNBVElPTl9DT1NUXCI6IFwiRmFicmljYWdlcHJpanNcIixcclxuICAgICAgXCJGQUJSSUNBVElPTl9DT1NUX0xJTkVfVE9UQUxcIjogXCJGYWJyaWNhZ2VwcmlqcyByZWdlbHRvdGFhbFwiLFxyXG4gICAgICBcIkZFTUFMRVwiOiBcIlZyb3V3XCIsXHJcbiAgICAgIFwiRklSU1RfTkFNRVwiOiBcIlZvb3JuYWFtXCIsXHJcbiAgICAgIFwiRlJFRVwiOiBcIkdyYXRpc1wiLFxyXG4gICAgICBcIkZVTExZX0FMTE9DQVRFRFwiOiBcIlZvbGxlZGlnIHRvZWdld2V6ZW5cIixcclxuICAgICAgXCJGVUxMWV9DT05GSVJNRURcIjogXCJWb2xsZWRpZyBiZXZlc3RpZ2RcIixcclxuICAgICAgXCJGVUxMWV9ERUxJVkVSRURcIjogXCJWb2xsZWRpZyBnZWxldmVyZFwiLFxyXG4gICAgICBcIkZVTExZX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIlZvbGxlZGlnIGJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiRlVMTFlfSU5WT0lDRURcIjogXCJWb2xsZWRpZyBnZWZhY3R1cmVlcmRcIixcclxuICAgICAgXCJGVUxMWV9UT19CRV9QSUNLRURcIjogXCJWb2xsZWRpZyB0ZSBwaWNrZW5cIixcclxuICAgICAgXCJGVUxMWV9QSUNLRURcIjogXCJWb2xsZWRpZyBnZXBpY2t0XCIsXHJcbiAgICAgIFwiR1JPU1NfUFJJQ0VcIjogXCJCcnV0byBwcmlqc1wiLFxyXG4gICAgICBcIkdPT0RfREVTQ1JJUFRJT05cIjogXCJBcnRpa2Vsb21zY2hyaWp2aW5nXCIsXHJcbiAgICAgIFwiSEFORExFRF9CWVwiOiBcIlZlcmtvcGVyXCIsXHJcbiAgICAgIFwiSE9VU0VfTk9cIjogXCJIdWlzbnVtbWVyXCIsXHJcbiAgICAgIFwiSE9VU0VfTk9fQURESVRJT05cIjogXCJIdWlzbnVtbWVyIHRvZXZvZWdpbmdcIixcclxuICAgICAgXCJJTlwiOiBcIkluXCIsXHJcbiAgICAgIFwiSU5BQ1RJVkVfVFJBTlNBQ1RJT05TXCI6IFwiSW5hY3RpZXZlIHRyYW5zYWN0aWVzXCIsXHJcbiAgICAgIFwiSU5DTFVESU5HX1JFVFVSTlNcIjogXCJJbmNsdXNpZWYgcmV0b3VyZW5cIixcclxuICAgICAgXCJJTl9TRUFSQ0hPUkRFUlNcIjogXCJJbiB2ZXJrb29wb3JkZXJzXCIsXHJcbiAgICAgIFwiSU5fT1JERVJcIjogXCJJbiBiZXN0ZWxsaW5nXCIsXHJcbiAgICAgIFwiSU5fT1VUX0NPTExFQ1RJT05cIjogXCJJbi11aXQtY29sbGVjdGllXCIsXHJcbiAgICAgIFwiSU5WSVRFX1RPX0FDQ09VTlRcIjogXCJVaXRub2RpZ2VuIHZvb3IgYWNjb3VudFwiLFxyXG4gICAgICBcIklOVk9JQ0VEXCI6IFwiR2VmYWN0dXJlZXJkXCIsXHJcbiAgICAgIFwiSU5WT0lDRVwiOiBcIkZhY3R1cmVyZW5cIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NcIjogXCJGYWN0dXVyYWRyZXNcIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQUREXCI6IFwiRmFjdHV1cmFkcmVzIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU19DSEFOR0VcIjogXCJGYWN0dXVyYWRyZXMgd2lqemlnZW5cIixcclxuICAgICAgXCJJTlZPSUNFX0NIRUNLXCI6IFwiRmFjdHV1cmNvbnRyb2xlXCIsXHJcbiAgICAgIFwiTEFTVF9FRElURURfREFURVwiOiBcIkRhdHVtIGxhYXRzdGUgd2lqemlnaW5nXCIsXHJcbiAgICAgIFwiTEFTVF9FRElURURfVVNFUlwiOiBcIkdlYnJ1aWtlciBsYWF0c3RlIHdpanppZ2luZ1wiLFxyXG4gICAgICBcIkxBU1RfTkFNRVwiOiBcIkFjaHRlcm5hYW1cIixcclxuICAgICAgXCJMSU5FX05FRURTX0NPTU1JU1NJT05fQ09ERVwiOiBcIkRlIGNvbW1pc2llY29kZSBvbnRicmVla3QuIFZ1bCBkZSBjb21taXNzaWVjb2RlIGluLlwiLFxyXG4gICAgICBcIkxPQ0FUSU9OXCI6IFwiTG9jYXRpZVwiLFxyXG4gICAgICBcIkxPR0lOXCI6IFwiSW5sb2dnZW5cIixcclxuICAgICAgXCJMT0dJTl9ERVRBSUxTXCI6IFwiSW5sb2dnZWdldmVuc1wiLFxyXG4gICAgICBcIkxPR0lTVElDU1wiOiBcIkxvZ2lzdGlla1wiLFxyXG4gICAgICBcIkxPR0lTVElDU19BTkRfUExBTk5JTkdcIjogXCJMb2dpc3RpZWsgJiBwbGFubmluZ1wiLFxyXG4gICAgICBcIk1BSU5fQVJUSUNMRVwiOiBcIkhvb2ZkIGFydGlrZWxcIixcclxuICAgICAgXCJNQUxFXCI6IFwiTWFuXCIsXHJcbiAgICAgIFwiTUFSS0VUSU5HXCI6IFwiTWFya2V0aW5nXCIsXHJcbiAgICAgIFwiTUFSS0VUSU5HX0NPREVcIjogXCJNYXJrZXRpbmdjb2RlXCIsXHJcbiAgICAgIFwiTUVOVVwiOiBcIk1lbnVcIixcclxuICAgICAgXCJNT0RJRklDQVRJT05fVElNRVwiOiBcIkJld2Vya2luZ3N0aWpkXCIsXHJcbiAgICAgIFwiTU9SRV9GSUxURVJTXCI6IFwiTWVlciBmaWx0ZXJzXCIsXHJcbiAgICAgIFwiTkFNRVwiOiBcIk5hYW1cIixcclxuICAgICAgXCJORVRfTElORV9UT1RBTFwiOiBcIlJlZ2VsdG90YWFsXCIsXHJcbiAgICAgIFwiTkVUVFwiOiBcIk5ldHRvXCIsXHJcbiAgICAgIFwiTkVUVE9fUFJJQ0VcIjogXCJOZXR0byBwcmlqc1wiLFxyXG4gICAgICBcIk5FV19BVFwiOiBcIk5pZXV3IGJpaiBcIixcclxuICAgICAgXCJORVdfTE9DQVRJT05cIjogXCJOaWV1d2UgbG9jYXRpZVwiLFxyXG4gICAgICBcIk5FWFRcIjogXCJWb2xnZW5kZVwiLFxyXG4gICAgICBcIk5PX0lNQUdFXCI6IFwiR2VlbiBhZmJlZWxkaW5nXCIsXHJcbiAgICAgIFwiTk9fUkVTVUxUU1wiOiBcIkdlZW4gcmVzdWx0YXRlblwiLFxyXG4gICAgICBcIk5PVF9BRlRFUlwiOiBcIk5pZXQgbGF0ZXIgZGFuXCIsXHJcbiAgICAgIFwiTk9UX0JFRk9SRVwiOiBcIk5pZXQgZWVyZGVyIGRhblwiLFxyXG4gICAgICBcIk5PVEhJTkdfQUxMT0NBVEVEXCI6IFwiTmlldHMgdG9lZ2V3ZXplblwiLFxyXG4gICAgICBcIk5PVEhJTkdfQ09ORklSTUVEXCI6IFwiTmlldHMgYmV2ZXN0aWdkXCIsXHJcbiAgICAgIFwiTk9USElOR19ERUxJVkVSRURcIjogXCJOaWV0cyBnZWxldmVyZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiTmlldHMgYmlubmVuZ2VtZWxkIC8gZ2VsZXZlcmRcIixcclxuICAgICAgXCJOT1RISU5HX0lOVk9JQ0VEXCI6IFwiTmlldHMgZ2VmYWN0dXJlZXJkXCIsXHJcbiAgICAgIFwiTk9USElOR19UT19CRV9QSUNLRURcIjogXCJOaWV0cyB0ZSBwaWNrZW5cIixcclxuICAgICAgXCJOT1RISU5HX1BJQ0tFRFwiOiBcIk5pZXRzIGdlcGlja3RcIixcclxuICAgICAgXCJOUlwiOiBcIk51bW1lclwiLFxyXG4gICAgICBcIk5VTUJFUlwiOiBcIkFhbnRhbFwiLFxyXG4gICAgICBcIk9OX0RBVEVcIjogXCJPcCBkYXR1bVwiLFxyXG4gICAgICBcIk9OX0hPTERcIjogXCJHZXBhdXplZXJkXCIsXHJcbiAgICAgIFwiT1BFTl9TSE9QUElOR19DQVJUXCI6IFwiT3BlbiB3aW5rZWx3YWdlblwiLFxyXG4gICAgICBcIk9SREVSX0NPTkZJUk1BVElPTlNcIjogXCJCZXZlc3RpZ2luZ2VuXCIsXHJcbiAgICAgIFwiT1JERVJfREFURVwiOiBcIk9yZGVyZGF0dW1cIixcclxuICAgICAgXCJPUkRFUl9EQVRBXCI6IFwiT3JkZXJnZWdldmVuc1wiLFxyXG4gICAgICBcIk9SREVSX0RFRklOSVRJVkVcIjogXCJPcmRlciBkZWZpbml0aWVmXCIsXHJcbiAgICAgIFwiT1JERVJfR1JPU1NcIjogXCJPcmRlcnRvdGFhbCBicnV0b1wiLFxyXG4gICAgICBcIk9SREVSX0xJTkVTXCI6IFwiT3JkZXJyZWdlbHNcIixcclxuICAgICAgXCJPUkRFUl9ORVRcIjogXCJPcmRlcnRvdGFhbCBuZXR0b1wiLFxyXG4gICAgICBcIk9SREVSX05VTUJFUlwiOiBcIk9yZGVybnVtbWVyXCIsXHJcbiAgICAgIFwiT1JERVJfUEFSQU1FVEVSU1wiOiBcIk9yZGVycGFyYW1ldGVyc1wiLFxyXG4gICAgICBcIk9SREVSX1JVTEVcIjogXCJPcmRlcnJlZ2VsXCIsXHJcbiAgICAgIFwiT1JERVJfUlVMRVNFVFwiOiBcIk9yZGVycmVnZWxzZXRcIixcclxuICAgICAgXCJPUkRFUl9UT1RBTFwiOiBcIk9yZGVydG90YWFsXCIsXHJcbiAgICAgIFwiT1JERVJfVFlQRVwiOiBcIlR5cGUgYmVzdGVsbGluZ1wiLFxyXG4gICAgICBcIk9SREVSRURcIjogXCJCZXN0ZWxkXCIsXHJcbiAgICAgIFwiT1RIRVJcIjogXCJPdmVyaWdcIixcclxuICAgICAgXCJPVkVSVklFV19BTkRfUEFZTUVOVFwiOiBcIk92ZXJ6aWNodCBlbiBiZXRhbGluZ1wiLFxyXG4gICAgICBcIk9XTl9SRUZFUkVOQ0VcIjogXCJFaWdlbiByZWZlcmVudGllXCIsXHJcbiAgICAgIFwiUEFDS0lOR19TTElQXCI6IFwiUGFrYm9uXCIsXHJcbiAgICAgIFwiUEFJRF9ET1dOMlwiOiBcIkFhbmJldGFhbGRcIixcclxuICAgICAgXCJQQVJUX0RFTElWRVJZXCI6IFwiRGVlbGxldmVyaW5nXCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSSUVTXCI6IFwiRGVlbGxldmVyaW5nZW5cIixcclxuICAgICAgXCJQQVJUTFlfQUxMT0NBVEVEXCI6IFwiR2VkZWVsdGVsaWprIHRvZWdld2V6ZW5cIixcclxuICAgICAgXCJQQVJUTFlfQ09ORklSTUVEXCI6IFwiR2VkZWVsdGVsaWprIGJldmVzdGlnZFwiLFxyXG4gICAgICBcIlBBUlRMWV9ERUxJVkVSRURcIjogXCJHZWRlZWx0ZWxpamsgZ2VsZXZlcmRcIixcclxuICAgICAgXCJQQVJUTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiR2VkZWVsdGVsaWprIGJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiUEFSVExZX0lOVk9JQ0VEXCI6IFwiR2VkZWVsdGVsaWprIGdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIlBBUlRMWV9UT19CRV9QSUNLRURcIjogXCJHZWRlZWx0ZWxpamsgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiUEFSVExZX1BJQ0tFRFwiOiBcIkdlZGVlbHRlbGlqayBnZXBpY2t0XCIsXHJcbiAgICAgIFwiUEFTU1dPUkRcIjogXCJXYWNodHdvb3JkXCIsXHJcbiAgICAgIFwiUEFZXCI6IFwiQmV0YWxlblwiLFxyXG4gICAgICBcIlBBWU1FTlRcIjogXCJCZXRhbGluZ1wiLFxyXG4gICAgICBcIlBBWU1FTlRfTUVUSE9EXCI6IFwiQmV0YWFsbWV0aG9kZVwiLFxyXG4gICAgICBcIlBFUlNPTkFMX0RBVEFcIjogXCJCYXNpc2dlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiUElDS0VEXCI6IFwiR2VwaWNrdFwiLFxyXG4gICAgICBcIlBIT05FX05PXCI6IFwiVGVsZWZvb25udW1tZXJcIixcclxuICAgICAgXCJQSFlTSUNBTF9TVE9DS1wiOiBcIkZ5c2lla2Ugdm9vcnJhYWRcIixcclxuICAgICAgXCJQTEFOTklOR1wiOiBcIlBsYW5uaW5nXCIsXHJcbiAgICAgIFwiUE9TVEFMX0NPREVcIjogXCJQb3N0Y29kZVwiLFxyXG4gICAgICBcIlBSRUZFUlJFRF9EQVRFXCI6IFwiVm9vcmtldXJzZGF0dW1cIixcclxuICAgICAgXCJQUkVGSVhcIjogXCJUdXNzZW52b2Vnc2VsXCIsXHJcbiAgICAgIFwiUFJFVklPVVNcIjogXCJWb3JpZ2VcIixcclxuICAgICAgXCJQUklDRVwiOiBcIlByaWpzXCIsXHJcbiAgICAgIFwiUFJJQ0VfTElTVFwiOiBcIlByaWpzbGlqc3RcIixcclxuICAgICAgXCJQUklDSU5HXCI6IFwiUHJpanplblwiLFxyXG4gICAgICBcIlBSSVZBQ1lfUFJFRkVSRU5DRVNcIjogXCJQcml2YWN5dm9vcmtldXJlblwiLFxyXG4gICAgICBcIlBSSVZBVEVfUEVSU09OXCI6IFwiUGFydGljdWxpZXJcIixcclxuICAgICAgXCJQUk9EVUNUXCI6IFwiUHJvZHVjdFwiLFxyXG4gICAgICBcIlBST0RVQ1RfVFlQRVwiOiBcIlByb2R1Y3Rzb29ydFwiLFxyXG4gICAgICBcIlBVUkNIQVNFXCI6IFwiSW5rb29wXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VOVU1CRVJcIjogXCJJbmtvb3BudW1tZXJcIixcclxuICAgICAgXCJQVVJDSEFTRU9SREVSU1wiOiBcIklua29vcG9yZGVyc1wiLFxyXG4gICAgICBcIlBVUkNIQVNFX1BFUlNPTlwiOiBcIklua29wZXJcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfWkVST19PUl9FTVBUWVwiOiBcIkhldCBhYW50YWwgbWFnIGdlZW4gMCB6aWpuLlwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fREVMSVZFUkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgZ2VsZXZlcmRlIGFhbnRhbFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9NT1JFX1RIQU5fREVMSVZFUkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgZ2VsZXZlcmRlIGFhbnRhbFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fSU5WT0lDRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGRlIGJlc3RlbGRlIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX01PUkVfVEhBTl9JTlZPSUNFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGUgYmVzdGVsZGUgdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX0FMTE9DQVRFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGRlIHRvZWdld2V6ZW4gdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX0FMTE9DQVRFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGRlIHRvZWdld2V6ZW4gdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX1JFQ0VJVkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgYWFudGFsIG9udHZhbmdlbi5cIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX1JFQ0VJVkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgYWFudGFsIG9udHZhbmdlblwiLFxyXG4gICAgICBcIlFVQU5UVU1fRElTQ09VTlRcIjogXCJLd2FudHVta29ydGluZ1wiLFxyXG4gICAgICBcIlJFQ0VJUFRfREVUQUlMU1wiOiBcIk9udHZhbmdzdCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiUkVDRUlWRURcIjogXCJPbnR2YW5nc3RcIixcclxuICAgICAgXCJSRUNFSVZFRF9ERUxJVkVSRURcIjogXCJCaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RBVEVcIjogXCJPbnR2YW5nc3QgZGF0dW1cIixcclxuICAgICAgXCJSRUZFUkVOQ0VcIjogXCJSZWZlcmVudGllXCIsXHJcbiAgICAgIFwiUkVGRVJFTkNFX1JFTEFUSU9OXCI6IFwiUmVmLiByZWxhdGllXCIsXHJcbiAgICAgIFwiUkVMQVRJT05fTlVNQkVSXCI6IFwiUmVsYXRpZW51bW1lclwiLFxyXG4gICAgICBcIlJFTUFSS1NcIjogXCJPcG1lcmtpbmdlblwiLFxyXG4gICAgICBcIlJFUVVFU1RFRF9ERUxJVkVSWVwiOiBcIkdldnJhYWdkZSBsZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiU0FMVVRBVElPTlwiOiBcIkFhbmhlZlwiLFxyXG4gICAgICBcIlNBTEVTT1JERVJTXCI6IFwiVmVya29vcG9yZGVyc1wiLFxyXG4gICAgICBcIlNBTUVfQVNfREVMSVZFUllcIjogXCJIZXR6ZWxmZGUgYWxzIGJlem9yZ2FkcmVzXCIsXHJcbiAgICAgIFwiU0FWRVwiOiBcIk9wc2xhYW5cIixcclxuICAgICAgXCJTRUFSQ0hcIjogXCJab2VrZW5cIixcclxuICAgICAgXCJTRUFSQ0hfTlVNQkVSX0NVU1RPTUVSX09SX0RBVEVcIjogXCJab2VrZW4gb3AgbnVtbWVyLCBrbGFudCBvZiBkYXR1bVwiLFxyXG4gICAgICBcIlNFQVJDSF9JTl9DT0xMRUNUSU9OXCI6IFwiWm9layBiaW5uZW4gY29sbGVjdGllLi4uXCIsXHJcbiAgICAgIFwiU0VBUkNIX0FERF9BUlRJQ0xFXCI6IFwiWm9la2VuIGVuIHRvZXZvZWdlbiBhcnRpa2VsXCIsXHJcbiAgICAgIFwiU0VBUkNIX1dBUkVIT1VTRVwiOiBcIlpvZWsgbWFnYXppam5cIixcclxuICAgICAgXCJTRUxFQ1RcIjogXCJTZWxlY3RlcmVuXCIsXHJcbiAgICAgIFwiU0VMRUNUX0FcIjogXCJTZWxlY3RlZXIgZWVuXCIsXHJcbiAgICAgIFwiU0VMRUNUX0NBU0hfUkVHSVNURVJcIjogXCJTZWxlY3RlZXIga2Fzc2FcIixcclxuICAgICAgXCJTRUxFQ1RfREFURVwiOiBcIlNlbGVjdGVlciBlZW4gc3RhcnQtIGVuIGVpbmRkYXR1bVwiLFxyXG4gICAgICBcIlNFUklBTF9OVU1CRVJcIjogXCJTZXJpZW51bW1lclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfTlVNQkVSXCI6IFwiU2VydmljZW51bW1lclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfUkVRVUVTVF9EQVRFXCI6IFwiRGF0dW0gYWFudnJhYWdcIixcclxuICAgICAgXCJTRVJWSUNFX1NUQVRFXCI6IFwiU2VydmljZSBzdGF0dXNcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUXCI6IFwiV2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX0NIRUNLT1VUXCI6IFwiQmVzdGVsbGVuXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9PVkVSVklFV1wiOiBcIk92ZXJ6aWNodCB2YW4gdXcgYmVzdGVsbGluZ1wiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRfUkVTVU1FXCI6IFwiVmVyZGVyIHdpbmtlbGVuXCIsXHJcbiAgICAgIFwiU0hPV19NT1JFXCI6IFwiVG9vbiBtZWVyXCIsXHJcbiAgICAgIFwiU0hPV19MRVNTXCI6IFwiVG9vbiBtaW5kZXJcIixcclxuICAgICAgXCJTUEVDSUFMX0RJU0NPVU5UXCI6IFwiU3BlY2lhbGUga29ydGluZ1wiLFxyXG4gICAgICBcIlNPVVJDRV9XQVJFSE9VU0VcIjogXCJCcm9uIG1hZ2F6aWpuXCIsXHJcbiAgICAgIFwiU1RPQ0tcIjogXCJWb29ycmFhZFwiLFxyXG4gICAgICBcIlNUT0NLX05PVElGSUNBVElPTlwiOiBcIlZvb3JyYWFkbWVsZGluZ1wiLFxyXG4gICAgICBcIlNUT0NLX0FWQUlMQUJMRV9DSEFOR0VfV0FSRUhPVVNFX09SX0NPTU1JU1NJT05DT0RFXCI6IFwiRXIgaXMgdm9sZG9lbmRlIHZvb3JyYWFkLiBWZXJhbmRlciBtYWdhemlqbiBlbi9vZiBjb21taXNzaWVjb2RlXCIsXHJcbiAgICAgIFwiU1VCVE9UQUxcIjogXCJTdWJ0b3RhYWxcIixcclxuICAgICAgXCJTVUdHRVNUSU9OU1wiOiBcIlN1Z2dlc3RpZXNcIixcclxuICAgICAgXCJTVVBQTElFUlwiOiBcIkxldmVyYW5jaWVyXCIsXHJcbiAgICAgIFwiU1VSQ0hBUkdFX0FNT1VOVFwiOiBcIlRvZXNsYWdcIixcclxuICAgICAgXCJTVEFURVwiOiBcIlN0YXR1c1wiLFxyXG4gICAgICBcIlNUUkVFVFwiOiBcIlN0cmFhdG5hYW1cIixcclxuICAgICAgXCJUQUdTXCI6IFwiVGFnc1wiLFxyXG4gICAgICBcIlRFWFRfQVJUSUNMRV9CT1VORFwiOiBcIlRleHQgYmlqIGFydGlrZWwgfH5cIixcclxuICAgICAgXCJUT19SRVBPUlRfSU5cIjogJ0Jpbm5lbiB0ZSBtZWxkZW4nLFxyXG4gICAgICBcIlRPX0JFX1BJQ0tFRFwiOiBcIlRlIHBpY2tlblwiLFxyXG4gICAgICBcIlRPX0RFTElWRVJcIjogXCJUZSBsZXZlcmVuXCIsXHJcbiAgICAgIFwiVE9fUEFZXCI6IFwiVGUgYmV0YWxlblwiLFxyXG4gICAgICBcIlRPVEFMX0FNT1VOVFwiOiBcIlRvdGFhbGJlZHJhZ1wiLFxyXG4gICAgICBcIlRPVEFMX0FTU0VNQkxZX1RJTUVcIjogXCJUb3RhbGUgbW9udGFnZXRpamRcIixcclxuICAgICAgXCJUT1RBTF9HUk9TU1wiOiBcIlRvdGFhbCBicnV0b1wiLFxyXG4gICAgICBcIlRPVEFMX0xJTkVfRElTQ09VTlRcIjogXCJUb3RhbGUgcmVnZWxrb3J0aW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fREFURVwiOiBcIk9yZGVyZGF0dW1cIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9ESVNDT1VOVFwiOiBcIlRvdGFsZSB0cmFuc2FjdGllIGtvcnRpbmdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9ESVNDT1VOVF9QRVJDXCI6IFwiJSBUcmFucy4ga29ydGluZ1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1BSSUNFX0RFQ0xBUkFUSU9OXCI6IFwiT3JkZXIgcHJpanN2ZXJrbGFyaW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fU1VNX0lcIjogXCJPcmRlcnRvdGFhbCBpbmNsLiBCVFdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9UT1RBTFwiOiBcIlRyYW5zYWN0aWUgdG90YWFsXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUXCI6IFwiVHJhbnNwb3J0XCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RcIjogXCJUcmFuc3BvcnRrb3N0ZW5cIixcclxuICAgICAgXCJUUkFOU1BPUlRfQ09TVF9MSU5FX1RPVEFMXCI6IFwiVHJhbnNwb3J0a29zdGVuIHJlZ2VsdG90YWFsXCIsXHJcbiAgICAgIFwiVFVSTk9WRVJfR1JPVVBcIjogXCJPbXpldGdyb2VwXCIsXHJcbiAgICAgIFwiVFlQRVwiOiBcIlNvb3J0XCIsXHJcbiAgICAgIFwiVU5LTk9XTlwiOiBcIk9uYmVrZW5kXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCI6IFwiT25iZWtlbmQgYWRyZXNcIixcclxuICAgICAgXCJVU0VSXCI6IFwiR2VicnVpa2VyXCIsXHJcbiAgICAgIFwiVkFUXCI6IFwiQnR3XCIsXHJcbiAgICAgIFwiVkFUX0FNT1VOVFwiOiBcIkJUVy1iZWRyYWdcIixcclxuICAgICAgXCJWQUxVRVwiOiBcIldhYXJkZVwiLFxyXG4gICAgICBcIldIRVJFX0FSRV9ZT1VfTE9PS0lOR19GT1JcIjogXCJXYWFyIGJlbiBqZSBuYWFyIG9wIHpvZWs/XCIsXHJcbiAgICAgIFwiV0FSRUhPVVNFXCI6IFwiTWFnYXppam5cIixcclxuICAgICAgXCJZT1VSX0RBVEFcIjogXCJHZWdldmVuc1wiLFxyXG4gICAgICBcIlNUQU5EQVJEX1RFWFRTXCI6XCJTdGFuZGFhcmR0ZWtzdGVuXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9CT1VORF9URVhUXCI6IFwiQXJ0aWtlbGdlYm9uZGVuIHRla3N0XCIsXHJcbiAgICAgIFwiRk9SX0RPQ1VNRU5UU1wiOiBcIkJlc3RlbWQgdm9vciBkb2N1bWVudGVuXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0FSVElDTEVfVEVYVFwiOiBcIldpanppZ2VuIGFydGlrZWx0ZWtzdFwiLFxyXG4gICAgfSxcclxuICAgIFwiZGVcIjoge30sXHJcbiAgICBcImZyXCI6IHt9LFxyXG4gICAgXCJlblwiOiB7XHJcbiAgICAgIFwiQUNDT1VOVF9ERVRBSUxTXCI6IFwiQWNjb3VudCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiQUNDT1VOVF9FWFBMQU5BVElPTlwiOiBcIkUtbWFpbGFkZHJlc3MgYW5kIHBhc3N3b3JkIGFyZSBuZWVkZWQgdG8gZ2FpbiBhY2Nlc3MgdG8gdGhlIGRhdGEuIFdlIGFsc28gbm90aWZ5IHlvdSBvbiB0aGlzIGUtbWFpbGFkZHJlc3MgYWJvdXQgdGhlIG9yZGVyIHN0YXR1c1wiLFxyXG4gICAgICBcIkFDVElWRVwiOiBcIkFjdGl2ZVwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfVVBcIjogXCJBZGQgYXJ0aWNsZSBsaW5lIHVwXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9ET1dOXCI6IFwiQWRkIGFydGljbGUgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX1VQXCI6IFwiQWRkIHRleHQgbGluZSB1cFwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9ET1dOXCI6IFwiQWRkIHRleHQgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0RFTElWRVJZX09QVElPTlwiOiBcIkFkZCBkZWxpdmVyeSBvcHRpb25cIixcclxuICAgICAgXCJBRERfRElTQ09VTlRTXCI6IFwiQWRkIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiQUREX1JFRkVSRU5DRVwiOiBcIkFkZCByZWZlcmVuY2VcIixcclxuICAgICAgXCJBRERfUkVNQVJLXCI6IFwiQWRkIHJlbWFya1wiLFxyXG4gICAgICBcIkFERFJFU1NcIjogXCJBZGRyZXNzXCIsXHJcbiAgICAgIFwiQUREUkVTU0VTXCI6IFwiQWRkcmVzc2VzXCIsXHJcbiAgICAgIFwiQUREUkVTU19BRERcIjogXCJBZGQgYWRkcmVzc1wiLFxyXG4gICAgICBcIkFERFJFU1NfQ0hBTkdFXCI6IFwiQ2hhbmdlIGFkZHJlc3NcIixcclxuICAgICAgXCJBRE1JTklTVFJBVElWRV9NQU5BR0VSXCI6IFwiQWRtaW5pc3RyYXRpdmUgbWFuYWdlclwiLFxyXG4gICAgICBcIkFMTE9DQVRFRFwiOiBcIkFsbG9jYXRlZFwiLFxyXG4gICAgICBcIkFMV0FZU19TSE9XX0xPR0lTVElDU19QT1BVUFwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJBUlJJVkFMX0RBVEVcIjogXCJBcnJpdmFsIGRhdGVcIixcclxuICAgICAgXCJBUlRJQ0xFXCI6IFwiQXJ0aWNsZVwiLFxyXG4gICAgICBcIkFSVElDTEVfREVTQ1JJUFRJT05cIjogXCJBcnRpY2xlIGRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTUFHRVwiOiBcIkFydGljbGUgaW1hZ2VcIixcclxuICAgICAgXCJBUlRJQ0xFX0lOX09VVF9DT0xMRUNUSU9OXCI6IFwiU3RhdHVzIG9mIGFydGljbGUgaXMgJ3x+Jy4gQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQ/XCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUlwiOiBcIkFydGljbGUgbnVtYmVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUl9TVVBQTElFUlwiOiBcIkFydGlrZWxuciBzdXBwbGllclwiLFxyXG4gICAgICBcIkFSVElDTEVfVU5LTk9XTlwiOiBcIkFydGljbGUgdW5rbm93blwiLFxyXG4gICAgICBcIkFTU0VNQkxZX0NPU1RTXCI6IFwiQXNzZW1ibHkgY29zdHNcIixcclxuICAgICAgXCJBU1NFTUJMWV9EQVRFXCI6IFwiQXNzZW1ibHkgZGF0ZVwiLFxyXG4gICAgICBcIkFTU0VNQkxZX1RJTUVcIjogXCJBc3NlbWJseSB0aW1lXCIsXHJcbiAgICAgIFwiQU1PVU5UXCI6IFwiQW1vdW50XCIsXHJcbiAgICAgIFwiQkFDS1wiOiBcIkJhY2tcIixcclxuICAgICAgXCJCQUxBTkNFXCI6IFwiQmFsYW5jZVwiLFxyXG4gICAgICBcIkJBVENIX05VTUJFUlwiOiBcIkJhdGNobnVtYmVyXCIsXHJcbiAgICAgIFwiQlJBTkNIXCI6IFwiQnJhbmNoXCIsXHJcbiAgICAgIFwiQlJBTkNIX05VTUJFUlwiOiBcIkJyYW5jaCBudW1iZXJcIixcclxuICAgICAgXCJCVVNJTkVTU19SVUxFX0RJU0NPVU5UXCI6IFwiQnVzaW5lc3MgcnVsZSBkaXNjb3VudFwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNBTk5PVF9DSEFOR0VfTkVHQVRJVkVfUVVBTlRJVFlcIjogXCJBIG5lZ2F0aXZlIHN1cHBseSBjYW5ub3QgYmUgY2hhbmdlZC5cIixcclxuICAgICAgXCJDQVJUXCI6IFwiQ2FydFwiLFxyXG4gICAgICBcIkNIQU5HRV9EQVRBXCI6IFwiQ2hhbmdlIGRhdGFcIixcclxuICAgICAgXCJDSEFSQUNURVJJU1RJQ19RVUVTVElPTlwiOiBcIkNoYXJhY3RlcmlzdGljIHF1ZXN0aW9uXCIsXHJcbiAgICAgIFwiQ0hFQ0tfV0FSRUhPVVNFX0FORF9DT01NSVNTSU9OQ09ERVwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJDSEVDS09VVF9GSU5JU0hcIjogXCJGaW5pc2ggY2hlY2tvdXRcIixcclxuICAgICAgXCJDSVRZXCI6IFwiQ2l0eVwiLFxyXG4gICAgICBcIkNMSUVOVF9EQVRBXCI6IFwiQ2xpZW50IGRhdGFcIixcclxuICAgICAgXCJDT01QQU5ZXCI6IFwiQ29tcGFueVwiLFxyXG4gICAgICBcIkNPTVBBTllfTkFNRVwiOiBcIkNvbXBhbnkgbmFtZVwiLFxyXG4gICAgICBcIkNPTU1JU1NJT05fQ09ERVwiOiBcIkNvbW1pc3Npb24gY29kZVwiLFxyXG4gICAgICBcIkNPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hdGlvblwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9EQVRFXCI6IFwiQ29uZmlybWVkIGRhdGVcIixcclxuICAgICAgXCJDT05GSVJNRURfREVMSVZFUllfREFURVwiOiBcIkNvbmZpcm1lZCBkZWxpdmVyeSBkYXRlXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX1BSSUNFXCI6IFwiQ29uZmlybWVkIHByaWNlXCIsXHJcbiAgICAgIFwiQ09OVEFDVF9ERVRBSUxTXCI6IFwiQ29udGFjdGRldGFpbHNcIixcclxuICAgICAgXCJDT05USU5VRVwiOiBcIk5leHRcIixcclxuICAgICAgXCJDT05GSVJNRURcIjogXCJDb25maXJtZWRcIixcclxuICAgICAgXCJDT05USU5VRV9PUkRFUl9XSElMRV9TVE9DS19BVkFJTEFCTEVfUExFQVNFX0NPTkZJUk1cIjogXCJZb3UgaGF2ZSBjaG9zZW4gdG8gb3JkZXIgYXJ0aWNsZXMgd2hpbGUgc3RvY2sgaXMgc3RpbGwgYXZhaWxhYmxlLiBEbyB5b3Ugd2lzaCB0byBwcm9jZWVkP1wiLFxyXG4gICAgICBcIkNPTlRJTlVFX1dJVEhPVVRfQUNDT1VOVFwiOiBcIkNvbnRpbnVlIHdpdGhvdXQgYW4gYWNjb3VudFwiLFxyXG4gICAgICBcIkNPU1RTXCI6IFwiQ29zdHNcIixcclxuICAgICAgXCJDT1VOVFJZXCI6IFwiQ291bnRyeVwiLFxyXG4gICAgICBcIkNSRUFURV9BQ0NPVU5UXCI6IFwiQ3JlYXRlIGFuIGFjY291bnRcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVF9JTl8yX01JTlwiOiBcIkNyZWF0ZSBhbiBhY2NvdW50IGluIDIgbWludXRlcy5cIixcclxuICAgICAgXCJDVVNUT01FUlwiOiBcIkN1c3RvbWVyXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfR1JPVVBcIjogXCJDdXN0b21lcmdyb3VwXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfTkFNRVwiOiBcIkN1c3RvbWVyIG5hbWVcIixcclxuICAgICAgXCJEQVRFXCI6IFwiRGF0ZVwiLFxyXG4gICAgICBcIkRBVEVfT0ZfQklSVEhcIjogXCJEYXRlIG9mIGJpcnRoXCIsXHJcbiAgICAgIFwiREVGSU5JVElWRVwiOiBcIkRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxFVEVcIjogXCJEZWxldGVcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORVwiOiBcIkRlbGV0ZSB0cmFuc2FjdGlvbiBsaW5lIHZlcndpamRlcmVuP1wiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0hJTlRcIjogXCJEZWxldGUgdHJhbnNhY3Rpb24gbGluZVwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0ZBSUxFRFwiOiBcIkRlbGV0aW9uIG9mIHRyYW5zYWN0aW9uIGxpbmUgaGFzIGZhaWxlZFwiLFxyXG4gICAgICBcIkRFTElWRVJFRFwiOiBcIkRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIkRFTElWRVJZXCI6IFwiRGVsaXZlcnlcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTXCI6IFwiRGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NfQUREXCI6IFwiQWRkIGRlbGl2ZXJ5IGFkZHJlc3NcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0NIQU5HRVwiOiBcIkNoYW5nZSBkZWxpdmVyeSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQkFUQ0hcIjogXCJEZWxpdmVyeSBiYXRjaFwiLFxyXG4gICAgICBcIkRFTElWRVJZX0NPU1RTXCI6IFwiRGVsaXZlcnkgY29zdHNcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRBXCI6IFwiRGVsaXZlcnlkYXRhXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURVwiOiBcIkRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0RFRklOSVRJVkVcIjogXCJEZWxpdmVyeSBkYXRlIGRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0ZJTkFMXCI6IFwiRmluYWwgZGVsaXZlcnkgZGF0ZVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RJUkVDVFwiOiBcIkRpcmVjdCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0xPQ0FUSU9OXCI6IFwiRGVsaXZlcnkgbG9jYXRpb25cIixcclxuICAgICAgXCJERUxJVkVSWV9OT1RFXCI6IFwiRGVsaXZlcnkgbm90ZVwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVElPTlNcIjogXCJEZWxpdmVyeSBvcHRpb25zXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTUVUSE9EXCI6IFwiRGVsaXZlcnkgbWV0aG9kXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTU9NRU5UXCI6IFwiRGVsaXZlcnkgbW9tZW50XCIsXHJcbiAgICAgIFwiREVMSVZFUllfT1BUQVJUSUNMRV9OUklPTlNcIjogXCJEZWxpdmVyeSBvcHRpb25zXCIsXHJcbiAgICAgIFwiREVMSVZFUllfVElNRV9QRVJJT0RcIjogXCJEZWxpdmVyeSB0aW1lIHBlcmlvZFwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiRGVzY3JpcHRpb25cIixcclxuICAgICAgXCJERVRBSUxTXCI6IFwiRGV0YWlsc1wiLFxyXG4gICAgICBcIkRJU0NPVU5UXCI6IFwiRGlzY291bnRcIixcclxuICAgICAgXCJESVNDT1VOVFNcIjogXCJEaXNjb3VudHNcIixcclxuICAgICAgXCJESVNDT1VOVF9BTU9VTlRcIjogXCJEaXNjb3VudCBhbW91bnRcIixcclxuICAgICAgXCJESVNDT1VOVF9QRVJDRU5UQUdFXCI6IFwiRGlzY291bnQgJVwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UXCI6IFwiRG93bnBheW1lbnRcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9QRVJDRU5UQUdFXCI6IFwiUGVyY2VudGFnZSB0byBiZSBwYWlkXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfQU1PVU5UXCI6IFwiQW1vdW50IHRvIGJlIHBhaWRcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9CWV9CUlwiOiBcIkNhbGN1bGF0ZWQgYnkgQlJcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9PTl9ERUxJVkVSWVwiOiBcIk9uIGRlbGl2ZXJ5XCIsXHJcbiAgICAgIFwiRFJPUFNISVBNRU5UXCI6IFwiRHJvcHNoaXBtZW50XCIsXHJcbiAgICAgIFwiRURJVF9DQVJUXCI6IFwiRWRpdCBjYXJ0XCIsXHJcbiAgICAgIFwiRU1BSUxfQUREUkVTU1wiOiBcIkUtbWFpbGFkcmVzXCIsXHJcbiAgICAgIFwiRVhDRUVERU5DRV9DT0RFXCI6IFwiRXhjZWVkZW5jZSBjb2RlXCIsXHJcbiAgICAgIFwiRVhJU1RJTkdfQ1VTVE9NRVJTXCI6IFwiRXhpc3RpbmcgY3VzdG9tZXJzXCIsXHJcbiAgICAgIFwiRVhQRUNURURfREVMSVZFUllfREFURVwiOiBcIihFeHBlY3RlZCkgZGVsaXZlcnkgZGF0ZVwiLFxyXG4gICAgICBcIkVYUEVDVEVEX0RFTElWRVJZX1dFRUtcIjogXCIoRXhwZWN0ZWQpIGRlbGl2ZXJ5IHdlZWtcIixcclxuICAgICAgXCJGQUJSSUNBVElPTl9DT1NUXCI6IFwiRmFicmljYXRpb25jb3N0XCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVF9MSU5FX1RPVEFMXCI6IFwiRmFicmljYXRpb25jb3N0IGxpbmV0b3RhbFwiLFxyXG4gICAgICBcIkZFTUFMRVwiOiBcIkZlbWFsZVwiLFxyXG4gICAgICBcIkZJUlNUX05BTUVcIjogXCJGaXJzdCBuYW1lXCIsXHJcbiAgICAgIFwiRlJFRVwiOiBcIkZyZWVcIixcclxuICAgICAgXCJGVUxMWV9BTExPQ0FURURcIjogXCJGdWxseSBhbGxvY2F0ZWRcIixcclxuICAgICAgXCJGVUxMWV9DT05GSVJNRURcIjogXCJGdWxseSBjb25maXJtZWRcIixcclxuICAgICAgXCJGVUxMWV9ERUxJVkVSRURcIjogXCJGdWxseSBkZWxpdmVyZWRcIixcclxuICAgICAgXCJGVUxMWV9SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJGdWxseSByZWNlaXZlZCAvIGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIkZVTExZX0lOVk9JQ0VEXCI6IFwiRnVsbHkgaW52b2ljZWRcIixcclxuICAgICAgXCJGVUxMWV9UT19CRV9QSUNLRURcIjogXCJGdWxseSB0byBiZSBwaWNrZWRcIixcclxuICAgICAgXCJGVUxMWV9QSUNLRURcIjogXCJGdWxseSBwaWNrZWRcIixcclxuICAgICAgXCJHT09EX0RFU0NSSVBUSU9OXCI6IFwiQXJ0aWNsZSBkZXNjcmlwdGlvblwiLFxyXG4gICAgICBcIkdST1NTX1BSSUNFXCI6IFwiR3Jvc3MgcHJpY2VcIixcclxuICAgICAgXCJIQU5ETEVEX0JZXCI6IFwiSGFuZGxlZCBieVwiLFxyXG4gICAgICBcIkhPVVNFX05PXCI6IFwiSG91c2VudW1iZXJcIixcclxuICAgICAgXCJIT1VTRV9OT19BRERJVElPTlwiOiBcIkhvdXNlbnVtYmVyIGFkZGl0aW9uXCIsXHJcbiAgICAgIFwiSU5cIjogXCJJblwiLFxyXG4gICAgICBcIklOQUNUSVZFX1RSQU5TQUNUSU9OU1wiOiBcIkluYWN0aWV2ZSB0cmFuc2FjdGllc1wiLFxyXG4gICAgICBcIklOQ0xVRElOR19SRVRVUk5TXCI6IFwiSW5jbHVkaW5nIHJldHVybnNcIixcclxuICAgICAgXCJJTl9TRUFSQ0hPUkRFUlNcIjogXCJJbiBzYWxlcyBvcmRlcnNcIixcclxuICAgICAgXCJJTl9PUkRFUlwiOiBcIkluIG9yZGVyXCIsXHJcbiAgICAgIFwiSU5fT1VUX0NPTExFQ1RJT05cIjogXCJJbi1vdXQtY29sbGVjdGlvblwiLFxyXG4gICAgICBcIklOVklURV9UT19BQ0NPVU5UXCI6IFwiSW52aXRlIGFjY291bnRcIixcclxuICAgICAgXCJJTlZPSUNFRFwiOiBcIkludm9pY2VkXCIsXHJcbiAgICAgIFwiSU5WT0lDRVwiOiBcIkludm9pY2VcIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NcIjogXCJJbnZvaWNlIGFkZHJlc3NcIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQUREXCI6IFwiQWRkIGludm9pY2UgYWRkcmVzc1wiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU19DSEFOR0VcIjogXCJDaGFuZ2UgaW52b2ljZSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9DSEVDS1wiOiBcIkludm9pY2UgY2hlY2tcIixcclxuICAgICAgXCJMQVNUX0VESVRFRF9EQVRFXCI6IFwiRGF0ZSBsYXN0IG11dGF0aW9uXCIsXHJcbiAgICAgIFwiTEFTVF9FRElURURfVVNFUlwiOiBcIlVzZXIgbGFzdCBtdXRhdGlvblwiLFxyXG4gICAgICBcIkxBU1RfTkFNRVwiOiBcIkxhc3QgbmFtZVwiLFxyXG4gICAgICBcIkxJTkVfTkVFRFNfQ09NTUlTU0lPTl9DT0RFXCI6IFwiTGluZSBuZWVkcyBhIGNvbW1pc3Npb24gY29kZVwiLFxyXG4gICAgICBcIkxPQ0FUSU9OXCI6IFwiTG9jYXRpb25cIixcclxuICAgICAgXCJMT0dJTlwiOiBcIkxvZ2luXCIsXHJcbiAgICAgIFwiTE9HSU5fREVUQUlMU1wiOiBcIkxvZ2luIGRldGFpbHNcIixcclxuICAgICAgXCJMT0dJU1RJQ1NcIjogXCJMb2dpc3RpY3NcIixcclxuICAgICAgXCJMT0dJU1RJQ1NfQU5EX1BMQU5OSU5HXCI6IFwiTG9naXN0aWNzICYgcGxhbm5pbmdcIixcclxuICAgICAgXCJNQUlOX0FSVElDTEVcIjogXCJNYWluIGFydGljbGVcIixcclxuICAgICAgXCJNQUxFXCI6IFwiTWFsZVwiLFxyXG4gICAgICBcIk1BUktFVElOR1wiOiBcIk1hcmtldGluZ1wiLFxyXG4gICAgICBcIk1BUktFVElOR19DT0RFXCI6IFwiTWFya2V0aW5nY29kZVwiLFxyXG4gICAgICBcIk1FTlVcIjogXCJNZW51XCIsXHJcbiAgICAgIFwiTU9ESUZJQ0FUSU9OX1RJTUVcIjogXCJNb2RpZmljYXRpb24gdGltZVwiLFxyXG4gICAgICBcIk1PUkVfRklMVEVSU1wiOiBcIk1vcmUgZmlsdGVyc1wiLFxyXG4gICAgICBcIk5BTUVcIjogXCJOYW1lXCIsXHJcbiAgICAgIFwiTkVUX0xJTkVfVE9UQUxcIjogXCJMaW5ldG90YWxcIixcclxuICAgICAgXCJORVRUXCI6IFwiTmV0XCIsXHJcbiAgICAgIFwiTkVUVE9fUFJJQ0VcIjogXCJOZXR0byBwcmljZVwiLFxyXG4gICAgICBcIk5FV19BVFwiOiBcIk5ldyBhdCBcIixcclxuICAgICAgXCJORVdfTE9DQVRJT05cIjogXCJOZXcgbG9jYXRpb25cIixcclxuICAgICAgXCJORVhUXCI6IFwiTmV4dFwiLFxyXG4gICAgICBcIk5PX0lNQUdFXCI6IFwiTm8gaW1hZ2UgYXZhaWxhYmxlXCIsXHJcbiAgICAgIFwiTk9fUkVTVUxUU1wiOiBcIk5vIHJlc3VsdHNcIixcclxuICAgICAgXCJOT1RfQUZURVJcIjogXCJOb3QgYWZ0ZXJcIixcclxuICAgICAgXCJOT1RfQkVGT1JFXCI6IFwiTm90IGJlZm9yZVwiLFxyXG4gICAgICBcIk5PVEhJTkdfQUxMT0NBVEVEXCI6IFwiTm90aGluZyBhbGxvY2F0ZWRcIixcclxuICAgICAgXCJOT1RISU5HX0NPTkZJUk1FRFwiOiBcIk5vdGhpbmcgY29uZmlybWVkXCIsXHJcbiAgICAgIFwiTk9USElOR19ERUxJVkVSRURcIjogXCJOb3RoaW5nIGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiTm90aGluZyByZWNlaXZlZCAvIGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfSU5WT0lDRURcIjogXCJOb3RoaW5nIGludm9pY2VkXCIsXHJcbiAgICAgIFwiTk9USElOR19UT19CRV9QSUNLRURcIjogXCJOb3RoaW5nIHRvIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfUElDS0VEXCI6IFwiTm90aGluZyBwaWNrZWRcIixcclxuICAgICAgXCJOUlwiOiBcIk51bWJlclwiLFxyXG4gICAgICBcIk5VTUJFUlwiOiBcIkFtb3VudFwiLFxyXG4gICAgICBcIk9OX0RBVEVcIjogXCJPbiBkYXRlXCIsXHJcbiAgICAgIFwiT05fSE9MRFwiOiBcIk9uIGhvbGRcIixcclxuICAgICAgXCJPUEVOX1NIT1BQSU5HX0NBUlRcIjogXCJPcGVuIHNob3BwaW5nIGNhcnRcIixcclxuICAgICAgXCJPUkRFUl9DT05GSVJNQVRJT05TXCI6IFwiT3JkZXIgY29uZmlybWF0aW9uc1wiLFxyXG4gICAgICBcIk9SREVSX0RBVEVcIjogXCJPcmRlciBkYXRlXCIsXHJcbiAgICAgIFwiT1JERVJfREFUQVwiOiBcIk9yZGVyZGF0YVwiLFxyXG4gICAgICBcIk9SREVSX0RFRklOSVRJVkVcIjogXCJPcmRlciBkZWZpbml0aXZlXCIsXHJcbiAgICAgIFwiT1JERVJfR1JPU1NcIjogXCJUb3RhbCBncm9zcyBhbW91bnRcIixcclxuICAgICAgXCJPUkRFUl9MSU5FU1wiOiBcIk9yZGVybGluZXNcIixcclxuICAgICAgXCJPUkRFUl9ORVRcIjogXCJUb3RhbCBuZXQgYW1vdW50XCIsXHJcbiAgICAgIFwiT1JERVJfTlVNQkVSXCI6IFwiT3JkZXIgbnVtYmVyXCIsXHJcbiAgICAgIFwiT1JERVJfUEFSQU1FVEVSU1wiOiBcIk9yZGVyIHBhcmFtZXRlcnNcIixcclxuICAgICAgXCJPUkRFUl9SVUxFXCI6IFwiT3JkZXIgcnVsZVwiLFxyXG4gICAgICBcIk9SREVSX1JVTEVTRVRcIjogXCJPcmRlcnJ1bGVzZXRcIixcclxuICAgICAgXCJPUkRFUl9UT1RBQUxcIjogXCJPcmRlciB0b3RhbFwiLFxyXG4gICAgICBcIk9SREVSX1RZUEVcIjogXCJPcmRlciB0eXBlXCIsXHJcbiAgICAgIFwiT1JERVJFRFwiOiBcIk9yZGVyZWRcIixcclxuICAgICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgICAgIFwiT1ZFUlZJRVdfQU5EX1BBWU1FTlRcIjogXCJPdmVydmlldyBhbmQgcGF5bWVudFwiLFxyXG4gICAgICBcIk9XTl9SRUZFUkVOQ0VcIjogXCJPd24gcmVmZXJlbmNlXCIsXHJcbiAgICAgIFwiUEFDS0lOR19TTElQXCI6IFwiUGFja2luZyBzbGlwXCIsXHJcbiAgICAgIFwiUEFJRF9ET1dOMlwiOiBcIlByZXBhaWRcIixcclxuICAgICAgXCJQQVJUX0RFTElWRVJZXCI6IFwiUGFydGlhbCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIlBBUlRfREVMSVZFUklFU1wiOiBcIlBhcnRpYWwgZGVsaXZlcmllc1wiLFxyXG4gICAgICBcIlBBUlRMWV9BTExPQ0FURURcIjogXCJQYXJ0bHkgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiUEFSVExZX0NPTkZJUk1FRFwiOiBcIlBhcnRseSBjb25maXJtZWRcIixcclxuICAgICAgXCJQQVJUTFlfREVMSVZFUkVEXCI6IFwiUGFydGx5IGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJQYXJ0bHkgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJQQVJUTFlfSU5WT0lDRURcIjogXCJQYXJ0bHkgaW52b2ljZWRcIixcclxuICAgICAgXCJQQVJUTFlfVE9fQkVfUElDS0VEXCI6IFwiUGFydGx5IHRvIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9QSUNLRURcIjogXCJQYXJ0bHkgcGlja2VkXCIsXHJcbiAgICAgIFwiUEFTU1dPUkRcIjogXCJQYXNzd29yZFwiLFxyXG4gICAgICBcIlBBWVwiOiBcIlBheVwiLFxyXG4gICAgICBcIlBBWU1FTlRcIjogXCJQYXltZW50XCIsXHJcbiAgICAgIFwiUEFZTUVOVF9NRVRIT0RcIjogXCJQYXltZW50IG1ldGhvZFwiLFxyXG4gICAgICBcIlBFUlNPTkFMX0RBVEFcIjogXCJQZXJzb25hbCBkYXRhXCIsXHJcbiAgICAgIFwiUEhPTkVfTk9cIjogXCJUZWxlcGhvbmUgbnVtYmVyXCIsXHJcbiAgICAgIFwiUExBTk5JTkdcIjogXCJQbGFubmluZ1wiLFxyXG4gICAgICBcIlBJQ0tFRFwiOiBcIlBpY2tlZFwiLFxyXG4gICAgICBcIlBPU1RBTF9DT0RFXCI6IFwicG9zdGFsIGNvZGVcIixcclxuICAgICAgXCJQUkVGRVJSRURfREFURVwiOiBcIlByZWZlcnJlZCBkYXRlXCIsXHJcbiAgICAgIFwiUFJFRklYXCI6IFwiUHJlZml4XCIsXHJcbiAgICAgIFwiUFJFVklPVVNcIjogXCJQcmV2aW91c1wiLFxyXG4gICAgICBcIlBSSUNFXCI6IFwiUHJpY2VcIixcclxuICAgICAgXCJQUklDRV9MSVNUXCI6IFwiUHJpY2VsaXN0XCIsXHJcbiAgICAgIFwiUFJJQ0lOR1wiOiBcIlByaWNpbmdcIixcclxuICAgICAgXCJQUklWQUNZX1BSRUZFUkVOQ0VTXCI6IFwiUHJpdmFjeSBwcmVmZXJlbmNlc1wiLFxyXG4gICAgICBcIlBSSVZBVEVfUEVSU09OXCI6IFwiUHJpdmF0ZVwiLFxyXG4gICAgICBcIlBST0RVQ1RcIjogXCJQcm9kdWN0XCIsXHJcbiAgICAgIFwiUFJPRFVDVF9UWVBFXCI6IFwiUHJvZHVjdCB0eXBlXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VcIjogXCJQdXJjaGFzZVwiLFxyXG4gICAgICBcIlBVUkNIQVNFTlVNQkVSXCI6IFwiUHVyY2hhc2UgbnVtYmVyXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VPUkRFUlNcIjogXCJQdXJjaGFzZSBvcmRlcnNcIixcclxuICAgICAgXCJQVVJDSEFTRV9QRVJTT05cIjogXCJQdXJjaGFzZSBwZXJzb25cIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfWkVST19PUl9FTVBUWVwiOiBcIlF1YW50aXR5IGNhbm5vdCBiZSB6ZXJvIG9yIGVtcHR5XCIsXHJcbiAgICAgIFwiUVVBTlRVTV9ESVNDT1VOVFwiOiBcIlF1YW50dW0gZGlzY291bnRcIixcclxuICAgICAgXCJSRUNFSVBUX0RFVEFJTFNcIjogXCJSZWNlaXB0IGRldGFpbHNcIixcclxuICAgICAgXCJSRUNFSVZFRFwiOiBcIlJlY2VpdmVkXCIsXHJcbiAgICAgIFwiUkVDRUlWRURfREFURVwiOiBcIlJlY2VpdmVkIGRhdGVcIixcclxuICAgICAgXCJSRUNFSVZFRF9ERUxJVkVSRURcIjogXCJSZWNlaXZlZCAvIGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIlJFRkVSRU5DRVwiOiBcIlJlZmVyZW5jZVwiLFxyXG4gICAgICBcIlJFRkVSRU5DRV9SRUxBVElPTlwiOiBcIlJlZi4gcmVsYXRpb25cIixcclxuICAgICAgXCJSRUxBVElPTl9OVU1CRVJcIjogXCJSZWxhdGlvbiBudW1iZXJcIixcclxuICAgICAgXCJSRU1BUktTXCI6IFwiUmVtYXJrc1wiLFxyXG4gICAgICBcIlJFUVVFU1RFRF9ERUxJVkVSWVwiOiBcIlJlcXVlc3RlZCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIlNBTEVTT1JERVJTXCI6IFwiU2FsZXMgb3JkZXJzXCIsXHJcbiAgICAgIFwiU0FMVVRBVElPTlwiOiBcIlNhbHV0YXRpb25cIixcclxuICAgICAgXCJTQU1FX0FTX0RFTElWRVJZXCI6IFwiU2FtZSBhcyBkZWxpdmVyeSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiU0FWRVwiOiBcIlNhdmVcIixcclxuICAgICAgXCJTRUFSQ0hcIjogXCJTZWFyY2hcIixcclxuICAgICAgXCJTRUFSQ0hfTlVNQkVSX0NVU1RPTUVSX09SX0RBVEVcIjogXCJTZWFyY2ggZm9yIG51bWJlciwgY3VzdG9tZXIgb3IgZGF0ZVwiLFxyXG4gICAgICBcIlNFQVJDSF9BRERfQVJUSUNMRVwiOiBcIlNlYXJjaCBhbmQgYWRkIGFydGljbGVcIixcclxuICAgICAgXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiOiBcIlNlYXJjaCBpbiBjb2xsZWN0aW9uLi4uXCIsXHJcbiAgICAgIFwiU0VBUkNIX1dBUkVIT1VTRVwiOiBcIlNlYXJjaCB3YXJlaG91c2VcIixcclxuICAgICAgXCJTRUxFQ1RcIjogXCJTZWxlY3RcIixcclxuICAgICAgXCJTRUxFQ1RfQVwiOiBcIlNlbGVjdCBhXCIsXHJcbiAgICAgIFwiU0VMRUNUX0NBU0hfUkVHSVNURVJcIjogXCJTZWxlY3QgY2FzaCByZWdpc3RlclwiLFxyXG4gICAgICBcIlNFTEVDVF9EQVRFX1JBTkdFXCI6IFwiU2VsZWN0IGEgZGF0ZSByYW5nZVwiLFxyXG4gICAgICBcIlNFUklBTF9OVU1CRVJcIjogXCJTZXJpYWwgbnVtYmVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9OVU1CRVJcIjogXCJTZXJ2aWNlIG51bWJlclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfUkVRVUVTVF9EQVRFXCI6IFwiU2VydmljZSByZXF1ZXN0IGRhdGFcIixcclxuICAgICAgXCJTRVJWSUNFX1NUQVRFXCI6IFwiU2VydmljZSBzdGF0ZVwiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRcIjogXCJTaG9wcGluZyBjYXJ0XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9DSEVDS09VVFwiOiBcIkNoZWNrb3V0XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9PVkVSVklFV1wiOiBcIk9yZGVyIG92ZXJ2aWV3XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9SRVNVTUVcIjogXCJSZXN1bWUgc2hvcHBpbmdcIixcclxuICAgICAgXCJTSE9XX01PUkVcIjogXCJTaG93IG1vcmVcIixcclxuICAgICAgXCJTSE9XX0xFU1NcIjogXCJTaG93IGxlc3NcIixcclxuICAgICAgXCJTUEVDSUFMX0RJU0NPVU5UXCI6IFwiU3BlY2lhbCBkaXNjb3VudFwiLFxyXG4gICAgICBcIlNPVVJDRV9XQVJFSE9VU0VcIjogXCJTb3VyY2Ugd2FyZWhvdXNlXCIsXHJcbiAgICAgIFwiU1RPQ0tcIjogXCJTdG9ja1wiLFxyXG4gICAgICBcIlNUT0NLX05PVElGSUNBVElPTlwiOiBcIlN0b2NrIG5vdGlmaWNhdGlvblwiLFxyXG4gICAgICBcIlNUT0NLX0FWQUlMQUJMRV9DSEFOR0VfV0FSRUhPVVNFX09SX0NPTU1JU1NJT05DT0RFXCI6IFwiTm90IGVub3VnaCBzdXBwbHkuIENoYW5nZSB3YXJlaG91c2UgYW5kL29yIGNvbW1pc3Npb25jb2RlXCIsXHJcbiAgICAgIFwiU1VCVE9UQUxcIjogXCJTdWJ0b3RhbFwiLFxyXG4gICAgICBcIlNVR0dFU1RJT05TXCI6IFwiU3VnZ2VzdGlvbnNcIixcclxuICAgICAgXCJTVVBQTElFUlwiOiBcIlN1cHBsaWVyXCIsXHJcbiAgICAgIFwiU1VSQ0hBUkdFX0FNT1VOVFwiOiBcIlN1cmNoYXJnZVwiLFxyXG4gICAgICBcIlNUQVRFXCI6IFwiU1RBVFVTXCIsXHJcbiAgICAgIFwiU1RSRUVUXCI6IFwiU3RyZWV0bmFtZVwiLFxyXG4gICAgICBcIlRBR1NcIjogXCJUYWdzXCIsXHJcbiAgICAgIFwiVE9fUkVQT1JUX0lOXCI6ICdUbyByZXBvcnQgaW4nLFxyXG4gICAgICBcIlRPX0JFX1BJQ0tFRFwiOiBcIlRlIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIlRPX0RFTElWRVJcIjogXCJUbyBkZWxpdmVyXCIsXHJcbiAgICAgIFwiVE9fUEFZXCI6IFwiVG8gcGF5XCIsXHJcbiAgICAgIFwiVE9UQUxfQU1PVU5UXCI6IFwiVG90YWwgYW1vdW50XCIsXHJcbiAgICAgIFwiVE9UQUxfQVNTRU1CTFlfVElNRVwiOiBcIlRvdGFsIGFzc2VtYmx5IHRpbWVcIixcclxuICAgICAgXCJUT1RBTF9HUk9TU1wiOiBcIkdyb3NzIHRvdGFsXCIsXHJcbiAgICAgIFwiVE9UQUxfTElORV9ESVNDT1VOVFwiOiBcIlRvdGFsIGxpbmVkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RBVEVcIjogXCJUcmFuc2FjdGlvbiBkYXRlXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRcIjogXCJUb3RhbCB0cmFuc2FjdGlvbiBkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkNcIjogXCIlIFRyYW5zLiBkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1BSSUNFX0RFQ0xBUkFUSU9OXCI6IFwiVHJhbnNhY3Rpb24gcHJpY2UgZGVjbGFyYXRpb25cIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9TVU1fSVwiOiBcIk9yZGVydG90YWwgaW5jbCBWQVRcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9UT1RBTFwiOiBcIlRyYW5zYWN0aW9uIHRvdGFsXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUXCI6IFwiVHJhbnNwb3J0XCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RcIjogXCJUcmFuc3BvcnRjb3N0c1wiLFxyXG4gICAgICBcIlRSQU5TUE9SVF9DT1NUX0xJTkVfVE9UQUxcIjogXCJUcmFuc3BvcnRjb3N0cyBsaW5ldG90YWxcIixcclxuICAgICAgXCJUVVJOT1ZFUl9HUk9VUFwiOiBcIlR1cm5vdmVyIGdyb3VwXCIsXHJcbiAgICAgIFwiVFlQRVwiOiBcIlR5cGVcIixcclxuICAgICAgXCJVTktOT1dOXCI6IFwidW5rbm93blwiLFxyXG4gICAgICBcIlVOS05PV05fQUREUkVTU19DSEVDS19JVFwiOiBcIlVua25vd24gYWRkcmVzc1wiLFxyXG4gICAgICBcIlVTRVJcIjogXCJVc2VyXCIsXHJcbiAgICAgIFwiVkFMVUVcIjogXCJWYWx1ZVwiLFxyXG4gICAgICBcIlZBVFwiOiBcIlZBVFwiLFxyXG4gICAgICBcIlZBVF9BTU9VTlRcIjogXCJWQVQgYW1vdW50XCIsXHJcbiAgICAgIFwiV0FSRUhPVVNFXCI6IFwiV2FyZWhvdXNlXCIsXHJcbiAgICAgIFwiV0hFUkVfQVJFX1lPVV9MT09LSU5HX0ZPUlwiOiBcIldoZXJlIGFyZSB5b3UgbG9va2luZyBmb3I/XCIsXHJcbiAgICAgIFwiWU9VUl9EQVRBXCI6IFwiWW91ciBkYXRhXCIsXHJcbiAgICAgIFwiU1RBTkRBUkRfVEVYVFNcIjpcIlN0YW5kYXJkIHRleHRzXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9CT1VORF9URVhUXCI6IFwiQXJ0aWNsZSBib3VuZCB0ZXh0XCIsXHJcbiAgICAgIFwiRk9SX0RPQ1VNRU5UU1wiOiBcIlVzZWQgYXQgZG9jdW1lbnRzXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0FSVElDTEVfVEVYVFwiOiBcIkNoYW5nZSBhcnRpY2xlIHRleHRcIixcclxuICAgIH0sXHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
660
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9hc3NldHMvZGljdGlvbmFyeS90ZXh0LnByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxZQUFPLEdBQU87WUFDbkIsSUFBSSxFQUFFO2dCQUNKLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUsa0ZBQWtGO29CQUN2RywwRkFBMEY7Z0JBQzVGLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSw4QkFBOEI7Z0JBQ3JELHVCQUF1QixFQUFFLDhCQUE4QjtnQkFDdkQsMEJBQTBCLEVBQUUsNEJBQTRCO2dCQUN4RCw0QkFBNEIsRUFBRSw0QkFBNEI7Z0JBQzFELHFCQUFxQixFQUFFLHlCQUF5QjtnQkFDaEQsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMsZUFBZSxFQUFFLHFCQUFxQjtnQkFDdEMsWUFBWSxFQUFFLHdCQUF3QjtnQkFDdEMsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHdCQUF3QixFQUFFLGtDQUFrQztnQkFDNUQsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLDZCQUE2QixFQUFFLHNDQUFzQztnQkFDckUsY0FBYyxFQUFFLGVBQWU7Z0JBQy9CLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxvQkFBb0I7Z0JBQ3JDLDJCQUEyQixFQUFFLGdFQUFnRTtnQkFDN0YsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLHFCQUFxQixFQUFFLHVCQUF1QjtnQkFDOUMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsY0FBYztnQkFDL0IsZUFBZSxFQUFFLGFBQWE7Z0JBQzlCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixpQkFBaUIsRUFBRSxZQUFZO2dCQUMvQixNQUFNLEVBQUUsT0FBTztnQkFDZixxQkFBcUIsRUFBRSwyQkFBMkI7Z0JBQ2xELFNBQVMsRUFBRSxPQUFPO2dCQUNsQixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyx3QkFBd0IsRUFBRSx1QkFBdUI7Z0JBQ2pELFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpQ0FBaUMsRUFBRSxtREFBbUQ7Z0JBQ3RGLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyx5QkFBeUIsRUFBRSxjQUFjO2dCQUN6QyxvQ0FBb0MsRUFBRSx1Q0FBdUM7Z0JBQzdFLGlCQUFpQixFQUFFLHFCQUFxQjtnQkFDeEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsYUFBYSxFQUFFLGVBQWU7Z0JBQzlCLG9CQUFvQixFQUFFLGlCQUFpQjtnQkFDdkMsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixpQkFBaUIsRUFBRSxjQUFjO2dCQUNqQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLGdCQUFnQixFQUFFLGtCQUFrQjtnQkFDcEMseUJBQXlCLEVBQUUsdUJBQXVCO2dCQUNsRCxpQkFBaUIsRUFBRSxrQkFBa0I7Z0JBQ3JDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLHFEQUFxRCxFQUFFLDBHQUEwRztnQkFDakssMEJBQTBCLEVBQUUsd0JBQXdCO2dCQUNwRCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLGdCQUFnQixFQUFFLHNCQUFzQjtnQkFDeEMseUJBQXlCLEVBQUUsd0NBQXdDO2dCQUNuRSxVQUFVLEVBQUUsT0FBTztnQkFDbkIsZ0JBQWdCLEVBQUUsWUFBWTtnQkFDOUIsZUFBZSxFQUFFLFdBQVc7Z0JBQzVCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHlCQUF5QixFQUFFLGFBQWE7Z0JBQ3hDLDhCQUE4QixFQUFFLDZCQUE2QjtnQkFDN0QsZ0NBQWdDLEVBQUUsbURBQW1EO2dCQUNyRixrQ0FBa0MsRUFBRSxpREFBaUQ7Z0JBQ3JGLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixVQUFVLEVBQUUsV0FBVztnQkFDdkIsa0JBQWtCLEVBQUUsY0FBYztnQkFDbEMsc0JBQXNCLEVBQUUsdUJBQXVCO2dCQUMvQyx5QkFBeUIsRUFBRSxzQkFBc0I7Z0JBQ2pELGdCQUFnQixFQUFFLFlBQVk7Z0JBQzlCLGdCQUFnQixFQUFFLGNBQWM7Z0JBQ2hDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxlQUFlLEVBQUUsWUFBWTtnQkFDN0IsMEJBQTBCLEVBQUUsdUJBQXVCO2dCQUNuRCxxQkFBcUIsRUFBRSx3QkFBd0I7Z0JBQy9DLGlCQUFpQixFQUFFLGtCQUFrQjtnQkFDckMsc0JBQXNCLEVBQUUsaUJBQWlCO2dCQUN6QyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLGVBQWUsRUFBRSxZQUFZO2dCQUM3QixrQkFBa0IsRUFBRSxhQUFhO2dCQUNqQyxpQkFBaUIsRUFBRSxjQUFjO2dCQUNqQyxpQkFBaUIsRUFBRSxhQUFhO2dCQUNoQyw0QkFBNEIsRUFBRSxjQUFjO2dCQUM1QyxzQkFBc0IsRUFBRSxXQUFXO2dCQUNuQyxhQUFhLEVBQUUsY0FBYztnQkFDN0IsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixXQUFXLEVBQUUsV0FBVztnQkFDeEIsaUJBQWlCLEVBQUUsZ0JBQWdCO2dCQUNuQyxxQkFBcUIsRUFBRSxZQUFZO2dCQUNuQyw0QkFBNEIsRUFBRSw0QkFBNEI7Z0JBQzFELGFBQWEsRUFBRSxhQUFhO2dCQUM1Qix3QkFBd0IsRUFBRSxrQkFBa0I7Z0JBQzVDLG9CQUFvQixFQUFFLHVCQUF1QjtnQkFDN0MsbUJBQW1CLEVBQUUsa0JBQWtCO2dCQUN2Qyx5QkFBeUIsRUFBRSxVQUFVO2dCQUNyQyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsa0JBQWtCLEVBQUUsbUJBQW1CO2dCQUN2QyxXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxlQUFlLEVBQUUsYUFBYTtnQkFDOUIsaUJBQWlCLEVBQUUsYUFBYTtnQkFDaEMsb0JBQW9CLEVBQUUsbUJBQW1CO2dCQUN6Qyx3QkFBd0IsRUFBRSx3QkFBd0I7Z0JBQ2xELHdCQUF3QixFQUFFLHVCQUF1QjtnQkFDakQsa0JBQWtCLEVBQUUsZ0JBQWdCO2dCQUNwQyw2QkFBNkIsRUFBRSw0QkFBNEI7Z0JBQzNELFFBQVEsRUFBRSxPQUFPO2dCQUNqQixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGlCQUFpQixFQUFFLHFCQUFxQjtnQkFDeEMsaUJBQWlCLEVBQUUsb0JBQW9CO2dCQUN2QyxpQkFBaUIsRUFBRSxtQkFBbUI7Z0JBQ3RDLDBCQUEwQixFQUFFLGtDQUFrQztnQkFDOUQsZ0JBQWdCLEVBQUUsdUJBQXVCO2dCQUN6QyxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixrQkFBa0IsRUFBRSxxQkFBcUI7Z0JBQ3pDLFlBQVksRUFBRSxVQUFVO2dCQUN4QixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsbUJBQW1CLEVBQUUsdUJBQXVCO2dCQUM1QyxJQUFJLEVBQUUsSUFBSTtnQkFDVix1QkFBdUIsRUFBRSx1QkFBdUI7Z0JBQ2hELG1CQUFtQixFQUFFLG9CQUFvQjtnQkFDekMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxVQUFVLEVBQUUsZUFBZTtnQkFDM0IsbUJBQW1CLEVBQUUsa0JBQWtCO2dCQUN2QyxtQkFBbUIsRUFBRSx5QkFBeUI7Z0JBQzlDLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixTQUFTLEVBQUUsWUFBWTtnQkFDdkIsaUJBQWlCLEVBQUUsY0FBYztnQkFDakMscUJBQXFCLEVBQUUsd0JBQXdCO2dCQUMvQyx3QkFBd0IsRUFBRSx1QkFBdUI7Z0JBQ2pELGVBQWUsRUFBRSxpQkFBaUI7Z0JBQ2xDLGtCQUFrQixFQUFFLHlCQUF5QjtnQkFDN0Msa0JBQWtCLEVBQUUsNkJBQTZCO2dCQUNqRCxXQUFXLEVBQUUsWUFBWTtnQkFDekIsNEJBQTRCLEVBQUUscURBQXFEO2dCQUNuRixVQUFVLEVBQUUsU0FBUztnQkFDckIsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsd0JBQXdCLEVBQUUsc0JBQXNCO2dCQUNoRCxjQUFjLEVBQUUsZUFBZTtnQkFDL0IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFFLGVBQWU7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLG1CQUFtQixFQUFFLGdCQUFnQjtnQkFDckMsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGdCQUFnQixFQUFFLGFBQWE7Z0JBQy9CLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsY0FBYyxFQUFFLGdCQUFnQjtnQkFDaEMsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLFVBQVUsRUFBRSxpQkFBaUI7Z0JBQzdCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLFdBQVcsRUFBRSxnQkFBZ0I7Z0JBQzdCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLG1CQUFtQixFQUFFLGtCQUFrQjtnQkFDdkMsbUJBQW1CLEVBQUUsaUJBQWlCO2dCQUN0QyxtQkFBbUIsRUFBRSxnQkFBZ0I7Z0JBQ3JDLDRCQUE0QixFQUFFLCtCQUErQjtnQkFDN0Qsa0JBQWtCLEVBQUUsb0JBQW9CO2dCQUN4QyxzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLGdCQUFnQixFQUFFLGVBQWU7Z0JBQ2pDLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixTQUFTLEVBQUUsVUFBVTtnQkFDckIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLG9CQUFvQixFQUFFLGtCQUFrQjtnQkFDeEMscUJBQXFCLEVBQUUsZUFBZTtnQkFDdEMsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLGFBQWEsRUFBRSxtQkFBbUI7Z0JBQ2xDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxjQUFjLEVBQUUsYUFBYTtnQkFDN0Isa0JBQWtCLEVBQUUsaUJBQWlCO2dCQUNyQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixZQUFZLEVBQUUsaUJBQWlCO2dCQUMvQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixzQkFBc0IsRUFBRSx1QkFBdUI7Z0JBQy9DLGVBQWUsRUFBRSxrQkFBa0I7Z0JBQ25DLGNBQWMsRUFBRSxRQUFRO2dCQUN4QixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsZUFBZSxFQUFFLGNBQWM7Z0JBQy9CLGlCQUFpQixFQUFFLGdCQUFnQjtnQkFDbkMsa0JBQWtCLEVBQUUseUJBQXlCO2dCQUM3QyxrQkFBa0IsRUFBRSx3QkFBd0I7Z0JBQzVDLGtCQUFrQixFQUFFLHVCQUF1QjtnQkFDM0MsMkJBQTJCLEVBQUUsc0NBQXNDO2dCQUNuRSxpQkFBaUIsRUFBRSwyQkFBMkI7Z0JBQzlDLHFCQUFxQixFQUFFLHdCQUF3QjtnQkFDL0MsZUFBZSxFQUFFLHNCQUFzQjtnQkFDdkMsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixTQUFTLEVBQUUsVUFBVTtnQkFDckIscUJBQXFCLEVBQUUsa0JBQWtCO2dCQUN6QyxnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFVBQVUsRUFBRSxnQkFBZ0I7Z0JBQzVCLGdCQUFnQixFQUFFLGtCQUFrQjtnQkFDcEMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGFBQWEsRUFBRSxVQUFVO2dCQUN6QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixTQUFTLEVBQUUsU0FBUztnQkFDcEIscUJBQXFCLEVBQUUsbUJBQW1CO2dCQUMxQyxnQkFBZ0IsRUFBRSxhQUFhO2dCQUMvQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxpQkFBaUIsRUFBRSxTQUFTO2dCQUM1QixrQ0FBa0MsRUFBRSw2QkFBNkI7Z0JBQ2pFLHdDQUF3QyxFQUFFLHNEQUFzRDtnQkFDaEcsd0NBQXdDLEVBQUUsc0RBQXNEO2dCQUNoRyx1Q0FBdUMsRUFBRSxzREFBc0Q7Z0JBQy9GLHVDQUF1QyxFQUFFLHNEQUFzRDtnQkFDL0Ysd0NBQXdDLEVBQUUseURBQXlEO2dCQUNuRyx3Q0FBd0MsRUFBRSx5REFBeUQ7Z0JBQ25HLHVDQUF1QyxFQUFFLHVEQUF1RDtnQkFDaEcsdUNBQXVDLEVBQUUsc0RBQXNEO2dCQUMvRixrQkFBa0IsRUFBRSxnQkFBZ0I7Z0JBQ3BDLGlCQUFpQixFQUFFLG1CQUFtQjtnQkFDdEMsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLG9CQUFvQixFQUFFLHlCQUF5QjtnQkFDL0MsZUFBZSxFQUFFLGlCQUFpQjtnQkFDbEMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLG9CQUFvQixFQUFFLGNBQWM7Z0JBQ3BDLGlCQUFpQixFQUFFLGVBQWU7Z0JBQ2xDLFNBQVMsRUFBRSxhQUFhO2dCQUN4QixvQkFBb0IsRUFBRSxzQkFBc0I7Z0JBQzVDLFlBQVksRUFBRSxRQUFRO2dCQUN0QixhQUFhLEVBQUUsZUFBZTtnQkFDOUIsa0JBQWtCLEVBQUUsMkJBQTJCO2dCQUMvQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLG9CQUFvQixFQUFFLDZCQUE2QjtnQkFDbkQsd0JBQXdCLEVBQUUsbUJBQW1CO2dCQUM3QyxzQkFBc0IsRUFBRSwwQkFBMEI7Z0JBQ2xELGdDQUFnQyxFQUFFLGtDQUFrQztnQkFDcEUsbUJBQW1CLEVBQUUsaUJBQWlCO2dCQUN0QyxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsa0JBQWtCLEVBQUUsZUFBZTtnQkFDbkMsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFVBQVUsRUFBRSxlQUFlO2dCQUMzQixzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLGFBQWEsRUFBRSxtQ0FBbUM7Z0JBQ2xELE1BQU0sRUFBRSxXQUFXO2dCQUNuQixlQUFlLEVBQUUsYUFBYTtnQkFDOUIsZ0JBQWdCLEVBQUUsZUFBZTtnQkFDakMsc0JBQXNCLEVBQUUsZ0JBQWdCO2dCQUN4QyxlQUFlLEVBQUUsZ0JBQWdCO2dCQUNqQyxlQUFlLEVBQUUsYUFBYTtnQkFDOUIsd0JBQXdCLEVBQUUsV0FBVztnQkFDckMsd0JBQXdCLEVBQUUsNkJBQTZCO2dCQUN2RCxzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixXQUFXLEVBQUUsYUFBYTtnQkFDMUIsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxrQkFBa0IsRUFBRSxlQUFlO2dCQUNuQyxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsb0JBQW9CLEVBQUUsaUJBQWlCO2dCQUN2QyxvREFBb0QsRUFBRSxpRUFBaUU7Z0JBQ3ZILFVBQVUsRUFBRSxXQUFXO2dCQUN2QixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2Qsb0JBQW9CLEVBQUUscUJBQXFCO2dCQUMzQyxjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxjQUFjLEVBQUUsV0FBVztnQkFDM0IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixjQUFjLEVBQUUsY0FBYztnQkFDOUIscUJBQXFCLEVBQUUsb0JBQW9CO2dCQUMzQyxhQUFhLEVBQUUsY0FBYztnQkFDN0IscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxrQkFBa0IsRUFBRSxZQUFZO2dCQUNoQyxzQkFBc0IsRUFBRSxvQkFBb0I7Z0JBQzVDLDJCQUEyQixFQUFFLGtCQUFrQjtnQkFDL0MsK0JBQStCLEVBQUUsdUJBQXVCO2dCQUN4RCxtQkFBbUIsRUFBRSx1QkFBdUI7Z0JBQzVDLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFFLGlCQUFpQjtnQkFDbkMsMkJBQTJCLEVBQUUsNkJBQTZCO2dCQUMxRCxnQkFBZ0IsRUFBRSxZQUFZO2dCQUM5QixNQUFNLEVBQUUsT0FBTztnQkFDZixTQUFTLEVBQUUsVUFBVTtnQkFDckIsMEJBQTBCLEVBQUUsZ0JBQWdCO2dCQUM1QyxNQUFNLEVBQUUsV0FBVztnQkFDbkIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQiwyQkFBMkIsRUFBRSwyQkFBMkI7Z0JBQ3hELFdBQVcsRUFBRSxVQUFVO2dCQUN2QixXQUFXLEVBQUUsVUFBVTtnQkFDdkIsZ0JBQWdCLEVBQUMsa0JBQWtCO2dCQUNuQyxvQkFBb0IsRUFBRSx1QkFBdUI7Z0JBQzdDLGVBQWUsRUFBRSx5QkFBeUI7Z0JBQzFDLHFCQUFxQixFQUFFLHVCQUF1QjthQUMvQztZQUNELElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0osaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxxQkFBcUIsRUFBRSxtSUFBbUk7Z0JBQzFKLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLHVCQUF1QixFQUFFLHVCQUF1QjtnQkFDaEQsMEJBQTBCLEVBQUUsa0JBQWtCO2dCQUM5Qyw0QkFBNEIsRUFBRSxvQkFBb0I7Z0JBQ2xELHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsZUFBZSxFQUFFLGNBQWM7Z0JBQy9CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyx3QkFBd0IsRUFBRSx3QkFBd0I7Z0JBQ2xELFdBQVcsRUFBRSxXQUFXO2dCQUN4Qiw2QkFBNkIsRUFBRSxvQ0FBb0M7Z0JBQ25FLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixTQUFTLEVBQUUsU0FBUztnQkFDcEIscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsMkJBQTJCLEVBQUUscURBQXFEO2dCQUNsRixZQUFZLEVBQUUsZ0JBQWdCO2dCQUM5QixxQkFBcUIsRUFBRSxvQkFBb0I7Z0JBQzNDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixlQUFlLEVBQUUsZUFBZTtnQkFDaEMsd0JBQXdCLEVBQUUsd0JBQXdCO2dCQUNsRCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUNBQWlDLEVBQUUsc0NBQXNDO2dCQUN6RSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxhQUFhLEVBQUUsYUFBYTtnQkFDNUIseUJBQXlCLEVBQUUseUJBQXlCO2dCQUNwRCxvQ0FBb0MsRUFBRSxvQ0FBb0M7Z0JBQzFFLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHlCQUF5QixFQUFFLHlCQUF5QjtnQkFDcEQsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxpQkFBaUIsRUFBRSxnQkFBZ0I7Z0JBQ25DLFVBQVUsRUFBRSxNQUFNO2dCQUNsQixXQUFXLEVBQUUsV0FBVztnQkFDeEIscURBQXFELEVBQUUsMkZBQTJGO2dCQUNsSiwwQkFBMEIsRUFBRSw2QkFBNkI7Z0JBQ3pELE9BQU8sRUFBRSxPQUFPO2dCQUNoQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsZ0JBQWdCLEVBQUUsbUJBQW1CO2dCQUNyQyx5QkFBeUIsRUFBRSxpQ0FBaUM7Z0JBQzVELFVBQVUsRUFBRSxVQUFVO2dCQUN0QixnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIseUJBQXlCLEVBQUUsc0NBQXNDO2dCQUNqRSw4QkFBOEIsRUFBRSx5QkFBeUI7Z0JBQ3pELGdDQUFnQyxFQUFFLHlDQUF5QztnQkFDM0UsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLHNCQUFzQixFQUFFLHNCQUFzQjtnQkFDOUMseUJBQXlCLEVBQUUseUJBQXlCO2dCQUNwRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsZUFBZSxFQUFFLGNBQWM7Z0JBQy9CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQywwQkFBMEIsRUFBRSwwQkFBMEI7Z0JBQ3RELHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxzQkFBc0IsRUFBRSxvQkFBb0I7Z0JBQzVDLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLDRCQUE0QixFQUFFLGtCQUFrQjtnQkFDaEQsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QyxhQUFhLEVBQUUsYUFBYTtnQkFDNUIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixXQUFXLEVBQUUsV0FBVztnQkFDeEIsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxxQkFBcUIsRUFBRSxZQUFZO2dCQUNuQyw0QkFBNEIsRUFBRSxnQ0FBZ0M7Z0JBQzlELGFBQWEsRUFBRSxhQUFhO2dCQUM1Qix3QkFBd0IsRUFBRSx1QkFBdUI7Z0JBQ2pELG9CQUFvQixFQUFFLG1CQUFtQjtnQkFDekMsbUJBQW1CLEVBQUUsa0JBQWtCO2dCQUN2Qyx5QkFBeUIsRUFBRSxhQUFhO2dCQUN4QyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGVBQWUsRUFBRSxhQUFhO2dCQUM5QixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsd0JBQXdCLEVBQUUsMEJBQTBCO2dCQUNwRCx3QkFBd0IsRUFBRSwwQkFBMEI7Z0JBQ3BELGtCQUFrQixFQUFFLGlCQUFpQjtnQkFDckMsNkJBQTZCLEVBQUUsMkJBQTJCO2dCQUMxRCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLDBCQUEwQixFQUFFLDRCQUE0QjtnQkFDeEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixrQkFBa0IsRUFBRSxxQkFBcUI7Z0JBQ3pDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLG1CQUFtQixFQUFFLHNCQUFzQjtnQkFDM0MsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsdUJBQXVCLEVBQUUsdUJBQXVCO2dCQUNoRCxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsbUJBQW1CLEVBQUUsZ0JBQWdCO2dCQUNyQyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1Qyx3QkFBd0IsRUFBRSx3QkFBd0I7Z0JBQ2xELGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxrQkFBa0IsRUFBRSxvQkFBb0I7Z0JBQ3hDLGtCQUFrQixFQUFFLG9CQUFvQjtnQkFDeEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLDRCQUE0QixFQUFFLDhCQUE4QjtnQkFDNUQsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixlQUFlLEVBQUUsZUFBZTtnQkFDaEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLHdCQUF3QixFQUFFLHNCQUFzQjtnQkFDaEQsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixNQUFNLEVBQUUsTUFBTTtnQkFDZCxnQkFBZ0IsRUFBRSxXQUFXO2dCQUM3QixNQUFNLEVBQUUsS0FBSztnQkFDYixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsb0JBQW9CO2dCQUNoQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4Qyw0QkFBNEIsRUFBRSw4QkFBOEI7Z0JBQzVELGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsWUFBWSxFQUFFLFdBQVc7Z0JBQ3pCLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsYUFBYSxFQUFFLG9CQUFvQjtnQkFDbkMsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFdBQVcsRUFBRSxrQkFBa0I7Z0JBQy9CLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixlQUFlLEVBQUUsY0FBYztnQkFDL0IsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLGVBQWUsRUFBRSxrQkFBa0I7Z0JBQ25DLGlCQUFpQixFQUFFLG9CQUFvQjtnQkFDdkMsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsMkJBQTJCLEVBQUUsNkJBQTZCO2dCQUMxRCxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixLQUFLLEVBQUUsS0FBSztnQkFDWixTQUFTLEVBQUUsU0FBUztnQkFDcEIscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxVQUFVLEVBQUUsa0JBQWtCO2dCQUM5QixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFlBQVksRUFBRSxXQUFXO2dCQUN6QixTQUFTLEVBQUUsU0FBUztnQkFDcEIscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixnQkFBZ0IsRUFBRSxpQkFBaUI7Z0JBQ25DLGdCQUFnQixFQUFFLGlCQUFpQjtnQkFDbkMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxrQ0FBa0MsRUFBRSxrQ0FBa0M7Z0JBQ3RFLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLG9CQUFvQixFQUFFLHNCQUFzQjtnQkFDNUMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLG9CQUFvQixFQUFFLGVBQWU7Z0JBQ3JDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixrQkFBa0IsRUFBRSwwQkFBMEI7Z0JBQzlDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixvQkFBb0IsRUFBRSx3QkFBd0I7Z0JBQzlDLHdCQUF3QixFQUFFLHVCQUF1QjtnQkFDakQsc0JBQXNCLEVBQUUseUJBQXlCO2dCQUNqRCxnQ0FBZ0MsRUFBRSxxQ0FBcUM7Z0JBQ3ZFLG1CQUFtQixFQUFFLGtCQUFrQjtnQkFDdkMsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLG1CQUFtQixFQUFFLHFCQUFxQjtnQkFDMUMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLHdCQUF3QixFQUFFLFVBQVU7Z0JBQ3BDLHdCQUF3QixFQUFFLGdCQUFnQjtnQkFDMUMsc0JBQXNCLEVBQUUsaUJBQWlCO2dCQUN6QyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxPQUFPLEVBQUUsT0FBTztnQkFDaEIsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxvREFBb0QsRUFBRSwyREFBMkQ7Z0JBQ2pILFVBQVUsRUFBRSxVQUFVO2dCQUN0QixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGtCQUFrQixFQUFFLFdBQVc7Z0JBQy9CLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixxQkFBcUIsRUFBRSxvQkFBb0I7Z0JBQzNDLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QywyQkFBMkIsRUFBRSxtQkFBbUI7Z0JBQ2hELCtCQUErQixFQUFFLCtCQUErQjtnQkFDaEUsbUJBQW1CLEVBQUUscUJBQXFCO2dCQUMxQyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLDJCQUEyQixFQUFFLDBCQUEwQjtnQkFDdkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxTQUFTLEVBQUUsU0FBUztnQkFDcEIsMEJBQTBCLEVBQUUsaUJBQWlCO2dCQUM3QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QiwyQkFBMkIsRUFBRSw0QkFBNEI7Z0JBQ3pELFdBQVcsRUFBRSxXQUFXO2dCQUN4QixnQkFBZ0IsRUFBQyxnQkFBZ0I7Z0JBQ2pDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMscUJBQXFCLEVBQUUscUJBQXFCO2FBQzdDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5IHtcclxuICBwdWJsaWMgc3RyaW5nczoge30gPSB7XHJcbiAgICBcIm5sXCI6IHtcclxuICAgICAgXCJBQ0NPVU5UX0RFVEFJTFNcIjogXCJBY2NvdW50Z2VnZXZlbnNcIixcclxuICAgICAgXCJBQ0NPVU5UX0VYUExBTkFUSU9OXCI6IFwiSGV0IGUtbWFpbGFkcmVzIGVuIHdhY2h0d29vcmQgemlqbiBub2RpZyBvbSB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IGRlIGdlZ2V2ZW5zLiBcIiArXHJcbiAgICAgICAgXCJPb2sgenVsbGVuIHdlIGplIHZpYSBkaXQgZS1tYWlsYWRyZXMgb3AgZGUgaG9vZ3RlIGhvdWRlbiB2YW4gZGUgc3RhdHVzIHZhbiBiZXN0ZWxsaW5nZW4uXCIsXHJcbiAgICAgIFwiQUNUSVZFXCI6IFwiQWN0aWVmXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9VUFwiOiBcIkFydGlrZWxyZWdlbCBib3ZlbiB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9MSU5FX0RPV05cIjogXCJBcnRpa2VscmVnZWwgb25kZXIgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX1VQXCI6IFwiVGVrc3RyZWdlbCBib3ZlbiB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfRE9XTlwiOiBcIlRla3N0cmVnZWwgb25kZXIgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0RFTElWRVJZX09QVElPTlwiOiBcIlZvZWcgZWVuIGxldmVyb3B0aWUgdG9lXCIsXHJcbiAgICAgIFwiQUREX0RJU0NPVU5UU1wiOiBcIktvcnRpbmcgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX1JFRkVSRU5DRVwiOiBcIlZvZWcgcmVmZXJlbnRpZSB0b2VcIixcclxuICAgICAgXCJBRERfUkVNQVJLXCI6IFwiVm9lZyBlZW4gb3BtZXJraW5nIHRvZVwiLFxyXG4gICAgICBcIkFERFJFU1NcIjogXCJBZHJlc1wiLFxyXG4gICAgICBcIkFERFJFU1NFU1wiOiBcIkFkcmVzc2VuXCIsXHJcbiAgICAgIFwiQUREUkVTU19BRERcIjogXCJBZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERSRVNTX0NIQU5HRVwiOiBcIkFkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiQURNSU5JU1RSQVRJVkVfTUFOQUdFUlwiOiBcIkFkbWluaXN0cmF0aWVmIHZlcmFudHdvb3JkZWxpamtlXCIsXHJcbiAgICAgIFwiQUxMT0NBVEVEXCI6IFwiVG9lZ2V3ZXplblwiLFxyXG4gICAgICBcIkFMV0FZU19TSE9XX0xPR0lTVElDU19QT1BVUFwiOiBcIkNvbnRyb2xlZXIgbWFnYXppam4gZW4gY29tbWlzc2llY29kZVwiLFxyXG4gICAgICBcIkFSUklWQUxfREFURVwiOiBcIkFhbmtvbXN0ZGF0dW1cIixcclxuICAgICAgXCJBUlRJQ0xFXCI6IFwiQXJ0aWtlbFwiLFxyXG4gICAgICBcIkFSVElDTEVfREVTQ1JJUFRJT05cIjogXCJBcnRpa2Vsb21zY2hyaWp2aW5nXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTUFHRVwiOiBcIkFydGlrZWwgYWZiZWVsZGluZ1wiLFxyXG4gICAgICBcIkFSVElDTEVfSU5fT1VUX0NPTExFQ1RJT05cIjogXCJTdGF0dXMgdmFuIGFydGlrZWwgaXMgJ3x+Jy4gV2VldCB1IHpla2VyIGRhdCB1IGRvb3Igd2lsdCBnYWFuP1wiLFxyXG4gICAgICBcIkFSVElDTEVfTlJcIjogXCJBcnRpa2VsbnVtbWVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUl9TVVBQTElFUlwiOiBcIkFydGlrZWxuciBsZXZlcmFuY2llclwiLFxyXG4gICAgICBcIkFSVElDTEVfVU5LTk9XTlwiOiBcIk9uYmVrZW5kIGFydGlrZWxcIixcclxuICAgICAgXCJBU1NFTUJMWV9DT1NUU1wiOiBcIk1vbnRhZ2Vrb3N0ZW5cIixcclxuICAgICAgXCJBU1NFTUJMWV9EQVRFXCI6IFwiTW9udGFnZWRhdHVtXCIsXHJcbiAgICAgIFwiQVNTRU1CTFlfVElNRVwiOiBcIk1vbnRhZ2V0aWpkXCIsXHJcbiAgICAgIFwiQU1PVU5UXCI6IFwiQWFudGFsXCIsXHJcbiAgICAgIFwiQVZBSUxBQkxFX1NUT0NLXCI6IFwiQmVjaGlrYmFhclwiLFxyXG4gICAgICBcIkJBQ0tcIjogXCJUZXJ1Z1wiLFxyXG4gICAgICBcIkJBQ0tfVE9fU1RPQ0tfTElORVNcIjogXCJUZXJ1ZyBuYWFyIHZvb3JyYWFkcmVnZWxzXCIsXHJcbiAgICAgIFwiQkFMQU5DRVwiOiBcIlNhbGRvXCIsXHJcbiAgICAgIFwiQkFUQ0hfTlVNQkVSXCI6IFwiQmF0Y2hudW1tZXJcIixcclxuICAgICAgXCJCUkFOQ0hcIjogXCJGaWxpYWFsXCIsXHJcbiAgICAgIFwiQlJBTkNIX05VTUJFUlwiOiBcIkZpbGlhYWxudW1tZXJcIixcclxuICAgICAgXCJCVVNJTkVTU19SVUxFX0RJU0NPVU5UXCI6IFwiQnVzaW5lc3MgcnVsZSBrb3J0aW5nXCIsXHJcbiAgICAgIFwiQ0FOQ0VMXCI6IFwiQW5udWxlcmVuXCIsXHJcbiAgICAgIFwiQ0FOTk9UX0NIQU5HRV9ORUdBVElWRV9RVUFOVElUWVwiOiBcIkVlbiBuZWdhdGlldmUgdm9vcnJhYWQga2FuIG5pZXQgZ2V3aWp6aWdkIHdvcmRlbi5cIixcclxuICAgICAgXCJDQVJUXCI6IFwiV2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJDSEFOR0VfREFUQVwiOiBcIldpanppZyBnZWdldmVuc1wiLFxyXG4gICAgICBcIkNIQVJBQ1RFUklTVElDX1FVRVNUSU9OXCI6IFwiS2VubWVya3ZyYWFnXCIsXHJcbiAgICAgIFwiQ0hFQ0tfV0FSRUhPVVNFX0FORF9DT01NSVNTSU9OQ09ERVwiOiBcIkNvbnRyb2xlZXIgbWFnYXppam4gZW4gY29tbWlzc2llY29kZS5cIixcclxuICAgICAgXCJDSEVDS09VVF9GSU5JU0hcIjogXCJCZXN0ZWxsaW5nIGFmcm9uZGVuXCIsXHJcbiAgICAgIFwiQ0lUWVwiOiBcIlN0YWRcIixcclxuICAgICAgXCJDTElFTlRfREFUQVwiOiBcIktsYW50Z2VnZXZlbnNcIixcclxuICAgICAgXCJDTElFTlRfSU5GT1JNQVRJT05cIjogXCJLbGFudGluZm9ybWF0aWVcIixcclxuICAgICAgXCJDT01QQU5ZXCI6IFwiQmVkcmlqZlwiLFxyXG4gICAgICBcIkNPTVBBTllfTkFNRVwiOiBcIkJlZHJpamZzbmFhbVwiLFxyXG4gICAgICBcIkNPTU1JU1NJT05fQ09ERVwiOiBcIkNvbW1pc2llY29kZVwiLFxyXG4gICAgICBcIkNPTkZJUk1FRFwiOiBcIkJldmVzdGlnZFwiLFxyXG4gICAgICBcIkNPTkZJUk1BVElPTlwiOiBcIkJldmVzdGlnaW5nXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX0RBVEVcIjogXCJCZXZlc3RpZ2RlIGRhdHVtXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX0RFTElWRVJZX0RBVEVcIjogXCJCZXZlc3RpZ2RlIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJDT05GSVJNRURfUFJJQ0VcIjogXCJCZXZlc3RpZ2RlIHByaWpzXCIsXHJcbiAgICAgIFwiQ09OVEFDVF9ERVRBSUxTXCI6IFwiQ29udGFjdGdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiQ09OVElOVUVcIjogXCJWb2xnZW5kZVwiLFxyXG4gICAgICBcIkNPTlRJTlVFX09SREVSX1dISUxFX1NUT0NLX0FWQUlMQUJMRV9QTEVBU0VfQ09ORklSTVwiOiBcIlUgaGVlZnQgZ2Vrb3plbiB2b29yIGhldCBiZXN0ZWxsZW4gdmFuIGFydGlrZWxlbiB0ZXJ3aWpsIGVyIG5vZyB2b29ycmFhZCBhYW53ZXppZyBpcy4gV2lsdCB1IHZlcmRlcmdhYW4/XCIsXHJcbiAgICAgIFwiQ09OVElOVUVfV0lUSE9VVF9BQ0NPVU5UXCI6IFwiR2EgZG9vciB6b25kZXIgYWNjb3VudFwiLFxyXG4gICAgICBcIkNPU1RTXCI6IFwiS29zdGVuXCIsXHJcbiAgICAgIFwiQ09VTlRSWVwiOiBcIkxhbmRcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVFwiOiBcIk1hYWsgZWVuIGFjY291bnQgYWFuXCIsXHJcbiAgICAgIFwiQ1JFQVRFX0FDQ09VTlRfSU5fMl9NSU5cIjogXCJNYWFrIGJpbm5lbiAyIG1pbnV0ZW4gZWVuIGFjY291bnQgYWFuLlwiLFxyXG4gICAgICBcIkNVU1RPTUVSXCI6IFwiS2xhbnRcIixcclxuICAgICAgXCJDVVNUT01FUl9HUk9VUFwiOiBcIktsYW50Z3JvZXBcIixcclxuICAgICAgXCJDVVNUT01FUl9OQU1FXCI6IFwiS2xhbnRuYWFtXCIsXHJcbiAgICAgIFwiREFURVwiOiBcIkRhdHVtXCIsXHJcbiAgICAgIFwiREFURV9PRl9CSVJUSFwiOiBcIkdlYm9vcnRlZGF0dW1cIixcclxuICAgICAgXCJERUZJTklUSVZFXCI6IFwiRGVmaW5pdGllZlwiLFxyXG4gICAgICBcIkRFTEVURVwiOiBcIlZlcndpamRlcmVuXCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVcIjogXCJ2ZXJ3aWpkZXJlblwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0hJTlRcIjogXCJWZXJ3aWpkZXJlbiB0cmFuc2FjdGllcmVnZWxcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9GQUlMRURcIjogXCJIZXQgdmVyd2lqZGVyZW4gdmFuIGRlIHRyYW5zYWN0aWVyZWdlbCBpcyBtaXNsdWt0XCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVfUVVFU1RJT05cIjogXCJXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSByZWdlbCB3aWx0IHZlcndpamRlcmVuP1wiLFxyXG4gICAgICBcIkRFTElWRVJFRFwiOiBcIkdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiREVMSVZFUllcIjogXCJCZXpvcmdpbmdcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTXCI6IFwiQWZsZXZlcmFkcmVzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU19BRERcIjogXCJCZXpvcmdhZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0NIQU5HRVwiOiBcIkJlem9yZ2FkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQkFUQ0hcIjogXCJMZXZlcmJhdGNoXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQ09TVFNcIjogXCJCZXpvcmdrb3N0ZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRBXCI6IFwiTGV2ZXJnZWdldmVuc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEVcIjogXCJMZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9ERUZJTklUSVZFXCI6IFwiTGV2ZXJkYXR1bSBkZWZpbml0aWVmXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9GSU5BTFwiOiBcIkRlZmluaXRpZXZlIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJERUxJVkVSWV9ESVJFQ1RcIjogXCJEaXJlY3QgbGV2ZXJiYWFyXCIsXHJcbiAgICAgIFwiREVMSVZFUllfSU5GT1JNQVRJT05cIjogXCJMZXZlcmluZm9ybWF0aWVcIixcclxuICAgICAgXCJERUxJVkVSWV9MT0NBVElPTlwiOiBcIkJlem9yZ2luZ3Nsb2NhdGllXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTk9URVwiOiBcIkFmbGV2ZXJib25cIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRJT05TXCI6IFwiTGV2ZXJvcHRpZXNcIixcclxuICAgICAgXCJERUxJVkVSWV9NRVRIT0RcIjogXCJMZXZlcm1ldGhvZGVcIixcclxuICAgICAgXCJERUxJVkVSWV9NT01FTlRcIjogXCJMZXZlcm1vbWVudFwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVEFSVElDTEVfTlJJT05TXCI6IFwiQmV6b3Jnb3B0aWVzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfVElNRV9QRVJJT0RcIjogXCJMZXZlcnRpamRcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIk9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkRFVEFJTFNcIjogXCJEZXRhaWxzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRcIjogXCJLb3J0aW5nXCIsXHJcbiAgICAgIFwiRElTQ09VTlRTXCI6IFwiS29ydGluZ2VuXCIsXHJcbiAgICAgIFwiRElTQ09VTlRfQU1PVU5UXCI6IFwiS29ydGluZ3NiZWRyYWdcIixcclxuICAgICAgXCJESVNDT1VOVF9QRVJDRU5UQUdFXCI6IFwiS29ydGluZ3MgJVwiLFxyXG4gICAgICBcIkRJU0NPVU5UX1BSSUNFX0lORk9STUFUSU9OXCI6IFwiS29ydGluZyBlbiBwcmlqc2luZm9ybWF0aWVcIixcclxuICAgICAgXCJET1dOUEFZTUVOVFwiOiBcIkFhbmJldGFsaW5nXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfUEVSQ0VOVEFHRVwiOiBcIkFhbiB0ZSBiZXRhbGVuICVcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9BTU9VTlRcIjogXCJBYW4gdGUgYmV0YWxlbiBiZWRyYWdcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9CWV9CUlwiOiBcIkJlcmVrZW5kIGRvb3IgQlJcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9PTl9ERUxJVkVSWVwiOiBcIlJlbWJvdXJzXCIsXHJcbiAgICAgIFwiRFJPUFNISVBNRU5UXCI6IFwiRHJvcHNoaXBtZW50XCIsXHJcbiAgICAgIFwiRUNPTk9NSUNBTF9TVE9DS1wiOiBcIkxhdGVyIGJlc2NoaWtiYWFyXCIsXHJcbiAgICAgIFwiRURJVF9DQVJUXCI6IFwiV2lqemlnIHdpbmtlbHdhZ2VuXCIsXHJcbiAgICAgIFwiRU1BSUxfQUREUkVTU1wiOiBcIkUtbWFpbGFkcmVzXCIsXHJcbiAgICAgIFwiRVhDRUVERU5DRV9DT0RFXCI6IFwiVWl0bG9vcGNvZGVcIixcclxuICAgICAgXCJFWElTVElOR19DVVNUT01FUlNcIjogXCJCZXN0YWFuZGUga2xhbnRlblwiLFxyXG4gICAgICBcIkVYUEVDVEVEX0RFTElWRVJZX0RBVEVcIjogXCIoVmVyd2FjaHRlKSBsZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiRVhQRUNURURfREVMSVZFUllfV0VFS1wiOiBcIihWZXJ3YWNodGUpIGxldmVyd2Vla1wiLFxyXG4gICAgICBcIkZBQlJJQ0FUSU9OX0NPU1RcIjogXCJGYWJyaWNhZ2Vwcmlqc1wiLFxyXG4gICAgICBcIkZBQlJJQ0FUSU9OX0NPU1RfTElORV9UT1RBTFwiOiBcIkZhYnJpY2FnZXByaWpzIHJlZ2VsdG90YWFsXCIsXHJcbiAgICAgIFwiRkVNQUxFXCI6IFwiVnJvdXdcIixcclxuICAgICAgXCJGSVJTVF9OQU1FXCI6IFwiVm9vcm5hYW1cIixcclxuICAgICAgXCJGUkVFXCI6IFwiR3JhdGlzXCIsXHJcbiAgICAgIFwiRlVMTFlfQUxMT0NBVEVEXCI6IFwiVm9sbGVkaWcgdG9lZ2V3ZXplblwiLFxyXG4gICAgICBcIkZVTExZX0NPTkZJUk1FRFwiOiBcIlZvbGxlZGlnIGJldmVzdGlnZFwiLFxyXG4gICAgICBcIkZVTExZX0RFTElWRVJFRFwiOiBcIlZvbGxlZGlnIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiRlVMTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiVm9sbGVkaWcgYmlubmVuZ2VtZWxkIC8gZ2VsZXZlcmRcIixcclxuICAgICAgXCJGVUxMWV9JTlZPSUNFRFwiOiBcIlZvbGxlZGlnIGdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIkZVTExZX1RPX0JFX1BJQ0tFRFwiOiBcIlZvbGxlZGlnIHRlIHBpY2tlblwiLFxyXG4gICAgICBcIkZVTExZX1BJQ0tFRFwiOiBcIlZvbGxlZGlnIGdlcGlja3RcIixcclxuICAgICAgXCJHUk9TU19QUklDRVwiOiBcIkJydXRvIHByaWpzXCIsXHJcbiAgICAgIFwiR09PRF9ERVNDUklQVElPTlwiOiBcIkFydGlrZWxvbXNjaHJpanZpbmdcIixcclxuICAgICAgXCJIQU5ETEVEX0JZXCI6IFwiVmVya29wZXJcIixcclxuICAgICAgXCJIT1VTRV9OT1wiOiBcIkh1aXNudW1tZXJcIixcclxuICAgICAgXCJIT1VTRV9OT19BRERJVElPTlwiOiBcIkh1aXNudW1tZXIgdG9ldm9lZ2luZ1wiLFxyXG4gICAgICBcIklOXCI6IFwiSW5cIixcclxuICAgICAgXCJJTkFDVElWRV9UUkFOU0FDVElPTlNcIjogXCJJbmFjdGlldmUgdHJhbnNhY3RpZXNcIixcclxuICAgICAgXCJJTkNMVURJTkdfUkVUVVJOU1wiOiBcIkluY2x1c2llZiByZXRvdXJlblwiLFxyXG4gICAgICBcIklOX1NFQVJDSE9SREVSU1wiOiBcIkluIHZlcmtvb3BvcmRlcnNcIixcclxuICAgICAgXCJJTl9PUkRFUlwiOiBcIkluIGJlc3RlbGxpbmdcIixcclxuICAgICAgXCJJTl9PVVRfQ09MTEVDVElPTlwiOiBcIkluLXVpdC1jb2xsZWN0aWVcIixcclxuICAgICAgXCJJTlZJVEVfVE9fQUNDT1VOVFwiOiBcIlVpdG5vZGlnZW4gdm9vciBhY2NvdW50XCIsXHJcbiAgICAgIFwiSU5WT0lDRURcIjogXCJHZWZhY3R1cmVlcmRcIixcclxuICAgICAgXCJJTlZPSUNFXCI6IFwiRmFjdHVyZXJlblwiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU1wiOiBcIkZhY3R1dXJhZHJlc1wiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU19BRERcIjogXCJGYWN0dXVyYWRyZXMgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0NIQU5HRVwiOiBcIkZhY3R1dXJhZHJlcyB3aWp6aWdlblwiLFxyXG4gICAgICBcIklOVk9JQ0VfQ0hFQ0tcIjogXCJGYWN0dXVyY29udHJvbGVcIixcclxuICAgICAgXCJMQVNUX0VESVRFRF9EQVRFXCI6IFwiRGF0dW0gbGFhdHN0ZSB3aWp6aWdpbmdcIixcclxuICAgICAgXCJMQVNUX0VESVRFRF9VU0VSXCI6IFwiR2VicnVpa2VyIGxhYXRzdGUgd2lqemlnaW5nXCIsXHJcbiAgICAgIFwiTEFTVF9OQU1FXCI6IFwiQWNodGVybmFhbVwiLFxyXG4gICAgICBcIkxJTkVfTkVFRFNfQ09NTUlTU0lPTl9DT0RFXCI6IFwiRGUgY29tbWlzaWVjb2RlIG9udGJyZWVrdC4gVnVsIGRlIGNvbW1pc3NpZWNvZGUgaW4uXCIsXHJcbiAgICAgIFwiTE9DQVRJT05cIjogXCJMb2NhdGllXCIsXHJcbiAgICAgIFwiTE9HSU5cIjogXCJJbmxvZ2dlblwiLFxyXG4gICAgICBcIkxPR0lOX0RFVEFJTFNcIjogXCJJbmxvZ2dlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTXCI6IFwiTG9naXN0aWVrXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTX0FORF9QTEFOTklOR1wiOiBcIkxvZ2lzdGllayAmIHBsYW5uaW5nXCIsXHJcbiAgICAgIFwiTUFJTl9BUlRJQ0xFXCI6IFwiSG9vZmQgYXJ0aWtlbFwiLFxyXG4gICAgICBcIk1BTEVcIjogXCJNYW5cIixcclxuICAgICAgXCJNQVJLRVRJTkdcIjogXCJNYXJrZXRpbmdcIixcclxuICAgICAgXCJNQVJLRVRJTkdfQ09ERVwiOiBcIk1hcmtldGluZ2NvZGVcIixcclxuICAgICAgXCJNRU5VXCI6IFwiTWVudVwiLFxyXG4gICAgICBcIk1PRElGSUNBVElPTl9USU1FXCI6IFwiQmV3ZXJraW5nc3RpamRcIixcclxuICAgICAgXCJNT1JFX0ZJTFRFUlNcIjogXCJNZWVyIGZpbHRlcnNcIixcclxuICAgICAgXCJOQU1FXCI6IFwiTmFhbVwiLFxyXG4gICAgICBcIk5FVF9MSU5FX1RPVEFMXCI6IFwiUmVnZWx0b3RhYWxcIixcclxuICAgICAgXCJORVRUXCI6IFwiTmV0dG9cIixcclxuICAgICAgXCJORVRUT19QUklDRVwiOiBcIk5ldHRvIHByaWpzXCIsXHJcbiAgICAgIFwiTkVXX0FUXCI6IFwiTmlldXcgYmlqIFwiLFxyXG4gICAgICBcIk5FV19MT0NBVElPTlwiOiBcIk5pZXV3ZSBsb2NhdGllXCIsXHJcbiAgICAgIFwiTkVYVFwiOiBcIlZvbGdlbmRlXCIsXHJcbiAgICAgIFwiTk9fSU1BR0VcIjogXCJHZWVuIGFmYmVlbGRpbmdcIixcclxuICAgICAgXCJOT19SRVNVTFRTXCI6IFwiR2VlbiByZXN1bHRhdGVuXCIsXHJcbiAgICAgIFwiTk9UX0FGVEVSXCI6IFwiTmlldCBsYXRlciBkYW5cIixcclxuICAgICAgXCJOT1RfQkVGT1JFXCI6IFwiTmlldCBlZXJkZXIgZGFuXCIsXHJcbiAgICAgIFwiTk9USElOR19BTExPQ0FURURcIjogXCJOaWV0cyB0b2VnZXdlemVuXCIsXHJcbiAgICAgIFwiTk9USElOR19DT05GSVJNRURcIjogXCJOaWV0cyBiZXZlc3RpZ2RcIixcclxuICAgICAgXCJOT1RISU5HX0RFTElWRVJFRFwiOiBcIk5pZXRzIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiTk9USElOR19SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJOaWV0cyBiaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfSU5WT0lDRURcIjogXCJOaWV0cyBnZWZhY3R1cmVlcmRcIixcclxuICAgICAgXCJOT1RISU5HX1RPX0JFX1BJQ0tFRFwiOiBcIk5pZXRzIHRlIHBpY2tlblwiLFxyXG4gICAgICBcIk5PVEhJTkdfUElDS0VEXCI6IFwiTmlldHMgZ2VwaWNrdFwiLFxyXG4gICAgICBcIk5SXCI6IFwiTnVtbWVyXCIsXHJcbiAgICAgIFwiTlVNQkVSXCI6IFwiQWFudGFsXCIsXHJcbiAgICAgIFwiT05fREFURVwiOiBcIk9wIGRhdHVtXCIsXHJcbiAgICAgIFwiT05fSE9MRFwiOiBcIkdlcGF1emVlcmRcIixcclxuICAgICAgXCJPUEVOX1NIT1BQSU5HX0NBUlRcIjogXCJPcGVuIHdpbmtlbHdhZ2VuXCIsXHJcbiAgICAgIFwiT1JERVJfQ09ORklSTUFUSU9OU1wiOiBcIkJldmVzdGlnaW5nZW5cIixcclxuICAgICAgXCJPUkRFUl9EQVRFXCI6IFwiT3JkZXJkYXR1bVwiLFxyXG4gICAgICBcIk9SREVSX0RBVEFcIjogXCJPcmRlcmdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiT1JERVJfREVGSU5JVElWRVwiOiBcIk9yZGVyIGRlZmluaXRpZWZcIixcclxuICAgICAgXCJPUkRFUl9HUk9TU1wiOiBcIk9yZGVydG90YWFsIGJydXRvXCIsXHJcbiAgICAgIFwiT1JERVJfTElORVNcIjogXCJPcmRlcnJlZ2Vsc1wiLFxyXG4gICAgICBcIk9SREVSX05FVFwiOiBcIk9yZGVydG90YWFsIG5ldHRvXCIsXHJcbiAgICAgIFwiT1JERVJfTlVNQkVSXCI6IFwiT3JkZXJudW1tZXJcIixcclxuICAgICAgXCJPUkRFUl9QQVJBTUVURVJTXCI6IFwiT3JkZXJwYXJhbWV0ZXJzXCIsXHJcbiAgICAgIFwiT1JERVJfUlVMRVwiOiBcIk9yZGVycmVnZWxcIixcclxuICAgICAgXCJPUkRFUl9SVUxFU0VUXCI6IFwiT3JkZXJyZWdlbHNldFwiLFxyXG4gICAgICBcIk9SREVSX1RPVEFMXCI6IFwiT3JkZXJ0b3RhYWxcIixcclxuICAgICAgXCJPUkRFUl9UWVBFXCI6IFwiVHlwZSBiZXN0ZWxsaW5nXCIsXHJcbiAgICAgIFwiT1JERVJFRFwiOiBcIkJlc3RlbGRcIixcclxuICAgICAgXCJPVEhFUlwiOiBcIk92ZXJpZ1wiLFxyXG4gICAgICBcIk9WRVJWSUVXXCI6IFwiT3ZlcnppY2h0XCIsXHJcbiAgICAgIFwiT1ZFUlZJRVdfQU5EX1BBWU1FTlRcIjogXCJPdmVyemljaHQgZW4gYmV0YWxpbmdcIixcclxuICAgICAgXCJPV05fUkVGRVJFTkNFXCI6IFwiRWlnZW4gcmVmZXJlbnRpZVwiLFxyXG4gICAgICBcIlBBQ0tJTkdfU0xJUFwiOiBcIlBha2JvblwiLFxyXG4gICAgICBcIlBBSURfRE9XTjJcIjogXCJBYW5iZXRhYWxkXCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSWVwiOiBcIkRlZWxsZXZlcmluZ1wiLFxyXG4gICAgICBcIlBBUlRfREVMSVZFUklFU1wiOiBcIkRlZWxsZXZlcmluZ2VuXCIsXHJcbiAgICAgIFwiUEFSVExZX0FMTE9DQVRFRFwiOiBcIkdlZGVlbHRlbGlqayB0b2VnZXdlemVuXCIsXHJcbiAgICAgIFwiUEFSVExZX0NPTkZJUk1FRFwiOiBcIkdlZGVlbHRlbGlqayBiZXZlc3RpZ2RcIixcclxuICAgICAgXCJQQVJUTFlfREVMSVZFUkVEXCI6IFwiR2VkZWVsdGVsaWprIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiUEFSVExZX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIkdlZGVlbHRlbGlqayBiaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIlBBUlRMWV9JTlZPSUNFRFwiOiBcIkdlZGVlbHRlbGlqayBnZWZhY3R1cmVlcmRcIixcclxuICAgICAgXCJQQVJUTFlfVE9fQkVfUElDS0VEXCI6IFwiR2VkZWVsdGVsaWprIHRlIHBpY2tlblwiLFxyXG4gICAgICBcIlBBUlRMWV9QSUNLRURcIjogXCJHZWRlZWx0ZWxpamsgZ2VwaWNrdFwiLFxyXG4gICAgICBcIlBBU1NXT1JEXCI6IFwiV2FjaHR3b29yZFwiLFxyXG4gICAgICBcIlBBWVwiOiBcIkJldGFsZW5cIixcclxuICAgICAgXCJQQVlNRU5UXCI6IFwiQmV0YWxpbmdcIixcclxuICAgICAgXCJQQVlNRU5UX0lORk9STUFUSU9OXCI6IFwiQmV0YWFsaW5mb3JtYXRpZVwiLFxyXG4gICAgICBcIlBBWU1FTlRfTUVUSE9EXCI6IFwiQmV0YWFsbWV0aG9kZVwiLFxyXG4gICAgICBcIlBFUlNPTkFMX0RBVEFcIjogXCJCYXNpc2dlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiUElDS0VEXCI6IFwiR2VwaWNrdFwiLFxyXG4gICAgICBcIlBIT05FX05PXCI6IFwiVGVsZWZvb25udW1tZXJcIixcclxuICAgICAgXCJQSFlTSUNBTF9TVE9DS1wiOiBcIkZ5c2lla2Ugdm9vcnJhYWRcIixcclxuICAgICAgXCJQTEFOTklOR1wiOiBcIlBsYW5uaW5nXCIsXHJcbiAgICAgIFwiUE9TVEFMX0NPREVcIjogXCJQb3N0Y29kZVwiLFxyXG4gICAgICBcIlBSRUZFUlJFRF9EQVRFXCI6IFwiVm9vcmtldXJzZGF0dW1cIixcclxuICAgICAgXCJQUkVGSVhcIjogXCJUdXNzZW52b2Vnc2VsXCIsXHJcbiAgICAgIFwiUFJFVklPVVNcIjogXCJWb3JpZ2VcIixcclxuICAgICAgXCJQUklDRVwiOiBcIlByaWpzXCIsXHJcbiAgICAgIFwiUFJJQ0VfTElTVFwiOiBcIlByaWpzbGlqc3RcIixcclxuICAgICAgXCJQUklDSU5HXCI6IFwiUHJpanplblwiLFxyXG4gICAgICBcIlBSSVZBQ1lfUFJFRkVSRU5DRVNcIjogXCJQcml2YWN5dm9vcmtldXJlblwiLFxyXG4gICAgICBcIlBSSVZBVEVfUEVSU09OXCI6IFwiUGFydGljdWxpZXJcIixcclxuICAgICAgXCJQUk9EVUNUXCI6IFwiUHJvZHVjdFwiLFxyXG4gICAgICBcIlBST0RVQ1RfVFlQRVwiOiBcIlByb2R1Y3Rzb29ydFwiLFxyXG4gICAgICBcIlBVUkNIQVNFXCI6IFwiSW5rb29wXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VOVU1CRVJcIjogXCJJbmtvb3BudW1tZXJcIixcclxuICAgICAgXCJQVVJDSEFTRU9SREVSU1wiOiBcIklua29vcG9yZGVyc1wiLFxyXG4gICAgICBcIlBVUkNIQVNFX1BFUlNPTlwiOiBcIklua29wZXJcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfWkVST19PUl9FTVBUWVwiOiBcIkhldCBhYW50YWwgbWFnIGdlZW4gMCB6aWpuLlwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fREVMSVZFUkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgZ2VsZXZlcmRlIGFhbnRhbFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9NT1JFX1RIQU5fREVMSVZFUkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgZ2VsZXZlcmRlIGFhbnRhbFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fSU5WT0lDRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGRlIGJlc3RlbGRlIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX01PUkVfVEhBTl9JTlZPSUNFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGUgYmVzdGVsZGUgdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX0FMTE9DQVRFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGRlIHRvZWdld2V6ZW4gdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX0FMTE9DQVRFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGRlIHRvZWdld2V6ZW4gdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX1JFQ0VJVkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgYWFudGFsIG9udHZhbmdlbi5cIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX1JFQ0VJVkVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBoZXQgYWFudGFsIG9udHZhbmdlblwiLFxyXG4gICAgICBcIlFVQU5UVU1fRElTQ09VTlRcIjogXCJLd2FudHVta29ydGluZ1wiLFxyXG4gICAgICBcIlJFQ0VJUFRfREVUQUlMU1wiOiBcIk9udHZhbmdzdCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiUkVDRUlWRURcIjogXCJPbnR2YW5nc3RcIixcclxuICAgICAgXCJSRUNFSVZFRF9ERUxJVkVSRURcIjogXCJCaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RBVEVcIjogXCJPbnR2YW5nc3QgZGF0dW1cIixcclxuICAgICAgXCJSRUZFUkVOQ0VcIjogXCJSZWZlcmVudGllXCIsXHJcbiAgICAgIFwiUkVGRVJFTkNFX1JFTEFUSU9OXCI6IFwiUmVmLiByZWxhdGllXCIsXHJcbiAgICAgIFwiUkVMQVRJT05fTlVNQkVSXCI6IFwiUmVsYXRpZW51bW1lclwiLFxyXG4gICAgICBcIlJFTUFSS1NcIjogXCJPcG1lcmtpbmdlblwiLFxyXG4gICAgICBcIlJFUVVFU1RFRF9ERUxJVkVSWVwiOiBcIkdldnJhYWdkZSBsZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiU0FMVVRBVElPTlwiOiBcIkFhbmhlZlwiLFxyXG4gICAgICBcIlNBTEVTT1JERVJTXCI6IFwiVmVya29vcG9yZGVyc1wiLFxyXG4gICAgICBcIlNBTUVfQVNfREVMSVZFUllcIjogXCJIZXR6ZWxmZGUgYWxzIGJlem9yZ2FkcmVzXCIsXHJcbiAgICAgIFwiU0FWRVwiOiBcIk9wc2xhYW5cIixcclxuICAgICAgXCJTRUFSQ0hcIjogXCJab2VrZW5cIixcclxuICAgICAgXCJTRUFSQ0hfQUREX0FSVElDTEVcIjogXCJab2VrZW4gZW4gdG9ldm9lZ2VuIGFydGlrZWxcIixcclxuICAgICAgXCJTRUFSQ0hfREVMSVZFUllfTUVUSE9EXCI6IFwiWm9layBsZXZlcm1ldGhvZGVcIixcclxuICAgICAgXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiOiBcIlpvZWsgYmlubmVuIGNvbGxlY3RpZS4uLlwiLFxyXG4gICAgICBcIlNFQVJDSF9OVU1CRVJfQ1VTVE9NRVJfT1JfREFURVwiOiBcIlpvZWtlbiBvcCBudW1tZXIsIGtsYW50IG9mIGRhdHVtXCIsXHJcbiAgICAgIFwiU0VBUkNIX1BSSUNFX0xJU1RcIjogXCJab2VrIHByaWpzbGlqc3RcIixcclxuICAgICAgXCJTRUFSQ0hfVkFUXCI6IFwiWm9layBidHdcIixcclxuICAgICAgXCJTRUFSQ0hfV0FSRUhPVVNFXCI6IFwiWm9layBtYWdhemlqblwiLFxyXG4gICAgICBcIlNFTEVDVFwiOiBcIlNlbGVjdGVyZW5cIixcclxuICAgICAgXCJTRUxFQ1RfQVwiOiBcIlNlbGVjdGVlciBlZW5cIixcclxuICAgICAgXCJTRUxFQ1RfQ0FTSF9SRUdJU1RFUlwiOiBcIlNlbGVjdGVlciBrYXNzYVwiLFxyXG4gICAgICBcIlNFTEVDVF9EQVRFXCI6IFwiU2VsZWN0ZWVyIGVlbiBzdGFydC0gZW4gZWluZGRhdHVtXCIsXHJcbiAgICAgIFwiU0VORFwiOiBcIlZlcnN0dXJlblwiLFxyXG4gICAgICBcIlNFUklBTF9OVU1CRVJcIjogXCJTZXJpZW51bW1lclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfTlVNQkVSXCI6IFwiU2VydmljZW51bW1lclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfUkVRVUVTVF9EQVRFXCI6IFwiRGF0dW0gYWFudnJhYWdcIixcclxuICAgICAgXCJTRVJWSUNFX1NUQVRFXCI6IFwiU2VydmljZSBzdGF0dXNcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUXCI6IFwiV2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX0NIRUNLT1VUXCI6IFwiQmVzdGVsbGVuXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9PVkVSVklFV1wiOiBcIk92ZXJ6aWNodCB2YW4gdXcgYmVzdGVsbGluZ1wiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRfUkVTVU1FXCI6IFwiVmVyZGVyIHdpbmtlbGVuXCIsXHJcbiAgICAgIFwiU0hPV19NT1JFXCI6IFwiVG9vbiBtZWVyXCIsXHJcbiAgICAgIFwiU0hPV19MRVNTXCI6IFwiVG9vbiBtaW5kZXJcIixcclxuICAgICAgXCJTUEVDSUFMX0RJU0NPVU5UXCI6IFwiU3BlY2lhbGUga29ydGluZ1wiLFxyXG4gICAgICBcIlNPVVJDRV9XQVJFSE9VU0VcIjogXCJCcm9uIG1hZ2F6aWpuXCIsXHJcbiAgICAgIFwiU1RPQ0tcIjogXCJWb29ycmFhZFwiLFxyXG4gICAgICBcIlNUT0NLX05PVElGSUNBVElPTlwiOiBcIlZvb3JyYWFkbWVsZGluZ1wiLFxyXG4gICAgICBcIlNUT0NLX0FWQUlMQUJMRV9DSEFOR0VfV0FSRUhPVVNFX09SX0NPTU1JU1NJT05DT0RFXCI6IFwiRXIgaXMgdm9sZG9lbmRlIHZvb3JyYWFkLiBWZXJhbmRlciBtYWdhemlqbiBlbi9vZiBjb21taXNzaWVjb2RlXCIsXHJcbiAgICAgIFwiU1VCVE9UQUxcIjogXCJTdWJ0b3RhYWxcIixcclxuICAgICAgXCJTVUdHRVNUSU9OU1wiOiBcIlN1Z2dlc3RpZXNcIixcclxuICAgICAgXCJTVVBQTElFUlwiOiBcIkxldmVyYW5jaWVyXCIsXHJcbiAgICAgIFwiU1VSQ0hBUkdFX0FNT1VOVFwiOiBcIlRvZXNsYWdcIixcclxuICAgICAgXCJTVEFURVwiOiBcIlN0YXR1c1wiLFxyXG4gICAgICBcIlNUUkVFVFwiOiBcIlN0cmFhdG5hYW1cIixcclxuICAgICAgXCJUQUdTXCI6IFwiVGFnc1wiLFxyXG4gICAgICBcIlRFWFRfQVJUSUNMRV9CT1VORFwiOiBcIlRleHQgYmlqIGFydGlrZWwgfH5cIixcclxuICAgICAgXCJUT19SRVBPUlRfSU5cIjogJ0Jpbm5lbiB0ZSBtZWxkZW4nLFxyXG4gICAgICBcIlRPX0JFX1BJQ0tFRFwiOiBcIlRlIHBpY2tlblwiLFxyXG4gICAgICBcIlRPX0RFTElWRVJcIjogXCJUZSBsZXZlcmVuXCIsXHJcbiAgICAgIFwiVE9fUEFZXCI6IFwiVGUgYmV0YWxlblwiLFxyXG4gICAgICBcIlRPVEFMX0FNT1VOVFwiOiBcIlRvdGFhbGJlZHJhZ1wiLFxyXG4gICAgICBcIlRPVEFMX0FTU0VNQkxZX1RJTUVcIjogXCJUb3RhbGUgbW9udGFnZXRpamRcIixcclxuICAgICAgXCJUT1RBTF9HUk9TU1wiOiBcIlRvdGFhbCBicnV0b1wiLFxyXG4gICAgICBcIlRPVEFMX0xJTkVfRElTQ09VTlRcIjogXCJUb3RhbGUgcmVnZWxrb3J0aW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fREFURVwiOiBcIk9yZGVyZGF0dW1cIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9ESVNDT1VOVFwiOiBcIlRyYW5zYWN0aWUga29ydGluZ1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkNcIjogXCIlIFRyYW5zLiBrb3J0aW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fUFJJQ0VfREVDTEFSQVRJT05cIjogXCJPcmRlciBwcmlqc3ZlcmtsYXJpbmdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9TVU1fSVwiOiBcIk9yZGVydG90YWFsIGluY2wuIEJUV1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1RPVEFMXCI6IFwiVHJhbnNhY3RpZSB0b3RhYWxcIixcclxuICAgICAgXCJUUkFOU1BPUlRcIjogXCJUcmFuc3BvcnRcIixcclxuICAgICAgXCJUUkFOU1BPUlRfQ09TVFwiOiBcIlRyYW5zcG9ydGtvc3RlblwiLFxyXG4gICAgICBcIlRSQU5TUE9SVF9DT1NUX0xJTkVfVE9UQUxcIjogXCJUcmFuc3BvcnRrb3N0ZW4gcmVnZWx0b3RhYWxcIixcclxuICAgICAgXCJUVVJOT1ZFUl9HUk9VUFwiOiBcIk9temV0Z3JvZXBcIixcclxuICAgICAgXCJUWVBFXCI6IFwiU29vcnRcIixcclxuICAgICAgXCJVTktOT1dOXCI6IFwiT25iZWtlbmRcIixcclxuICAgICAgXCJVTktOT1dOX0FERFJFU1NfQ0hFQ0tfSVRcIjogXCJPbmJla2VuZCBhZHJlc1wiLFxyXG4gICAgICBcIlVTRVJcIjogXCJHZWJydWlrZXJcIixcclxuICAgICAgXCJWQVRcIjogXCJCdHdcIixcclxuICAgICAgXCJWQVQyXCI6IFwiQlRXXCIsXHJcbiAgICAgIFwiVkFUX0FNT1VOVFwiOiBcIkJUVy1iZWRyYWdcIixcclxuICAgICAgXCJWQUxVRVwiOiBcIldhYXJkZVwiLFxyXG4gICAgICBcIldIRVJFX0FSRV9ZT1VfTE9PS0lOR19GT1JcIjogXCJXYWFyIGJlbiBqZSBuYWFyIG9wIHpvZWs/XCIsXHJcbiAgICAgIFwiV0FSRUhPVVNFXCI6IFwiTWFnYXppam5cIixcclxuICAgICAgXCJZT1VSX0RBVEFcIjogXCJHZWdldmVuc1wiLFxyXG4gICAgICBcIlNUQU5EQVJEX1RFWFRTXCI6XCJTdGFuZGFhcmR0ZWtzdGVuXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9CT1VORF9URVhUXCI6IFwiQXJ0aWtlbGdlYm9uZGVuIHRla3N0XCIsXHJcbiAgICAgIFwiRk9SX0RPQ1VNRU5UU1wiOiBcIkJlc3RlbWQgdm9vciBkb2N1bWVudGVuXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0FSVElDTEVfVEVYVFwiOiBcIldpanppZ2VuIGFydGlrZWx0ZWtzdFwiLFxyXG4gICAgfSxcclxuICAgIFwiZGVcIjoge30sXHJcbiAgICBcImZyXCI6IHt9LFxyXG4gICAgXCJlblwiOiB7XHJcbiAgICAgIFwiQUNDT1VOVF9ERVRBSUxTXCI6IFwiQWNjb3VudCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiQUNDT1VOVF9FWFBMQU5BVElPTlwiOiBcIkUtbWFpbGFkZHJlc3MgYW5kIHBhc3N3b3JkIGFyZSBuZWVkZWQgdG8gZ2FpbiBhY2Nlc3MgdG8gdGhlIGRhdGEuIFdlIGFsc28gbm90aWZ5IHlvdSBvbiB0aGlzIGUtbWFpbGFkZHJlc3MgYWJvdXQgdGhlIG9yZGVyIHN0YXR1c1wiLFxyXG4gICAgICBcIkFDVElWRVwiOiBcIkFjdGl2ZVwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfVVBcIjogXCJBZGQgYXJ0aWNsZSBsaW5lIHVwXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9ET1dOXCI6IFwiQWRkIGFydGljbGUgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX1VQXCI6IFwiQWRkIHRleHQgbGluZSB1cFwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9ET1dOXCI6IFwiQWRkIHRleHQgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0RFTElWRVJZX09QVElPTlwiOiBcIkFkZCBkZWxpdmVyeSBvcHRpb25cIixcclxuICAgICAgXCJBRERfRElTQ09VTlRTXCI6IFwiQWRkIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiQUREX1JFRkVSRU5DRVwiOiBcIkFkZCByZWZlcmVuY2VcIixcclxuICAgICAgXCJBRERfUkVNQVJLXCI6IFwiQWRkIHJlbWFya1wiLFxyXG4gICAgICBcIkFERFJFU1NcIjogXCJBZGRyZXNzXCIsXHJcbiAgICAgIFwiQUREUkVTU0VTXCI6IFwiQWRkcmVzc2VzXCIsXHJcbiAgICAgIFwiQUREUkVTU19BRERcIjogXCJBZGQgYWRkcmVzc1wiLFxyXG4gICAgICBcIkFERFJFU1NfQ0hBTkdFXCI6IFwiQ2hhbmdlIGFkZHJlc3NcIixcclxuICAgICAgXCJBRE1JTklTVFJBVElWRV9NQU5BR0VSXCI6IFwiQWRtaW5pc3RyYXRpdmUgbWFuYWdlclwiLFxyXG4gICAgICBcIkFMTE9DQVRFRFwiOiBcIkFsbG9jYXRlZFwiLFxyXG4gICAgICBcIkFMV0FZU19TSE9XX0xPR0lTVElDU19QT1BVUFwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJBUlJJVkFMX0RBVEVcIjogXCJBcnJpdmFsIGRhdGVcIixcclxuICAgICAgXCJBUlRJQ0xFXCI6IFwiQXJ0aWNsZVwiLFxyXG4gICAgICBcIkFSVElDTEVfREVTQ1JJUFRJT05cIjogXCJBcnRpY2xlIGRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTUFHRVwiOiBcIkFydGljbGUgaW1hZ2VcIixcclxuICAgICAgXCJBUlRJQ0xFX0lOX09VVF9DT0xMRUNUSU9OXCI6IFwiU3RhdHVzIG9mIGFydGljbGUgaXMgJ3x+Jy4gQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQ/XCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUlwiOiBcIkFydGljbGUgbnVtYmVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUl9TVVBQTElFUlwiOiBcIkFydGlrZWxuciBzdXBwbGllclwiLFxyXG4gICAgICBcIkFSVElDTEVfVU5LTk9XTlwiOiBcIkFydGljbGUgdW5rbm93blwiLFxyXG4gICAgICBcIkFTU0VNQkxZX0NPU1RTXCI6IFwiQXNzZW1ibHkgY29zdHNcIixcclxuICAgICAgXCJBU1NFTUJMWV9EQVRFXCI6IFwiQXNzZW1ibHkgZGF0ZVwiLFxyXG4gICAgICBcIkFTU0VNQkxZX1RJTUVcIjogXCJBc3NlbWJseSB0aW1lXCIsXHJcbiAgICAgIFwiQU1PVU5UXCI6IFwiQW1vdW50XCIsXHJcbiAgICAgIFwiQkFDS1wiOiBcIkJhY2tcIixcclxuICAgICAgXCJCQUxBTkNFXCI6IFwiQmFsYW5jZVwiLFxyXG4gICAgICBcIkJBVENIX05VTUJFUlwiOiBcIkJhdGNobnVtYmVyXCIsXHJcbiAgICAgIFwiQlJBTkNIXCI6IFwiQnJhbmNoXCIsXHJcbiAgICAgIFwiQlJBTkNIX05VTUJFUlwiOiBcIkJyYW5jaCBudW1iZXJcIixcclxuICAgICAgXCJCVVNJTkVTU19SVUxFX0RJU0NPVU5UXCI6IFwiQnVzaW5lc3MgcnVsZSBkaXNjb3VudFwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNBTk5PVF9DSEFOR0VfTkVHQVRJVkVfUVVBTlRJVFlcIjogXCJBIG5lZ2F0aXZlIHN1cHBseSBjYW5ub3QgYmUgY2hhbmdlZC5cIixcclxuICAgICAgXCJDQVJUXCI6IFwiQ2FydFwiLFxyXG4gICAgICBcIkNIQU5HRV9EQVRBXCI6IFwiQ2hhbmdlIGRhdGFcIixcclxuICAgICAgXCJDSEFSQUNURVJJU1RJQ19RVUVTVElPTlwiOiBcIkNoYXJhY3RlcmlzdGljIHF1ZXN0aW9uXCIsXHJcbiAgICAgIFwiQ0hFQ0tfV0FSRUhPVVNFX0FORF9DT01NSVNTSU9OQ09ERVwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJDSEVDS09VVF9GSU5JU0hcIjogXCJGaW5pc2ggY2hlY2tvdXRcIixcclxuICAgICAgXCJDSVRZXCI6IFwiQ2l0eVwiLFxyXG4gICAgICBcIkNMSUVOVF9EQVRBXCI6IFwiQ2xpZW50IGRhdGFcIixcclxuICAgICAgXCJDTElFTlRfSU5GT1JNQVRJT05cIjogXCJDbGllbnQgaW5mb3JtYXRpb25cIixcclxuICAgICAgXCJDT01QQU5ZXCI6IFwiQ29tcGFueVwiLFxyXG4gICAgICBcIkNPTVBBTllfTkFNRVwiOiBcIkNvbXBhbnkgbmFtZVwiLFxyXG4gICAgICBcIkNPTU1JU1NJT05fQ09ERVwiOiBcIkNvbW1pc3Npb24gY29kZVwiLFxyXG4gICAgICBcIkNPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hdGlvblwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9EQVRFXCI6IFwiQ29uZmlybWVkIGRhdGVcIixcclxuICAgICAgXCJDT05GSVJNRURfREVMSVZFUllfREFURVwiOiBcIkNvbmZpcm1lZCBkZWxpdmVyeSBkYXRlXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX1BSSUNFXCI6IFwiQ29uZmlybWVkIHByaWNlXCIsXHJcbiAgICAgIFwiQ09OVEFDVF9ERVRBSUxTXCI6IFwiQ29udGFjdGRldGFpbHNcIixcclxuICAgICAgXCJDT05USU5VRVwiOiBcIk5leHRcIixcclxuICAgICAgXCJDT05GSVJNRURcIjogXCJDb25maXJtZWRcIixcclxuICAgICAgXCJDT05USU5VRV9PUkRFUl9XSElMRV9TVE9DS19BVkFJTEFCTEVfUExFQVNFX0NPTkZJUk1cIjogXCJZb3UgaGF2ZSBjaG9zZW4gdG8gb3JkZXIgYXJ0aWNsZXMgd2hpbGUgc3RvY2sgaXMgc3RpbGwgYXZhaWxhYmxlLiBEbyB5b3Ugd2lzaCB0byBwcm9jZWVkP1wiLFxyXG4gICAgICBcIkNPTlRJTlVFX1dJVEhPVVRfQUNDT1VOVFwiOiBcIkNvbnRpbnVlIHdpdGhvdXQgYW4gYWNjb3VudFwiLFxyXG4gICAgICBcIkNPU1RTXCI6IFwiQ29zdHNcIixcclxuICAgICAgXCJDT1VOVFJZXCI6IFwiQ291bnRyeVwiLFxyXG4gICAgICBcIkNSRUFURV9BQ0NPVU5UXCI6IFwiQ3JlYXRlIGFuIGFjY291bnRcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVF9JTl8yX01JTlwiOiBcIkNyZWF0ZSBhbiBhY2NvdW50IGluIDIgbWludXRlcy5cIixcclxuICAgICAgXCJDVVNUT01FUlwiOiBcIkN1c3RvbWVyXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfR1JPVVBcIjogXCJDdXN0b21lcmdyb3VwXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfTkFNRVwiOiBcIkN1c3RvbWVyIG5hbWVcIixcclxuICAgICAgXCJEQVRFXCI6IFwiRGF0ZVwiLFxyXG4gICAgICBcIkRBVEVfT0ZfQklSVEhcIjogXCJEYXRlIG9mIGJpcnRoXCIsXHJcbiAgICAgIFwiREVGSU5JVElWRVwiOiBcIkRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxFVEVcIjogXCJEZWxldGVcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORVwiOiBcIkRlbGV0ZSB0cmFuc2FjdGlvbiBsaW5lIHZlcndpamRlcmVuP1wiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0hJTlRcIjogXCJEZWxldGUgdHJhbnNhY3Rpb24gbGluZVwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0ZBSUxFRFwiOiBcIkRlbGV0aW9uIG9mIHRyYW5zYWN0aW9uIGxpbmUgaGFzIGZhaWxlZFwiLFxyXG4gICAgICBcIkRFTElWRVJFRFwiOiBcIkRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIkRFTElWRVJZXCI6IFwiRGVsaXZlcnlcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTXCI6IFwiRGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NfQUREXCI6IFwiQWRkIGRlbGl2ZXJ5IGFkZHJlc3NcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0NIQU5HRVwiOiBcIkNoYW5nZSBkZWxpdmVyeSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQkFUQ0hcIjogXCJEZWxpdmVyeSBiYXRjaFwiLFxyXG4gICAgICBcIkRFTElWRVJZX0NPU1RTXCI6IFwiRGVsaXZlcnkgY29zdHNcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRBXCI6IFwiRGVsaXZlcnlkYXRhXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURVwiOiBcIkRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0RFRklOSVRJVkVcIjogXCJEZWxpdmVyeSBkYXRlIGRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0ZJTkFMXCI6IFwiRmluYWwgZGVsaXZlcnkgZGF0ZVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RJUkVDVFwiOiBcIkRpcmVjdCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0lORk9STUFUSU9OXCI6IFwiRGlyZWN0IGluZm9ybWF0aW9uXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTE9DQVRJT05cIjogXCJEZWxpdmVyeSBsb2NhdGlvblwiLFxyXG4gICAgICBcIkRFTElWRVJZX05PVEVcIjogXCJEZWxpdmVyeSBub3RlXCIsXHJcbiAgICAgIFwiREVMSVZFUllfT1BUSU9OU1wiOiBcIkRlbGl2ZXJ5IG9wdGlvbnNcIixcclxuICAgICAgXCJERUxJVkVSWV9NRVRIT0RcIjogXCJEZWxpdmVyeSBtZXRob2RcIixcclxuICAgICAgXCJERUxJVkVSWV9NT01FTlRcIjogXCJEZWxpdmVyeSBtb21lbnRcIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRBUlRJQ0xFX05SSU9OU1wiOiBcIkRlbGl2ZXJ5IG9wdGlvbnNcIixcclxuICAgICAgXCJERUxJVkVSWV9USU1FX1BFUklPRFwiOiBcIkRlbGl2ZXJ5IHRpbWUgcGVyaW9kXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJEZXNjcmlwdGlvblwiLFxyXG4gICAgICBcIkRFVEFJTFNcIjogXCJEZXRhaWxzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRcIjogXCJEaXNjb3VudFwiLFxyXG4gICAgICBcIkRJU0NPVU5UU1wiOiBcIkRpc2NvdW50c1wiLFxyXG4gICAgICBcIkRJU0NPVU5UX0FNT1VOVFwiOiBcIkRpc2NvdW50IGFtb3VudFwiLFxyXG4gICAgICBcIkRJU0NPVU5UX1BFUkNFTlRBR0VcIjogXCJEaXNjb3VudCAlXCIsXHJcbiAgICAgIFwiRElTQ09VTlRfUFJJQ0VfSU5GT1JNQVRJT05cIjogXCJEaXNjb3VudCBhbmQgcHJpY2UgaW5mb3JtYXRpb25cIixcclxuICAgICAgXCJET1dOUEFZTUVOVFwiOiBcIkRvd25wYXltZW50XCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfUEVSQ0VOVEFHRVwiOiBcIlBlcmNlbnRhZ2UgdG8gYmUgcGFpZFwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0FNT1VOVFwiOiBcIkFtb3VudCB0byBiZSBwYWlkXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfQllfQlJcIjogXCJDYWxjdWxhdGVkIGJ5IEJSXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfT05fREVMSVZFUllcIjogXCJPbiBkZWxpdmVyeVwiLFxyXG4gICAgICBcIkRST1BTSElQTUVOVFwiOiBcIkRyb3BzaGlwbWVudFwiLFxyXG4gICAgICBcIkVESVRfQ0FSVFwiOiBcIkVkaXQgY2FydFwiLFxyXG4gICAgICBcIkVNQUlMX0FERFJFU1NcIjogXCJFLW1haWxhZHJlc1wiLFxyXG4gICAgICBcIkVYQ0VFREVOQ0VfQ09ERVwiOiBcIkV4Y2VlZGVuY2UgY29kZVwiLFxyXG4gICAgICBcIkVYSVNUSU5HX0NVU1RPTUVSU1wiOiBcIkV4aXN0aW5nIGN1c3RvbWVyc1wiLFxyXG4gICAgICBcIkVYUEVDVEVEX0RFTElWRVJZX0RBVEVcIjogXCIoRXhwZWN0ZWQpIGRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9XRUVLXCI6IFwiKEV4cGVjdGVkKSBkZWxpdmVyeSB3ZWVrXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVFwiOiBcIkZhYnJpY2F0aW9uY29zdFwiLFxyXG4gICAgICBcIkZBQlJJQ0FUSU9OX0NPU1RfTElORV9UT1RBTFwiOiBcIkZhYnJpY2F0aW9uY29zdCBsaW5ldG90YWxcIixcclxuICAgICAgXCJGRU1BTEVcIjogXCJGZW1hbGVcIixcclxuICAgICAgXCJGSVJTVF9OQU1FXCI6IFwiRmlyc3QgbmFtZVwiLFxyXG4gICAgICBcIkZSRUVcIjogXCJGcmVlXCIsXHJcbiAgICAgIFwiRlVMTFlfQUxMT0NBVEVEXCI6IFwiRnVsbHkgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiRlVMTFlfQ09ORklSTUVEXCI6IFwiRnVsbHkgY29uZmlybWVkXCIsXHJcbiAgICAgIFwiRlVMTFlfREVMSVZFUkVEXCI6IFwiRnVsbHkgZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiRlVMTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiRnVsbHkgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJGVUxMWV9JTlZPSUNFRFwiOiBcIkZ1bGx5IGludm9pY2VkXCIsXHJcbiAgICAgIFwiRlVMTFlfVE9fQkVfUElDS0VEXCI6IFwiRnVsbHkgdG8gYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiRlVMTFlfUElDS0VEXCI6IFwiRnVsbHkgcGlja2VkXCIsXHJcbiAgICAgIFwiR09PRF9ERVNDUklQVElPTlwiOiBcIkFydGljbGUgZGVzY3JpcHRpb25cIixcclxuICAgICAgXCJHUk9TU19QUklDRVwiOiBcIkdyb3NzIHByaWNlXCIsXHJcbiAgICAgIFwiSEFORExFRF9CWVwiOiBcIkhhbmRsZWQgYnlcIixcclxuICAgICAgXCJIT1VTRV9OT1wiOiBcIkhvdXNlbnVtYmVyXCIsXHJcbiAgICAgIFwiSE9VU0VfTk9fQURESVRJT05cIjogXCJIb3VzZW51bWJlciBhZGRpdGlvblwiLFxyXG4gICAgICBcIklOXCI6IFwiSW5cIixcclxuICAgICAgXCJJTkFDVElWRV9UUkFOU0FDVElPTlNcIjogXCJJbmFjdGlldmUgdHJhbnNhY3RpZXNcIixcclxuICAgICAgXCJJTkNMVURJTkdfUkVUVVJOU1wiOiBcIkluY2x1ZGluZyByZXR1cm5zXCIsXHJcbiAgICAgIFwiSU5fU0VBUkNIT1JERVJTXCI6IFwiSW4gc2FsZXMgb3JkZXJzXCIsXHJcbiAgICAgIFwiSU5fT1JERVJcIjogXCJJbiBvcmRlclwiLFxyXG4gICAgICBcIklOX09VVF9DT0xMRUNUSU9OXCI6IFwiSW4tb3V0LWNvbGxlY3Rpb25cIixcclxuICAgICAgXCJJTlZJVEVfVE9fQUNDT1VOVFwiOiBcIkludml0ZSBhY2NvdW50XCIsXHJcbiAgICAgIFwiSU5WT0lDRURcIjogXCJJbnZvaWNlZFwiLFxyXG4gICAgICBcIklOVk9JQ0VcIjogXCJJbnZvaWNlXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTXCI6IFwiSW52b2ljZSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0FERFwiOiBcIkFkZCBpbnZvaWNlIGFkZHJlc3NcIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQ0hBTkdFXCI6IFwiQ2hhbmdlIGludm9pY2UgYWRkcmVzc1wiLFxyXG4gICAgICBcIklOVk9JQ0VfQ0hFQ0tcIjogXCJJbnZvaWNlIGNoZWNrXCIsXHJcbiAgICAgIFwiTEFTVF9FRElURURfREFURVwiOiBcIkRhdGUgbGFzdCBtdXRhdGlvblwiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX1VTRVJcIjogXCJVc2VyIGxhc3QgbXV0YXRpb25cIixcclxuICAgICAgXCJMQVNUX05BTUVcIjogXCJMYXN0IG5hbWVcIixcclxuICAgICAgXCJMSU5FX05FRURTX0NPTU1JU1NJT05fQ09ERVwiOiBcIkxpbmUgbmVlZHMgYSBjb21taXNzaW9uIGNvZGVcIixcclxuICAgICAgXCJMT0NBVElPTlwiOiBcIkxvY2F0aW9uXCIsXHJcbiAgICAgIFwiTE9HSU5cIjogXCJMb2dpblwiLFxyXG4gICAgICBcIkxPR0lOX0RFVEFJTFNcIjogXCJMb2dpbiBkZXRhaWxzXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTXCI6IFwiTG9naXN0aWNzXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTX0FORF9QTEFOTklOR1wiOiBcIkxvZ2lzdGljcyAmIHBsYW5uaW5nXCIsXHJcbiAgICAgIFwiTUFJTl9BUlRJQ0xFXCI6IFwiTWFpbiBhcnRpY2xlXCIsXHJcbiAgICAgIFwiTUFMRVwiOiBcIk1hbGVcIixcclxuICAgICAgXCJNQVJLRVRJTkdcIjogXCJNYXJrZXRpbmdcIixcclxuICAgICAgXCJNQVJLRVRJTkdfQ09ERVwiOiBcIk1hcmtldGluZ2NvZGVcIixcclxuICAgICAgXCJNRU5VXCI6IFwiTWVudVwiLFxyXG4gICAgICBcIk1PRElGSUNBVElPTl9USU1FXCI6IFwiTW9kaWZpY2F0aW9uIHRpbWVcIixcclxuICAgICAgXCJNT1JFX0ZJTFRFUlNcIjogXCJNb3JlIGZpbHRlcnNcIixcclxuICAgICAgXCJOQU1FXCI6IFwiTmFtZVwiLFxyXG4gICAgICBcIk5FVF9MSU5FX1RPVEFMXCI6IFwiTGluZXRvdGFsXCIsXHJcbiAgICAgIFwiTkVUVFwiOiBcIk5ldFwiLFxyXG4gICAgICBcIk5FVFRPX1BSSUNFXCI6IFwiTmV0dG8gcHJpY2VcIixcclxuICAgICAgXCJORVdfQVRcIjogXCJOZXcgYXQgXCIsXHJcbiAgICAgIFwiTkVXX0xPQ0FUSU9OXCI6IFwiTmV3IGxvY2F0aW9uXCIsXHJcbiAgICAgIFwiTkVYVFwiOiBcIk5leHRcIixcclxuICAgICAgXCJOT19JTUFHRVwiOiBcIk5vIGltYWdlIGF2YWlsYWJsZVwiLFxyXG4gICAgICBcIk5PX1JFU1VMVFNcIjogXCJObyByZXN1bHRzXCIsXHJcbiAgICAgIFwiTk9UX0FGVEVSXCI6IFwiTm90IGFmdGVyXCIsXHJcbiAgICAgIFwiTk9UX0JFRk9SRVwiOiBcIk5vdCBiZWZvcmVcIixcclxuICAgICAgXCJOT1RISU5HX0FMTE9DQVRFRFwiOiBcIk5vdGhpbmcgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiTk9USElOR19DT05GSVJNRURcIjogXCJOb3RoaW5nIGNvbmZpcm1lZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfREVMSVZFUkVEXCI6IFwiTm90aGluZyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJOT1RISU5HX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIk5vdGhpbmcgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJOT1RISU5HX0lOVk9JQ0VEXCI6IFwiTm90aGluZyBpbnZvaWNlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfVE9fQkVfUElDS0VEXCI6IFwiTm90aGluZyB0byBiZSBwaWNrZWRcIixcclxuICAgICAgXCJOT1RISU5HX1BJQ0tFRFwiOiBcIk5vdGhpbmcgcGlja2VkXCIsXHJcbiAgICAgIFwiTlJcIjogXCJOdW1iZXJcIixcclxuICAgICAgXCJOVU1CRVJcIjogXCJBbW91bnRcIixcclxuICAgICAgXCJPTl9EQVRFXCI6IFwiT24gZGF0ZVwiLFxyXG4gICAgICBcIk9OX0hPTERcIjogXCJPbiBob2xkXCIsXHJcbiAgICAgIFwiT1BFTl9TSE9QUElOR19DQVJUXCI6IFwiT3BlbiBzaG9wcGluZyBjYXJ0XCIsXHJcbiAgICAgIFwiT1JERVJfQ09ORklSTUFUSU9OU1wiOiBcIk9yZGVyIGNvbmZpcm1hdGlvbnNcIixcclxuICAgICAgXCJPUkRFUl9EQVRFXCI6IFwiT3JkZXIgZGF0ZVwiLFxyXG4gICAgICBcIk9SREVSX0RBVEFcIjogXCJPcmRlcmRhdGFcIixcclxuICAgICAgXCJPUkRFUl9ERUZJTklUSVZFXCI6IFwiT3JkZXIgZGVmaW5pdGl2ZVwiLFxyXG4gICAgICBcIk9SREVSX0dST1NTXCI6IFwiVG90YWwgZ3Jvc3MgYW1vdW50XCIsXHJcbiAgICAgIFwiT1JERVJfTElORVNcIjogXCJPcmRlcmxpbmVzXCIsXHJcbiAgICAgIFwiT1JERVJfTkVUXCI6IFwiVG90YWwgbmV0IGFtb3VudFwiLFxyXG4gICAgICBcIk9SREVSX05VTUJFUlwiOiBcIk9yZGVyIG51bWJlclwiLFxyXG4gICAgICBcIk9SREVSX1BBUkFNRVRFUlNcIjogXCJPcmRlciBwYXJhbWV0ZXJzXCIsXHJcbiAgICAgIFwiT1JERVJfUlVMRVwiOiBcIk9yZGVyIHJ1bGVcIixcclxuICAgICAgXCJPUkRFUl9SVUxFU0VUXCI6IFwiT3JkZXJydWxlc2V0XCIsXHJcbiAgICAgIFwiT1JERVJfVE9UQUFMXCI6IFwiT3JkZXIgdG90YWxcIixcclxuICAgICAgXCJPUkRFUl9UWVBFXCI6IFwiT3JkZXIgdHlwZVwiLFxyXG4gICAgICBcIk9SREVSRURcIjogXCJPcmRlcmVkXCIsXHJcbiAgICAgIFwiT1RIRVJcIjogXCJPdGhlclwiLFxyXG4gICAgICBcIk9WRVJWSUVXXCI6IFwiT3ZlcnZpZXdcIixcclxuICAgICAgXCJPVkVSVklFV19BTkRfUEFZTUVOVFwiOiBcIk92ZXJ2aWV3IGFuZCBwYXltZW50XCIsXHJcbiAgICAgIFwiT1dOX1JFRkVSRU5DRVwiOiBcIk93biByZWZlcmVuY2VcIixcclxuICAgICAgXCJQQUNLSU5HX1NMSVBcIjogXCJQYWNraW5nIHNsaXBcIixcclxuICAgICAgXCJQQUlEX0RPV04yXCI6IFwiUHJlcGFpZFwiLFxyXG4gICAgICBcIlBBUlRfREVMSVZFUllcIjogXCJQYXJ0aWFsIGRlbGl2ZXJ5XCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSSUVTXCI6IFwiUGFydGlhbCBkZWxpdmVyaWVzXCIsXHJcbiAgICAgIFwiUEFSVExZX0FMTE9DQVRFRFwiOiBcIlBhcnRseSBhbGxvY2F0ZWRcIixcclxuICAgICAgXCJQQVJUTFlfQ09ORklSTUVEXCI6IFwiUGFydGx5IGNvbmZpcm1lZFwiLFxyXG4gICAgICBcIlBBUlRMWV9ERUxJVkVSRURcIjogXCJQYXJ0bHkgZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiUEFSVExZX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIlBhcnRseSByZWNlaXZlZCAvIGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9JTlZPSUNFRFwiOiBcIlBhcnRseSBpbnZvaWNlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9UT19CRV9QSUNLRURcIjogXCJQYXJ0bHkgdG8gYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiUEFSVExZX1BJQ0tFRFwiOiBcIlBhcnRseSBwaWNrZWRcIixcclxuICAgICAgXCJQQVNTV09SRFwiOiBcIlBhc3N3b3JkXCIsXHJcbiAgICAgIFwiUEFZXCI6IFwiUGF5XCIsXHJcbiAgICAgIFwiUEFZTUVOVFwiOiBcIlBheW1lbnRcIixcclxuICAgICAgXCJQQVlNRU5UX0lORk9STUFUSU9OXCI6IFwiUGF5bWVudCBpbmZvcm1hdGlvblwiLFxyXG4gICAgICBcIlBBWU1FTlRfTUVUSE9EXCI6IFwiUGF5bWVudCBtZXRob2RcIixcclxuICAgICAgXCJQRVJTT05BTF9EQVRBXCI6IFwiUGVyc29uYWwgZGF0YVwiLFxyXG4gICAgICBcIlBIT05FX05PXCI6IFwiVGVsZXBob25lIG51bWJlclwiLFxyXG4gICAgICBcIlBMQU5OSU5HXCI6IFwiUGxhbm5pbmdcIixcclxuICAgICAgXCJQSUNLRURcIjogXCJQaWNrZWRcIixcclxuICAgICAgXCJQT1NUQUxfQ09ERVwiOiBcInBvc3RhbCBjb2RlXCIsXHJcbiAgICAgIFwiUFJFRkVSUkVEX0RBVEVcIjogXCJQcmVmZXJyZWQgZGF0ZVwiLFxyXG4gICAgICBcIlBSRUZJWFwiOiBcIlByZWZpeFwiLFxyXG4gICAgICBcIlBSRVZJT1VTXCI6IFwiUHJldmlvdXNcIixcclxuICAgICAgXCJQUklDRVwiOiBcIlByaWNlXCIsXHJcbiAgICAgIFwiUFJJQ0VfTElTVFwiOiBcIlByaWNlbGlzdFwiLFxyXG4gICAgICBcIlBSSUNJTkdcIjogXCJQcmljaW5nXCIsXHJcbiAgICAgIFwiUFJJVkFDWV9QUkVGRVJFTkNFU1wiOiBcIlByaXZhY3kgcHJlZmVyZW5jZXNcIixcclxuICAgICAgXCJQUklWQVRFX1BFUlNPTlwiOiBcIlByaXZhdGVcIixcclxuICAgICAgXCJQUk9EVUNUXCI6IFwiUHJvZHVjdFwiLFxyXG4gICAgICBcIlBST0RVQ1RfVFlQRVwiOiBcIlByb2R1Y3QgdHlwZVwiLFxyXG4gICAgICBcIlBVUkNIQVNFXCI6IFwiUHVyY2hhc2VcIixcclxuICAgICAgXCJQVVJDSEFTRU5VTUJFUlwiOiBcIlB1cmNoYXNlIG51bWJlclwiLFxyXG4gICAgICBcIlBVUkNIQVNFT1JERVJTXCI6IFwiUHVyY2hhc2Ugb3JkZXJzXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VfUEVSU09OXCI6IFwiUHVyY2hhc2UgcGVyc29uXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX1pFUk9fT1JfRU1QVFlcIjogXCJRdWFudGl0eSBjYW5ub3QgYmUgemVybyBvciBlbXB0eVwiLFxyXG4gICAgICBcIlFVQU5UVU1fRElTQ09VTlRcIjogXCJRdWFudHVtIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiUkVDRUlQVF9ERVRBSUxTXCI6IFwiUmVjZWlwdCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiUkVDRUlWRURcIjogXCJSZWNlaXZlZFwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RBVEVcIjogXCJSZWNlaXZlZCBkYXRlXCIsXHJcbiAgICAgIFwiUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiUmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJSRUZFUkVOQ0VcIjogXCJSZWZlcmVuY2VcIixcclxuICAgICAgXCJSRUZFUkVOQ0VfUkVMQVRJT05cIjogXCJSZWYuIHJlbGF0aW9uXCIsXHJcbiAgICAgIFwiUkVMQVRJT05fTlVNQkVSXCI6IFwiUmVsYXRpb24gbnVtYmVyXCIsXHJcbiAgICAgIFwiUkVNQVJLU1wiOiBcIlJlbWFya3NcIixcclxuICAgICAgXCJSRVFVRVNURURfREVMSVZFUllcIjogXCJSZXF1ZXN0ZWQgZGVsaXZlcnlcIixcclxuICAgICAgXCJTQUxFU09SREVSU1wiOiBcIlNhbGVzIG9yZGVyc1wiLFxyXG4gICAgICBcIlNBTFVUQVRJT05cIjogXCJTYWx1dGF0aW9uXCIsXHJcbiAgICAgIFwiU0FNRV9BU19ERUxJVkVSWVwiOiBcIlNhbWUgYXMgZGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIlNBVkVcIjogXCJTYXZlXCIsXHJcbiAgICAgIFwiU0VBUkNIXCI6IFwiU2VhcmNoXCIsXHJcbiAgICAgIFwiU0VBUkNIX0FERF9BUlRJQ0xFXCI6IFwiU2VhcmNoIGFuZCBhZGQgYXJ0aWNsZVwiLFxyXG4gICAgICBcIlNFQVJDSF9ERUxJVkVSWV9NRVRIT0RcIjogXCJTZWFyY2ggZGVsaXZlcnltZXRob2RcIixcclxuICAgICAgXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiOiBcIlNlYXJjaCBpbiBjb2xsZWN0aW9uLi4uXCIsXHJcbiAgICAgIFwiU0VBUkNIX05VTUJFUl9DVVNUT01FUl9PUl9EQVRFXCI6IFwiU2VhcmNoIGZvciBudW1iZXIsIGN1c3RvbWVyIG9yIGRhdGVcIixcclxuICAgICAgXCJTRUFSQ0hfUFJJQ0VfTElTVFwiOiBcIlNlYXJjaCBwcmljZWxpc3RcIixcclxuICAgICAgXCJTRUFSQ0hfVkFUXCI6IFwiU2VhcmNoIHZhdFwiLFxyXG4gICAgICBcIlNFQVJDSF9XQVJFSE9VU0VcIjogXCJTZWFyY2ggd2FyZWhvdXNlXCIsXHJcbiAgICAgIFwiU0VMRUNUXCI6IFwiU2VsZWN0XCIsXHJcbiAgICAgIFwiU0VMRUNUX0FcIjogXCJTZWxlY3QgYVwiLFxyXG4gICAgICBcIlNFTEVDVF9DQVNIX1JFR0lTVEVSXCI6IFwiU2VsZWN0IGNhc2ggcmVnaXN0ZXJcIixcclxuICAgICAgXCJTRUxFQ1RfREFURV9SQU5HRVwiOiBcIlNlbGVjdCBhIGRhdGUgcmFuZ2VcIixcclxuICAgICAgXCJTRU5EXCI6IFwiU2VuZFwiLFxyXG4gICAgICBcIlNFUklBTF9OVU1CRVJcIjogXCJTZXJpYWwgbnVtYmVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9OVU1CRVJcIjogXCJTZXJ2aWNlIG51bWJlclwiLFxyXG4gICAgICBcIlNFUlZJQ0VfUkVRVUVTVF9EQVRFXCI6IFwiU2VydmljZSByZXF1ZXN0IGRhdGFcIixcclxuICAgICAgXCJTRVJWSUNFX1NUQVRFXCI6IFwiU2VydmljZSBzdGF0ZVwiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRcIjogXCJTaG9wcGluZyBjYXJ0XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9DSEVDS09VVFwiOiBcIkNoZWNrb3V0XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9PVkVSVklFV1wiOiBcIk9yZGVyIG92ZXJ2aWV3XCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9SRVNVTUVcIjogXCJSZXN1bWUgc2hvcHBpbmdcIixcclxuICAgICAgXCJTSE9XX01PUkVcIjogXCJTaG93IG1vcmVcIixcclxuICAgICAgXCJTSE9XX0xFU1NcIjogXCJTaG93IGxlc3NcIixcclxuICAgICAgXCJTUEVDSUFMX0RJU0NPVU5UXCI6IFwiU3BlY2lhbCBkaXNjb3VudFwiLFxyXG4gICAgICBcIlNPVVJDRV9XQVJFSE9VU0VcIjogXCJTb3VyY2Ugd2FyZWhvdXNlXCIsXHJcbiAgICAgIFwiU1RPQ0tcIjogXCJTdG9ja1wiLFxyXG4gICAgICBcIlNUT0NLX05PVElGSUNBVElPTlwiOiBcIlN0b2NrIG5vdGlmaWNhdGlvblwiLFxyXG4gICAgICBcIlNUT0NLX0FWQUlMQUJMRV9DSEFOR0VfV0FSRUhPVVNFX09SX0NPTU1JU1NJT05DT0RFXCI6IFwiTm90IGVub3VnaCBzdXBwbHkuIENoYW5nZSB3YXJlaG91c2UgYW5kL29yIGNvbW1pc3Npb25jb2RlXCIsXHJcbiAgICAgIFwiU1VCVE9UQUxcIjogXCJTdWJ0b3RhbFwiLFxyXG4gICAgICBcIlNVR0dFU1RJT05TXCI6IFwiU3VnZ2VzdGlvbnNcIixcclxuICAgICAgXCJTVVBQTElFUlwiOiBcIlN1cHBsaWVyXCIsXHJcbiAgICAgIFwiU1VSQ0hBUkdFX0FNT1VOVFwiOiBcIlN1cmNoYXJnZVwiLFxyXG4gICAgICBcIlNUQVRFXCI6IFwiU1RBVFVTXCIsXHJcbiAgICAgIFwiU1RSRUVUXCI6IFwiU3RyZWV0bmFtZVwiLFxyXG4gICAgICBcIlRBR1NcIjogXCJUYWdzXCIsXHJcbiAgICAgIFwiVE9fUkVQT1JUX0lOXCI6ICdUbyByZXBvcnQgaW4nLFxyXG4gICAgICBcIlRPX0JFX1BJQ0tFRFwiOiBcIlRlIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIlRPX0RFTElWRVJcIjogXCJUbyBkZWxpdmVyXCIsXHJcbiAgICAgIFwiVE9fUEFZXCI6IFwiVG8gcGF5XCIsXHJcbiAgICAgIFwiVE9UQUxfQU1PVU5UXCI6IFwiVG90YWwgYW1vdW50XCIsXHJcbiAgICAgIFwiVE9UQUxfQVNTRU1CTFlfVElNRVwiOiBcIlRvdGFsIGFzc2VtYmx5IHRpbWVcIixcclxuICAgICAgXCJUT1RBTF9HUk9TU1wiOiBcIkdyb3NzIHRvdGFsXCIsXHJcbiAgICAgIFwiVE9UQUxfTElORV9ESVNDT1VOVFwiOiBcIlRvdGFsIGxpbmVkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RBVEVcIjogXCJUcmFuc2FjdGlvbiBkYXRlXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRcIjogXCJUcmFuc2FjdGlvbiBkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkNcIjogXCIlIFRyYW5zLiBkaXNjb3VudFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1BSSUNFX0RFQ0xBUkFUSU9OXCI6IFwiVHJhbnNhY3Rpb24gcHJpY2UgZGVjbGFyYXRpb25cIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9TVU1fSVwiOiBcIk9yZGVydG90YWwgaW5jbCBWQVRcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9UT1RBTFwiOiBcIlRyYW5zYWN0aW9uIHRvdGFsXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUXCI6IFwiVHJhbnNwb3J0XCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RcIjogXCJUcmFuc3BvcnRjb3N0c1wiLFxyXG4gICAgICBcIlRSQU5TUE9SVF9DT1NUX0xJTkVfVE9UQUxcIjogXCJUcmFuc3BvcnRjb3N0cyBsaW5ldG90YWxcIixcclxuICAgICAgXCJUVVJOT1ZFUl9HUk9VUFwiOiBcIlR1cm5vdmVyIGdyb3VwXCIsXHJcbiAgICAgIFwiVFlQRVwiOiBcIlR5cGVcIixcclxuICAgICAgXCJVTktOT1dOXCI6IFwidW5rbm93blwiLFxyXG4gICAgICBcIlVOS05PV05fQUREUkVTU19DSEVDS19JVFwiOiBcIlVua25vd24gYWRkcmVzc1wiLFxyXG4gICAgICBcIlVTRVJcIjogXCJVc2VyXCIsXHJcbiAgICAgIFwiVkFMVUVcIjogXCJWYWx1ZVwiLFxyXG4gICAgICBcIlZBVFwiOiBcIlZBVFwiLFxyXG4gICAgICBcIlZBVDJcIjogXCJWQVRcIixcclxuICAgICAgXCJWQVRfQU1PVU5UXCI6IFwiVkFUIGFtb3VudFwiLFxyXG4gICAgICBcIldBUkVIT1VTRVwiOiBcIldhcmVob3VzZVwiLFxyXG4gICAgICBcIldIRVJFX0FSRV9ZT1VfTE9PS0lOR19GT1JcIjogXCJXaGVyZSBhcmUgeW91IGxvb2tpbmcgZm9yP1wiLFxyXG4gICAgICBcIllPVVJfREFUQVwiOiBcIllvdXIgZGF0YVwiLFxyXG4gICAgICBcIlNUQU5EQVJEX1RFWFRTXCI6XCJTdGFuZGFyZCB0ZXh0c1wiLFxyXG4gICAgICBcIkFSVElDTEVfQk9VTkRfVEVYVFwiOiBcIkFydGljbGUgYm91bmQgdGV4dFwiLFxyXG4gICAgICBcIkZPUl9ET0NVTUVOVFNcIjogXCJVc2VkIGF0IGRvY3VtZW50c1wiLFxyXG4gICAgICBcIkNIQU5HRV9BUlRJQ0xFX1RFWFRcIjogXCJDaGFuZ2UgYXJ0aWNsZSB0ZXh0XCIsXHJcbiAgICB9LFxyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { EventEmitter } from "@angular/core";
|
|
2
|
+
// Class represents a value that is to be loaded only once, lazily, by its .loadFunction, despite how many times or how fast its getValue() is called.
|
|
3
|
+
export class CacheField {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.onLoad = new EventEmitter();
|
|
6
|
+
this._isLoaded = false;
|
|
7
|
+
}
|
|
8
|
+
// The value of this cache field. Warning: might not have been loaded yet. Call ensureLoaded() or getvalue() for true value.
|
|
9
|
+
get value() {
|
|
10
|
+
return this._value;
|
|
11
|
+
}
|
|
12
|
+
set value(value) {
|
|
13
|
+
this._value = value;
|
|
14
|
+
this._promiseValue = Promise.resolve(value);
|
|
15
|
+
this._isLoaded = true;
|
|
16
|
+
}
|
|
17
|
+
// Whether the value has been loaded or not.
|
|
18
|
+
get isLoaded() {
|
|
19
|
+
return this._isLoaded;
|
|
20
|
+
}
|
|
21
|
+
// Whether the value is currently loading or not.
|
|
22
|
+
get isLoading() {
|
|
23
|
+
return !this._isLoaded && (this._promiseValue !== null && this._promiseValue !== undefined);
|
|
24
|
+
}
|
|
25
|
+
get loadNeverCalled() {
|
|
26
|
+
return !this.isLoading && !this.isLoaded;
|
|
27
|
+
}
|
|
28
|
+
// Loads and returns the value. Only loads from db if it wasn't loaded before (or forceReload was given true)
|
|
29
|
+
getValue(forceReload) {
|
|
30
|
+
return this.ensureLoaded(forceReload);
|
|
31
|
+
}
|
|
32
|
+
setValue(value) {
|
|
33
|
+
this.value = value;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* POSTCONDITION: The .value of this cache field contains the loaded value as fetched by the resolve data of its .loadFunction.
|
|
37
|
+
* Will load only once, consecutive calls will resolve immediately or wait until the first original database fetch was finished.
|
|
38
|
+
* @returns {Promise<any>} Postcondition holds after resolve
|
|
39
|
+
*/
|
|
40
|
+
ensureLoaded(forceReload) {
|
|
41
|
+
if (!forceReload && this._promiseValue) {
|
|
42
|
+
return this._promiseValue;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return this._load();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// POSTCONDITION: The .value of this cache field contains a freshly loaded value as fetched by the resolve data of its loadFunction.
|
|
49
|
+
reload() {
|
|
50
|
+
return this.ensureLoaded(true);
|
|
51
|
+
}
|
|
52
|
+
// Resets / invaldates this cache field. Makes sure that the next load() will really perform its load function body again (e.g. visit the DB,
|
|
53
|
+
// if that's ur function)
|
|
54
|
+
reset() {
|
|
55
|
+
this._value = undefined;
|
|
56
|
+
this._promiseValue = undefined;
|
|
57
|
+
this._isLoaded = false;
|
|
58
|
+
}
|
|
59
|
+
_load() {
|
|
60
|
+
if (this.loadFunction) {
|
|
61
|
+
this._promiseValue = this.loadFunction.call(this);
|
|
62
|
+
this._promiseValue.then((value) => {
|
|
63
|
+
this._value = value;
|
|
64
|
+
this._isLoaded = true;
|
|
65
|
+
this.onLoad.emit();
|
|
66
|
+
return value;
|
|
67
|
+
});
|
|
68
|
+
return this._promiseValue;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return Promise.resolve(undefined);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NhY2hlL2NhY2hlLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0Msc0pBQXNKO0FBQ3RKLE1BQU0sT0FBTyxVQUFVO0lBbUNyQjtRQWxDZ0IsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBZ0M1RCxjQUFTLEdBQVksS0FBSyxDQUFDO0lBR25DLENBQUM7SUFqQ0QsNEhBQTRIO0lBQzVILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBUTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBWUQsNkdBQTZHO0lBQ3RHLFFBQVEsQ0FBQyxXQUFxQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLFdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELG9JQUFvSTtJQUM3SCxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCw2SUFBNkk7SUFDN0kseUJBQXlCO0lBQ2xCLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDbGFzcyByZXByZXNlbnRzIGEgdmFsdWUgdGhhdCBpcyB0byBiZSBsb2FkZWQgb25seSBvbmNlLCBsYXppbHksIGJ5IGl0cyAubG9hZEZ1bmN0aW9uLCBkZXNwaXRlIGhvdyBtYW55IHRpbWVzIG9yIGhvdyBmYXN0IGl0cyBnZXRWYWx1ZSgpIGlzIGNhbGxlZC5cclxuZXhwb3J0IGNsYXNzIENhY2hlRmllbGQ8VD4ge1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8vIFRoZSB2YWx1ZSBvZiB0aGlzIGNhY2hlIGZpZWxkLiBXYXJuaW5nOiBtaWdodCBub3QgaGF2ZSBiZWVuIGxvYWRlZCB5ZXQuIENhbGwgZW5zdXJlTG9hZGVkKCkgb3IgZ2V0dmFsdWUoKSBmb3IgdHJ1ZSB2YWx1ZS5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3Byb21pc2VWYWx1ZSA9IFByb21pc2UucmVzb2x2ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBXaGV0aGVyIHRoZSB2YWx1ZSBoYXMgYmVlbiBsb2FkZWQgb3Igbm90LlxyXG4gIHB1YmxpYyBnZXQgaXNMb2FkZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBjdXJyZW50bHkgbG9hZGluZyBvciBub3QuXHJcbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuX2lzTG9hZGVkICYmICh0aGlzLl9wcm9taXNlVmFsdWUgIT09IG51bGwgJiYgdGhpcy5fcHJvbWlzZVZhbHVlICE9PSB1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBsb2FkTmV2ZXJDYWxsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNMb2FkaW5nICYmICF0aGlzLmlzTG9hZGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gQXNzaWduIHRoZSBsb2FkIGZ1bmN0aW9uIHRvIHRoaXMgZmllbGQuIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHZhbHVlIGFzIGRhdGEuXHJcbiAgcHVibGljIGxvYWRGdW5jdGlvbjogKHBhcmFtcz86IGFueSkgPT4gUHJvbWlzZTxUPjtcclxuXHJcbiAgcHJpdmF0ZSBfcHJvbWlzZVZhbHVlOiBQcm9taXNlPFQ+O1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xyXG4gIHByaXZhdGUgX2lzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgLy8gTG9hZHMgYW5kIHJldHVybnMgdGhlIHZhbHVlLiBPbmx5IGxvYWRzIGZyb20gZGIgaWYgaXQgd2Fzbid0IGxvYWRlZCBiZWZvcmUgKG9yIGZvcmNlUmVsb2FkIHdhcyBnaXZlbiB0cnVlKVxyXG4gIHB1YmxpYyBnZXRWYWx1ZShmb3JjZVJlbG9hZD86IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmVuc3VyZUxvYWRlZChmb3JjZVJlbG9hZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQgeyAvL05PU09OQVJcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBPU1RDT05ESVRJT046IFRoZSAudmFsdWUgb2YgdGhpcyBjYWNoZSBmaWVsZCBjb250YWlucyB0aGUgbG9hZGVkIHZhbHVlIGFzIGZldGNoZWQgYnkgdGhlIHJlc29sdmUgZGF0YSBvZiBpdHMgLmxvYWRGdW5jdGlvbi5cclxuICAgKiBXaWxsIGxvYWQgb25seSBvbmNlLCBjb25zZWN1dGl2ZSBjYWxscyB3aWxsIHJlc29sdmUgaW1tZWRpYXRlbHkgb3Igd2FpdCB1bnRpbCB0aGUgZmlyc3Qgb3JpZ2luYWwgZGF0YWJhc2UgZmV0Y2ggd2FzIGZpbmlzaGVkLlxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFBvc3Rjb25kaXRpb24gaG9sZHMgYWZ0ZXIgcmVzb2x2ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbnN1cmVMb2FkZWQoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxUPiB7XHJcbiAgICBpZiAoIWZvcmNlUmVsb2FkICYmIHRoaXMuX3Byb21pc2VWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fcHJvbWlzZVZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2xvYWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBPU1RDT05ESVRJT046IFRoZSAudmFsdWUgb2YgdGhpcyBjYWNoZSBmaWVsZCBjb250YWlucyBhIGZyZXNobHkgbG9hZGVkIHZhbHVlIGFzIGZldGNoZWQgYnkgdGhlIHJlc29sdmUgZGF0YSBvZiBpdHMgbG9hZEZ1bmN0aW9uLlxyXG4gIHB1YmxpYyByZWxvYWQoKTogUHJvbWlzZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnN1cmVMb2FkZWQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldHMgLyBpbnZhbGRhdGVzIHRoaXMgY2FjaGUgZmllbGQuIE1ha2VzIHN1cmUgdGhhdCB0aGUgbmV4dCBsb2FkKCkgd2lsbCByZWFsbHkgcGVyZm9ybSBpdHMgbG9hZCBmdW5jdGlvbiBib2R5IGFnYWluIChlLmcuIHZpc2l0IHRoZSBEQixcclxuICAvLyBpZiB0aGF0J3MgdXIgZnVuY3Rpb24pXHJcbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9wcm9taXNlVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9pc0xvYWRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZCgpOiBQcm9taXNlPFQ+IHtcclxuICAgIGlmICh0aGlzLmxvYWRGdW5jdGlvbikge1xyXG4gICAgICB0aGlzLl9wcm9taXNlVmFsdWUgPSB0aGlzLmxvYWRGdW5jdGlvbi5jYWxsKHRoaXMpO1xyXG4gICAgICB0aGlzLl9wcm9taXNlVmFsdWUudGhlbigodmFsdWU6IFQpID0+IHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9uTG9hZC5lbWl0KCk7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRoaXMuX3Byb21pc2VWYWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CacheField } from "./cache-field";
|
|
2
|
+
import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
|
|
3
|
+
// Class represents cached values retrieved by a load function that is to be called only once per unique input parameter combination.
|
|
4
|
+
export class ParameterCacheField {
|
|
5
|
+
constructor() {
|
|
6
|
+
// A map from cache params (keys: the loadFunction arguments) to their cache fields
|
|
7
|
+
this._paramsToCacheItems = new Map();
|
|
8
|
+
}
|
|
9
|
+
// Returns the value for given loadfunction parameters. Loads if not yet loaded.
|
|
10
|
+
getValue(...params) {
|
|
11
|
+
return this._getCacheField(params).getValue();
|
|
12
|
+
}
|
|
13
|
+
setValue(value, ...params) {
|
|
14
|
+
return this._getCacheField(params).setValue(value);
|
|
15
|
+
}
|
|
16
|
+
// Returns the freshly reloaded value for given loadfunction parameters.
|
|
17
|
+
reload(...params) {
|
|
18
|
+
return this._getCacheField(params).reload();
|
|
19
|
+
}
|
|
20
|
+
// Resets one or all cache items. If no params given, resets ALL cache items.
|
|
21
|
+
reset(...params) {
|
|
22
|
+
if (params && params.length > 0) {
|
|
23
|
+
this._getCacheField(params).reset();
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this._paramsToCacheItems.forEach(cacheItem => cacheItem.reset());
|
|
27
|
+
this._paramsToCacheItems.clear();
|
|
28
|
+
this._paramsToCacheItems = new Map(); // not sure if clear() is enough for garbage collector?
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Makes a new cache field if none existed for these params. Returns the cache field that matches given params.
|
|
32
|
+
_getCacheField(params) {
|
|
33
|
+
let existingCacheField = undefined;
|
|
34
|
+
this._paramsToCacheItems.forEach((value, key) => {
|
|
35
|
+
if (!existingCacheField && ObjectUtils.DeepEquals(params, key)) {
|
|
36
|
+
existingCacheField = value;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (existingCacheField) {
|
|
40
|
+
return existingCacheField;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return this._makeNewCacheField(params);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Creates and returns a new loadField for given params
|
|
47
|
+
_makeNewCacheField(params) {
|
|
48
|
+
const cacheField = new CacheField();
|
|
49
|
+
cacheField.loadFunction = this.loadFunction.bind(cacheField, ...params);
|
|
50
|
+
this._paramsToCacheItems.set(params, cacheField);
|
|
51
|
+
return cacheField;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWNhY2hlLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jYWNoZS9wYXJhbWV0ZXItY2FjaGUtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFOUUscUlBQXFJO0FBQ3JJLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUI7UUFIQSxtRkFBbUY7UUFDM0Usd0JBQW1CLEdBQThCLElBQUksR0FBRyxFQUF3QixDQUFDO0lBR3pGLENBQUM7SUFFRCxnRkFBZ0Y7SUFDekUsUUFBUSxDQUFDLEdBQUcsTUFBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVLEVBQUUsR0FBRyxNQUFhO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdFQUF3RTtJQUNqRSxNQUFNLENBQUMsR0FBRyxNQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsNkVBQTZFO0lBQ3RFLEtBQUssQ0FBQyxHQUFHLE1BQWE7UUFDM0IsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUMsQ0FBQyx1REFBdUQ7U0FDbEg7SUFDSCxDQUFDO0lBRUQsK0dBQStHO0lBQ3ZHLGNBQWMsQ0FBQyxNQUFhO1FBQ2xDLElBQUksa0JBQWtCLEdBQWtCLFNBQVMsQ0FBQztRQUVsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxHQUFVLEVBQUUsRUFBRTtZQUNwRSxJQUFJLENBQUMsa0JBQWtCLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzlELGtCQUFrQixHQUFHLEtBQUssQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixPQUFPLGtCQUFrQixDQUFDO1NBQzNCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCx1REFBdUQ7SUFDL0Msa0JBQWtCLENBQUMsTUFBYTtRQUN0QyxNQUFNLFVBQVUsR0FBa0IsSUFBSSxVQUFVLEVBQUssQ0FBQztRQUN0RCxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FjaGVGaWVsZH0gZnJvbSBcIi4vY2FjaGUtZmllbGRcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9vYmplY3QtdXRpbHNcIjtcclxuXHJcbi8vIENsYXNzIHJlcHJlc2VudHMgY2FjaGVkIHZhbHVlcyByZXRyaWV2ZWQgYnkgYSBsb2FkIGZ1bmN0aW9uIHRoYXQgaXMgdG8gYmUgY2FsbGVkIG9ubHkgb25jZSBwZXIgdW5pcXVlIGlucHV0IHBhcmFtZXRlciBjb21iaW5hdGlvbi5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlckNhY2hlRmllbGQ8VD4ge1xyXG4gIHB1YmxpYyBsb2FkRnVuY3Rpb246ICguLi5wYXJhbXM6IGFueVtdKSA9PiBQcm9taXNlPFQ+O1xyXG5cclxuICAvLyBBIG1hcCBmcm9tIGNhY2hlIHBhcmFtcyAoa2V5czogdGhlIGxvYWRGdW5jdGlvbiBhcmd1bWVudHMpIHRvIHRoZWlyIGNhY2hlIGZpZWxkc1xyXG4gIHByaXZhdGUgX3BhcmFtc1RvQ2FjaGVJdGVtczogTWFwPGFueVtdLCBDYWNoZUZpZWxkPFQ+PiA9IG5ldyBNYXA8YW55W10sIENhY2hlRmllbGQ8VD4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyB0aGUgdmFsdWUgZm9yIGdpdmVuIGxvYWRmdW5jdGlvbiBwYXJhbWV0ZXJzLiBMb2FkcyBpZiBub3QgeWV0IGxvYWRlZC5cclxuICBwdWJsaWMgZ2V0VmFsdWUoLi4ucGFyYW1zOiBhbnlbXSk6IFByb21pc2U8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldENhY2hlRmllbGQocGFyYW1zKS5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBhbnksIC4uLnBhcmFtczogYW55W10pOiB2b2lkIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRDYWNoZUZpZWxkKHBhcmFtcykuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyB0aGUgZnJlc2hseSByZWxvYWRlZCB2YWx1ZSBmb3IgZ2l2ZW4gbG9hZGZ1bmN0aW9uIHBhcmFtZXRlcnMuXHJcbiAgcHVibGljIHJlbG9hZCguLi5wYXJhbXM6IGFueVtdKTogUHJvbWlzZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2FjaGVGaWVsZChwYXJhbXMpLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXRzIG9uZSBvciBhbGwgY2FjaGUgaXRlbXMuIElmIG5vIHBhcmFtcyBnaXZlbiwgcmVzZXRzIEFMTCBjYWNoZSBpdGVtcy5cclxuICBwdWJsaWMgcmVzZXQoLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLl9nZXRDYWNoZUZpZWxkKHBhcmFtcykucmVzZXQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5mb3JFYWNoKGNhY2hlSXRlbSA9PiBjYWNoZUl0ZW0ucmVzZXQoKSk7XHJcbiAgICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9wYXJhbXNUb0NhY2hlSXRlbXMgPSBuZXcgTWFwPGFueSwgQ2FjaGVGaWVsZDxUPj4oKTsgLy8gbm90IHN1cmUgaWYgY2xlYXIoKSBpcyBlbm91Z2ggZm9yIGdhcmJhZ2UgY29sbGVjdG9yP1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWFrZXMgYSBuZXcgY2FjaGUgZmllbGQgaWYgbm9uZSBleGlzdGVkIGZvciB0aGVzZSBwYXJhbXMuIFJldHVybnMgdGhlIGNhY2hlIGZpZWxkIHRoYXQgbWF0Y2hlcyBnaXZlbiBwYXJhbXMuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FjaGVGaWVsZChwYXJhbXM6IGFueVtdKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBsZXQgZXhpc3RpbmdDYWNoZUZpZWxkOiBDYWNoZUZpZWxkPFQ+ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5mb3JFYWNoKCh2YWx1ZTogQ2FjaGVGaWVsZDxUPiwga2V5OiBhbnlbXSkgPT4ge1xyXG4gICAgICBpZiAoIWV4aXN0aW5nQ2FjaGVGaWVsZCAmJiBPYmplY3RVdGlscy5EZWVwRXF1YWxzKHBhcmFtcywga2V5KSkge1xyXG4gICAgICAgIGV4aXN0aW5nQ2FjaGVGaWVsZCA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdDYWNoZUZpZWxkKSB7XHJcbiAgICAgIHJldHVybiBleGlzdGluZ0NhY2hlRmllbGQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbWFrZU5ld0NhY2hlRmllbGQocGFyYW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgbG9hZEZpZWxkIGZvciBnaXZlbiBwYXJhbXNcclxuICBwcml2YXRlIF9tYWtlTmV3Q2FjaGVGaWVsZChwYXJhbXM6IGFueVtdKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBjb25zdCBjYWNoZUZpZWxkOiBDYWNoZUZpZWxkPFQ+ID0gbmV3IENhY2hlRmllbGQ8VD4oKTtcclxuICAgIGNhY2hlRmllbGQubG9hZEZ1bmN0aW9uID0gdGhpcy5sb2FkRnVuY3Rpb24uYmluZChjYWNoZUZpZWxkLCAuLi5wYXJhbXMpO1xyXG4gICAgdGhpcy5fcGFyYW1zVG9DYWNoZUl0ZW1zLnNldChwYXJhbXMsIGNhY2hlRmllbGQpO1xyXG4gICAgcmV0dXJuIGNhY2hlRmllbGQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|