@vendure/admin-ui 2.0.0-next.21 → 2.0.0-next.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +0 -1
- package/catalog/components/product-detail/product-detail.component.d.ts +2 -7
- package/catalog/components/product-variants-list/product-variants-list.component.d.ts +10 -10
- package/catalog/providers/product-detail/product-detail.service.d.ts +1 -2
- package/core/common/generated-types.d.ts +72 -0
- package/core/common/version.d.ts +1 -1
- package/core/data/definitions/facet-definitions.d.ts +1 -0
- package/core/data/providers/facet-data.service.d.ts +4 -0
- package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
- package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +19 -0
- package/core/public_api.d.ts +2 -1
- package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +16 -16
- package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +3 -11
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -2
- package/customer/components/customer-detail/customer-detail.component.d.ts +3 -3
- package/customer/components/customer-history/customer-history-entry-host.component.d.ts +19 -0
- package/customer/components/customer-history/customer-history.component.d.ts +38 -10
- package/customer/customer.module.d.ts +4 -3
- package/customer/public_api.d.ts +1 -0
- package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +3 -3
- package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +3 -4
- package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +11 -6
- package/esm2020/catalog/components/product-detail/product-detail.component.mjs +17 -48
- package/esm2020/catalog/components/product-list/product-list-bulk-actions.mjs +4 -7
- package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +39 -33
- package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +1 -4
- package/esm2020/core/common/generated-types.mjs +1 -1
- package/esm2020/core/common/introspection-result.mjs +2 -1
- package/esm2020/core/common/version.mjs +2 -2
- package/esm2020/core/data/data.module.mjs +8 -1
- package/esm2020/core/data/definitions/facet-definitions.mjs +12 -1
- package/esm2020/core/data/providers/facet-data.service.mjs +5 -2
- package/esm2020/core/providers/custom-history-entry-component/history-entry-component-types.mjs +2 -0
- package/esm2020/core/providers/custom-history-entry-component/history-entry-component.service.mjs +40 -0
- package/esm2020/core/public_api.mjs +3 -2
- package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +52 -25
- package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +3 -3
- package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +8 -18
- package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +2 -1
- package/esm2020/customer/components/customer-history/customer-history-entry-host.component.mjs +64 -0
- package/esm2020/customer/components/customer-history/customer-history.component.mjs +16 -10
- package/esm2020/customer/customer.module.mjs +5 -2
- package/esm2020/customer/providers/routing/customer-resolver.mjs +5 -3
- package/esm2020/customer/public_api.mjs +2 -1
- package/esm2020/login/components/login/login.component.mjs +36 -9
- package/esm2020/order/components/order-detail/order-detail.component.mjs +1 -1
- package/esm2020/order/components/order-history/order-history-entry-host.component.mjs +64 -0
- package/esm2020/order/components/order-history/order-history.component.mjs +19 -14
- package/esm2020/order/order.module.mjs +8 -5
- package/esm2020/order/public_api.mjs +2 -1
- package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +5 -4
- package/fesm2015/vendure-admin-ui-catalog.mjs +69 -96
- package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-core.mjs +167 -90
- package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.mjs +93 -21
- package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-login.mjs +35 -8
- package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-order.mjs +76 -8
- package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.mjs +4 -3
- package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-catalog.mjs +68 -96
- package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-core.mjs +165 -90
- package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-customer.mjs +92 -21
- package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-login.mjs +35 -8
- package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-order.mjs +75 -8
- package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-settings.mjs +4 -3
- package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
- package/login/components/login/login.component.d.ts +9 -1
- package/order/components/order-detail/order-detail.component.d.ts +3 -3
- package/order/components/order-history/order-history-entry-host.component.d.ts +19 -0
- package/order/components/order-history/order-history.component.d.ts +40 -13
- package/order/order.module.d.ts +4 -3
- package/order/public_api.d.ts +1 -0
- package/package.json +2 -2
- package/static/i18n-messages/de.json +3 -1
- package/static/i18n-messages/en.json +3 -1
- package/static/styles/_variables.scss +1 -0
- package/core/common/utilities/flatten-facet-values.d.ts +0 -2
- package/esm2020/core/common/utilities/flatten-facet-values.mjs +0 -4
|
@@ -3,16 +3,18 @@ import { HistoryEntryType, } from '@vendure/admin-ui/core';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@vendure/admin-ui/core";
|
|
5
5
|
import * as i2 from "@clr/angular";
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "../
|
|
8
|
-
import * as i5 from "../
|
|
9
|
-
import * as i6 from "../
|
|
10
|
-
import * as i7 from "
|
|
11
|
-
import * as i8 from "@angular/
|
|
12
|
-
import * as i9 from "@angular/
|
|
13
|
-
import * as i10 from "@
|
|
6
|
+
import * as i3 from "./order-history-entry-host.component";
|
|
7
|
+
import * as i4 from "../modification-detail/modification-detail.component";
|
|
8
|
+
import * as i5 from "../payment-detail/payment-detail.component";
|
|
9
|
+
import * as i6 from "../simple-item-list/simple-item-list.component";
|
|
10
|
+
import * as i7 from "../fulfillment-detail/fulfillment-detail.component";
|
|
11
|
+
import * as i8 from "@angular/forms";
|
|
12
|
+
import * as i9 from "@angular/common";
|
|
13
|
+
import * as i10 from "@angular/router";
|
|
14
|
+
import * as i11 from "@ngx-translate/core";
|
|
14
15
|
export class OrderHistoryComponent {
|
|
15
|
-
constructor() {
|
|
16
|
+
constructor(historyEntryComponentService) {
|
|
17
|
+
this.historyEntryComponentService = historyEntryComponentService;
|
|
16
18
|
this.addNote = new EventEmitter();
|
|
17
19
|
this.updateNote = new EventEmitter();
|
|
18
20
|
this.deleteNote = new EventEmitter();
|
|
@@ -21,6 +23,9 @@ export class OrderHistoryComponent {
|
|
|
21
23
|
this.expanded = false;
|
|
22
24
|
this.type = HistoryEntryType;
|
|
23
25
|
}
|
|
26
|
+
hasCustomComponent(type) {
|
|
27
|
+
return !!this.historyEntryComponentService.getComponent(type);
|
|
28
|
+
}
|
|
24
29
|
getDisplayType(entry) {
|
|
25
30
|
if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {
|
|
26
31
|
if (entry.data.to === 'Delivered') {
|
|
@@ -147,12 +152,12 @@ export class OrderHistoryComponent {
|
|
|
147
152
|
this.noteIsPrivate = true;
|
|
148
153
|
}
|
|
149
154
|
}
|
|
150
|
-
OrderHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
-
OrderHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: OrderHistoryComponent, selector: "vdr-order-history", inputs: { order: "order", history: "history" }, outputs: { addNote: "addNote", updateNote: "updateNote", deleteNote: "deleteNote" }, ngImport: i0, template: "<h4>{{ 'order.order-history' | translate }}</h4>\r\n<div class=\"entry-list\" [class.expanded]=\"expanded\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\r\n {{ 'common.add-note' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"visibility-select\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n </div>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry\r\n *ngFor=\"let entry of history\"\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n [collapsed]=\"!expanded && !isFeatured(entry)\"\r\n (expandClick)=\"expanded = !expanded\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\r\n {{ 'order.history-order-fulfilled' | translate }}\r\n </div>\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\r\n {{ 'order.history-order-cancelled' | translate }}\r\n </div>\r\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\r\n {{\r\n 'order.history-order-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-modified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"getModification(entry.data.modificationId) as modification\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{ modification.priceChange | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-chip colorType=\"success\" *ngIf=\"modification.isSettled\">{{\r\n 'order.modification-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-chip colorType=\"error\" *ngIf=\"!modification.isSettled\">{{\r\n 'order.modification-not-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-history-entry-detail>\r\n <vdr-modification-detail\r\n [order]=\"order\"\r\n [modification]=\"modification\"\r\n ></vdr-modification-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\r\n <div class=\"title\">\r\n {{ 'order.history-payment-settled' | translate }}\r\n </div>\r\n {{ 'order.transaction-id' | translate }}: {{ getPayment(entry)?.transactionId }}\r\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\r\n <vdr-payment-detail\r\n [payment]=\"payment\"\r\n [currencyCode]=\"order.currencyCode\"\r\n ></vdr-payment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-template #regularPaymentTransition>\r\n {{\r\n 'order.history-payment-transition'\r\n | translate\r\n : {\r\n from: entry.data.from,\r\n to: entry.data.to,\r\n id: getPayment(entry)?.transactionId\r\n }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\r\n {{\r\n 'order.history-refund-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to, id: entry.data.refundId }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\r\n {{ 'order.history-items-cancelled' | translate: { count: entry.data.orderItemIds.length } }}\r\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry) as items\">\r\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\r\n {{ entry.data.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\r\n {{ entry.data.shippingCancelled }}\r\n </vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\r\n {{ 'order.history-fulfillment-created' | translate }}\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-delivered' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-shipped' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\r\n {{\r\n 'order.history-fulfillment-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-container>\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\r\n 'common.public' | translate\r\n }}</span>\r\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\r\n 'common.private' | translate\r\n }}</span>\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\r\n {{ 'order.history-coupon-code-applied' | translate }}:\r\n <vdr-chip>\r\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\r\n entry.data.couponCode\r\n }}</a>\r\n </vdr-chip>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\r\n {{ 'order.history-coupon-code-removed' | translate }}:\r\n <vdr-chip\r\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-created' | translate }}\r\n </div>\r\n </vdr-timeline-entry>\r\n</div>\r\n", styles: [":host{margin-top:48px;display:block}.entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}.visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-grey-800);white-space:pre-wrap}.cancelled-coupon-code{text-decoration:line-through}.note-visibility{text-transform:lowercase}.note-visibility.public{color:var(--color-warning-500)}.note-visibility.private{color:var(--color-success-500)}\n"], components: [{ type: i1.TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: ["displayType", "createdAt", "name", "featured", "iconShape", "isLast", "collapsed"], outputs: ["expandClick"] }, { type: i2.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { type: i1.HistoryEntryDetailComponent, selector: "vdr-history-entry-detail" }, { type: i3.ModificationDetailComponent, selector: "vdr-modification-detail", inputs: ["order", "modification"] }, { type: i4.PaymentDetailComponent, selector: "vdr-payment-detail", inputs: ["payment", "currencyCode"] }, { type: i1.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { type: i5.SimpleItemListComponent, selector: "vdr-simple-item-list", inputs: ["items"] }, { type: i6.FulfillmentDetailComponent, selector: "vdr-fulfillment-detail", inputs: ["fulfillmentId", "order"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }], directives: [{ type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { type: i9.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "translate": i10.TranslatePipe, "localeCurrency": i1.LocaleCurrencyPipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
|
+
OrderHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderHistoryComponent, deps: [{ token: i1.HistoryEntryComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
+
OrderHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: OrderHistoryComponent, selector: "vdr-order-history", inputs: { order: "order", history: "history" }, outputs: { addNote: "addNote", updateNote: "updateNote", deleteNote: "deleteNote" }, ngImport: i0, template: "<h4>{{ 'order.order-history' | translate }}</h4>\r\n<div class=\"entry-list\" [class.expanded]=\"expanded\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\r\n {{ 'common.add-note' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"visibility-select\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n </div>\r\n </vdr-timeline-entry>\r\n <ng-container *ngFor=\"let entry of history\">\r\n <vdr-order-history-entry-host\r\n *ngIf=\"hasCustomComponent(entry.type); else defaultComponents\"\r\n [order]=\"order\"\r\n [entry]=\"entry\"\r\n [expanded]=\"expanded\"\r\n (expandClick)=\"expanded = !expanded\"\r\n ></vdr-order-history-entry-host>\r\n <ng-template #defaultComponents>\r\n <vdr-timeline-entry\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n [collapsed]=\"!expanded && !isFeatured(entry)\"\r\n (expandClick)=\"expanded = !expanded\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\r\n {{ 'order.history-order-fulfilled' | translate }}\r\n </div>\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\r\n {{ 'order.history-order-cancelled' | translate }}\r\n </div>\r\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\r\n {{\r\n 'order.history-order-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-modified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"getModification(entry.data.modificationId) as modification\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{\r\n modification.priceChange | localeCurrency: order.currencyCode\r\n }}</strong>\r\n <vdr-chip colorType=\"success\" *ngIf=\"modification.isSettled\">{{\r\n 'order.modification-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-chip colorType=\"error\" *ngIf=\"!modification.isSettled\">{{\r\n 'order.modification-not-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-history-entry-detail>\r\n <vdr-modification-detail\r\n [order]=\"order\"\r\n [modification]=\"modification\"\r\n ></vdr-modification-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\r\n <div class=\"title\">\r\n {{ 'order.history-payment-settled' | translate }}\r\n </div>\r\n {{ 'order.transaction-id' | translate }}: {{ getPayment(entry)?.transactionId }}\r\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\r\n <vdr-payment-detail\r\n [payment]=\"payment\"\r\n [currencyCode]=\"order.currencyCode\"\r\n ></vdr-payment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-template #regularPaymentTransition>\r\n {{\r\n 'order.history-payment-transition'\r\n | translate\r\n : {\r\n from: entry.data.from,\r\n to: entry.data.to,\r\n id: getPayment(entry)?.transactionId\r\n }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\r\n {{\r\n 'order.history-refund-transition'\r\n | translate\r\n : { from: entry.data.from, to: entry.data.to, id: entry.data.refundId }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\r\n {{\r\n 'order.history-items-cancelled'\r\n | translate: { count: entry.data.orderItemIds.length }\r\n }}\r\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry) as items\">\r\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\r\n {{ entry.data.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\r\n {{ entry.data.shippingCancelled }}\r\n </vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\r\n {{ 'order.history-fulfillment-created' | translate }}\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-delivered' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-shipped' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\r\n {{\r\n 'order.history-fulfillment-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-container>\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\r\n 'common.public' | translate\r\n }}</span>\r\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\r\n 'common.private' | translate\r\n }}</span>\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\r\n {{ 'order.history-coupon-code-applied' | translate }}:\r\n <vdr-chip>\r\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\r\n entry.data.couponCode\r\n }}</a>\r\n </vdr-chip>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\r\n {{ 'order.history-coupon-code-removed' | translate }}:\r\n <vdr-chip\r\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"title\">\r\n {{ entry.type | translate }}\r\n </div>\r\n <vdr-history-entry-detail *ngIf=\"entry.data\">\r\n <vdr-object-tree [value]=\"entry.data\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-created' | translate }}\r\n </div>\r\n </vdr-timeline-entry>\r\n</div>\r\n", styles: [":host{margin-top:48px;display:block}.entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}.visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-grey-800);white-space:pre-wrap}.cancelled-coupon-code{text-decoration:line-through}.note-visibility{text-transform:lowercase}.note-visibility.public{color:var(--color-warning-500)}.note-visibility.private{color:var(--color-success-500)}\n"], components: [{ type: i1.TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: ["displayType", "createdAt", "name", "featured", "iconShape", "isLast", "collapsed"], outputs: ["expandClick"] }, { type: i2.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i3.OrderHistoryEntryHostComponent, selector: "vdr-order-history-entry-host", inputs: ["entry", "order", "expanded"], outputs: ["expandClick"], exportAs: ["historyEntry"] }, { type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { type: i1.HistoryEntryDetailComponent, selector: "vdr-history-entry-detail" }, { type: i4.ModificationDetailComponent, selector: "vdr-modification-detail", inputs: ["order", "modification"] }, { type: i5.PaymentDetailComponent, selector: "vdr-payment-detail", inputs: ["payment", "currencyCode"] }, { type: i1.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { type: i6.SimpleItemListComponent, selector: "vdr-simple-item-list", inputs: ["items"] }, { type: i7.FulfillmentDetailComponent, selector: "vdr-fulfillment-detail", inputs: ["fulfillmentId", "order"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }], directives: [{ type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { type: i10.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i11.TranslatePipe, "localeCurrency": i1.LocaleCurrencyPipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
152
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderHistoryComponent, decorators: [{
|
|
153
158
|
type: Component,
|
|
154
|
-
args: [{ selector: 'vdr-order-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h4>{{ 'order.order-history' | translate }}</h4>\r\n<div class=\"entry-list\" [class.expanded]=\"expanded\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\r\n {{ 'common.add-note' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"visibility-select\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n </div>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry\r\n *ngFor=\"let entry of history\"\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n [collapsed]=\"!expanded && !isFeatured(entry)\"\r\n (expandClick)=\"expanded = !expanded\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\r\n {{ 'order.history-order-fulfilled' | translate }}\r\n </div>\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\r\n {{ 'order.history-order-cancelled' | translate }}\r\n </div>\r\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\r\n {{\r\n 'order.history-order-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-modified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"getModification(entry.data.modificationId) as modification\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{ modification.priceChange | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-chip colorType=\"success\" *ngIf=\"modification.isSettled\">{{\r\n 'order.modification-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-chip colorType=\"error\" *ngIf=\"!modification.isSettled\">{{\r\n 'order.modification-not-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-history-entry-detail>\r\n <vdr-modification-detail\r\n [order]=\"order\"\r\n [modification]=\"modification\"\r\n ></vdr-modification-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\r\n <div class=\"title\">\r\n {{ 'order.history-payment-settled' | translate }}\r\n </div>\r\n {{ 'order.transaction-id' | translate }}: {{ getPayment(entry)?.transactionId }}\r\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\r\n <vdr-payment-detail\r\n [payment]=\"payment\"\r\n [currencyCode]=\"order.currencyCode\"\r\n ></vdr-payment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-template #regularPaymentTransition>\r\n {{\r\n 'order.history-payment-transition'\r\n | translate\r\n : {\r\n from: entry.data.from,\r\n to: entry.data.to,\r\n id: getPayment(entry)?.transactionId\r\n }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\r\n {{\r\n 'order.history-refund-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to, id: entry.data.refundId }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\r\n {{ 'order.history-items-cancelled' | translate: { count: entry.data.orderItemIds.length } }}\r\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry) as items\">\r\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\r\n {{ entry.data.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\r\n {{ entry.data.shippingCancelled }}\r\n </vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\r\n {{ 'order.history-fulfillment-created' | translate }}\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-delivered' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-shipped' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\r\n {{\r\n 'order.history-fulfillment-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-container>\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\r\n 'common.public' | translate\r\n }}</span>\r\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\r\n 'common.private' | translate\r\n }}</span>\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\r\n {{ 'order.history-coupon-code-applied' | translate }}:\r\n <vdr-chip>\r\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\r\n entry.data.couponCode\r\n }}</a>\r\n </vdr-chip>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\r\n {{ 'order.history-coupon-code-removed' | translate }}:\r\n <vdr-chip\r\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-created' | translate }}\r\n </div>\r\n </vdr-timeline-entry>\r\n</div>\r\n", styles: [":host{margin-top:48px;display:block}.entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}.visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-grey-800);white-space:pre-wrap}.cancelled-coupon-code{text-decoration:line-through}.note-visibility{text-transform:lowercase}.note-visibility.public{color:var(--color-warning-500)}.note-visibility.private{color:var(--color-success-500)}\n"] }]
|
|
155
|
-
}], propDecorators: { order: [{
|
|
159
|
+
args: [{ selector: 'vdr-order-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h4>{{ 'order.order-history' | translate }}</h4>\r\n<div class=\"entry-list\" [class.expanded]=\"expanded\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\r\n {{ 'common.add-note' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"visibility-select\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n </div>\r\n </vdr-timeline-entry>\r\n <ng-container *ngFor=\"let entry of history\">\r\n <vdr-order-history-entry-host\r\n *ngIf=\"hasCustomComponent(entry.type); else defaultComponents\"\r\n [order]=\"order\"\r\n [entry]=\"entry\"\r\n [expanded]=\"expanded\"\r\n (expandClick)=\"expanded = !expanded\"\r\n ></vdr-order-history-entry-host>\r\n <ng-template #defaultComponents>\r\n <vdr-timeline-entry\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n [collapsed]=\"!expanded && !isFeatured(entry)\"\r\n (expandClick)=\"expanded = !expanded\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\r\n {{ 'order.history-order-fulfilled' | translate }}\r\n </div>\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\r\n {{ 'order.history-order-cancelled' | translate }}\r\n </div>\r\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\r\n {{\r\n 'order.history-order-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-modified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"getModification(entry.data.modificationId) as modification\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{\r\n modification.priceChange | localeCurrency: order.currencyCode\r\n }}</strong>\r\n <vdr-chip colorType=\"success\" *ngIf=\"modification.isSettled\">{{\r\n 'order.modification-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-chip colorType=\"error\" *ngIf=\"!modification.isSettled\">{{\r\n 'order.modification-not-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-history-entry-detail>\r\n <vdr-modification-detail\r\n [order]=\"order\"\r\n [modification]=\"modification\"\r\n ></vdr-modification-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\r\n <div class=\"title\">\r\n {{ 'order.history-payment-settled' | translate }}\r\n </div>\r\n {{ 'order.transaction-id' | translate }}: {{ getPayment(entry)?.transactionId }}\r\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\r\n <vdr-payment-detail\r\n [payment]=\"payment\"\r\n [currencyCode]=\"order.currencyCode\"\r\n ></vdr-payment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-template #regularPaymentTransition>\r\n {{\r\n 'order.history-payment-transition'\r\n | translate\r\n : {\r\n from: entry.data.from,\r\n to: entry.data.to,\r\n id: getPayment(entry)?.transactionId\r\n }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\r\n {{\r\n 'order.history-refund-transition'\r\n | translate\r\n : { from: entry.data.from, to: entry.data.to, id: entry.data.refundId }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\r\n {{\r\n 'order.history-items-cancelled'\r\n | translate: { count: entry.data.orderItemIds.length }\r\n }}\r\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry) as items\">\r\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\r\n {{ entry.data.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\r\n {{ entry.data.shippingCancelled }}\r\n </vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\r\n {{ 'order.history-fulfillment-created' | translate }}\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-delivered' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-shipped' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\r\n {{\r\n 'order.history-fulfillment-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-container>\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\r\n 'common.public' | translate\r\n }}</span>\r\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\r\n 'common.private' | translate\r\n }}</span>\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\r\n {{ 'order.history-coupon-code-applied' | translate }}:\r\n <vdr-chip>\r\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\r\n entry.data.couponCode\r\n }}</a>\r\n </vdr-chip>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\r\n {{ 'order.history-coupon-code-removed' | translate }}:\r\n <vdr-chip\r\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"title\">\r\n {{ entry.type | translate }}\r\n </div>\r\n <vdr-history-entry-detail *ngIf=\"entry.data\">\r\n <vdr-object-tree [value]=\"entry.data\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-created' | translate }}\r\n </div>\r\n </vdr-timeline-entry>\r\n</div>\r\n", styles: [":host{margin-top:48px;display:block}.entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}.visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-grey-800);white-space:pre-wrap}.cancelled-coupon-code{text-decoration:line-through}.note-visibility{text-transform:lowercase}.note-visibility.public{color:var(--color-warning-500)}.note-visibility.private{color:var(--color-success-500)}\n"] }]
|
|
160
|
+
}], ctorParameters: function () { return [{ type: i1.HistoryEntryComponentService }]; }, propDecorators: { order: [{
|
|
156
161
|
type: Input
|
|
157
162
|
}], history: [{
|
|
158
163
|
type: Input
|
|
@@ -163,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
163
168
|
}], deleteNote: [{
|
|
164
169
|
type: Output
|
|
165
170
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFHSCxnQkFBZ0IsR0FHbkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVWhDLE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFTYyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFDbEUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzlDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUN4RCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1Ysa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLFNBQUksR0FBRyxnQkFBZ0IsQ0FBQztLQTJJcEM7SUF6SUcsY0FBYyxDQUFDLEtBQXVCO1FBQ2xDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRTtZQUN4RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsT0FBTyxTQUFTLENBQUM7YUFDcEI7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsT0FBTyxPQUFPLENBQUM7YUFDbEI7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LElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3ZEO1NBQ0o7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7O2tIQW5KUSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw4TENqQmxDLHMvV0FrTkE7MkZEak1hLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgR2V0T3JkZXJIaXN0b3J5UXVlcnksXHJcbiAgICBIaXN0b3J5RW50cnksXHJcbiAgICBIaXN0b3J5RW50cnlUeXBlLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIFRpbWVsaW5lRGlzcGxheVR5cGUsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG50eXBlIE9yZGVySGlzdG9yeUl0ZW0gPSBOb25OdWxsYWJsZTxHZXRPcmRlckhpc3RvcnlRdWVyeVsnb3JkZXInXT5bJ2hpc3RvcnknXVsnaXRlbXMnXVtudW1iZXJdO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1vcmRlci1oaXN0b3J5JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL29yZGVyLWhpc3RvcnkuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJIaXN0b3J5Q29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIG9yZGVyOiBPcmRlckRldGFpbEZyYWdtZW50O1xyXG4gICAgQElucHV0KCkgaGlzdG9yeTogT3JkZXJIaXN0b3J5SXRlbVtdO1xyXG4gICAgQE91dHB1dCgpIGFkZE5vdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbm90ZTogc3RyaW5nOyBpc1B1YmxpYzogYm9vbGVhbiB9PigpO1xyXG4gICAgQE91dHB1dCgpIHVwZGF0ZU5vdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEhpc3RvcnlFbnRyeT4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVOb3RlID0gbmV3IEV2ZW50RW1pdHRlcjxIaXN0b3J5RW50cnk+KCk7XHJcbiAgICBub3RlID0gJyc7XHJcbiAgICBub3RlSXNQcml2YXRlID0gdHJ1ZTtcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICByZWFkb25seSB0eXBlID0gSGlzdG9yeUVudHJ5VHlwZTtcclxuXHJcbiAgICBnZXREaXNwbGF5VHlwZShlbnRyeTogT3JkZXJIaXN0b3J5SXRlbSk6IFRpbWVsaW5lRGlzcGxheVR5cGUge1xyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX1NUQVRFX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdEZWxpdmVyZWQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChlbnRyeS5kYXRhLnRvID09PSAnQ2FuY2VsbGVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdlcnJvcic7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTikge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0RlbGl2ZXJlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OKSB7XHJcbiAgICAgICAgICAgIGlmIChlbnRyeS5kYXRhLnRvID09PSAnRGVjbGluZWQnIHx8IGVudHJ5LmRhdGEudG8gPT09ICdDYW5jZWxsZWQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9DQU5DRUxMQVRJT04pIHtcclxuICAgICAgICAgICAgcmV0dXJuICdlcnJvcic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX1JFRlVORF9UUkFOU0lUSU9OKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAnZGVmYXVsdCc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGltZWxpbmVJY29uKGVudHJ5OiBPcmRlckhpc3RvcnlJdGVtKSB7XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfU1RBVEVfVFJBTlNJVElPTikge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0RlbGl2ZXJlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbJ3N1Y2Nlc3Mtc3RhbmRhcmQnLCAnaXMtc29saWQnXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0NhbmNlbGxlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmFuJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9QQVlNRU5UX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdTZXR0bGVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdjcmVkaXQtY2FyZCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfTk9URSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ25vdGUnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9NT0RJRklFRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ3BlbmNpbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdTaGlwcGVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0cnVjayc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdEZWxpdmVyZWQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RydWNrJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0ZlYXR1cmVkKGVudHJ5OiBPcmRlckhpc3RvcnlJdGVtKTogYm9vbGVhbiB7XHJcbiAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9TVEFURV9UUkFOU0lUSU9OOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5LmRhdGEudG8gPT09ICdEZWxpdmVyZWQnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgZW50cnkuZGF0YS50byA9PT0gJ0NhbmNlbGxlZCcgfHxcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5kYXRhLnRvID09PSAnU2V0dGxlZCdcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX1BBWU1FTlRfVFJBTlNJVElPTjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeS5kYXRhLnRvID09PSAnU2V0dGxlZCcgfHwgZW50cnkuZGF0YS50byA9PT0gJ0NhbmNlbGxlZCc7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5LmRhdGEudG8gPT09ICdEZWxpdmVyZWQnIHx8IGVudHJ5LmRhdGEudG8gPT09ICdTaGlwcGVkJztcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX05PVEU6XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9NT0RJRklFRDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRGdWxmaWxsbWVudChcclxuICAgICAgICBlbnRyeTogT3JkZXJIaXN0b3J5SXRlbSxcclxuICAgICk6IE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Z1bGZpbGxtZW50cyddPltudW1iZXJdIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX0ZVTEZJTExNRU5UIHx8XHJcbiAgICAgICAgICAgICAgICBlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04pICYmXHJcbiAgICAgICAgICAgIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9yZGVyLmZ1bGZpbGxtZW50cy5maW5kKGYgPT4gZi5pZCA9PT0gZW50cnkuZGF0YS5mdWxmaWxsbWVudElkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGF5bWVudChlbnRyeTogT3JkZXJIaXN0b3J5SXRlbSk6IE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+W251bWJlcl0gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX1BBWU1FTlRfVFJBTlNJVElPTiAmJiB0aGlzLm9yZGVyLnBheW1lbnRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9yZGVyLnBheW1lbnRzLmZpbmQocCA9PiBwLmlkID09PSBlbnRyeS5kYXRhLnBheW1lbnRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldENhbmNlbGxlZEl0ZW1zKGVudHJ5OiBPcmRlckhpc3RvcnlJdGVtKTogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHF1YW50aXR5OiBudW1iZXIgfT4ge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1NYXAgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICAgIGNvbnN0IGNhbmNlbGxlZEl0ZW1JZHM6IHN0cmluZ1tdID0gZW50cnkuZGF0YS5vcmRlckl0ZW1JZHM7XHJcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIHRoaXMub3JkZXIubGluZXMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGxpbmUuaXRlbXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjYW5jZWxsZWRJdGVtSWRzLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY291bnQgPSBpdGVtTWFwLmdldChsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1NYXAuc2V0KGxpbmUucHJvZHVjdFZhcmlhbnQubmFtZSwgY291bnQgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTWFwLnNldChsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShpdGVtTWFwLmVudHJpZXMoKSkubWFwKChbbmFtZSwgcXVhbnRpdHldKSA9PiAoeyBuYW1lLCBxdWFudGl0eSB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TW9kaWZpY2F0aW9uKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcmRlci5tb2RpZmljYXRpb25zLmZpbmQobSA9PiBtLmlkID09PSBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TmFtZShlbnRyeTogT3JkZXJIaXN0b3J5SXRlbSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgeyBhZG1pbmlzdHJhdG9yIH0gPSBlbnRyeTtcclxuICAgICAgICBpZiAoYWRtaW5pc3RyYXRvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7YWRtaW5pc3RyYXRvci5maXJzdE5hbWV9ICR7YWRtaW5pc3RyYXRvci5sYXN0TmFtZX1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbWVyID0gdGhpcy5vcmRlci5jdXN0b21lcjtcclxuICAgICAgICAgICAgaWYgKGN1c3RvbWVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7Y3VzdG9tZXIuZmlyc3ROYW1lfSAke2N1c3RvbWVyLmxhc3ROYW1lfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZE5vdGVUb09yZGVyKCkge1xyXG4gICAgICAgIHRoaXMuYWRkTm90ZS5lbWl0KHsgbm90ZTogdGhpcy5ub3RlLCBpc1B1YmxpYzogIXRoaXMubm90ZUlzUHJpdmF0ZSB9KTtcclxuICAgICAgICB0aGlzLm5vdGUgPSAnJztcclxuICAgICAgICB0aGlzLm5vdGVJc1ByaXZhdGUgPSB0cnVlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxoND57eyAnb3JkZXIub3JkZXItaGlzdG9yeScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG48ZGl2IGNsYXNzPVwiZW50cnktbGlzdFwiIFtjbGFzcy5leHBhbmRlZF09XCJleHBhbmRlZFwiPlxyXG4gICAgPHZkci10aW1lbGluZS1lbnRyeSBpY29uU2hhcGU9XCJub3RlXCIgZGlzcGxheVR5cGU9XCJtdXRlZFwiIFtmZWF0dXJlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGUtZW50cnlcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwibm90ZVwiIG5hbWU9XCJub3RlXCIgY2xhc3M9XCJub3RlXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgW2Rpc2FibGVkXT1cIiFub3RlXCIgKGNsaWNrKT1cImFkZE5vdGVUb09yZGVyKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdjb21tb24uYWRkLW5vdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2aXNpYmlsaXR5LXNlbGVjdFwiPlxyXG4gICAgICAgICAgICA8Y2xyLWNoZWNrYm94LXdyYXBwZXI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xyQ2hlY2tib3ggWyhuZ01vZGVsKV09XCJub3RlSXNQcml2YXRlXCIgLz5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57eyAnb3JkZXIubm90ZS1pcy1wcml2YXRlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvY2xyLWNoZWNrYm94LXdyYXBwZXI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibm90ZUlzUHJpdmF0ZVwiIGNsYXNzPVwicHJpdmF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLm5vdGUtb25seS12aXNpYmxlLXRvLWFkbWluaXN0cmF0b3JzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW5vdGVJc1ByaXZhdGVcIiBjbGFzcz1cInB1YmxpY1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLm5vdGUtdmlzaWJsZS10by1jdXN0b21lcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItdGltZWxpbmUtZW50cnk+XHJcbiAgICA8dmRyLXRpbWVsaW5lLWVudHJ5XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGhpc3RvcnlcIlxyXG4gICAgICAgIFtkaXNwbGF5VHlwZV09XCJnZXREaXNwbGF5VHlwZShlbnRyeSlcIlxyXG4gICAgICAgIFtpY29uU2hhcGVdPVwiZ2V0VGltZWxpbmVJY29uKGVudHJ5KVwiXHJcbiAgICAgICAgW2NyZWF0ZWRBdF09XCJlbnRyeS5jcmVhdGVkQXRcIlxyXG4gICAgICAgIFtuYW1lXT1cImdldE5hbWUoZW50cnkpXCJcclxuICAgICAgICBbZmVhdHVyZWRdPVwiaXNGZWF0dXJlZChlbnRyeSlcIlxyXG4gICAgICAgIFtjb2xsYXBzZWRdPVwiIWV4cGFuZGVkICYmICFpc0ZlYXR1cmVkKGVudHJ5KVwiXHJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbnRyeS50eXBlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfU1RBVEVfVFJBTlNJVElPTlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci5oaXN0b3J5LW9yZGVyLWZ1bGZpbGxlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJlbnRyeS5kYXRhLnRvID09PSAnQ2FuY2VsbGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci5oaXN0b3J5LW9yZGVyLWNhbmNlbGxlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImVudHJ5LmRhdGEudG8gIT09ICdDYW5jZWxsZWQnICYmIGVudHJ5LmRhdGEudG8gIT09ICdEZWxpdmVyZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ29yZGVyLmhpc3Rvcnktb3JkZXItdHJhbnNpdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGZyb206IGVudHJ5LmRhdGEuZnJvbSwgdG86IGVudHJ5LmRhdGEudG8gfVxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9NT0RJRklFRFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3Rvcnktb3JkZXItbW9kaWZpZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRNb2RpZmljYXRpb24oZW50cnkuZGF0YS5tb2RpZmljYXRpb25JZCkgYXMgbW9kaWZpY2F0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLm1vZGlmeS1vcmRlci1wcmljZS1kaWZmZXJlbmNlJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IG1vZGlmaWNhdGlvbi5wcmljZUNoYW5nZSB8IGxvY2FsZUN1cnJlbmN5OiBvcmRlci5jdXJyZW5jeUNvZGUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgY29sb3JUeXBlPVwic3VjY2Vzc1wiICpuZ0lmPVwibW9kaWZpY2F0aW9uLmlzU2V0dGxlZFwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5tb2RpZmljYXRpb24tc2V0dGxlZCcgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cImVycm9yXCIgKm5nSWY9XCIhbW9kaWZpY2F0aW9uLmlzU2V0dGxlZFwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5tb2RpZmljYXRpb24tbm90LXNldHRsZWQnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItbW9kaWZpY2F0aW9uLWRldGFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyXT1cIm9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmljYXRpb25dPVwibW9kaWZpY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLW1vZGlmaWNhdGlvbi1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW50cnkuZGF0YS50byA9PT0gJ1NldHRsZWQnOyBlbHNlIHJlZ3VsYXJQYXltZW50VHJhbnNpdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1wYXltZW50LXNldHRsZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLnRyYW5zYWN0aW9uLWlkJyB8IHRyYW5zbGF0ZSB9fToge3sgZ2V0UGF5bWVudChlbnRyeSk/LnRyYW5zYWN0aW9uSWQgfX1cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWhpc3RvcnktZW50cnktZGV0YWlsICpuZ0lmPVwiZ2V0UGF5bWVudChlbnRyeSkgYXMgcGF5bWVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLXBheW1lbnQtZGV0YWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF5bWVudF09XCJwYXltZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXJyZW5jeUNvZGVdPVwib3JkZXIuY3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLXBheW1lbnQtZGV0YWlsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWhpc3RvcnktZW50cnktZGV0YWlsPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3JlZ3VsYXJQYXltZW50VHJhbnNpdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnb3JkZXIuaGlzdG9yeS1wYXltZW50LXRyYW5zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IGVudHJ5LmRhdGEuZnJvbSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzogZW50cnkuZGF0YS50byxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZ2V0UGF5bWVudChlbnRyeSk/LnRyYW5zYWN0aW9uSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfUkVGVU5EX1RSQU5TSVRJT05cIj5cclxuICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgJ29yZGVyLmhpc3RvcnktcmVmdW5kLXRyYW5zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGZyb206IGVudHJ5LmRhdGEuZnJvbSwgdG86IGVudHJ5LmRhdGEudG8sIGlkOiBlbnRyeS5kYXRhLnJlZnVuZElkIH1cclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX0NBTkNFTExBVElPTlwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3RvcnktaXRlbXMtY2FuY2VsbGVkJyB8IHRyYW5zbGF0ZTogeyBjb3VudDogZW50cnkuZGF0YS5vcmRlckl0ZW1JZHMubGVuZ3RoIH0gfX1cclxuICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWwgKm5nSWY9XCJnZXRDYW5jZWxsZWRJdGVtcyhlbnRyeSkgYXMgaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ29yZGVyLmNhbmNlbGxhdGlvbi1yZWFzb24nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVudHJ5LmRhdGEucmVhc29uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuY29udGVudHMnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItc2ltcGxlLWl0ZW0tbGlzdCBbaXRlbXNdPVwiaXRlbXNcIj48L3Zkci1zaW1wbGUtaXRlbS1saXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ29yZGVyLnNoaXBwaW5nLWNhbmNlbGxlZCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZW50cnkuZGF0YS5zaGlwcGluZ0NhbmNlbGxlZCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWhpc3RvcnktZW50cnktZGV0YWlsPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9GVUxGSUxMTUVOVFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3RvcnktZnVsZmlsbG1lbnQtY3JlYXRlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWwgKm5nSWY9XCJnZXRGdWxmaWxsbWVudChlbnRyeSkgYXMgZnVsZmlsbG1lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWZ1bGZpbGxtZW50LWRldGFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZnVsZmlsbG1lbnRJZF09XCJmdWxmaWxsbWVudC5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvdmRyLWZ1bGZpbGxtZW50LWRldGFpbD5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWhpc3RvcnktZW50cnktZGV0YWlsPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW50cnkuZGF0YS50byA9PT0gJ0RlbGl2ZXJlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3RvcnktZnVsZmlsbG1lbnQtZGVsaXZlcmVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci50cmFja2luZy1jb2RlJyB8IHRyYW5zbGF0ZSB9fToge3sgZ2V0RnVsZmlsbG1lbnQoZW50cnkpPy50cmFja2luZ0NvZGUgfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVudHJ5LmRhdGEudG8gPT09ICdTaGlwcGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1mdWxmaWxsbWVudC1zaGlwcGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci50cmFja2luZy1jb2RlJyB8IHRyYW5zbGF0ZSB9fToge3sgZ2V0RnVsZmlsbG1lbnQoZW50cnkpPy50cmFja2luZ0NvZGUgfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVudHJ5LmRhdGEudG8gIT09ICdEZWxpdmVyZWQnICYmIGVudHJ5LmRhdGEudG8gIT09ICdTaGlwcGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5oaXN0b3J5LWZ1bGZpbGxtZW50LXRyYW5zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBmcm9tOiBlbnRyeS5kYXRhLmZyb20sIHRvOiBlbnRyeS5kYXRhLnRvIH1cclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWhpc3RvcnktZW50cnktZGV0YWlsICpuZ0lmPVwiZ2V0RnVsZmlsbG1lbnQoZW50cnkpIGFzIGZ1bGZpbGxtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1mdWxmaWxsbWVudC1kZXRhaWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Z1bGZpbGxtZW50SWRdPVwiZnVsZmlsbG1lbnQuaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3Zkci1mdWxmaWxsbWVudC1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICA8L3Zkci1oaXN0b3J5LWVudHJ5LWRldGFpbD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfTk9URVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkuaXNQdWJsaWNcIiBjbGFzcz1cIm5vdGUtdmlzaWJpbGl0eSBwdWJsaWNcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1vbi5wdWJsaWMnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFlbnRyeS5pc1B1YmxpY1wiIGNsYXNzPVwibm90ZS12aXNpYmlsaXR5IHByaXZhdGVcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1vbi5wcml2YXRlJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZW50cnkuZGF0YS5ub3RlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc3BhY2VyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVOb3RlLmVtaXQoZW50cnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISgnVXBkYXRlT3JkZXInIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImVkaXRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uZWRpdCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZU5vdGUuZW1pdChlbnRyeSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCdVcGRhdGVPcmRlcicgfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5kZWxldGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9DT1VQT05fQVBQTElFRFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3RvcnktY291cG9uLWNvZGUtYXBwbGllZCcgfCB0cmFuc2xhdGUgfX06XHJcbiAgICAgICAgICAgICAgICA8dmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbWFya2V0aW5nJywgJ3Byb21vdGlvbnMnLCBlbnRyeS5kYXRhLnByb21vdGlvbklkXVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5LmRhdGEuY291cG9uQ29kZVxyXG4gICAgICAgICAgICAgICAgICAgIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgPC92ZHItY2hpcD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfQ09VUE9OX1JFTU9WRURcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5oaXN0b3J5LWNvdXBvbi1jb2RlLXJlbW92ZWQnIHwgdHJhbnNsYXRlIH19OlxyXG4gICAgICAgICAgICAgICAgPHZkci1jaGlwXHJcbiAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwiY2FuY2VsbGVkLWNvdXBvbi1jb2RlXCI+e3sgZW50cnkuZGF0YS5jb3Vwb25Db2RlIH19PC9zcGFuPjwvdmRyLWNoaXBcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3Zkci10aW1lbGluZS1lbnRyeT5cclxuICAgIDx2ZHItdGltZWxpbmUtZW50cnkgW2lzTGFzdF09XCJ0cnVlXCIgW2NyZWF0ZWRBdF09XCJvcmRlci5jcmVhdGVkQXRcIiBbZmVhdHVyZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1vcmRlci1jcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItdGltZWxpbmUtZW50cnk+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFHSCxnQkFBZ0IsR0FJbkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFoQyxNQUFNLE9BQU8scUJBQXFCO0lBVzlCLFlBQW9CLDRCQUEwRDtRQUExRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBUnBFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUNsRSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDdEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ2hFLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ1IsU0FBSSxHQUFHLGdCQUFnQixDQUFDO0lBRWdELENBQUM7SUFFbEYsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBMkI7UUFDdEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFO1lBQ3hELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUMvQixPQUFPLFNBQVMsQ0FBQzthQUNwQjtZQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUMvQixPQUFPLE9BQU8sQ0FBQzthQUNsQjtTQUNKO1FBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLDRCQUE0QixFQUFFO1lBQzlELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUMvQixPQUFPLFNBQVMsQ0FBQzthQUNwQjtTQUNKO1FBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLHdCQUF3QixFQUFFO1lBQzFELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDL0QsT0FBTyxPQUFPLENBQUM7YUFDbEI7U0FDSjtRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRTtZQUNwRCxPQUFPLE9BQU8sQ0FBQztTQUNsQjtRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRTtZQUN6RCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFO1lBQ3hELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUMvQixPQUFPLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDM0M7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRTtZQUMxRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTtnQkFDN0IsT0FBTyxhQUFhLENBQUM7YUFDeEI7U0FDSjtRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDNUMsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxFQUFFO1lBQ2hELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLDRCQUE0QixFQUFFO1lBQzlELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUFFO2dCQUM3QixPQUFPLE9BQU8sQ0FBQzthQUNsQjtZQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFO2dCQUMvQixPQUFPLE9BQU8sQ0FBQzthQUNsQjtTQUNKO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUEyQjtRQUNsQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLENBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVztvQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVztvQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUM5QixDQUFDO2FBQ0w7WUFDRCxLQUFLLGdCQUFnQixDQUFDLHdCQUF3QjtnQkFDMUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDO1lBQ3hFLEtBQUssZ0JBQWdCLENBQUMsNEJBQTRCO2dCQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUM7WUFDeEUsS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7WUFDakMsS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjO2dCQUNoQyxPQUFPLElBQUksQ0FBQztZQUNoQjtnQkFDSSxPQUFPLEtBQUssQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBMkI7UUFDdEMsSUFDSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsaUJBQWlCO1lBQzlDLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsNEJBQTRCLENBQUM7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQ3pCO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQTJCO1FBQ2xDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNqRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUEyQjtRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUMxQyxNQUFNLGdCQUFnQixHQUFhLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNELEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUMzQixJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO3dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO3FCQUNwRDt5QkFBTTt3QkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUM1QztpQkFDSjthQUNKO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUEyQjtRQUMvQixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksYUFBYSxFQUFFO1lBQ2YsT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pFO2FBQU07WUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxJQUFJLFFBQVEsRUFBRTtnQkFDVixPQUFPLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDdkQ7U0FDSjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs7a0hBdkpRLHFCQUFxQjtzR0FBckIscUJBQXFCLDhMQ2hCbEMsODliQTJPQTsyRkQzTmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO21IQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBHZXRPcmRlckhpc3RvcnlRdWVyeSxcclxuICAgIEhpc3RvcnlFbnRyeUNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBIaXN0b3J5RW50cnlUeXBlLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIFRpbWVsaW5lRGlzcGxheVR5cGUsXHJcbiAgICBUaW1lbGluZUhpc3RvcnlFbnRyeSxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItb3JkZXItaGlzdG9yeScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItaGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9vcmRlci1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVySGlzdG9yeUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuICAgIEBJbnB1dCgpIGhpc3Rvcnk6IFRpbWVsaW5lSGlzdG9yeUVudHJ5W107XHJcbiAgICBAT3V0cHV0KCkgYWRkTm90ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBub3RlOiBzdHJpbmc7IGlzUHVibGljOiBib29sZWFuIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgdXBkYXRlTm90ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGltZWxpbmVIaXN0b3J5RW50cnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZGVsZXRlTm90ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGltZWxpbmVIaXN0b3J5RW50cnk+KCk7XHJcbiAgICBub3RlID0gJyc7XHJcbiAgICBub3RlSXNQcml2YXRlID0gdHJ1ZTtcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICByZWFkb25seSB0eXBlID0gSGlzdG9yeUVudHJ5VHlwZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhpc3RvcnlFbnRyeUNvbXBvbmVudFNlcnZpY2U6IEhpc3RvcnlFbnRyeUNvbXBvbmVudFNlcnZpY2UpIHt9XHJcblxyXG4gICAgaGFzQ3VzdG9tQ29tcG9uZW50KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuaGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZS5nZXRDb21wb25lbnQodHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGlzcGxheVR5cGUoZW50cnk6IFRpbWVsaW5lSGlzdG9yeUVudHJ5KTogVGltZWxpbmVEaXNwbGF5VHlwZSB7XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfU1RBVEVfVFJBTlNJVElPTikge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0RlbGl2ZXJlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdDYW5jZWxsZWQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OKSB7XHJcbiAgICAgICAgICAgIGlmIChlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9QQVlNRU5UX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdEZWNsaW5lZCcgfHwgZW50cnkuZGF0YS50byA9PT0gJ0NhbmNlbGxlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX0NBTkNFTExBVElPTikge1xyXG4gICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfUkVGVU5EX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICdkZWZhdWx0JztcclxuICAgIH1cclxuXHJcbiAgICBnZXRUaW1lbGluZUljb24oZW50cnk6IFRpbWVsaW5lSGlzdG9yeUVudHJ5KSB7XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfU1RBVEVfVFJBTlNJVElPTikge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0RlbGl2ZXJlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbJ3N1Y2Nlc3Mtc3RhbmRhcmQnLCAnaXMtc29saWQnXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZW50cnkuZGF0YS50byA9PT0gJ0NhbmNlbGxlZCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYmFuJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9QQVlNRU5UX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdTZXR0bGVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdjcmVkaXQtY2FyZCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfTk9URSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ25vdGUnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW50cnkudHlwZSA9PT0gSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9NT0RJRklFRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ3BlbmNpbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04pIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdTaGlwcGVkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0cnVjayc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGVudHJ5LmRhdGEudG8gPT09ICdEZWxpdmVyZWQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RydWNrJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0ZlYXR1cmVkKGVudHJ5OiBUaW1lbGluZUhpc3RvcnlFbnRyeSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHN3aXRjaCAoZW50cnkudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfU1RBVEVfVFJBTlNJVElPTjoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5LmRhdGEudG8gPT09ICdDYW5jZWxsZWQnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgZW50cnkuZGF0YS50byA9PT0gJ1NldHRsZWQnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9QQVlNRU5UX1RSQU5TSVRJT046XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnkuZGF0YS50byA9PT0gJ1NldHRsZWQnIHx8IGVudHJ5LmRhdGEudG8gPT09ICdDYW5jZWxsZWQnO1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJyB8fCBlbnRyeS5kYXRhLnRvID09PSAnU2hpcHBlZCc7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5PUkRFUl9OT1RFOlxyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfTU9ESUZJRUQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RnVsZmlsbG1lbnQoZW50cnk6IFRpbWVsaW5lSGlzdG9yeUVudHJ5KTogTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl0gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfRlVMRklMTE1FTlQgfHxcclxuICAgICAgICAgICAgICAgIGVudHJ5LnR5cGUgPT09IEhpc3RvcnlFbnRyeVR5cGUuT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTikgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlci5mdWxmaWxsbWVudHNcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzLmZpbmQoZiA9PiBmLmlkID09PSBlbnRyeS5kYXRhLmZ1bGZpbGxtZW50SWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRQYXltZW50KGVudHJ5OiBUaW1lbGluZUhpc3RvcnlFbnRyeSk6IE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+W251bWJlcl0gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChlbnRyeS50eXBlID09PSBIaXN0b3J5RW50cnlUeXBlLk9SREVSX1BBWU1FTlRfVFJBTlNJVElPTiAmJiB0aGlzLm9yZGVyLnBheW1lbnRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9yZGVyLnBheW1lbnRzLmZpbmQocCA9PiBwLmlkID09PSBlbnRyeS5kYXRhLnBheW1lbnRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldENhbmNlbGxlZEl0ZW1zKGVudHJ5OiBUaW1lbGluZUhpc3RvcnlFbnRyeSk6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBxdWFudGl0eTogbnVtYmVyIH0+IHtcclxuICAgICAgICBjb25zdCBpdGVtTWFwID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICBjb25zdCBjYW5jZWxsZWRJdGVtSWRzOiBzdHJpbmdbXSA9IGVudHJ5LmRhdGEub3JkZXJJdGVtSWRzO1xyXG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiB0aGlzLm9yZGVyLmxpbmVzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaW5lLml0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsbGVkSXRlbUlkcy5pbmNsdWRlcyhpdGVtLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gaXRlbU1hcC5nZXQobGluZS5wcm9kdWN0VmFyaWFudC5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTWFwLnNldChsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUsIGNvdW50ICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbU1hcC5zZXQobGluZS5wcm9kdWN0VmFyaWFudC5uYW1lLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oaXRlbU1hcC5lbnRyaWVzKCkpLm1hcCgoW25hbWUsIHF1YW50aXR5XSkgPT4gKHsgbmFtZSwgcXVhbnRpdHkgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vZGlmaWNhdGlvbihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXIubW9kaWZpY2F0aW9ucy5maW5kKG0gPT4gbS5pZCA9PT0gaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5hbWUoZW50cnk6IFRpbWVsaW5lSGlzdG9yeUVudHJ5KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB7IGFkbWluaXN0cmF0b3IgfSA9IGVudHJ5O1xyXG4gICAgICAgIGlmIChhZG1pbmlzdHJhdG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHthZG1pbmlzdHJhdG9yLmZpcnN0TmFtZX0gJHthZG1pbmlzdHJhdG9yLmxhc3ROYW1lfWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgY3VzdG9tZXIgPSB0aGlzLm9yZGVyLmN1c3RvbWVyO1xyXG4gICAgICAgICAgICBpZiAoY3VzdG9tZXIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtjdXN0b21lci5maXJzdE5hbWV9ICR7Y3VzdG9tZXIubGFzdE5hbWV9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTm90ZVRvT3JkZXIoKSB7XHJcbiAgICAgICAgdGhpcy5hZGROb3RlLmVtaXQoeyBub3RlOiB0aGlzLm5vdGUsIGlzUHVibGljOiAhdGhpcy5ub3RlSXNQcml2YXRlIH0pO1xyXG4gICAgICAgIHRoaXMubm90ZSA9ICcnO1xyXG4gICAgICAgIHRoaXMubm90ZUlzUHJpdmF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIiwiPGg0Pnt7ICdvcmRlci5vcmRlci1oaXN0b3J5JyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbjxkaXYgY2xhc3M9XCJlbnRyeS1saXN0XCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCI+XHJcbiAgICA8dmRyLXRpbWVsaW5lLWVudHJ5IGljb25TaGFwZT1cIm5vdGVcIiBkaXNwbGF5VHlwZT1cIm11dGVkXCIgW2ZlYXR1cmVkXT1cInRydWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90ZS1lbnRyeVwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgWyhuZ01vZGVsKV09XCJub3RlXCIgbmFtZT1cIm5vdGVcIiBjbGFzcz1cIm5vdGVcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBbZGlzYWJsZWRdPVwiIW5vdGVcIiAoY2xpY2spPVwiYWRkTm90ZVRvT3JkZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5hZGQtbm90ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZpc2liaWxpdHktc2VsZWN0XCI+XHJcbiAgICAgICAgICAgIDxjbHItY2hlY2tib3gtd3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbHJDaGVja2JveCBbKG5nTW9kZWwpXT1cIm5vdGVJc1ByaXZhdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7ICdvcmRlci5ub3RlLWlzLXByaXZhdGUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9jbHItY2hlY2tib3gtd3JhcHBlcj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJub3RlSXNQcml2YXRlXCIgY2xhc3M9XCJwcml2YXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIubm90ZS1vbmx5LXZpc2libGUtdG8tYWRtaW5pc3RyYXRvcnMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbm90ZUlzUHJpdmF0ZVwiIGNsYXNzPVwicHVibGljXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIubm90ZS12aXNpYmxlLXRvLWN1c3RvbWVyJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3Zkci10aW1lbGluZS1lbnRyeT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGhpc3RvcnlcIj5cclxuICAgICAgICA8dmRyLW9yZGVyLWhpc3RvcnktZW50cnktaG9zdFxyXG4gICAgICAgICAgICAqbmdJZj1cImhhc0N1c3RvbUNvbXBvbmVudChlbnRyeS50eXBlKTsgZWxzZSBkZWZhdWx0Q29tcG9uZW50c1wiXHJcbiAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiXHJcbiAgICAgICAgICAgIFtlbnRyeV09XCJlbnRyeVwiXHJcbiAgICAgICAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiXHJcbiAgICAgICAgICAgIChleHBhbmRDbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXHJcbiAgICAgICAgPjwvdmRyLW9yZGVyLWhpc3RvcnktZW50cnktaG9zdD5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb21wb25lbnRzPlxyXG4gICAgICAgICAgICA8dmRyLXRpbWVsaW5lLWVudHJ5XHJcbiAgICAgICAgICAgICAgICBbZGlzcGxheVR5cGVdPVwiZ2V0RGlzcGxheVR5cGUoZW50cnkpXCJcclxuICAgICAgICAgICAgICAgIFtpY29uU2hhcGVdPVwiZ2V0VGltZWxpbmVJY29uKGVudHJ5KVwiXHJcbiAgICAgICAgICAgICAgICBbY3JlYXRlZEF0XT1cImVudHJ5LmNyZWF0ZWRBdFwiXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJnZXROYW1lKGVudHJ5KVwiXHJcbiAgICAgICAgICAgICAgICBbZmVhdHVyZWRdPVwiaXNGZWF0dXJlZChlbnRyeSlcIlxyXG4gICAgICAgICAgICAgICAgW2NvbGxhcHNlZF09XCIhZXhwYW5kZWQgJiYgIWlzRmVhdHVyZWQoZW50cnkpXCJcclxuICAgICAgICAgICAgICAgIChleHBhbmRDbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVudHJ5LnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX1NUQVRFX1RSQU5TSVRJT05cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3Rvcnktb3JkZXItZnVsZmlsbGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJlbnRyeS5kYXRhLnRvID09PSAnQ2FuY2VsbGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3Rvcnktb3JkZXItY2FuY2VsbGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImVudHJ5LmRhdGEudG8gIT09ICdDYW5jZWxsZWQnICYmIGVudHJ5LmRhdGEudG8gIT09ICdEZWxpdmVyZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5oaXN0b3J5LW9yZGVyLXRyYW5zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGZyb206IGVudHJ5LmRhdGEuZnJvbSwgdG86IGVudHJ5LmRhdGEudG8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX01PRElGSUVEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3Rvcnktb3JkZXItbW9kaWZpZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0TW9kaWZpY2F0aW9uKGVudHJ5LmRhdGEubW9kaWZpY2F0aW9uSWQpIGFzIG1vZGlmaWNhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLm1vZGlmeS1vcmRlci1wcmljZS1kaWZmZXJlbmNlJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmljYXRpb24ucHJpY2VDaGFuZ2UgfCBsb2NhbGVDdXJyZW5jeTogb3JkZXIuY3VycmVuY3lDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cInN1Y2Nlc3NcIiAqbmdJZj1cIm1vZGlmaWNhdGlvbi5pc1NldHRsZWRcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5tb2RpZmljYXRpb24tc2V0dGxlZCcgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBjb2xvclR5cGU9XCJlcnJvclwiICpuZ0lmPVwiIW1vZGlmaWNhdGlvbi5pc1NldHRsZWRcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5tb2RpZmljYXRpb24tbm90LXNldHRsZWQnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWhpc3RvcnktZW50cnktZGV0YWlsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItbW9kaWZpY2F0aW9uLWRldGFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpY2F0aW9uXT1cIm1vZGlmaWNhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLW1vZGlmaWNhdGlvbi1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1oaXN0b3J5LWVudHJ5LWRldGFpbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9QQVlNRU5UX1RSQU5TSVRJT05cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVudHJ5LmRhdGEudG8gPT09ICdTZXR0bGVkJzsgZWxzZSByZWd1bGFyUGF5bWVudFRyYW5zaXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci5oaXN0b3J5LXBheW1lbnQtc2V0dGxlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLnRyYW5zYWN0aW9uLWlkJyB8IHRyYW5zbGF0ZSB9fToge3sgZ2V0UGF5bWVudChlbnRyeSk/LnRyYW5zYWN0aW9uSWQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWwgKm5nSWY9XCJnZXRQYXltZW50KGVudHJ5KSBhcyBwYXltZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1wYXltZW50LWRldGFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF5bWVudF09XCJwYXltZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbmN5Q29kZV09XCJvcmRlci5jdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3Zkci1wYXltZW50LWRldGFpbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWhpc3RvcnktZW50cnktZGV0YWlsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyZWd1bGFyUGF5bWVudFRyYW5zaXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5oaXN0b3J5LXBheW1lbnQtdHJhbnNpdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogZW50cnkuZGF0YS5mcm9tLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG86IGVudHJ5LmRhdGEudG8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZ2V0UGF5bWVudChlbnRyeSk/LnRyYW5zYWN0aW9uSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX1JFRlVORF9UUkFOU0lUSU9OXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JkZXIuaGlzdG9yeS1yZWZ1bmQtdHJhbnNpdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHsgZnJvbTogZW50cnkuZGF0YS5mcm9tLCB0bzogZW50cnkuZGF0YS50bywgaWQ6IGVudHJ5LmRhdGEucmVmdW5kSWQgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInR5cGUuT1JERVJfQ0FOQ0VMTEFUSU9OXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JkZXIuaGlzdG9yeS1pdGVtcy1jYW5jZWxsZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGVudHJ5LmRhdGEub3JkZXJJdGVtSWRzLmxlbmd0aCB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWwgKm5nSWY9XCJnZXRDYW5jZWxsZWRJdGVtcyhlbnRyeSkgYXMgaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuY2FuY2VsbGF0aW9uLXJlYXNvbicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbnRyeS5kYXRhLnJlYXNvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidvcmRlci5jb250ZW50cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLXNpbXBsZS1pdGVtLWxpc3QgW2l0ZW1zXT1cIml0ZW1zXCI+PC92ZHItc2ltcGxlLWl0ZW0tbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuc2hpcHBpbmctY2FuY2VsbGVkJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVudHJ5LmRhdGEuc2hpcHBpbmdDYW5jZWxsZWQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9GVUxGSUxMTUVOVFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1mdWxmaWxsbWVudC1jcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWhpc3RvcnktZW50cnktZGV0YWlsICpuZ0lmPVwiZ2V0RnVsZmlsbG1lbnQoZW50cnkpIGFzIGZ1bGZpbGxtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWZ1bGZpbGxtZW50LWRldGFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmdWxmaWxsbWVudElkXT1cImZ1bGZpbGxtZW50LmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLWZ1bGZpbGxtZW50LWRldGFpbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbnRyeS5kYXRhLnRvID09PSAnRGVsaXZlcmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmhpc3RvcnktZnVsZmlsbG1lbnQtZGVsaXZlcmVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIudHJhY2tpbmctY29kZScgfCB0cmFuc2xhdGUgfX06IHt7IGdldEZ1bGZpbGxtZW50KGVudHJ5KT8udHJhY2tpbmdDb2RlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW50cnkuZGF0YS50byA9PT0gJ1NoaXBwZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1mdWxmaWxsbWVudC1zaGlwcGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIudHJhY2tpbmctY29kZScgfCB0cmFuc2xhdGUgfX06IHt7IGdldEZ1bGZpbGxtZW50KGVudHJ5KT8udHJhY2tpbmdDb2RlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW50cnkuZGF0YS50byAhPT0gJ0RlbGl2ZXJlZCcgJiYgZW50cnkuZGF0YS50byAhPT0gJ1NoaXBwZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlci5oaXN0b3J5LWZ1bGZpbGxtZW50LXRyYW5zaXRpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGZyb206IGVudHJ5LmRhdGEuZnJvbSwgdG86IGVudHJ5LmRhdGEudG8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWwgKm5nSWY9XCJnZXRGdWxmaWxsbWVudChlbnRyeSkgYXMgZnVsZmlsbG1lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZnVsZmlsbG1lbnQtZGV0YWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Z1bGZpbGxtZW50SWRdPVwiZnVsZmlsbG1lbnQuaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItZnVsZmlsbG1lbnQtZGV0YWlsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1oaXN0b3J5LWVudHJ5LWRldGFpbD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX05PVEVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub3RlLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LmlzUHVibGljXCIgY2xhc3M9XCJub3RlLXZpc2liaWxpdHkgcHVibGljXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1vbi5wdWJsaWMnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZW50cnkuaXNQdWJsaWNcIiBjbGFzcz1cIm5vdGUtdmlzaWJpbGl0eSBwcml2YXRlXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1vbi5wcml2YXRlJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVudHJ5LmRhdGEubm90ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZU5vdGUuZW1pdChlbnRyeSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoJ1VwZGF0ZU9yZGVyJyB8IGhhc1Blcm1pc3Npb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZWRpdFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHJEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVOb3RlLmVtaXQoZW50cnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKCdVcGRhdGVPcmRlcicgfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRyYXNoXCIgY2xhc3M9XCJpcy1kYW5nZXJcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5kZWxldGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZS5PUkRFUl9DT1VQT05fQVBQTElFRFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1jb3Vwb24tY29kZS1hcHBsaWVkJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbWFya2V0aW5nJywgJ3Byb21vdGlvbnMnLCBlbnRyeS5kYXRhLnByb21vdGlvbklkXVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnkuZGF0YS5jb3Vwb25Db2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0eXBlLk9SREVSX0NPVVBPTl9SRU1PVkVEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdvcmRlci5oaXN0b3J5LWNvdXBvbi1jb2RlLXJlbW92ZWQnIHwgdHJhbnNsYXRlIH19OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3BhbiBjbGFzcz1cImNhbmNlbGxlZC1jb3Vwb24tY29kZVwiPnt7IGVudHJ5LmRhdGEuY291cG9uQ29kZSB9fTwvc3Bhbj48L3Zkci1jaGlwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW50cnkudHlwZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1oaXN0b3J5LWVudHJ5LWRldGFpbCAqbmdJZj1cImVudHJ5LmRhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cImVudHJ5LmRhdGFcIj48L3Zkci1vYmplY3QtdHJlZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItaGlzdG9yeS1lbnRyeS1kZXRhaWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC92ZHItdGltZWxpbmUtZW50cnk+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDx2ZHItdGltZWxpbmUtZW50cnkgW2lzTGFzdF09XCJ0cnVlXCIgW2NyZWF0ZWRBdF09XCJvcmRlci5jcmVhdGVkQXRcIiBbZmVhdHVyZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIuaGlzdG9yeS1vcmRlci1jcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItdGltZWxpbmUtZW50cnk+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { RouterModule } from '@angular/router';
|
|
|
3
3
|
import { SharedModule } from '@vendure/admin-ui/core';
|
|
4
4
|
import { AddManualPaymentDialogComponent } from './components/add-manual-payment-dialog/add-manual-payment-dialog.component';
|
|
5
5
|
import { CancelOrderDialogComponent } from './components/cancel-order-dialog/cancel-order-dialog.component';
|
|
6
|
+
import { CouponCodeSelectorComponent } from './components/coupon-code-selector/coupon-code-selector.component';
|
|
6
7
|
import { DraftOrderDetailComponent } from './components/draft-order-detail/draft-order-detail.component';
|
|
7
8
|
import { DraftOrderVariantSelectorComponent } from './components/draft-order-variant-selector/draft-order-variant-selector.component';
|
|
8
9
|
import { FulfillOrderDialogComponent } from './components/fulfill-order-dialog/fulfill-order-dialog.component';
|
|
@@ -16,6 +17,7 @@ import { OrderCustomFieldsCardComponent } from './components/order-custom-fields
|
|
|
16
17
|
import { OrderDetailComponent } from './components/order-detail/order-detail.component';
|
|
17
18
|
import { OrderEditorComponent } from './components/order-editor/order-editor.component';
|
|
18
19
|
import { OrderEditsPreviewDialogComponent } from './components/order-edits-preview-dialog/order-edits-preview-dialog.component';
|
|
20
|
+
import { OrderHistoryEntryHostComponent } from './components/order-history/order-history-entry-host.component';
|
|
19
21
|
import { OrderHistoryComponent } from './components/order-history/order-history.component';
|
|
20
22
|
import { OrderListComponent } from './components/order-list/order-list.component';
|
|
21
23
|
import { OrderPaymentCardComponent } from './components/order-payment-card/order-payment-card.component';
|
|
@@ -29,13 +31,12 @@ import { PaymentDetailComponent } from './components/payment-detail/payment-deta
|
|
|
29
31
|
import { PaymentStateLabelComponent } from './components/payment-state-label/payment-state-label.component';
|
|
30
32
|
import { RefundOrderDialogComponent } from './components/refund-order-dialog/refund-order-dialog.component';
|
|
31
33
|
import { RefundStateLabelComponent } from './components/refund-state-label/refund-state-label.component';
|
|
34
|
+
import { SelectAddressDialogComponent } from './components/select-address-dialog/select-address-dialog.component';
|
|
32
35
|
import { SelectCustomerDialogComponent } from './components/select-customer-dialog/select-customer-dialog.component';
|
|
36
|
+
import { SelectShippingMethodDialogComponent } from './components/select-shipping-method-dialog/select-shipping-method-dialog.component';
|
|
33
37
|
import { SettleRefundDialogComponent } from './components/settle-refund-dialog/settle-refund-dialog.component';
|
|
34
38
|
import { SimpleItemListComponent } from './components/simple-item-list/simple-item-list.component';
|
|
35
39
|
import { orderRoutes } from './order.routes';
|
|
36
|
-
import { SelectAddressDialogComponent } from './components/select-address-dialog/select-address-dialog.component';
|
|
37
|
-
import { CouponCodeSelectorComponent } from './components/coupon-code-selector/coupon-code-selector.component';
|
|
38
|
-
import { SelectShippingMethodDialogComponent } from './components/select-shipping-method-dialog/select-shipping-method-dialog.component';
|
|
39
40
|
import * as i0 from "@angular/core";
|
|
40
41
|
import * as i1 from "@angular/router";
|
|
41
42
|
export class OrderModule {
|
|
@@ -74,7 +75,8 @@ OrderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
74
75
|
SelectCustomerDialogComponent,
|
|
75
76
|
SelectAddressDialogComponent,
|
|
76
77
|
CouponCodeSelectorComponent,
|
|
77
|
-
SelectShippingMethodDialogComponent
|
|
78
|
+
SelectShippingMethodDialogComponent,
|
|
79
|
+
OrderHistoryEntryHostComponent], imports: [SharedModule, i1.RouterModule] });
|
|
78
80
|
OrderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderModule, imports: [[SharedModule, RouterModule.forChild(orderRoutes)]] });
|
|
79
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderModule, decorators: [{
|
|
80
82
|
type: NgModule,
|
|
@@ -115,7 +117,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
115
117
|
SelectAddressDialogComponent,
|
|
116
118
|
CouponCodeSelectorComponent,
|
|
117
119
|
SelectShippingMethodDialogComponent,
|
|
120
|
+
OrderHistoryEntryHostComponent,
|
|
118
121
|
],
|
|
119
122
|
}]
|
|
120
123
|
}] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvb3JkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN4SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFP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d0JBQzFCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qiw4QkFBOEI7d0JBQzlCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLGdDQUFnQzt3QkFDaEMsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixnQ0FBZ0M7d0JBQ2hDLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3dCQUNsQyw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQixtQ0FBbUM7cUJBQ3RDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYW5jZWxPcmRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYW5jZWwtb3JkZXItZGlhbG9nL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJhZnRPcmRlckRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFmdC1vcmRlci1kZXRhaWwvZHJhZnQtb3JkZXItZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYWZ0T3JkZXJWYXJpYW50U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZnQtb3JkZXItdmFyaWFudC1zZWxlY3Rvci9kcmFmdC1vcmRlci12YXJpYW50LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZ1bGZpbGxPcmRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdWxmaWxsLW9yZGVyLWRpYWxvZy9mdWxmaWxsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdWxmaWxsbWVudENhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVsZmlsbG1lbnQtY2FyZC9mdWxmaWxsbWVudC1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZ1bGZpbGxtZW50RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWRldGFpbC9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsZmlsbG1lbnRTdGF0ZUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Z1bGZpbGxtZW50LXN0YXRlLWxhYmVsL2Z1bGZpbGxtZW50LXN0YXRlLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmVGdWxmaWxsbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saW5lLWZ1bGZpbGxtZW50L2xpbmUtZnVsZmlsbG1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGluZVJlZnVuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGluZS1yZWZ1bmRzL2xpbmUtcmVmdW5kcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RpZmljYXRpb25EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kaWZpY2F0aW9uLWRldGFpbC9tb2RpZmljYXRpb24tZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyQ3VzdG9tRmllbGRzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1jdXN0b20tZmllbGRzLWNhcmQvb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItZWRpdG9yL29yZGVyLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlckVkaXRzUHJldmlld0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1lZGl0cy1wcmV2aWV3LWRpYWxvZy9vcmRlci1lZGl0cy1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlckhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItaGlzdG9yeS9vcmRlci1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1saXN0L29yZGVyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJQYXltZW50Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1wYXltZW50LWNhcmQvb3JkZXItcGF5bWVudC1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyUHJvY2Vzc0dyYXBoRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXByb2Nlc3MtZ3JhcGgtZGlhbG9nL29yZGVyLXByb2Nlc3MtZ3JhcGgtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyUHJvY2Vzc0VkZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC9vcmRlci1wcm9jZXNzLWVkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJQcm9jZXNzR3JhcGhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC9vcmRlci1wcm9jZXNzLWdyYXBoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyUHJvY2Vzc05vZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC9vcmRlci1wcm9jZXNzLW5vZGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJTdGF0ZVNlbGVjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1zdGF0ZS1zZWxlY3QtZGlhbG9nL29yZGVyLXN0YXRlLXNlbGVjdC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci10YWJsZS9vcmRlci10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXltZW50RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtZGV0YWlsL3BheW1lbnQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRTdGF0ZUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtc3RhdGUtbGFiZWwvcGF5bWVudC1zdGF0ZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWZ1bmRPcmRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWZ1bmQtb3JkZXItZGlhbG9nL3JlZnVuZC1vcmRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVmdW5kU3RhdGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWZ1bmQtc3RhdGUtbGFiZWwvcmVmdW5kLXN0YXRlLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1jdXN0b21lci1kaWFsb2cvc2VsZWN0LWN1c3RvbWVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0bGVSZWZ1bmREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGxlLXJlZnVuZC1kaWFsb2cvc2V0dGxlLXJlZnVuZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlSXRlbUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2ltcGxlLWl0ZW0tbGlzdC9zaW1wbGUtaXRlbS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IG9yZGVyUm91dGVzIH0gZnJvbSAnLi9vcmRlci5yb3V0ZXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RBZGRyZXNzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1hZGRyZXNzLWRpYWxvZy9zZWxlY3QtYWRkcmVzcy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291cG9uQ29kZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdXBvbi1jb2RlLXNlbGVjdG9yL2NvdXBvbi1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFNoaXBwaW5nTWV0aG9kRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1zaGlwcGluZy1tZXRob2QtZGlhbG9nL3NlbGVjdC1zaGlwcGluZy1tZXRob2QtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZSwgUm91dGVyTW9kdWxlLmZvckNoaWxkKG9yZGVyUm91dGVzKV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBPcmRlckxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgRnVsZmlsbE9yZGVyRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIExpbmVGdWxmaWxsbWVudENvbXBvbmVudCxcclxuICAgICAgICBSZWZ1bmRPcmRlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBDYW5jZWxPcmRlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50U3RhdGVMYWJlbENvbXBvbmVudCxcclxuICAgICAgICBMaW5lUmVmdW5kc0NvbXBvbmVudCxcclxuICAgICAgICBPcmRlclBheW1lbnRDYXJkQ29tcG9uZW50LFxyXG4gICAgICAgIFJlZnVuZFN0YXRlTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGxlUmVmdW5kRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVySGlzdG9yeUNvbXBvbmVudCxcclxuICAgICAgICBGdWxmaWxsbWVudERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFNpbXBsZUl0ZW1MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyQ3VzdG9tRmllbGRzQ2FyZENvbXBvbmVudCxcclxuICAgICAgICBPcmRlclByb2Nlc3NHcmFwaENvbXBvbmVudCxcclxuICAgICAgICBPcmRlclByb2Nlc3NOb2RlQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyUHJvY2Vzc0VkZ2VDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJQcm9jZXNzR3JhcGhEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgRnVsZmlsbG1lbnRTdGF0ZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgICAgIEZ1bGZpbGxtZW50Q2FyZENvbXBvbmVudCxcclxuICAgICAgICBPcmRlckVkaXRvckNvbXBvbmVudCxcclxuICAgICAgICBPcmRlclRhYmxlQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyRWRpdHNQcmV2aWV3RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIE1vZGlmaWNhdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyU3RhdGVTZWxlY3REaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgRHJhZnRPcmRlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBEcmFmdE9yZGVyVmFyaWFudFNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGVjdEFkZHJlc3NEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgQ291cG9uQ29kZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGVjdFNoaXBwaW5nTWV0aG9kRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvb3JkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN4SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFP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Qjt3QkFDekIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QixnQ0FBZ0M7d0JBQ2hDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsZ0NBQWdDO3dCQUNoQywyQkFBMkI7d0JBQzNCLCtCQUErQjt3QkFDL0IsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsbUNBQW1DO3dCQUNuQyw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYW5jZWxPcmRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYW5jZWwtb3JkZXItZGlhbG9nL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291cG9uQ29kZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdXBvbi1jb2RlLXNlbGVjdG9yL2NvdXBvbi1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYWZ0T3JkZXJEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZnQtb3JkZXItZGV0YWlsL2RyYWZ0LW9yZGVyLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmFmdE9yZGVyVmFyaWFudFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0LW9yZGVyLXZhcmlhbnQtc2VsZWN0b3IvZHJhZnQtb3JkZXItdmFyaWFudC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdWxmaWxsT3JkZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVsZmlsbC1vcmRlci1kaWFsb2cvZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsZmlsbG1lbnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWNhcmQvZnVsZmlsbG1lbnQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdWxmaWxsbWVudERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdWxmaWxsbWVudC1kZXRhaWwvZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZ1bGZpbGxtZW50U3RhdGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaW5lRnVsZmlsbG1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGluZS1mdWxmaWxsbWVudC9saW5lLWZ1bGZpbGxtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmVSZWZ1bmRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpbmUtcmVmdW5kcy9saW5lLXJlZnVuZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9kaWZpY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGlmaWNhdGlvbi1kZXRhaWwvbW9kaWZpY2F0aW9uLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlckN1c3RvbUZpZWxkc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlckRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1kZXRhaWwvb3JkZXItZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWVkaXRvci9vcmRlci1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJFZGl0c1ByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItZWRpdHMtcHJldmlldy1kaWFsb2cvb3JkZXItZWRpdHMtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJIaXN0b3J5RW50cnlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS1lbnRyeS1ob3N0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVySGlzdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1oaXN0b3J5L29yZGVyLWhpc3RvcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWxpc3Qvb3JkZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclBheW1lbnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXBheW1lbnQtY2FyZC9vcmRlci1wYXltZW50LWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJQcm9jZXNzR3JhcGhEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC1kaWFsb2cvb3JkZXItcHJvY2Vzcy1ncmFwaC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJQcm9jZXNzRWRnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1wcm9jZXNzLWdyYXBoL29yZGVyLXByb2Nlc3MtZWRnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclByb2Nlc3NHcmFwaENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1wcm9jZXNzLWdyYXBoL29yZGVyLXByb2Nlc3MtZ3JhcGguY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJQcm9jZXNzTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1wcm9jZXNzLWdyYXBoL29yZGVyLXByb2Nlc3Mtbm9kZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclN0YXRlU2VsZWN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXN0YXRlLXNlbGVjdC1kaWFsb2cvb3JkZXItc3RhdGUtc2VsZWN0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXRhYmxlL29yZGVyLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnREZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1kZXRhaWwvcGF5bWVudC1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGF5bWVudFN0YXRlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1zdGF0ZS1sYWJlbC9wYXltZW50LXN0YXRlLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZnVuZE9yZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZnVuZC1vcmRlci1kaWFsb2cvcmVmdW5kLW9yZGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWZ1bmRTdGF0ZUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZnVuZC1zdGF0ZS1sYWJlbC9yZWZ1bmQtc3RhdGUtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0QWRkcmVzc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtYWRkcmVzcy1kaWFsb2cvc2VsZWN0LWFkZHJlc3MtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1jdXN0b21lci1kaWFsb2cvc2VsZWN0LWN1c3RvbWVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaGlwcGluZ01ldGhvZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qtc2hpcHBpbmctbWV0aG9kLWRpYWxvZy9zZWxlY3Qtc2hpcHBpbmctbWV0aG9kLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0bGVSZWZ1bmREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGxlLXJlZnVuZC1kaWFsb2cvc2V0dGxlLXJlZnVuZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlSXRlbUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2ltcGxlLWl0ZW0tbGlzdC9zaW1wbGUtaXRlbS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IG9yZGVyUm91dGVzIH0gZnJvbSAnLi9vcmRlci5yb3V0ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChvcmRlclJvdXRlcyldLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgT3JkZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEZ1bGZpbGxPcmRlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBMaW5lRnVsZmlsbG1lbnRDb21wb25lbnQsXHJcbiAgICAgICAgUmVmdW5kT3JkZXJEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgQ2FuY2VsT3JkZXJEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgUGF5bWVudFN0YXRlTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgTGluZVJlZnVuZHNDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJQYXltZW50Q2FyZENvbXBvbmVudCxcclxuICAgICAgICBSZWZ1bmRTdGF0ZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRsZVJlZnVuZERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBPcmRlckhpc3RvcnlDb21wb25lbnQsXHJcbiAgICAgICAgRnVsZmlsbG1lbnREZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgUGF5bWVudERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTaW1wbGVJdGVtTGlzdENvbXBvbmVudCxcclxuICAgICAgICBPcmRlckN1c3RvbUZpZWxkc0NhcmRDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJQcm9jZXNzR3JhcGhDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJQcm9jZXNzTm9kZUNvbXBvbmVudCxcclxuICAgICAgICBPcmRlclByb2Nlc3NFZGdlQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyUHJvY2Vzc0dyYXBoRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIEZ1bGZpbGxtZW50U3RhdGVMYWJlbENvbXBvbmVudCxcclxuICAgICAgICBGdWxmaWxsbWVudENhcmRDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJFZGl0b3JDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBPcmRlckVkaXRzUHJldmlld0RpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBNb2RpZmljYXRpb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgQWRkTWFudWFsUGF5bWVudERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBPcmRlclN0YXRlU2VsZWN0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIERyYWZ0T3JkZXJEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgRHJhZnRPcmRlclZhcmlhbnRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgICAgICBTZWxlY3RDdXN0b21lckRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBTZWxlY3RBZGRyZXNzRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIENvdXBvbkNvZGVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgICAgICBTZWxlY3RTaGlwcGluZ01ldGhvZERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBPcmRlckhpc3RvcnlFbnRyeUhvc3RDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJNb2R1bGUge31cclxuIl19
|
|
@@ -15,6 +15,7 @@ export * from './components/order-custom-fields-card/order-custom-fields-card.co
|
|
|
15
15
|
export * from './components/order-detail/order-detail.component';
|
|
16
16
|
export * from './components/order-editor/order-editor.component';
|
|
17
17
|
export * from './components/order-edits-preview-dialog/order-edits-preview-dialog.component';
|
|
18
|
+
export * from './components/order-history/order-history-entry-host.component';
|
|
18
19
|
export * from './components/order-history/order-history.component';
|
|
19
20
|
export * from './components/order-list/order-list.component';
|
|
20
21
|
export * from './components/order-payment-card/order-payment-card.component';
|
|
@@ -41,4 +42,4 @@ export * from './order.routes';
|
|
|
41
42
|
export * from './providers/order-transition.service';
|
|
42
43
|
export * from './providers/routing/order-resolver';
|
|
43
44
|
export * from './providers/routing/order.guard';
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLG9GQUFvRixDQUFDO0FBQ25HLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgYnVpbGQtcHVibGljLWFwaS50cyBzY3JpcHRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hZGQtbWFudWFsLXBheW1lbnQtZGlhbG9nL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYW5jZWwtb3JkZXItZGlhbG9nL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb3Vwb24tY29kZS1zZWxlY3Rvci9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0LW9yZGVyLWRldGFpbC9kcmFmdC1vcmRlci1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcmFmdC1vcmRlci12YXJpYW50LXNlbGVjdG9yL2RyYWZ0LW9yZGVyLXZhcmlhbnQtc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mdWxmaWxsLW9yZGVyLWRpYWxvZy9mdWxmaWxsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWNhcmQvZnVsZmlsbG1lbnQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWRldGFpbC9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xpbmUtcmVmdW5kcy9saW5lLXJlZnVuZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RpZmljYXRpb24tZGV0YWlsL21vZGlmaWNhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1jdXN0b20tZmllbGRzLWNhcmQvb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWVkaXRvci9vcmRlci1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1lZGl0cy1wcmV2aWV3LWRpYWxvZy9vcmRlci1lZGl0cy1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWhpc3Rvcnkvb3JkZXItaGlzdG9yeS1lbnRyeS1ob3N0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItaGlzdG9yeS9vcmRlci1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItbGlzdC9vcmRlci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcGF5bWVudC1jYXJkL29yZGVyLXBheW1lbnQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXByb2Nlc3MtZ3JhcGgvY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1wcm9jZXNzLWdyYXBoL29yZGVyLXByb2Nlc3MtZWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXByb2Nlc3MtZ3JhcGgvb3JkZXItcHJvY2Vzcy1ncmFwaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXByb2Nlc3MtZ3JhcGgvb3JkZXItcHJvY2Vzcy1ub2RlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItcHJvY2Vzcy1ncmFwaC1kaWFsb2cvb3JkZXItcHJvY2Vzcy1ncmFwaC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1zdGF0ZS1zZWxlY3QtZGlhbG9nL29yZGVyLXN0YXRlLXNlbGVjdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vcmRlci10YWJsZS9vcmRlci10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtZGV0YWlsL3BheW1lbnQtZGV0YWlsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1zdGF0ZS1sYWJlbC9wYXltZW50LXN0YXRlLWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmVmdW5kLW9yZGVyLWRpYWxvZy9yZWZ1bmQtb3JkZXItZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmVmdW5kLXN0YXRlLWxhYmVsL3JlZnVuZC1zdGF0ZS1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1hZGRyZXNzLWRpYWxvZy9zZWxlY3QtYWRkcmVzcy1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtYWRkcmVzcy1kaWFsb2cvc2VsZWN0LWFkZHJlc3MtZGlhbG9nLmdyYXBocWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1jdXN0b21lci1kaWFsb2cvc2VsZWN0LWN1c3RvbWVyLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1zaGlwcGluZy1tZXRob2QtZGlhbG9nL3NlbGVjdC1zaGlwcGluZy1tZXRob2QtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGxlLXJlZnVuZC1kaWFsb2cvc2V0dGxlLXJlZnVuZC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaW1wbGUtaXRlbS1saXN0L3NpbXBsZS1pdGVtLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIucm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzL29yZGVyLXRyYW5zaXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycy9yb3V0aW5nL29yZGVyLXJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzL3JvdXRpbmcvb3JkZXIuZ3VhcmQnO1xuIl19
|