@hitsoft/e-donusum 1.0.64 → 1.0.65

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.
Files changed (24) hide show
  1. package/esm2020/lib/components/hit-despatches/hit-despatch.component.mjs +3 -3
  2. package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +3 -3
  3. package/esm2020/lib/components/hit-invoices/hit-invoice.component.mjs +3 -3
  4. package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +11 -4
  5. package/esm2020/lib/despatches/despatch/components/despatch.component.mjs +6 -4
  6. package/esm2020/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.mjs +5 -1
  7. package/esm2020/lib/invoices/invoice/components/invoice.component.mjs +6 -4
  8. package/esm2020/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.mjs +8 -4
  9. package/esm2020/lib/proxy/despatches/despatch.service.mjs +2 -2
  10. package/esm2020/lib/proxy/despatches/models.mjs +1 -1
  11. package/esm2020/lib/proxy/invoices/invoice.service.mjs +2 -2
  12. package/esm2020/lib/proxy/invoices/models.mjs +1 -1
  13. package/esm2020/lib/proxy/paramse-invoices/models.mjs +1 -1
  14. package/esm2020/lib/proxy/paramse-invoices/paramse-invoice.service.mjs +2 -2
  15. package/fesm2015/hitsoft-e-donusum.mjs +40 -21
  16. package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
  17. package/fesm2020/hitsoft-e-donusum.mjs +40 -21
  18. package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
  19. package/lib/components/hit-paramas-invoices/hit-params-invoice.component.d.ts +1 -0
  20. package/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.d.ts +1 -0
  21. package/lib/proxy/despatches/models.d.ts +9 -0
  22. package/lib/proxy/invoices/models.d.ts +9 -0
  23. package/lib/proxy/paramse-invoices/models.d.ts +17 -0
  24. package/package.json +1 -1
@@ -46,7 +46,7 @@ export class ParamseInvoiceComponent {
46
46
  this.filters = {};
47
47
  }
48
48
  buildForm() {
49
- const { defaultScenario, defaultInvType, defaultInvSerial, isShippingAddress, useDefScenario, useDefInvType, itemTreeOption, orderReferenceField, despatchReferenceField, isShowBatchNSerial, isPartnerCatalogDesc, isPartnerCatalogNum, } = this.selected || {};
49
+ const { defaultScenario, defaultInvType, defaultInvSerial, isShippingAddress, useDefScenario, useDefInvType, itemTreeOption, orderReferenceField, despatchReferenceField, isShowBatchNSerial, isPartnerCatalogDesc, isPartnerCatalogNum, isTakeDocAuto, autoTakeDocCreateType, autoTakeDocPOTag, autoTakeDocPDNTag, } = this.selected || {};
50
50
  this.form = this.fb.group({
51
51
  defaultScenario: [defaultScenario ?? null, []],
52
52
  defaultInvType: [defaultInvType ?? null, []],
@@ -60,6 +60,10 @@ export class ParamseInvoiceComponent {
60
60
  isShowBatchNSerial: [false, []],
61
61
  isPartnerCatalogDesc: [false, []],
62
62
  isPartnerCatalogNum: [false, []],
63
+ isTakeDocAuto: [false, []],
64
+ autoTakeDocCreateType: [0, []],
65
+ autoTakeDocPOTag: [autoTakeDocPOTag ?? null, []],
66
+ autoTakeDocPDNTag: [autoTakeDocPDNTag ?? null, []],
63
67
  });
64
68
  }
65
69
  hideForm() {
@@ -111,9 +115,9 @@ export class ParamseInvoiceComponent {
111
115
  }
112
116
  }
113
117
  ParamseInvoiceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ParamseInvoiceComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ParamseInvoiceService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
114
- ParamseInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ParamseInvoiceComponent, selector: "lib-paramse-invoice", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::ParamseInvoices' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewParamseInvoice' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultScenario\">\r\n {{ 'eDonusum::MinDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultScenario\">\r\n {{ 'eDonusum::MaxDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultInvType\">\r\n {{ 'eDonusum::MinDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultInvType\">\r\n {{ 'eDonusum::MaxDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"defaultInvSerialFilter\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"defaultInvSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShippingAddressFilter\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShippingAddress\"\r\n id=\"isShippingAddressFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShippingAddress\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefScenarioFilter\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefScenario\"\r\n id=\"useDefScenarioFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefScenario\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefInvTypeFilter\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefInvType\"\r\n id=\"useDefInvTypeFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefInvType\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minItemTreeOption\">\r\n {{ 'eDonusum::MinItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxItemTreeOption\">\r\n {{ 'eDonusum::MaxItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceField\">\r\n {{ 'eDonusum::MinOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceField\">\r\n {{ 'eDonusum::MaxOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDespatchReferenceField\">\r\n {{ 'eDonusum::MinDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDespatchReferenceField\">\r\n {{ 'eDonusum::MaxDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShowBatchNSerialFilter\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShowBatchNSerial\"\r\n id=\"isShowBatchNSerialFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShowBatchNSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogDescFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogDesc\"\r\n id=\"isPartnerCatalogDescFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogNumFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogNum\"\r\n id=\"isPartnerCatalogNumFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogNum\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultScenario' | abpLocalization }}\"\r\n prop=\"defaultScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultScenario }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvType' | abpLocalization }}\"\r\n prop=\"defaultInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\"\r\n prop=\"defaultInvSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShippingAddress' | abpLocalization }}\"\r\n prop=\"isShippingAddress\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShippingAddress\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefScenario' | abpLocalization }}\"\r\n prop=\"useDefScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefScenario\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefInvType' | abpLocalization }}\"\r\n prop=\"useDefInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefInvType\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemTreeOption' | abpLocalization }}\"\r\n prop=\"itemTreeOption\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.itemTreeOption }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceField' | abpLocalization }}\"\r\n prop=\"orderReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\"\r\n prop=\"despatchReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\"\r\n prop=\"isShowBatchNSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShowBatchNSerial\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogDesc\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogNum\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogNum\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewParamseInvoice') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"paramse-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-scenario\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-scenario\"\r\n formControlName=\"defaultScenario\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-type\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-inv-type\"\r\n formControlName=\"defaultInvType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-default-inv-serial\"\r\n formControlName=\"defaultInvSerial\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-scenario\"\r\n formControlName=\"useDefScenario\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-inv-type\"\r\n formControlName=\"useDefInvType\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-tree-option\">\r\n {{ 'eDonusum::ItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-item-tree-option\"\r\n formControlName=\"itemTreeOption\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-order-reference-field\"\r\n formControlName=\"orderReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-despatch-reference-field\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-despatch-reference-field\"\r\n formControlName=\"despatchReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-show-batch-nserial\"\r\n formControlName=\"isShowBatchNSerial\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-show-batch-nserial\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-desc\"\r\n formControlName=\"isPartnerCatalogDesc\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-desc\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-num\"\r\n formControlName=\"isPartnerCatalogNum\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-num\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-invoice\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.AdvancedEntityFiltersComponent, selector: "abp-advanced-entity-filters", inputs: ["list", "localizationSourceName", "entityFilterPlaceholder"] }, { kind: "component", type: i7.AdvancedEntityFiltersFormComponent, selector: "abp-advanced-entity-filters-form" }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i9.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i9.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i9.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i9.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i10.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i10.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
118
+ ParamseInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ParamseInvoiceComponent, selector: "lib-paramse-invoice", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::ParamseInvoices' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewParamseInvoice' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultScenario\">\r\n {{ 'eDonusum::MinDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultScenario\">\r\n {{ 'eDonusum::MaxDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultInvType\">\r\n {{ 'eDonusum::MinDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultInvType\">\r\n {{ 'eDonusum::MaxDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"defaultInvSerialFilter\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"defaultInvSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShippingAddressFilter\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShippingAddress\"\r\n id=\"isShippingAddressFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShippingAddress\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefScenarioFilter\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefScenario\"\r\n id=\"useDefScenarioFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefScenario\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefInvTypeFilter\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefInvType\"\r\n id=\"useDefInvTypeFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefInvType\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minItemTreeOption\">\r\n {{ 'eDonusum::MinItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxItemTreeOption\">\r\n {{ 'eDonusum::MaxItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceField\">\r\n {{ 'eDonusum::MinOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceField\">\r\n {{ 'eDonusum::MaxOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDespatchReferenceField\">\r\n {{ 'eDonusum::MinDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDespatchReferenceField\">\r\n {{ 'eDonusum::MaxDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShowBatchNSerialFilter\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShowBatchNSerial\"\r\n id=\"isShowBatchNSerialFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShowBatchNSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogDescFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogDesc\"\r\n id=\"isPartnerCatalogDescFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogNumFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogNum\"\r\n id=\"isPartnerCatalogNumFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogNum\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isTakeDocAutoFilter\">\r\n {{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isTakeDocAuto\"\r\n id=\"isTakeDocAutoFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isTakeDocAuto\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minAutoTakeDocCreateType\">\r\n {{ 'eDonusum::MinAutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minAutoTakeDocCreateType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocCreateTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxAutoTakeDocCreateType\">\r\n {{ 'eDonusum::MaxAutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxAutoTakeDocCreateType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocCreateTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"autoTakeDocPOTagFilter\">\r\n {{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"autoTakeDocPOTagFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocPOTag\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"autoTakeDocPDNTagFilter\">\r\n {{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"autoTakeDocPDNTagFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocPDNTag\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultScenario' | abpLocalization }}\"\r\n prop=\"defaultScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultScenario }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvType' | abpLocalization }}\"\r\n prop=\"defaultInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\"\r\n prop=\"defaultInvSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShippingAddress' | abpLocalization }}\"\r\n prop=\"isShippingAddress\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShippingAddress\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefScenario' | abpLocalization }}\"\r\n prop=\"useDefScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefScenario\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefInvType' | abpLocalization }}\"\r\n prop=\"useDefInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefInvType\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemTreeOption' | abpLocalization }}\"\r\n prop=\"itemTreeOption\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.itemTreeOption }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceField' | abpLocalization }}\"\r\n prop=\"orderReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\"\r\n prop=\"despatchReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\"\r\n prop=\"isShowBatchNSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShowBatchNSerial\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogDesc\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogNum\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogNum\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\"\r\n prop=\"isTakeDocAuto\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isTakeDocAuto\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocCreateType' | abpLocalization }}\"\r\n prop=\"autoTakeDocCreateType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocCreateType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\"\r\n prop=\"autoTakeDocPOTag\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocPOTag }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\"\r\n prop=\"autoTakeDocPDNTag\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocPDNTag }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewParamseInvoice') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"paramse-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-scenario\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-scenario\"\r\n formControlName=\"defaultScenario\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-type\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-inv-type\"\r\n formControlName=\"defaultInvType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-default-inv-serial\"\r\n formControlName=\"defaultInvSerial\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-scenario\"\r\n formControlName=\"useDefScenario\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-inv-type\"\r\n formControlName=\"useDefInvType\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-tree-option\">\r\n {{ 'eDonusum::ItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-item-tree-option\"\r\n formControlName=\"itemTreeOption\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-order-reference-field\"\r\n formControlName=\"orderReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-despatch-reference-field\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-despatch-reference-field\"\r\n formControlName=\"despatchReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-show-batch-nserial\"\r\n formControlName=\"isShowBatchNSerial\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-show-batch-nserial\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-desc\"\r\n formControlName=\"isPartnerCatalogDesc\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-desc\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-num\"\r\n formControlName=\"isPartnerCatalogNum\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-num\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-take-doc-auto\"\r\n formControlName=\"isTakeDocAuto\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-take-doc-auto\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-create-type\">\r\n {{ 'eDonusum::AutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-auto-take-doc-create-type\"\r\n formControlName=\"autoTakeDocCreateType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-potag\">\r\n {{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-auto-take-doc-potag\"\r\n formControlName=\"autoTakeDocPOTag\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-pdntag\">\r\n {{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-auto-take-doc-pdntag\"\r\n formControlName=\"autoTakeDocPDNTag\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-invoice\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.AdvancedEntityFiltersComponent, selector: "abp-advanced-entity-filters", inputs: ["list", "localizationSourceName", "entityFilterPlaceholder"] }, { kind: "component", type: i7.AdvancedEntityFiltersFormComponent, selector: "abp-advanced-entity-filters-form" }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i9.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i9.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i9.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i9.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i10.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i10.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
115
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ParamseInvoiceComponent, decorators: [{
116
120
  type: Component,
117
- args: [{ selector: 'lib-paramse-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::ParamseInvoices' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewParamseInvoice' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultScenario\">\r\n {{ 'eDonusum::MinDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultScenario\">\r\n {{ 'eDonusum::MaxDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultInvType\">\r\n {{ 'eDonusum::MinDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultInvType\">\r\n {{ 'eDonusum::MaxDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"defaultInvSerialFilter\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"defaultInvSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShippingAddressFilter\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShippingAddress\"\r\n id=\"isShippingAddressFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShippingAddress\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefScenarioFilter\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefScenario\"\r\n id=\"useDefScenarioFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefScenario\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefInvTypeFilter\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefInvType\"\r\n id=\"useDefInvTypeFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefInvType\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minItemTreeOption\">\r\n {{ 'eDonusum::MinItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxItemTreeOption\">\r\n {{ 'eDonusum::MaxItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceField\">\r\n {{ 'eDonusum::MinOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceField\">\r\n {{ 'eDonusum::MaxOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDespatchReferenceField\">\r\n {{ 'eDonusum::MinDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDespatchReferenceField\">\r\n {{ 'eDonusum::MaxDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShowBatchNSerialFilter\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShowBatchNSerial\"\r\n id=\"isShowBatchNSerialFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShowBatchNSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogDescFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogDesc\"\r\n id=\"isPartnerCatalogDescFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogNumFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogNum\"\r\n id=\"isPartnerCatalogNumFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogNum\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultScenario' | abpLocalization }}\"\r\n prop=\"defaultScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultScenario }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvType' | abpLocalization }}\"\r\n prop=\"defaultInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\"\r\n prop=\"defaultInvSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShippingAddress' | abpLocalization }}\"\r\n prop=\"isShippingAddress\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShippingAddress\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefScenario' | abpLocalization }}\"\r\n prop=\"useDefScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefScenario\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefInvType' | abpLocalization }}\"\r\n prop=\"useDefInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefInvType\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemTreeOption' | abpLocalization }}\"\r\n prop=\"itemTreeOption\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.itemTreeOption }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceField' | abpLocalization }}\"\r\n prop=\"orderReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\"\r\n prop=\"despatchReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\"\r\n prop=\"isShowBatchNSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShowBatchNSerial\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogDesc\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogNum\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogNum\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewParamseInvoice') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"paramse-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-scenario\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-scenario\"\r\n formControlName=\"defaultScenario\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-type\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-inv-type\"\r\n formControlName=\"defaultInvType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-default-inv-serial\"\r\n formControlName=\"defaultInvSerial\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-scenario\"\r\n formControlName=\"useDefScenario\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-inv-type\"\r\n formControlName=\"useDefInvType\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-tree-option\">\r\n {{ 'eDonusum::ItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-item-tree-option\"\r\n formControlName=\"itemTreeOption\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-order-reference-field\"\r\n formControlName=\"orderReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-despatch-reference-field\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-despatch-reference-field\"\r\n formControlName=\"despatchReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-show-batch-nserial\"\r\n formControlName=\"isShowBatchNSerial\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-show-batch-nserial\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-desc\"\r\n formControlName=\"isPartnerCatalogDesc\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-desc\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-num\"\r\n formControlName=\"isPartnerCatalogNum\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-num\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-invoice\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
121
+ args: [{ selector: 'lib-paramse-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::ParamseInvoices' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewParamseInvoice' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultScenario\">\r\n {{ 'eDonusum::MinDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultScenario\">\r\n {{ 'eDonusum::MaxDefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultScenario\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultScenarioMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDefaultInvType\">\r\n {{ 'eDonusum::MinDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDefaultInvType\">\r\n {{ 'eDonusum::MaxDefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDefaultInvType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"defaultInvSerialFilter\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"defaultInvSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.defaultInvSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShippingAddressFilter\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShippingAddress\"\r\n id=\"isShippingAddressFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShippingAddress\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefScenarioFilter\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefScenario\"\r\n id=\"useDefScenarioFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefScenario\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"useDefInvTypeFilter\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"useDefInvType\"\r\n id=\"useDefInvTypeFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.useDefInvType\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minItemTreeOption\">\r\n {{ 'eDonusum::MinItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxItemTreeOption\">\r\n {{ 'eDonusum::MaxItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxItemTreeOption\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.itemTreeOptionMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceField\">\r\n {{ 'eDonusum::MinOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceField\">\r\n {{ 'eDonusum::MaxOrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxOrderReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDespatchReferenceField\">\r\n {{ 'eDonusum::MinDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDespatchReferenceField\">\r\n {{ 'eDonusum::MaxDespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDespatchReferenceField\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchReferenceFieldMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isShowBatchNSerialFilter\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isShowBatchNSerial\"\r\n id=\"isShowBatchNSerialFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isShowBatchNSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogDescFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogDesc\"\r\n id=\"isPartnerCatalogDescFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isPartnerCatalogNumFilter\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isPartnerCatalogNum\"\r\n id=\"isPartnerCatalogNumFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isPartnerCatalogNum\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isTakeDocAutoFilter\">\r\n {{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isTakeDocAuto\"\r\n id=\"isTakeDocAutoFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isTakeDocAuto\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minAutoTakeDocCreateType\">\r\n {{ 'eDonusum::MinAutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minAutoTakeDocCreateType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocCreateTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxAutoTakeDocCreateType\">\r\n {{ 'eDonusum::MaxAutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxAutoTakeDocCreateType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocCreateTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"autoTakeDocPOTagFilter\">\r\n {{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"autoTakeDocPOTagFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocPOTag\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"autoTakeDocPDNTagFilter\">\r\n {{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"autoTakeDocPDNTagFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.autoTakeDocPDNTag\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ParamseInvoices.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultScenario' | abpLocalization }}\"\r\n prop=\"defaultScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultScenario }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvType' | abpLocalization }}\"\r\n prop=\"defaultInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DefaultInvSerial' | abpLocalization }}\"\r\n prop=\"defaultInvSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.defaultInvSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShippingAddress' | abpLocalization }}\"\r\n prop=\"isShippingAddress\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShippingAddress\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefScenario' | abpLocalization }}\"\r\n prop=\"useDefScenario\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefScenario\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UseDefInvType' | abpLocalization }}\"\r\n prop=\"useDefInvType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.useDefInvType\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ItemTreeOption' | abpLocalization }}\"\r\n prop=\"itemTreeOption\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.itemTreeOption }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceField' | abpLocalization }}\"\r\n prop=\"orderReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\"\r\n prop=\"despatchReferenceField\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchReferenceField }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\"\r\n prop=\"isShowBatchNSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isShowBatchNSerial\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogDesc\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\"\r\n prop=\"isPartnerCatalogNum\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template\r\n [ngIf]=\"row.isPartnerCatalogNum\"\r\n [ngIfThen]=\"yes\"\r\n [ngIfElse]=\"no\"\r\n ></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\"\r\n prop=\"isTakeDocAuto\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isTakeDocAuto\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocCreateType' | abpLocalization }}\"\r\n prop=\"autoTakeDocCreateType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocCreateType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\"\r\n prop=\"autoTakeDocPOTag\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocPOTag }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\"\r\n prop=\"autoTakeDocPDNTag\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.autoTakeDocPDNTag }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewParamseInvoice') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"paramse-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-scenario\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-scenario\"\r\n formControlName=\"defaultScenario\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-type\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-default-inv-type\"\r\n formControlName=\"defaultInvType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-default-inv-serial\"\r\n formControlName=\"defaultInvSerial\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-scenario\"\r\n formControlName=\"useDefScenario\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-use-def-inv-type\"\r\n formControlName=\"useDefInvType\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-tree-option\">\r\n {{ 'eDonusum::ItemTreeOption' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-item-tree-option\"\r\n formControlName=\"itemTreeOption\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-order-reference-field\"\r\n formControlName=\"orderReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-despatch-reference-field\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-despatch-reference-field\"\r\n formControlName=\"despatchReferenceField\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-show-batch-nserial\"\r\n formControlName=\"isShowBatchNSerial\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-show-batch-nserial\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShowBatchNSerial' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-desc\"\r\n formControlName=\"isPartnerCatalogDesc\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-desc\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogDesc' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-partner-catalog-num\"\r\n formControlName=\"isPartnerCatalogNum\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-partner-catalog-num\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPartnerCatalogNum' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"paramse-invoice-is-take-doc-auto\"\r\n formControlName=\"isTakeDocAuto\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"paramse-invoice-is-take-doc-auto\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsTakeDocAuto' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-create-type\">\r\n {{ 'eDonusum::AutoTakeDocCreateType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"paramse-invoice-auto-take-doc-create-type\"\r\n formControlName=\"autoTakeDocCreateType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-potag\">\r\n {{ 'eDonusum::AutoTakeDocPOTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-auto-take-doc-potag\"\r\n formControlName=\"autoTakeDocPOTag\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-auto-take-doc-pdntag\">\r\n {{ 'eDonusum::AutoTakeDocPDNTag' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paramse-invoice-auto-take-doc-pdntag\"\r\n formControlName=\"autoTakeDocPDNTag\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"paramse-invoice\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
118
122
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ParamseInvoiceService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }]; } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3BhcmFtc2UtaW52b2ljZXMvcGFyYW1zZS1pbnZvaWNlL2NvbXBvbmVudHMvcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3BhcmFtc2UtaW52b2ljZXMvcGFyYW1zZS1pbnZvaWNlL2NvbXBvbmVudHMvcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxZQUFZLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBYWxFLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFlBQ2tCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQThCLEVBQ3RDLFlBQWlDLEVBQ2pDLEVBQWU7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQ3RDLGlCQUFZLEdBQVosWUFB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ZSwgUGFnZWRSZXN1bHREdG8sIFRyYWNrQnlTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgR2V0UGFyYW1zZUludm9pY2VzSW5wdXQsXHJcbiAgUGFyYW1zZUludm9pY2VEdG8sXHJcbn0gZnJvbSAnLi4vLi4vLi4vcHJveHkvcGFyYW1zZS1pbnZvaWNlcy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYXJhbXNlSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9wYXJhbXNlLWludm9pY2VzL3BhcmFtc2UtaW52b2ljZS5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcGFyYW1zZS1pbnZvaWNlJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFyYW1zZUludm9pY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPFBhcmFtc2VJbnZvaWNlRHRvPiA9IHtcclxuICAgIGl0ZW1zOiBbXSxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVycyA9IHt9IGFzIEdldFBhcmFtc2VJbnZvaWNlc0lucHV0O1xyXG5cclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGlzRmlsdGVyc0hpZGRlbiA9IHRydWU7XHJcblxyXG4gIGlzTW9kYWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIGlzTW9kYWxPcGVuID0gZmFsc2U7XHJcblxyXG4gIGlzRXhwb3J0VG9FeGNlbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgc2VsZWN0ZWQ/OiBQYXJhbXNlSW52b2ljZUR0bztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFBhcmFtc2VJbnZvaWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgZ2V0RGF0YSA9IChxdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcykgPT5cclxuICAgICAgdGhpcy5zZXJ2aWNlLmdldExpc3Qoe1xyXG4gICAgICAgIC4uLnF1ZXJ5LFxyXG4gICAgICAgIC4uLnRoaXMuZmlsdGVycyxcclxuICAgICAgICBmaWx0ZXJUZXh0OiBxdWVyeS5maWx0ZXIsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNldERhdGEgPSAobGlzdDogUGFnZWRSZXN1bHREdG88UGFyYW1zZUludm9pY2VEdG8+KSA9PiAodGhpcy5kYXRhID0gbGlzdCk7XHJcblxyXG4gICAgdGhpcy5saXN0Lmhvb2tUb1F1ZXJ5KGdldERhdGEpLnN1YnNjcmliZShzZXREYXRhKTtcclxuICB9XHJcblxyXG4gIGNsZWFyRmlsdGVycygpIHtcclxuICAgIHRoaXMuZmlsdGVycyA9IHt9IGFzIEdldFBhcmFtc2VJbnZvaWNlc0lucHV0O1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW8sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsLFxyXG4gICAgICBpc1NoaXBwaW5nQWRkcmVzcyxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkludlR5cGUsXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBkZXNwYXRjaFJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBpc1Nob3dCYXRjaE5TZXJpYWwsXHJcbiAgICAgIGlzUGFydG5lckNhdGFsb2dEZXNjLFxyXG4gICAgICBpc1BhcnRuZXJDYXRhbG9nTnVtLFxyXG4gICAgfSA9IHRoaXMuc2VsZWN0ZWQgfHwge307XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGRlZmF1bHRTY2VuYXJpbzogW2RlZmF1bHRTY2VuYXJpbyA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlOiBbZGVmYXVsdEludlR5cGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsOiBbZGVmYXVsdEludlNlcmlhbCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoOCldXSxcclxuICAgICAgaXNTaGlwcGluZ0FkZHJlc3M6IFtmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZTY2VuYXJpbzogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIHVzZURlZkludlR5cGU6IFtmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IG51bGwsIFtdXSxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VGaWVsZDogWzAsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZDogWzAsIFtdXSxcclxuICAgICAgaXNTaG93QmF0Y2hOU2VyaWFsOiBbZmFsc2UsIFtdXSxcclxuICAgICAgaXNQYXJ0bmVyQ2F0YWxvZ0Rlc2M6IFtmYWxzZSwgW11dLFxyXG4gICAgICBpc1BhcnRuZXJDYXRhbG9nTnVtOiBbZmFsc2UsIFtdXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLmlzTW9kYWxPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbE9wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLnNlbGVjdGVkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLnNlbGVjdGVkLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXHJcbiAgICAgICAgICBjb25jdXJyZW5jeVN0YW1wOiB0aGlzLnNlbGVjdGVkLmNvbmN1cnJlbmN5U3RhbXAsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5pc01vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc01vZGFsQnVzeSA9IGZhbHNlKSksXHJcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaGlkZUZvcm0oKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGlzdC5nZXQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShyZWNvcmQ6IFBhcmFtc2VJbnZvaWNlRHRvKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gcmVjb3JkO1xyXG4gICAgdGhpcy5zaG93Rm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHJlY29yZDogUGFyYW1zZUludm9pY2VEdG8pIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgIC53YXJuKCdlRG9udXN1bTo6RGVsZXRlQ29uZmlybWF0aW9uTWVzc2FnZScsICdlRG9udXN1bTo6QXJlWW91U3VyZScsIHtcclxuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbXSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VydmljZS5kZWxldGUocmVjb3JkLmlkKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGlzdC5nZXQpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCgpIHtcclxuICAgIHRoaXMuaXNFeHBvcnRUb0V4Y2VsQnVzeSA9IHRydWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldERvd25sb2FkVG9rZW4oKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKHsgdG9rZW4gfSkgPT5cclxuICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRMaXN0QXNFeGNlbEZpbGUoeyBkb3dubG9hZFRva2VuOiB0b2tlbiwgZmlsdGVyVGV4dDogdGhpcy5saXN0LmZpbHRlciB9KVxyXG4gICAgICAgICksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaXNFeHBvcnRUb0V4Y2VsQnVzeSA9IGZhbHNlKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgZG93bmxvYWRCbG9iKHJlc3VsdCwgJ1BhcmFtc2VJbnZvaWNlLnhsc3gnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpQYXJhbXNlSW52b2ljZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG14LTJcIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0V4cG9ydFRvRXhjZWxCdXN5XCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwb3J0VG9FeGNlbCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6RXhwb3J0VG9FeGNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUGFyYW1zZUludm9pY2VzLkNyZWF0ZSdcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZSgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6TmV3UGFyYW1zZUludm9pY2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGFicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycyBsb2NhbGl6YXRpb25Tb3VyY2VOYW1lPVwiZURvbnVzdW1cIiBbbGlzdF09XCJsaXN0XCI+XHJcbiAgICA8YWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgICAgIDxmb3JtICNmaWx0ZXJGb3JtIChrZXl1cC5lbnRlcik9XCJsaXN0LmdldCgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5EZWZhdWx0U2NlbmFyaW9cIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluRGVmYXVsdFNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5EZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVmYXVsdFNjZW5hcmlvTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heERlZmF1bHRTY2VuYXJpb1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhEZWZhdWx0U2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heERlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZWZhdWx0U2NlbmFyaW9NYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5EZWZhdWx0SW52VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5EZWZhdWx0SW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluRGVmYXVsdEludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVmYXVsdEludlR5cGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4RGVmYXVsdEludlR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heERlZmF1bHRJbnZUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlZmF1bHRJbnZUeXBlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVmYXVsdEludlNlcmlhbEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZWZhdWx0SW52U2VyaWFsRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNTaGlwcGluZ0FkZHJlc3NGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNTaGlwcGluZ0FkZHJlc3NGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImxpc3QuZ2V0KClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj57eyAnQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj57eyAnQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ1c2VEZWZTY2VuYXJpb0ZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ1c2VEZWZTY2VuYXJpb0ZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInVzZURlZkludlR5cGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXNlRGVmSW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInVzZURlZkludlR5cGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnVzZURlZkludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkl0ZW1UcmVlT3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkl0ZW1UcmVlT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5JdGVtVHJlZU9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtVHJlZU9wdGlvbk1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhJdGVtVHJlZU9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJdGVtVHJlZU9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4SXRlbVRyZWVPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXRlbVRyZWVPcHRpb25NYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5PcmRlclJlZmVyZW5jZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbk9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbk9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VGaWVsZE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhPcmRlclJlZmVyZW5jZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heE9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heE9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VGaWVsZE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkRlc3BhdGNoUmVmZXJlbmNlRmllbGRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluRGVzcGF0Y2hSZWZlcmVuY2VGaWVsZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluRGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heERlc3BhdGNoUmVmZXJlbmNlRmllbGRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4RGVzcGF0Y2hSZWZlcmVuY2VGaWVsZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4RGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNTaG93QmF0Y2hOU2VyaWFsRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzU2hvd0JhdGNoTlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiaXNTaG93QmF0Y2hOU2VyaWFsXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNTaG93QmF0Y2hOU2VyaWFsRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc1Nob3dCYXRjaE5TZXJpYWxcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImlzUGFydG5lckNhdGFsb2dEZXNjRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzUGFydG5lckNhdGFsb2dEZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgICAgICBpZD1cImlzUGFydG5lckNhdGFsb2dEZXNjRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNQYXJ0bmVyQ2F0YWxvZ051bUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nTnVtJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nTnVtXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNQYXJ0bmVyQ2F0YWxvZ051bUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNQYXJ0bmVyQ2F0YWxvZ051bVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvIGFsaWduLXNlbGYtZW5kIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtc20tYXV0byBkLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLXNtLWF1dG8gZC1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJsaXN0LmdldCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdBYnBVaTo6UmVmcmVzaCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9hYnAtYWR2YW5jZWQtZW50aXR5LWZpbHRlcnMtZm9ybT5cclxuICA8L2FicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycz5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPG5neC1kYXRhdGFibGUgW3Jvd3NdPVwiZGF0YS5pdGVtc1wiIFtjb3VudF09XCJkYXRhLnRvdGFsQ291bnRcIiBbbGlzdF09XCJsaXN0XCIgZGVmYXVsdD5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIFtuYW1lXT1cIidBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgW21heFdpZHRoXT1cIjE1MFwiXHJcbiAgICAgICAgICBbd2lkdGhdPVwiMTUwXCJcclxuICAgICAgICAgIFtzb3J0YWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cInJvd0luZGV4XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidlRG9udXN1bS5QYXJhbXNlSW52b2ljZXMuRWRpdCdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidlRG9udXN1bS5QYXJhbXNlSW52b2ljZXMuRGVsZXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGUocm93KVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImRlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZWZhdWx0U2NlbmFyaW8gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZWZhdWx0SW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImRlZmF1bHRJbnZUeXBlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRlZmF1bHRJbnZUeXBlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVmYXVsdEludlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImRlZmF1bHRJbnZTZXJpYWxcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuZGVmYXVsdEludlNlcmlhbCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OklzU2hpcHBpbmdBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiaXNTaGlwcGluZ0FkZHJlc3NcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICBbbmdJZl09XCJyb3cuaXNTaGlwcGluZ0FkZHJlc3NcIlxyXG4gICAgICAgICAgICAgIFtuZ0lmVGhlbl09XCJ5ZXNcIlxyXG4gICAgICAgICAgICAgIFtuZ0lmRWxzZV09XCJub1wiXHJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN5ZXM+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNubz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlVzZURlZlNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93LnVzZURlZlNjZW5hcmlvXCIgW25nSWZUaGVuXT1cInllc1wiIFtuZ0lmRWxzZV09XCJub1wiPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInVzZURlZkludlR5cGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93LnVzZURlZkludlR5cGVcIiBbbmdJZlRoZW5dPVwieWVzXCIgW25nSWZFbHNlXT1cIm5vXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJdGVtVHJlZU9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lml0ZW1UcmVlT3B0aW9uIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6T3JkZXJSZWZlcmVuY2VGaWVsZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cub3JkZXJSZWZlcmVuY2VGaWVsZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkRlc3BhdGNoUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZXNwYXRjaFJlZmVyZW5jZUZpZWxkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRlc3BhdGNoUmVmZXJlbmNlRmllbGQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJc1Nob3dCYXRjaE5TZXJpYWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJpc1Nob3dCYXRjaE5TZXJpYWxcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICBbbmdJZl09XCJyb3cuaXNTaG93QmF0Y2hOU2VyaWFsXCJcclxuICAgICAgICAgICAgICBbbmdJZlRoZW5dPVwieWVzXCJcclxuICAgICAgICAgICAgICBbbmdJZkVsc2VdPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nRGVzYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImlzUGFydG5lckNhdGFsb2dEZXNjXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgW25nSWZdPVwicm93LmlzUGFydG5lckNhdGFsb2dEZXNjXCJcclxuICAgICAgICAgICAgICBbbmdJZlRoZW5dPVwieWVzXCJcclxuICAgICAgICAgICAgICBbbmdJZkVsc2VdPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nTnVtJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiaXNQYXJ0bmVyQ2F0YWxvZ051bVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICAgIFtuZ0lmXT1cInJvdy5pc1BhcnRuZXJDYXRhbG9nTnVtXCJcclxuICAgICAgICAgICAgICBbbmdJZlRoZW5dPVwieWVzXCJcclxuICAgICAgICAgICAgICBbbmdJZkVsc2VdPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgICAgPC9uZ3gtZGF0YXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48YWJwLW1vZGFsIFtidXN5XT1cImlzTW9kYWxCdXN5XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdQYXJhbXNlSW52b2ljZScpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwicGFyYW1zZS1pbnZvaWNlXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInBhcmFtc2UtaW52b2ljZS1kZWZhdWx0LXNjZW5hcmlvXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFNjZW5hcmlvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtdHlwZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRJbnZUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtc2VyaWFsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtc2VyaWFsXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdEludlNlcmlhbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBpZD1cInBhcmFtc2UtaW52b2ljZS1pcy1zaGlwcGluZy1hZGRyZXNzXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1NoaXBwaW5nQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLXVzZS1kZWYtc2NlbmFyaW9cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VEZWZTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtdXNlLWRlZi1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZURlZlNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtdXNlLWRlZi1pbnYtdHlwZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZURlZkludlR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1pbnZvaWNlLXVzZS1kZWYtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZJbnZUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWUtb3B0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbVRyZWVPcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtaXRlbS10cmVlLW9wdGlvblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1vcmRlci1yZWZlcmVuY2UtZmllbGRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLW9yZGVyLXJlZmVyZW5jZS1maWVsZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1pbnZvaWNlLWRlc3BhdGNoLXJlZmVyZW5jZS1maWVsZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc3BhdGNoUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtZGVzcGF0Y2gtcmVmZXJlbmNlLWZpZWxkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWlzLXNob3ctYmF0Y2gtbnNlcmlhbFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzU2hvd0JhdGNoTlNlcmlhbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtaXMtc2hvdy1iYXRjaC1uc2VyaWFsXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaG93QmF0Y2hOU2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtaXMtcGFydG5lci1jYXRhbG9nLWRlc2NcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtaXMtcGFydG5lci1jYXRhbG9nLWRlc2NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nRGVzYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWlzLXBhcnRuZXItY2F0YWxvZy1udW1cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nTnVtXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pcy1wYXJ0bmVyLWNhdGFsb2ctbnVtXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNQYXJ0bmVyQ2F0YWxvZ051bScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwicGFyYW1zZS1pbnZvaWNlXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3BhcmFtc2UtaW52b2ljZXMvcGFyYW1zZS1pbnZvaWNlL2NvbXBvbmVudHMvcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL3BhcmFtc2UtaW52b2ljZXMvcGFyYW1zZS1pbnZvaWNlL2NvbXBvbmVudHMvcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxZQUFZLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBYWxFLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFlBQ2tCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQThCLEVBQ3RDLFlBQWlDLEVBQ2pDLEVBQWU7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQ3RDLGlCQUFZLEdBQVosWUFB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QUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLDBCQ2Y5RSx1d3BDQXE3QkE7MkZEbDZCYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUNkLHVCQUF1QixDQUFDLE9BQU8sYUFDckMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZG93bmxvYWRCbG9iLCBMaXN0U2VydmljZSwgUGFnZWRSZXN1bHREdG8sIFRyYWNrQnlTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgR2V0UGFyYW1zZUludm9pY2VzSW5wdXQsXHJcbiAgUGFyYW1zZUludm9pY2VEdG8sXHJcbn0gZnJvbSAnLi4vLi4vLi4vcHJveHkvcGFyYW1zZS1pbnZvaWNlcy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYXJhbXNlSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9wYXJhbXNlLWludm9pY2VzL3BhcmFtc2UtaW52b2ljZS5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcGFyYW1zZS1pbnZvaWNlJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYW1zZS1pbnZvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFyYW1zZUludm9pY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPFBhcmFtc2VJbnZvaWNlRHRvPiA9IHtcclxuICAgIGl0ZW1zOiBbXSxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVycyA9IHt9IGFzIEdldFBhcmFtc2VJbnZvaWNlc0lucHV0O1xyXG5cclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGlzRmlsdGVyc0hpZGRlbiA9IHRydWU7XHJcblxyXG4gIGlzTW9kYWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIGlzTW9kYWxPcGVuID0gZmFsc2U7XHJcblxyXG4gIGlzRXhwb3J0VG9FeGNlbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgc2VsZWN0ZWQ/OiBQYXJhbXNlSW52b2ljZUR0bztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFBhcmFtc2VJbnZvaWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgZ2V0RGF0YSA9IChxdWVyeTogQUJQLlBhZ2VRdWVyeVBhcmFtcykgPT5cclxuICAgICAgdGhpcy5zZXJ2aWNlLmdldExpc3Qoe1xyXG4gICAgICAgIC4uLnF1ZXJ5LFxyXG4gICAgICAgIC4uLnRoaXMuZmlsdGVycyxcclxuICAgICAgICBmaWx0ZXJUZXh0OiBxdWVyeS5maWx0ZXIsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNldERhdGEgPSAobGlzdDogUGFnZWRSZXN1bHREdG88UGFyYW1zZUludm9pY2VEdG8+KSA9PiAodGhpcy5kYXRhID0gbGlzdCk7XHJcblxyXG4gICAgdGhpcy5saXN0Lmhvb2tUb1F1ZXJ5KGdldERhdGEpLnN1YnNjcmliZShzZXREYXRhKTtcclxuICB9XHJcblxyXG4gIGNsZWFyRmlsdGVycygpIHtcclxuICAgIHRoaXMuZmlsdGVycyA9IHt9IGFzIEdldFBhcmFtc2VJbnZvaWNlc0lucHV0O1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW8sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsLFxyXG4gICAgICBpc1NoaXBwaW5nQWRkcmVzcyxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkludlR5cGUsXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBkZXNwYXRjaFJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBpc1Nob3dCYXRjaE5TZXJpYWwsXHJcbiAgICAgIGlzUGFydG5lckNhdGFsb2dEZXNjLFxyXG4gICAgICBpc1BhcnRuZXJDYXRhbG9nTnVtLFxyXG4gICAgICBpc1Rha2VEb2NBdXRvLFxyXG4gICAgICBhdXRvVGFrZURvY0NyZWF0ZVR5cGUsXHJcbiAgICAgIGF1dG9UYWtlRG9jUE9UYWcsXHJcbiAgICAgIGF1dG9UYWtlRG9jUEROVGFnLFxyXG4gICAgfSA9IHRoaXMuc2VsZWN0ZWQgfHwge307XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGRlZmF1bHRTY2VuYXJpbzogW2RlZmF1bHRTY2VuYXJpbyA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlOiBbZGVmYXVsdEludlR5cGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsOiBbZGVmYXVsdEludlNlcmlhbCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoOCldXSxcclxuICAgICAgaXNTaGlwcGluZ0FkZHJlc3M6IFtmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZTY2VuYXJpbzogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIHVzZURlZkludlR5cGU6IFtmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IG51bGwsIFtdXSxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VGaWVsZDogWzAsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZDogWzAsIFtdXSxcclxuICAgICAgaXNTaG93QmF0Y2hOU2VyaWFsOiBbZmFsc2UsIFtdXSxcclxuICAgICAgaXNQYXJ0bmVyQ2F0YWxvZ0Rlc2M6IFtmYWxzZSwgW11dLFxyXG4gICAgICBpc1BhcnRuZXJDYXRhbG9nTnVtOiBbZmFsc2UsIFtdXSxcclxuICAgICAgaXNUYWtlRG9jQXV0bzogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIGF1dG9UYWtlRG9jQ3JlYXRlVHlwZTogWzAsIFtdXSxcclxuICAgICAgYXV0b1Rha2VEb2NQT1RhZzogW2F1dG9UYWtlRG9jUE9UYWcgPz8gbnVsbCwgW11dLFxyXG4gICAgICBhdXRvVGFrZURvY1BETlRhZzogW2F1dG9UYWtlRG9jUEROVGFnID8/IG51bGwsIFtdXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLmlzTW9kYWxPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbE9wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLnNlbGVjdGVkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLnNlbGVjdGVkLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXHJcbiAgICAgICAgICBjb25jdXJyZW5jeVN0YW1wOiB0aGlzLnNlbGVjdGVkLmNvbmN1cnJlbmN5U3RhbXAsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5pc01vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc01vZGFsQnVzeSA9IGZhbHNlKSksXHJcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaGlkZUZvcm0oKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGlzdC5nZXQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShyZWNvcmQ6IFBhcmFtc2VJbnZvaWNlRHRvKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gcmVjb3JkO1xyXG4gICAgdGhpcy5zaG93Rm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHJlY29yZDogUGFyYW1zZUludm9pY2VEdG8pIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgIC53YXJuKCdlRG9udXN1bTo6RGVsZXRlQ29uZmlybWF0aW9uTWVzc2FnZScsICdlRG9udXN1bTo6QXJlWW91U3VyZScsIHtcclxuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbXSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VydmljZS5kZWxldGUocmVjb3JkLmlkKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGlzdC5nZXQpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCgpIHtcclxuICAgIHRoaXMuaXNFeHBvcnRUb0V4Y2VsQnVzeSA9IHRydWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldERvd25sb2FkVG9rZW4oKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKHsgdG9rZW4gfSkgPT5cclxuICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRMaXN0QXNFeGNlbEZpbGUoeyBkb3dubG9hZFRva2VuOiB0b2tlbiwgZmlsdGVyVGV4dDogdGhpcy5saXN0LmZpbHRlciB9KVxyXG4gICAgICAgICksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaXNFeHBvcnRUb0V4Y2VsQnVzeSA9IGZhbHNlKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgZG93bmxvYWRCbG9iKHJlc3VsdCwgJ1BhcmFtc2VJbnZvaWNlLnhsc3gnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpQYXJhbXNlSW52b2ljZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG14LTJcIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0V4cG9ydFRvRXhjZWxCdXN5XCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwb3J0VG9FeGNlbCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6RXhwb3J0VG9FeGNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUGFyYW1zZUludm9pY2VzLkNyZWF0ZSdcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZSgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6TmV3UGFyYW1zZUludm9pY2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGFicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycyBsb2NhbGl6YXRpb25Tb3VyY2VOYW1lPVwiZURvbnVzdW1cIiBbbGlzdF09XCJsaXN0XCI+XHJcbiAgICA8YWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgICAgIDxmb3JtICNmaWx0ZXJGb3JtIChrZXl1cC5lbnRlcik9XCJsaXN0LmdldCgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5EZWZhdWx0U2NlbmFyaW9cIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluRGVmYXVsdFNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5EZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVmYXVsdFNjZW5hcmlvTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heERlZmF1bHRTY2VuYXJpb1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhEZWZhdWx0U2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heERlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZWZhdWx0U2NlbmFyaW9NYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5EZWZhdWx0SW52VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5EZWZhdWx0SW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluRGVmYXVsdEludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVmYXVsdEludlR5cGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4RGVmYXVsdEludlR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heERlZmF1bHRJbnZUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlZmF1bHRJbnZUeXBlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVmYXVsdEludlNlcmlhbEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZWZhdWx0SW52U2VyaWFsRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNTaGlwcGluZ0FkZHJlc3NGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNTaGlwcGluZ0FkZHJlc3NGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImxpc3QuZ2V0KClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj57eyAnQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj57eyAnQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ1c2VEZWZTY2VuYXJpb0ZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ1c2VEZWZTY2VuYXJpb0ZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInVzZURlZkludlR5cGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXNlRGVmSW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInVzZURlZkludlR5cGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnVzZURlZkludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkl0ZW1UcmVlT3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkl0ZW1UcmVlT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5JdGVtVHJlZU9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pdGVtVHJlZU9wdGlvbk1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhJdGVtVHJlZU9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJdGVtVHJlZU9wdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4SXRlbVRyZWVPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXRlbVRyZWVPcHRpb25NYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5PcmRlclJlZmVyZW5jZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbk9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbk9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VGaWVsZE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhPcmRlclJlZmVyZW5jZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heE9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heE9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VGaWVsZE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkRlc3BhdGNoUmVmZXJlbmNlRmllbGRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluRGVzcGF0Y2hSZWZlcmVuY2VGaWVsZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluRGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heERlc3BhdGNoUmVmZXJlbmNlRmllbGRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4RGVzcGF0Y2hSZWZlcmVuY2VGaWVsZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4RGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNTaG93QmF0Y2hOU2VyaWFsRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzU2hvd0JhdGNoTlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiaXNTaG93QmF0Y2hOU2VyaWFsXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNTaG93QmF0Y2hOU2VyaWFsRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc1Nob3dCYXRjaE5TZXJpYWxcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImlzUGFydG5lckNhdGFsb2dEZXNjRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzUGFydG5lckNhdGFsb2dEZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgICAgICBpZD1cImlzUGFydG5lckNhdGFsb2dEZXNjRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNQYXJ0bmVyQ2F0YWxvZ051bUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nTnVtJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nTnVtXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNQYXJ0bmVyQ2F0YWxvZ051bUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNQYXJ0bmVyQ2F0YWxvZ051bVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiaXNUYWtlRG9jQXV0b0ZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1Rha2VEb2NBdXRvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc1Rha2VEb2NBdXRvXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNUYWtlRG9jQXV0b0ZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNUYWtlRG9jQXV0b1wiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluQXV0b1Rha2VEb2NDcmVhdGVUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkF1dG9UYWtlRG9jQ3JlYXRlVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluQXV0b1Rha2VEb2NDcmVhdGVUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmF1dG9UYWtlRG9jQ3JlYXRlVHlwZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhBdXRvVGFrZURvY0NyZWF0ZVR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4QXV0b1Rha2VEb2NDcmVhdGVUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhBdXRvVGFrZURvY0NyZWF0ZVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYXV0b1Rha2VEb2NDcmVhdGVUeXBlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYXV0b1Rha2VEb2NQT1RhZ0ZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBdXRvVGFrZURvY1BPVGFnJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhdXRvVGFrZURvY1BPVGFnRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hdXRvVGFrZURvY1BPVGFnXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYXV0b1Rha2VEb2NQRE5UYWdGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QXV0b1Rha2VEb2NQRE5UYWcnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImF1dG9UYWtlRG9jUEROVGFnRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hdXRvVGFrZURvY1BETlRhZ1wiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0byBhbGlnbi1zZWxmLWVuZCBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLXNtLWF1dG8gZC1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1zbS1hdXRvIGQtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwibGlzdC5nZXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQWJwVWk6OlJlZnJlc2gnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvYWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgPC9hYnAtYWR2YW5jZWQtZW50aXR5LWZpbHRlcnM+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgIDxuZ3gtZGF0YXRhYmxlIFtyb3dzXT1cImRhdGEuaXRlbXNcIiBbY291bnRdPVwiZGF0YS50b3RhbENvdW50XCIgW2xpc3RdPVwibGlzdFwiIGRlZmF1bHQ+XHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBbbmFtZV09XCInQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgIFttYXhXaWR0aF09XCIxNTBcIlxyXG4gICAgICAgICAgW3dpZHRoXT1cIjE1MFwiXHJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJyb3dJbmRleFwiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUGFyYW1zZUludm9pY2VzLkVkaXQnXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZShyb3cpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUGFyYW1zZUludm9pY2VzLkRlbGV0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZWZhdWx0U2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuZGVmYXVsdFNjZW5hcmlvIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZWZhdWx0SW52VHlwZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkRlZmF1bHRJbnZTZXJpYWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRlZmF1bHRJbnZTZXJpYWwgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJc1NoaXBwaW5nQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgW25nSWZdPVwicm93LmlzU2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICBbbmdJZlRoZW5dPVwieWVzXCJcclxuICAgICAgICAgICAgICBbbmdJZkVsc2VdPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInVzZURlZlNjZW5hcmlvXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInJvdy51c2VEZWZTY2VuYXJpb1wiIFtuZ0lmVGhlbl09XCJ5ZXNcIiBbbmdJZkVsc2VdPVwibm9cIj48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN5ZXM+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNubz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlVzZURlZkludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJ1c2VEZWZJbnZUeXBlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInJvdy51c2VEZWZJbnZUeXBlXCIgW25nSWZUaGVuXT1cInllc1wiIFtuZ0lmRWxzZV09XCJub1wiPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXRlbVRyZWVPcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJpdGVtVHJlZU9wdGlvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5pdGVtVHJlZU9wdGlvbiB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJvcmRlclJlZmVyZW5jZUZpZWxkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lm9yZGVyUmVmZXJlbmNlRmllbGQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZXNwYXRjaFJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXNTaG93QmF0Y2hOU2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiaXNTaG93QmF0Y2hOU2VyaWFsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgW25nSWZdPVwicm93LmlzU2hvd0JhdGNoTlNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgW25nSWZUaGVuXT1cInllc1wiXHJcbiAgICAgICAgICAgICAgW25nSWZFbHNlXT1cIm5vXCJcclxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXNQYXJ0bmVyQ2F0YWxvZ0Rlc2MnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJpc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICAgIFtuZ0lmXT1cInJvdy5pc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgICAgW25nSWZUaGVuXT1cInllc1wiXHJcbiAgICAgICAgICAgICAgW25nSWZFbHNlXT1cIm5vXCJcclxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXNQYXJ0bmVyQ2F0YWxvZ051bScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImlzUGFydG5lckNhdGFsb2dOdW1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICBbbmdJZl09XCJyb3cuaXNQYXJ0bmVyQ2F0YWxvZ051bVwiXHJcbiAgICAgICAgICAgICAgW25nSWZUaGVuXT1cInllc1wiXHJcbiAgICAgICAgICAgICAgW25nSWZFbHNlXT1cIm5vXCJcclxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXNUYWtlRG9jQXV0bycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImlzVGFrZURvY0F1dG9cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93LmlzVGFrZURvY0F1dG9cIiBbbmdJZlRoZW5dPVwieWVzXCIgW25nSWZFbHNlXT1cIm5vXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBdXRvVGFrZURvY0NyZWF0ZVR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhdXRvVGFrZURvY0NyZWF0ZVR5cGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYXV0b1Rha2VEb2NDcmVhdGVUeXBlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QXV0b1Rha2VEb2NQT1RhZycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImF1dG9UYWtlRG9jUE9UYWdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYXV0b1Rha2VEb2NQT1RhZyB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkF1dG9UYWtlRG9jUEROVGFnJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiYXV0b1Rha2VEb2NQRE5UYWdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYXV0b1Rha2VEb2NQRE5UYWcgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgICAgPC9uZ3gtZGF0YXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48YWJwLW1vZGFsIFtidXN5XT1cImlzTW9kYWxCdXN5XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdQYXJhbXNlSW52b2ljZScpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwicGFyYW1zZS1pbnZvaWNlXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInBhcmFtc2UtaW52b2ljZS1kZWZhdWx0LXNjZW5hcmlvXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFNjZW5hcmlvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtdHlwZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRJbnZUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtc2VyaWFsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtZGVmYXVsdC1pbnYtc2VyaWFsXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdEludlNlcmlhbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBpZD1cInBhcmFtc2UtaW52b2ljZS1pcy1zaGlwcGluZy1hZGRyZXNzXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1NoaXBwaW5nQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLXVzZS1kZWYtc2NlbmFyaW9cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VEZWZTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtdXNlLWRlZi1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZURlZlNjZW5hcmlvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtdXNlLWRlZi1pbnYtdHlwZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZURlZkludlR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zZS1pbnZvaWNlLXVzZS1kZWYtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZJbnZUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWUtb3B0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbVRyZWVPcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtaXRlbS10cmVlLW9wdGlvblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1vcmRlci1yZWZlcmVuY2UtZmllbGRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLW9yZGVyLXJlZmVyZW5jZS1maWVsZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1pbnZvaWNlLWRlc3BhdGNoLXJlZmVyZW5jZS1maWVsZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc3BhdGNoUmVmZXJlbmNlRmllbGQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtZGVzcGF0Y2gtcmVmZXJlbmNlLWZpZWxkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWlzLXNob3ctYmF0Y2gtbnNlcmlhbFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzU2hvd0JhdGNoTlNlcmlhbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtaXMtc2hvdy1iYXRjaC1uc2VyaWFsXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaG93QmF0Y2hOU2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtaXMtcGFydG5lci1jYXRhbG9nLWRlc2NcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nRGVzY1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXNlLWludm9pY2UtaXMtcGFydG5lci1jYXRhbG9nLWRlc2NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1BhcnRuZXJDYXRhbG9nRGVzYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWlzLXBhcnRuZXItY2F0YWxvZy1udW1cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1BhcnRuZXJDYXRhbG9nTnVtXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pcy1wYXJ0bmVyLWNhdGFsb2ctbnVtXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNQYXJ0bmVyQ2F0YWxvZ051bScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWlzLXRha2UtZG9jLWF1dG9cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1Rha2VEb2NBdXRvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pcy10YWtlLWRvYy1hdXRvXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNUYWtlRG9jQXV0bycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtYXV0by10YWtlLWRvYy1jcmVhdGUtdHlwZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkF1dG9UYWtlRG9jQ3JlYXRlVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInBhcmFtc2UtaW52b2ljZS1hdXRvLXRha2UtZG9jLWNyZWF0ZS10eXBlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXV0b1Rha2VEb2NDcmVhdGVUeXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1hdXRvLXRha2UtZG9jLXBvdGFnXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QXV0b1Rha2VEb2NQT1RhZycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicGFyYW1zZS1pbnZvaWNlLWF1dG8tdGFrZS1kb2MtcG90YWdcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdXRvVGFrZURvY1BPVGFnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1hdXRvLXRha2UtZG9jLXBkbnRhZ1wiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkF1dG9UYWtlRG9jUEROVGFnJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwYXJhbXNlLWludm9pY2UtYXV0by10YWtlLWRvYy1wZG50YWdcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdXRvVGFrZURvY1BETlRhZ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwicGFyYW1zZS1pbnZvaWNlXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19