@hitsoft/uretim-yonetimi 1.0.27 → 1.0.28
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/config/enums/route-names.d.ts +1 -5
- package/esm2020/config/enums/route-names.mjs +1 -1
- package/esm2020/config/providers/receipt-from-production-route.provider.mjs +2 -2
- package/esm2020/config/providers/route.provider.mjs +2 -9
- package/esm2020/config/uretim-yonetimi-config.module.mjs +1 -9
- package/esm2020/lib/components/hit-production-orders/hit-production-orders.component.mjs +3 -3
- package/esm2020/lib/components/hit-receipt-from-productions/hit-receipt-from-productions.component.mjs +3 -3
- package/esm2020/lib/hit-proxy/hit-production-orders/hit-production-orders.service.mjs +1 -5
- package/esm2020/lib/hit-proxy/hit-receipt-from-productions/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/models.mjs +47 -42
- package/esm2020/lib/uretim-yonetimi-routing.module.mjs +2 -10
- package/esm2020/lib/uretim-yonetimi.module.mjs +1 -21
- package/fesm2015/hitsoft-uretim-yonetimi-config.mjs +13 -92
- package/fesm2015/hitsoft-uretim-yonetimi-config.mjs.map +1 -1
- package/fesm2015/hitsoft-uretim-yonetimi.mjs +79 -1419
- package/fesm2015/hitsoft-uretim-yonetimi.mjs.map +1 -1
- package/fesm2020/hitsoft-uretim-yonetimi-config.mjs +13 -92
- package/fesm2020/hitsoft-uretim-yonetimi-config.mjs.map +1 -1
- package/fesm2020/hitsoft-uretim-yonetimi.mjs +79 -1399
- package/fesm2020/hitsoft-uretim-yonetimi.mjs.map +1 -1
- package/lib/hit-proxy/hit-production-orders/hit-production-orders.service.d.ts +0 -1
- package/lib/hit-proxy/hit-receipt-from-productions/models.d.ts +0 -1
- package/package.json +2 -2
- package/config/providers/boiler-ym-product-waste-route.provider.d.ts +0 -9
- package/config/providers/component-wastage-route.provider.d.ts +0 -9
- package/config/providers/filling-control-route.provider.d.ts +0 -9
- package/config/providers/filling-receipt-from-production-route.provider.d.ts +0 -9
- package/esm2020/config/providers/boiler-ym-product-waste-route.provider.mjs +0 -19
- package/esm2020/config/providers/component-wastage-route.provider.mjs +0 -19
- package/esm2020/config/providers/filling-control-route.provider.mjs +0 -19
- package/esm2020/config/providers/filling-receipt-from-production-route.provider.mjs +0 -19
- package/esm2020/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste-routing.module.mjs +0 -26
- package/esm2020/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.component.mjs +0 -154
- package/esm2020/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.module.mjs +0 -65
- package/esm2020/lib/components/hit-component-wastage/hit-component-wastage-routing.module.mjs +0 -24
- package/esm2020/lib/components/hit-component-wastage/hit-component-wastage.component.mjs +0 -236
- package/esm2020/lib/components/hit-component-wastage/hit-component-wastage.module.mjs +0 -74
- package/esm2020/lib/components/hit-filling-control/hit-filling-control-routing.module.mjs +0 -26
- package/esm2020/lib/components/hit-filling-control/hit-filling-control.component.mjs +0 -319
- package/esm2020/lib/components/hit-filling-control/hit-filling-control.module.mjs +0 -65
- package/esm2020/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production-routing.module.mjs +0 -26
- package/esm2020/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.component.mjs +0 -196
- package/esm2020/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.module.mjs +0 -65
- package/esm2020/lib/hit-proxy/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.service.mjs +0 -27
- package/esm2020/lib/hit-proxy/hit-boiler-ym-product-waste/models.mjs +0 -3
- package/esm2020/lib/hit-proxy/hit-component-wastage/hit-component-wastage.service.mjs +0 -33
- package/esm2020/lib/hit-proxy/hit-component-wastage/models.mjs +0 -17
- package/esm2020/lib/hit-proxy/hit-filling-control/hit-filling-control.service.mjs +0 -36
- package/esm2020/lib/hit-proxy/hit-filling-control/models.mjs +0 -2
- package/esm2020/lib/hit-proxy/hit-filling-receipt-from-production/hit-filling-receipt-from-production.service.mjs +0 -28
- package/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste-routing.module.d.ts +0 -7
- package/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.component.d.ts +0 -34
- package/lib/components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.module.d.ts +0 -16
- package/lib/components/hit-component-wastage/hit-component-wastage-routing.module.d.ts +0 -7
- package/lib/components/hit-component-wastage/hit-component-wastage.component.d.ts +0 -38
- package/lib/components/hit-component-wastage/hit-component-wastage.module.d.ts +0 -16
- package/lib/components/hit-filling-control/hit-filling-control-routing.module.d.ts +0 -7
- package/lib/components/hit-filling-control/hit-filling-control.component.d.ts +0 -39
- package/lib/components/hit-filling-control/hit-filling-control.module.d.ts +0 -16
- package/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production-routing.module.d.ts +0 -7
- package/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.component.d.ts +0 -35
- package/lib/components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.module.d.ts +0 -16
- package/lib/hit-proxy/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.service.d.ts +0 -14
- package/lib/hit-proxy/hit-boiler-ym-product-waste/models.d.ts +0 -22
- package/lib/hit-proxy/hit-component-wastage/hit-component-wastage.service.d.ts +0 -15
- package/lib/hit-proxy/hit-component-wastage/models.d.ts +0 -40
- package/lib/hit-proxy/hit-filling-control/hit-filling-control.service.d.ts +0 -16
- package/lib/hit-proxy/hit-filling-control/models.d.ts +0 -34
- package/lib/hit-proxy/hit-filling-receipt-from-production/hit-filling-receipt-from-production.service.d.ts +0 -52
|
@@ -203,10 +203,10 @@ export class HitReceiptFromProductionsComponent {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
HitReceiptFromProductionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitReceiptFromProductionsComponent, deps: [{ token: i0.NgZone }, { token: i1.ListService }, { token: i1.TrackByService }, { token: i2.HitReceiptFromProductionsService }, { token: i3.ConfirmationService }, { token: i4.HitProductionOrdersService }, { token: i5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
206
|
-
HitReceiptFromProductionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitReceiptFromProductionsComponent, selector: "lib-hit-receipt-from-productions", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "nmbBoxToplananMiktar", first: true, predicate: ["toplananMiktarRef"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\" style=\"padding: 0;\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\"\r\n (click)=\"postReceiptFromProductions()\"\r\n [disabled]=\"!isProductionOrderValid\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box class=\"me-1 w-100\"\r\n #barkodNumarasiRef\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"barkodNumarasi\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\"\r\n (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-button>\r\n </div>\r\n <div *ngIf=\"isProductionOrderValid\">\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokCode' | abpLocalization\"\r\n [(value)]=\"productionOrder.itemNo\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokDesc' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.Boiler' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Kazan\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.ToWhs' | abpLocalization\" [maxLength]=\"128\"\r\n [value]=\"getWarehouseName(receiptFromProductionsPostDtoDocumentLine.warehouseCode)\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.BatchNumber' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.batchNumber\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [format]=\"'#,##0.0000'\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.CompletedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.completedQuantity\"\r\n [format]=\"'#,##0.0000'\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.Quantity' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.quantity\"\r\n (onValueChanged)=\"quantityChanged($event)\"\r\n [format]=\"'#,##0.0000'\"\r\n [showSpinButtons]=\"true\" [min]=\"0\" #toplananMiktarRef>\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [(visible)]=\"showModal\" (appear)=\"generateReport()\" (disappear)=\"clearAll()\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'UretimYonetimi::CreateBarcodes.BarcodePreview' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <iframe *ngIf=\"pdfSrc\" [src]=\"pdfSrc\" width=\"100%\" height=\"300\"\r\n webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button (click)=\"downloadPdf(blobUrl)\" type=\"button\"\r\n class=\"btn btn-secondary mobilde-gorunur\" abpClose> \u0130ndir\r\n </button>\r\n <button type=\"button\"\r\n class=\"btn btn-secondary\" abpClose> {{ 'UretimYonetimi::CreateBarcodes.Close' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n", styles: [".mobilde-gorunur{display:none}@media (max-width: 768px){.mobilde-gorunur{display:block}}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
206
|
+
HitReceiptFromProductionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitReceiptFromProductionsComponent, selector: "lib-hit-receipt-from-productions", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "nmbBoxToplananMiktar", first: true, predicate: ["toplananMiktarRef"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\" style=\"padding: 0;\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\"\r\n (click)=\"postReceiptFromProductions()\"\r\n [disabled]=\"!isProductionOrderValid\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box class=\"me-1 w-100\"\r\n #barkodNumarasiRef\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"barkodNumarasi\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\"\r\n (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-button>\r\n </div>\r\n <div *ngIf=\"isProductionOrderValid\">\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokCode' | abpLocalization\"\r\n [(value)]=\"productionOrder.itemNo\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokDesc' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.Boiler' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Kazan\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.ToWhs' | abpLocalization\" [maxLength]=\"128\"\r\n [value]=\"getWarehouseName(receiptFromProductionsPostDtoDocumentLine.warehouseCode)\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.BatchNumber' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.batchNumber\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.CompletedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.completedQuantity\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.Quantity' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.quantity\"\r\n (onValueChanged)=\"quantityChanged($event)\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [showSpinButtons]=\"true\" [min]=\"0\" #toplananMiktarRef>\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [(visible)]=\"showModal\" (appear)=\"generateReport()\" (disappear)=\"clearAll()\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'UretimYonetimi::CreateBarcodes.BarcodePreview' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <iframe *ngIf=\"pdfSrc\" [src]=\"pdfSrc\" width=\"100%\" height=\"300\"\r\n webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button (click)=\"downloadPdf(blobUrl)\" type=\"button\"\r\n class=\"btn btn-secondary mobilde-gorunur\" abpClose> \u0130ndir\r\n </button>\r\n <button type=\"button\"\r\n class=\"btn btn-secondary\" abpClose> {{ 'UretimYonetimi::CreateBarcodes.Close' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n", styles: [".mobilde-gorunur{display:none}@media (max-width: 768px){.mobilde-gorunur{display:block}}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
207
207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitReceiptFromProductionsComponent, decorators: [{
|
|
208
208
|
type: Component,
|
|
209
|
-
args: [{ selector: 'lib-hit-receipt-from-productions', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [breadcrumb]=\"false\" style=\"padding: 0;\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\"\r\n (click)=\"postReceiptFromProductions()\"\r\n [disabled]=\"!isProductionOrderValid\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box class=\"me-1 w-100\"\r\n #barkodNumarasiRef\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"barkodNumarasi\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\"\r\n (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-button>\r\n </div>\r\n <div *ngIf=\"isProductionOrderValid\">\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokCode' | abpLocalization\"\r\n [(value)]=\"productionOrder.itemNo\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokDesc' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.Boiler' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Kazan\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.ToWhs' | abpLocalization\" [maxLength]=\"128\"\r\n [value]=\"getWarehouseName(receiptFromProductionsPostDtoDocumentLine.warehouseCode)\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.BatchNumber' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.batchNumber\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n
|
|
209
|
+
args: [{ selector: 'lib-hit-receipt-from-productions', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [breadcrumb]=\"false\" style=\"padding: 0;\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\"\r\n (click)=\"postReceiptFromProductions()\"\r\n [disabled]=\"!isProductionOrderValid\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\" aria-hidden=\"true\"></i>\r\n {{ 'UretimYonetimi::ReceiptFromProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box class=\"me-1 w-100\"\r\n #barkodNumarasiRef\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"barkodNumarasi\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\"\r\n (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isProductionOrderValid\">\r\n </dx-button>\r\n </div>\r\n <div *ngIf=\"isProductionOrderValid\">\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokCode' | abpLocalization\"\r\n [(value)]=\"productionOrder.itemNo\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.StokDesc' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ReceiptFromProductions.Boiler' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Kazan\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.ToWhs' | abpLocalization\" [maxLength]=\"128\"\r\n [value]=\"getWarehouseName(receiptFromProductionsPostDtoDocumentLine.warehouseCode)\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-text-box [label]=\"'UretimYonetimi::ReceiptFromProductions.BatchNumber' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.batchNumber\"\r\n [maxLength]=\"128\" [disabled]=\"true\">\r\n </dx-text-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.CompletedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.completedQuantity\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <dx-number-box [label]=\"'UretimYonetimi::ReceiptFromProductions.Quantity' | abpLocalization\"\r\n [(value)]=\"receiptFromProductionsPostDtoBatchNumber.quantity\"\r\n (onValueChanged)=\"quantityChanged($event)\"\r\n [format]=\"HitHelper.getMeasurementFormatted(unitOfMeasure)\"\r\n [showSpinButtons]=\"true\" [min]=\"0\" #toplananMiktarRef>\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [(visible)]=\"showModal\" (appear)=\"generateReport()\" (disappear)=\"clearAll()\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'UretimYonetimi::CreateBarcodes.BarcodePreview' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <iframe *ngIf=\"pdfSrc\" [src]=\"pdfSrc\" width=\"100%\" height=\"300\"\r\n webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button (click)=\"downloadPdf(blobUrl)\" type=\"button\"\r\n class=\"btn btn-secondary mobilde-gorunur\" abpClose> \u0130ndir\r\n </button>\r\n <button type=\"button\"\r\n class=\"btn btn-secondary\" abpClose> {{ 'UretimYonetimi::CreateBarcodes.Close' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n", styles: [".mobilde-gorunur{display:none}@media (max-width: 768px){.mobilde-gorunur{display:block}}\n"] }]
|
|
210
210
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.ListService }, { type: i1.TrackByService }, { type: i2.HitReceiptFromProductionsService }, { type: i3.ConfirmationService }, { type: i4.HitProductionOrdersService }, { type: i5.DomSanitizer }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
|
|
211
211
|
type: ViewChild,
|
|
212
212
|
args: ['barkodNumarasiRef', { static: false }]
|
|
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
214
214
|
type: ViewChild,
|
|
215
215
|
args: ['toplananMiktarRef', { static: false }]
|
|
216
216
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtDQUFrQyxFQUNsQywyQkFBMkIsRUFDM0IsNkJBQTZCLEdBQzlCLE1BQU0scURBQXFELENBQUM7QUFFN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7O0FBYW5ELE1BQU0sT0FBTyxrQ0FBa0M7SUFXN0MsWUFDVSxNQUFjLEVBQ04sSUFBaUIsRUFDakIsS0FBcUIsRUFDckIsT0FBeUMsRUFDakQsWUFBaUMsRUFDakMsdUJBQW1ELEVBQ25ELFNBQXVCO1FBTnZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENB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TSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIENvbmZpcm1hdGlvbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBOZ1pvbmUsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBHZXRQcm9kdWN0aW9uT3JkZXJEdG8sXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyxcclxuICBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMsXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8sXHJcbn0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0UHJvZHVjdGlvbk9yZGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0SGVscGVyIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L21vZGVscyc7XHJcbmltcG9ydCB7IER4TnVtYmVyQm94Q29tcG9uZW50LCBEeFRleHRCb3hDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBXYXJlaG91c2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL21vZGVscyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXSxcclxuICBzdHlsZVVybHM6IFsnLi9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb24tY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEhpdEhlbHBlciA9IEhpdEhlbHBlcjtcclxuICBAVmlld0NoaWxkKCdiYXJrb2ROdW1hcmFzaVJlZicsIHsgc3RhdGljOiBmYWxzZSB9KSBubWJCb3hCYXJrb2ROdW1hcmFzaTogRHhUZXh0Qm94Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RvcGxhbmFuTWlrdGFyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIG5tYkJveFRvcGxhbmFuTWlrdGFyOiBEeE51bWJlckJveENvbXBvbmVudDtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBvcHRpb25zOiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPiA9IHtcclxuICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICBjYW5jZWxUZXh0OiAnS2FwYXQnLFxyXG4gICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZHVjdGlvbk9yZGVyc1NlcnZpY2U6IEhpdFByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICB0aGlzLmdldFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZm9jdXNPbkJhcmtvZE51bWFyYXNpKCk7XHJcbiAgfVxyXG5cclxuICBiYXJrb2ROdW1hcmFzaTogbnVtYmVyO1xyXG4gIGlzUHJvZHVjdGlvbk9yZGVyVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hlQmFzaWxkaU1pOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdW5pdE9mTWVhc3VyZTogc3RyaW5nO1xyXG4gIGJsb2JVcmw6IHN0cmluZztcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwZGZTcmM6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsO1xyXG4gIG5ld1JlY29yZERvY0VudHJ5OiBudW1iZXI7XHJcbiAgaXNFbXJpTnVtYXJhc2lGb3JCYXJjb2RlOiBudW1iZXI7XHJcblxyXG4gIGdlbmVyYXRlUmVwb3J0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRCYXJjb2RlSW5mbyh0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSwgdGhpcy5uZXdSZWNvcmREb2NFbnRyeSwgMSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYmFzZTY0RGF0YSA9IHJlc3BvbnNlLmJhc2U2NDsgLy8gYmFzZTY0IHN0cmluZyAoc2FkZWNlIHZlcmkga8Sxc23EsSwgXCJkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsLi4uXCIgZGXEn2lsc2UpXHJcblxyXG4gICAgICAgICAgLy8gQmFzZTY0J8O8IGRlY29kZSBlZGlwIGJpbmFyeSB2ZXJpeWUgw6dldmlyaXlvcnV6XHJcbiAgICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IGJ5dGVDaGFyYWN0ZXJzLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XHJcblxyXG4gICAgICAgICAgLy8gQmxvYiBvbHXFn3R1cnV5b3J1elxyXG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xyXG5cclxuICAgICAgICAgIC8vIEJsb2IndGFuIFVSTCBvbHXFn3R1cnVwIHllbmkgc2VrbWVkZSBhw6fEsXlvcnV6ICh2ZXlhIGRvd25sb2FkIGVkZWJpbGlyc2luKVxyXG4gICAgICAgICAgdGhpcy5ibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgIHRoaXMucGRmU3JjID0gdGhpcy5ieXBhc3NBbmRTYW5pdGl6ZSh0aGlzLmJsb2JVcmwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnlwYXNzQW5kU2FuaXRpemUodXJsKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkUGRmKGJsb2JVcmwpIHtcclxuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSBibG9iVXJsO1xyXG4gICAgY29uc3QgcGFydHMgPSBibG9iVXJsLnNwbGl0KCcvJyk7XHJcbiAgICBjb25zdCBsYXN0UGFydCA9IHBhcnRzLnBvcCgpOyAvLyBcIm15ZmlsZS5wZGZcIlxyXG4gICAgYS5kb3dubG9hZCA9IGxhc3RQYXJ0ICsgJy5wZGYnOyAvLyBLYXlkZWRpbGVjZWsgZG9zeWEgYWTEsVxyXG4gICAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgIC8vIGlPUyd0YSBkZXN0ZWtsZW5tZXNpIGnDp2luIHRhcmdldD1fYmxhbmsgZWtsZW5lYmlsaXJcclxuICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7XHJcblxyXG4gICAgLy8gRE9NJ2EgZWtsZXlpcCB0xLFrbGF0XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICB9XHJcblxyXG4gIHByb2R1Y3Rpb25PcmRlcjogR2V0UHJvZHVjdGlvbk9yZGVyRHRvID0gbmV3IEdldFByb2R1Y3Rpb25PcmRlckR0bygpO1xyXG5cclxuICBhc3luYyBnZXRQcm9kdWN0aW9uT3JkZXIoKSB7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hlQmFzaWxkaU1pID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvZHVjdGlvbk9yZGVyc1NlcnZpY2UuZ2V0KHRoaXMuYmFya29kTnVtYXJhc2kpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3NmdWwpIHtcclxuICAgICAgICAgIHRoaXMucHJvZHVjdGlvbk9yZGVyID0gcmVzdWx0Lml0ZW1zO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b1F1YW50aXR5ID1cclxuICAgICAgICAgICAgcmVzdWx0Lml0ZW1zLnBsYW5uZWRRdWFudGl0eSAtIHJlc3VsdC5pdGVtcy5jb21wbGV0ZWRRdWFudGl0eTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLmJhc2VFbnRyeSA9IHRoaXMuYmFya29kTnVtYXJhc2k7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLmJhc2VUeXBlID0gMjAyO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5xdWFudGl0eSA9XHJcbiAgICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eTtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUud2FyZWhvdXNlQ29kZSA9IHJlc3VsdC5pdGVtcy53YXJlaG91c2U7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIuYmF0Y2hOdW1iZXIgPSByZXN1bHQuaXRlbXMudV90cmtCYXRjaDtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5xdWFudGl0eSA9XHJcbiAgICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVuaXRPZk1lYXN1cmUgPSByZXN1bHQuaXRlbXMudW5pdE9mTWVhc3VyZW1lbnQ7XHJcbiAgICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdD8uaXNTdWNjZXNzZnVsID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN0YXR1cyQuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk6IG51bWJlciA9IDA7XHJcbiAgcmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG86IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvID1cclxuICAgIG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0bygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMgPVxyXG4gICAgbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXI6IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMgPVxyXG4gICAgbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMoKTtcclxuXHJcbiAgYXN5bmMgcG9zdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUuYmF0Y2hOdW1iZXJzID0gW1xyXG4gICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIsXHJcbiAgICBdO1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0by5kb2N1bWVudExpbmVzID0gW1xyXG4gICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3NmdWwpIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN1Y2Nlc3MoJ8SwxZ9sZW0gQmHFn2FyxLFsxLEnLCAnJywgdGhpcy5vcHRpb25zKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5ld1JlY29yZERvY0VudHJ5ID0gcmVzdWx0Lml0ZW1zLmRvY0VudHJ5O1xyXG4gICAgICAgICAgICB0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSA9IHRoaXMuYmFya29kTnVtYXJhc2k7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN0YXR1cyQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzT25Ub3BsYW5hbk1pa3RhcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsKCkge1xyXG4gICAgdGhpcy5iYXJrb2ROdW1hcmFzaSA9IG51bGw7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGb3JtKCkge1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXIgPSBuZXcgR2V0UHJvZHVjdGlvbk9yZGVyRHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcygpO1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMoKTtcclxuICAgIHRoaXMudW5pdE9mTWVhc3VyZSA9IG51bGw7XHJcbiAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VhcmNoZUJhc2lsZGlNaSA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb2N1c09uQmFya29kTnVtYXJhc2koKTtcclxuICB9XHJcblxyXG4gIHdhcmVob3VzZXM6IFdhcmVob3VzZVtdID0gW107XHJcblxyXG4gIGFzeW5jIGdldFdhcmVob3VzZXMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLmdldFdhcmVob3VzZXMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXN1bHQgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuaXRlbXMpIHtcclxuICAgICAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHJlc3VsdC5pdGVtcy5zbGljZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvY3VzT25CYXJrb2ROdW1hcmFzaSgpIHtcclxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubm1iQm94QmFya29kTnVtYXJhc2kuaW5zdGFuY2UuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzT25Ub3BsYW5hbk1pa3RhcigpIHtcclxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubm1iQm94VG9wbGFuYW5NaWt0YXIuaW5zdGFuY2UuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFdhcmVob3VzZU5hbWUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG1hdGNoID0gdGhpcy53YXJlaG91c2VzLmZpbmQoeCA9PiB4Lndoc0NvZGUgPT09IGNvZGUpO1xyXG4gICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gud2hzTmFtZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcXVhbnRpdHlDaGFuZ2VkKGU6IGFueSkge1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5ID0gZS52YWx1ZTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUucXVhbnRpdHkgPSBlLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLXBhZ2UgW2JyZWFkY3J1bWJdPVwiZmFsc2VcIiBzdHlsZT1cInBhZGRpbmc6IDA7XCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxoMyBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cclxuICAgICAgICB7eyAnVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgdGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvc3RSZWNlaXB0RnJvbVByb2R1Y3Rpb25zKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIHt7ICdVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5DcmVhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi13YXJuaW5nIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xlYXJBbGwoKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1icm9vbSBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAge3sgJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLkNsZWFuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgPGR4LW51bWJlci1ib3ggY2xhc3M9XCJtZS0xIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAjYmFya29kTnVtYXJhc2lSZWZcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLldvcmtPcmRlck5vJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYmFya29kTnVtYXJhc2lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJnZXRQcm9kdWN0aW9uT3JkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG9uRW50ZXJLZXkpPVwiZ2V0UHJvZHVjdGlvbk9yZGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWFyY2hlQmFzaWxkaU1pIHx8IGlzUHJvZHVjdGlvbk9yZGVyVmFsaWRcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcbiAgICAgICAgPGR4LWJ1dHRvbiBzdHlsZT1cIm1hcmdpbi10b3A6IDcuNXB4O1wiIGljb249XCJzZWFyY2hcIiB0eXBlPVwiZGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJnZXRQcm9kdWN0aW9uT3JkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2VhcmNoZUJhc2lsZGlNaSB8fCBpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgPC9keC1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNQcm9kdWN0aW9uT3JkZXJWYWxpZFwiPlxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tDb2RlJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5pdGVtTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtdGV4dC1ib3g+XHJcblxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tEZXNjJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5wcm9kdWN0RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEyOFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IHN0eWxlPVwid2lkdGg6MTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLkJvaWxlcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIudV9LYXphblwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVG9XaHMnIHwgYWJwTG9jYWxpemF0aW9uXCIgW21heExlbmd0aF09XCIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0V2FyZWhvdXNlTmFtZShyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS53YXJlaG91c2VDb2RlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQmF0Y2hOdW1iZXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5iYXRjaE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiMTI4XCIgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LXRleHQtYm94PlxyXG5cclxuICA8ZHgtbnVtYmVyLWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlBsYW5uZWRRdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIucGxhbm5lZFF1YW50aXR5XCJcclxuICAgICAgICAgICBbZm9ybWF0XT1cIicjLCMjMC4wMDAwJ1wiXHJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQ29tcGxldGVkUXR5JyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgWyh2YWx1ZSldPVwicHJvZHVjdGlvbk9yZGVyLmNvbXBsZXRlZFF1YW50aXR5XCJcclxuICAgICAgICAgICBbZm9ybWF0XT1cIicjLCMjMC4wMDAwJ1wiXHJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuUXVhbnRpdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICBbKHZhbHVlKV09XCJyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5XCJcclxuICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwicXVhbnRpdHlDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgIFtmb3JtYXRdPVwiJyMsIyMwLjAwMDAnXCJcclxuICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIiBbbWluXT1cIjBcIiAjdG9wbGFuYW5NaWt0YXJSZWY+XHJcbiAgPC9keC1udW1iZXItYm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cInNob3dNb2RhbFwiIChhcHBlYXIpPVwiZ2VuZXJhdGVSZXBvcnQoKVwiIChkaXNhcHBlYXIpPVwiY2xlYXJBbGwoKVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7ICdVcmV0aW1Zb25ldGltaTo6Q3JlYXRlQmFyY29kZXMuQmFyY29kZVByZXZpZXcnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxpZnJhbWUgKm5nSWY9XCJwZGZTcmNcIiBbc3JjXT1cInBkZlNyY1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMFwiXHJcbiAgICAgICAgICAgIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFBkZihibG9iVXJsKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IG1vYmlsZGUtZ29ydW51clwiIGFicENsb3NlPiDEsG5kaXJcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPiB7eyAnVXJldGltWW9uZXRpbWk6OkNyZWF0ZUJhcmNvZGVzLkNsb3NlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtDQUFrQyxFQUNsQywyQkFBMkIsRUFDM0IsNkJBQTZCLEdBQzlCLE1BQU0scURBQXFELENBQUM7QUFFN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7O0FBYW5ELE1BQU0sT0FBTyxrQ0FBa0M7SUFXN0MsWUFDVSxNQUFjLEVBQ04sSUFBaUIsRUFDakIsS0FBcUIsRUFDckIsT0FBeUMsRUFDakQsWUFBaUMsRUFDakMsdUJBQW1ELEVBQ25ELFNBQXVCO1FBTnZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENB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TSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIENvbmZpcm1hdGlvbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBOZ1pvbmUsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBHZXRQcm9kdWN0aW9uT3JkZXJEdG8sXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyxcclxuICBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMsXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8sXHJcbn0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0UHJvZHVjdGlvbk9yZGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0SGVscGVyIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L21vZGVscyc7XHJcbmltcG9ydCB7IER4TnVtYmVyQm94Q29tcG9uZW50LCBEeFRleHRCb3hDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBXYXJlaG91c2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL21vZGVscyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXSxcclxuICBzdHlsZVVybHM6IFsnLi9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb24tY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEhpdEhlbHBlciA9IEhpdEhlbHBlcjtcclxuICBAVmlld0NoaWxkKCdiYXJrb2ROdW1hcmFzaVJlZicsIHsgc3RhdGljOiBmYWxzZSB9KSBubWJCb3hCYXJrb2ROdW1hcmFzaTogRHhUZXh0Qm94Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RvcGxhbmFuTWlrdGFyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIG5tYkJveFRvcGxhbmFuTWlrdGFyOiBEeE51bWJlckJveENvbXBvbmVudDtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBvcHRpb25zOiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPiA9IHtcclxuICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICBjYW5jZWxUZXh0OiAnS2FwYXQnLFxyXG4gICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZHVjdGlvbk9yZGVyc1NlcnZpY2U6IEhpdFByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICB0aGlzLmdldFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZm9jdXNPbkJhcmtvZE51bWFyYXNpKCk7XHJcbiAgfVxyXG5cclxuICBiYXJrb2ROdW1hcmFzaTogbnVtYmVyO1xyXG4gIGlzUHJvZHVjdGlvbk9yZGVyVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hlQmFzaWxkaU1pOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdW5pdE9mTWVhc3VyZTogc3RyaW5nO1xyXG4gIGJsb2JVcmw6IHN0cmluZztcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwZGZTcmM6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsO1xyXG4gIG5ld1JlY29yZERvY0VudHJ5OiBudW1iZXI7XHJcbiAgaXNFbXJpTnVtYXJhc2lGb3JCYXJjb2RlOiBudW1iZXI7XHJcblxyXG4gIGdlbmVyYXRlUmVwb3J0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRCYXJjb2RlSW5mbyh0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSwgdGhpcy5uZXdSZWNvcmREb2NFbnRyeSwgMSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYmFzZTY0RGF0YSA9IHJlc3BvbnNlLmJhc2U2NDsgLy8gYmFzZTY0IHN0cmluZyAoc2FkZWNlIHZlcmkga8Sxc23EsSwgXCJkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsLi4uXCIgZGXEn2lsc2UpXHJcblxyXG4gICAgICAgICAgLy8gQmFzZTY0J8O8IGRlY29kZSBlZGlwIGJpbmFyeSB2ZXJpeWUgw6dldmlyaXlvcnV6XHJcbiAgICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IGJ5dGVDaGFyYWN0ZXJzLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XHJcblxyXG4gICAgICAgICAgLy8gQmxvYiBvbHXFn3R1cnV5b3J1elxyXG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xyXG5cclxuICAgICAgICAgIC8vIEJsb2IndGFuIFVSTCBvbHXFn3R1cnVwIHllbmkgc2VrbWVkZSBhw6fEsXlvcnV6ICh2ZXlhIGRvd25sb2FkIGVkZWJpbGlyc2luKVxyXG4gICAgICAgICAgdGhpcy5ibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgIHRoaXMucGRmU3JjID0gdGhpcy5ieXBhc3NBbmRTYW5pdGl6ZSh0aGlzLmJsb2JVcmwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnlwYXNzQW5kU2FuaXRpemUodXJsKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkUGRmKGJsb2JVcmwpIHtcclxuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSBibG9iVXJsO1xyXG4gICAgY29uc3QgcGFydHMgPSBibG9iVXJsLnNwbGl0KCcvJyk7XHJcbiAgICBjb25zdCBsYXN0UGFydCA9IHBhcnRzLnBvcCgpOyAvLyBcIm15ZmlsZS5wZGZcIlxyXG4gICAgYS5kb3dubG9hZCA9IGxhc3RQYXJ0ICsgJy5wZGYnOyAvLyBLYXlkZWRpbGVjZWsgZG9zeWEgYWTEsVxyXG4gICAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgIC8vIGlPUyd0YSBkZXN0ZWtsZW5tZXNpIGnDp2luIHRhcmdldD1fYmxhbmsgZWtsZW5lYmlsaXJcclxuICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7XHJcblxyXG4gICAgLy8gRE9NJ2EgZWtsZXlpcCB0xLFrbGF0XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICB9XHJcblxyXG4gIHByb2R1Y3Rpb25PcmRlcjogR2V0UHJvZHVjdGlvbk9yZGVyRHRvID0gbmV3IEdldFByb2R1Y3Rpb25PcmRlckR0bygpO1xyXG5cclxuICBhc3luYyBnZXRQcm9kdWN0aW9uT3JkZXIoKSB7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hlQmFzaWxkaU1pID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvZHVjdGlvbk9yZGVyc1NlcnZpY2UuZ2V0KHRoaXMuYmFya29kTnVtYXJhc2kpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3NmdWwpIHtcclxuICAgICAgICAgIHRoaXMucHJvZHVjdGlvbk9yZGVyID0gcmVzdWx0Lml0ZW1zO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b1F1YW50aXR5ID1cclxuICAgICAgICAgICAgcmVzdWx0Lml0ZW1zLnBsYW5uZWRRdWFudGl0eSAtIHJlc3VsdC5pdGVtcy5jb21wbGV0ZWRRdWFudGl0eTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLmJhc2VFbnRyeSA9IHRoaXMuYmFya29kTnVtYXJhc2k7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLmJhc2VUeXBlID0gMjAyO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5xdWFudGl0eSA9XHJcbiAgICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eTtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUud2FyZWhvdXNlQ29kZSA9IHJlc3VsdC5pdGVtcy53YXJlaG91c2U7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIuYmF0Y2hOdW1iZXIgPSByZXN1bHQuaXRlbXMudV90cmtCYXRjaDtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5xdWFudGl0eSA9XHJcbiAgICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVuaXRPZk1lYXN1cmUgPSByZXN1bHQuaXRlbXMudW5pdE9mTWVhc3VyZW1lbnQ7XHJcbiAgICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdD8uaXNTdWNjZXNzZnVsID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN0YXR1cyQuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk6IG51bWJlciA9IDA7XHJcbiAgcmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG86IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvID1cclxuICAgIG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0bygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMgPVxyXG4gICAgbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXI6IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMgPVxyXG4gICAgbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMoKTtcclxuXHJcbiAgYXN5bmMgcG9zdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUuYmF0Y2hOdW1iZXJzID0gW1xyXG4gICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIsXHJcbiAgICBdO1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0by5kb2N1bWVudExpbmVzID0gW1xyXG4gICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3NmdWwpIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN1Y2Nlc3MoJ8SwxZ9sZW0gQmHFn2FyxLFsxLEnLCAnJywgdGhpcy5vcHRpb25zKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5ld1JlY29yZERvY0VudHJ5ID0gcmVzdWx0Lml0ZW1zLmRvY0VudHJ5O1xyXG4gICAgICAgICAgICB0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSA9IHRoaXMuYmFya29kTnVtYXJhc2k7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN0YXR1cyQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzT25Ub3BsYW5hbk1pa3RhcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsKCkge1xyXG4gICAgdGhpcy5iYXJrb2ROdW1hcmFzaSA9IG51bGw7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGb3JtKCkge1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXIgPSBuZXcgR2V0UHJvZHVjdGlvbk9yZGVyRHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcygpO1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMoKTtcclxuICAgIHRoaXMudW5pdE9mTWVhc3VyZSA9IG51bGw7XHJcbiAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VhcmNoZUJhc2lsZGlNaSA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb2N1c09uQmFya29kTnVtYXJhc2koKTtcclxuICB9XHJcblxyXG4gIHdhcmVob3VzZXM6IFdhcmVob3VzZVtdID0gW107XHJcblxyXG4gIGFzeW5jIGdldFdhcmVob3VzZXMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLmdldFdhcmVob3VzZXMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXN1bHQgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuaXRlbXMpIHtcclxuICAgICAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHJlc3VsdC5pdGVtcy5zbGljZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvY3VzT25CYXJrb2ROdW1hcmFzaSgpIHtcclxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubm1iQm94QmFya29kTnVtYXJhc2kuaW5zdGFuY2UuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzT25Ub3BsYW5hbk1pa3RhcigpIHtcclxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubm1iQm94VG9wbGFuYW5NaWt0YXIuaW5zdGFuY2UuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFdhcmVob3VzZU5hbWUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG1hdGNoID0gdGhpcy53YXJlaG91c2VzLmZpbmQoeCA9PiB4Lndoc0NvZGUgPT09IGNvZGUpO1xyXG4gICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gud2hzTmFtZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcXVhbnRpdHlDaGFuZ2VkKGU6IGFueSkge1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5ID0gZS52YWx1ZTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUucXVhbnRpdHkgPSBlLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLXBhZ2UgW2JyZWFkY3J1bWJdPVwiZmFsc2VcIiBzdHlsZT1cInBhZGRpbmc6IDA7XCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxoMyBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cclxuICAgICAgICB7eyAnVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgdGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvc3RSZWNlaXB0RnJvbVByb2R1Y3Rpb25zKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIHt7ICdVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5DcmVhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi13YXJuaW5nIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xlYXJBbGwoKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1icm9vbSBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAge3sgJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLkNsZWFuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgPGR4LW51bWJlci1ib3ggY2xhc3M9XCJtZS0xIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAjYmFya29kTnVtYXJhc2lSZWZcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLldvcmtPcmRlck5vJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYmFya29kTnVtYXJhc2lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJnZXRQcm9kdWN0aW9uT3JkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG9uRW50ZXJLZXkpPVwiZ2V0UHJvZHVjdGlvbk9yZGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWFyY2hlQmFzaWxkaU1pIHx8IGlzUHJvZHVjdGlvbk9yZGVyVmFsaWRcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcbiAgICAgICAgPGR4LWJ1dHRvbiBzdHlsZT1cIm1hcmdpbi10b3A6IDcuNXB4O1wiIGljb249XCJzZWFyY2hcIiB0eXBlPVwiZGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJnZXRQcm9kdWN0aW9uT3JkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2VhcmNoZUJhc2lsZGlNaSB8fCBpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgPC9keC1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNQcm9kdWN0aW9uT3JkZXJWYWxpZFwiPlxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tDb2RlJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5pdGVtTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtdGV4dC1ib3g+XHJcblxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tEZXNjJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5wcm9kdWN0RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEyOFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IHN0eWxlPVwid2lkdGg6MTAwJTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLkJvaWxlcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIudV9LYXphblwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVG9XaHMnIHwgYWJwTG9jYWxpemF0aW9uXCIgW21heExlbmd0aF09XCIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0V2FyZWhvdXNlTmFtZShyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS53YXJlaG91c2VDb2RlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQmF0Y2hOdW1iZXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5iYXRjaE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiMTI4XCIgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LXRleHQtYm94PlxyXG5cclxuICAgICAgICA8ZHgtbnVtYmVyLWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlBsYW5uZWRRdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIucGxhbm5lZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cIkhpdEhlbHBlci5nZXRNZWFzdXJlbWVudEZvcm1hdHRlZCh1bml0T2ZNZWFzdXJlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQ29tcGxldGVkUXR5JyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicHJvZHVjdGlvbk9yZGVyLmNvbXBsZXRlZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cIkhpdEhlbHBlci5nZXRNZWFzdXJlbWVudEZvcm1hdHRlZCh1bml0T2ZNZWFzdXJlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuUXVhbnRpdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwicXVhbnRpdHlDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiSGl0SGVscGVyLmdldE1lYXN1cmVtZW50Rm9ybWF0dGVkKHVuaXRPZk1lYXN1cmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIiBbbWluXT1cIjBcIiAjdG9wbGFuYW5NaWt0YXJSZWY+XHJcbiAgICAgICAgPC9keC1udW1iZXItYm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cInNob3dNb2RhbFwiIChhcHBlYXIpPVwiZ2VuZXJhdGVSZXBvcnQoKVwiIChkaXNhcHBlYXIpPVwiY2xlYXJBbGwoKVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7ICdVcmV0aW1Zb25ldGltaTo6Q3JlYXRlQmFyY29kZXMuQmFyY29kZVByZXZpZXcnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxpZnJhbWUgKm5nSWY9XCJwZGZTcmNcIiBbc3JjXT1cInBkZlNyY1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMFwiXHJcbiAgICAgICAgICAgIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFBkZihibG9iVXJsKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IG1vYmlsZGUtZ29ydW51clwiIGFicENsb3NlPiDEsG5kaXJcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPiB7eyAnVXJldGltWW9uZXRpbWk6OkNyZWF0ZUJhcmNvZGVzLkNsb3NlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
@@ -13,10 +13,6 @@ export class HitProductionOrdersService {
|
|
|
13
13
|
method: 'GET',
|
|
14
14
|
url: `${this.resourceEndpoint}?id=${id + ''}`,
|
|
15
15
|
}, { apiName: this.apiName });
|
|
16
|
-
this.GetProductionOrderWithoutYMItems = (id) => this.restService.request({
|
|
17
|
-
method: 'GET',
|
|
18
|
-
url: `${this.resourceEndpoint}/get-production-order-without-ym-items/?id=${id + ''}`,
|
|
19
|
-
}, { apiName: this.apiName });
|
|
20
16
|
this.patch = (input) => this.restService.request({
|
|
21
17
|
method: 'PATCH',
|
|
22
18
|
url: `${this.resourceEndpoint}`,
|
|
@@ -45,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
45
41
|
providedIn: 'root',
|
|
46
42
|
}]
|
|
47
43
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXByb2R1Y3Rpb24tb3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQVF6QyxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSDVDLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQU8zQixRQUFHLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBNEM7WUFDaEUsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRTtTQUM5QyxFQUNELEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQ3hCLFNBQUksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFnQztZQUNwRCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFO1NBQzlDLEVBQ0QsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFFN0IsVUFBSyxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFLENBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QjtZQUNFLE1BQU0sRUFBRSxPQUFPO1lBQ2YsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQy9CLElBQUksRUFBRSxLQUFLO1NBQ1osRUFDRCxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQ3hCLENBQUM7UUFDSixrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBK0I7WUFDbkQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLGlCQUFpQjtTQUMvQyxFQUNELEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBRTdCLHFCQUFnQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxPQUFlLEVBQUUsRUFBRSxDQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBZ0M7WUFDcEQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLGdDQUFnQyxRQUFRLFlBQVksT0FBTyxFQUFFO1NBQzNGLEVBQ0QsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUE2QjtZQUNqRCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsMkJBQTJCLFFBQVEsRUFBRTtTQUNuRSxFQUNELEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBNUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsd0NBQXdDLENBQUM7SUFDbkUsQ0FBQzs7dUhBTlUsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXN0U2VydmljZX0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIYW1tYWRkZURlcG8sIEl0ZW1JbmZvcywgUHJvZHVjdGlvbk9yZGVyUGF0Y2hEdG8sIFdhcmVob3VzZX0gZnJvbSBcIi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7UmVzdWx0QmFzZX0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQge0dldFByb2R1Y3Rpb25PcmRlckR0b30gZnJvbSBcIi4uL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UHJvZHVjdGlvbk9yZGVyc1NlcnZpY2Uge1xyXG4gIGFwaU5hbWUgPSAnVXJldGltWW9uZXRpbWknO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZUVuZHBvaW50OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnJlc291cmNlRW5kcG9pbnQgPSAnL2FwaS91cmV0aW0teW9uZXRpbWkvcHJvZHVjdGlvbi1vcmRlcnMnO1xyXG4gIH1cclxuXHJcbiAgZ2V0ID0gKGlkOiBudW1iZXIpID0+XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8c3RyaW5nLCBSZXN1bHRCYXNlPEdldFByb2R1Y3Rpb25PcmRlckR0bz4+KHtcclxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgICAgIHVybDogYCR7dGhpcy5yZXNvdXJjZUVuZHBvaW50fT9pZD0ke2lkICsgJyd9YCxcclxuICAgICAgfSxcclxuICAgICAge2FwaU5hbWU6IHRoaXMuYXBpTmFtZX0pO1xyXG4gICAgICAgZ2V0MiA9IChpZDogbnVtYmVyKSA9PlxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PHN0cmluZywgR2V0UHJvZHVjdGlvbk9yZGVyRHRvPih7XHJcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgICAgICB1cmw6IGAke3RoaXMucmVzb3VyY2VFbmRwb2ludH0/aWQ9JHtpZCArICcnfWAsXHJcbiAgICAgIH0sXHJcbiAgICAgIHthcGlOYW1lOiB0aGlzLmFwaU5hbWV9KTtcclxuXHJcbiAgcGF0Y2ggPSAoaW5wdXQ6IFByb2R1Y3Rpb25PcmRlclBhdGNoRHRvKSA9PlxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgUmVzdWx0QmFzZTxQcm9kdWN0aW9uT3JkZXJQYXRjaER0bz4+KFxyXG4gICAgICB7XHJcbiAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxyXG4gICAgICAgIHVybDogYCR7dGhpcy5yZXNvdXJjZUVuZHBvaW50fWAsXHJcbiAgICAgICAgYm9keTogaW5wdXRcclxuICAgICAgfSxcclxuICAgICAge2FwaU5hbWU6IHRoaXMuYXBpTmFtZX1cclxuICAgICk7XHJcbiAgZ2V0V2FyZWhvdXNlcyA9ICgpID0+XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBSZXN1bHRCYXNlPFdhcmVob3VzZVtdPj4oe1xyXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLnJlc291cmNlRW5kcG9pbnR9L2dldC13YXJlaG91c2VzYCxcclxuICAgICAgfSxcclxuICAgICAge2FwaU5hbWU6IHRoaXMuYXBpTmFtZX0pO1xyXG5cclxuICBnZXRXYXJlSG91c2VJbmZvID0gKGl0ZW1Db2RlOiBzdHJpbmcsIG9yZGVyTm86IHN0cmluZykgPT5cclxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIFJlc3VsdEJhc2U8SGFtbWFkZGVEZXBvPj4oe1xyXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLnJlc291cmNlRW5kcG9pbnR9L2dldC13YXJlaG91c2UtaW5mbz9pdGVtQ29kZT0ke2l0ZW1Db2RlfSZvcmRlck5vPSR7b3JkZXJOb31gLFxyXG4gICAgICB9LFxyXG4gICAgICB7YXBpTmFtZTogdGhpcy5hcGlOYW1lfSk7XHJcblxyXG4gICAgICBnZXRJdGVtSW5mbyA9IChpdGVtQ29kZSkgPT5cclxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIFJlc3VsdEJhc2U8SXRlbUluZm9zPj4oe1xyXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLnJlc291cmNlRW5kcG9pbnR9L2dldC1pdGVtLWluZm8/aXRlbUNvZGU9JHtpdGVtQ29kZX1gLFxyXG4gICAgICB9LFxyXG4gICAgICB7YXBpTmFtZTogdGhpcy5hcGlOYW1lfSk7XHJcbn1cclxuIl19
|
|
@@ -17,4 +17,4 @@ export class ProductionOrderLine {
|
|
|
17
17
|
this.quantity = 0;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXJldGltLXlvbmV0aW1pL3NyYy9saWIvaGl0LXByb3h5L2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7Q0FZakM7QUFFRCxNQUFNLE9BQU8sNkJBQTZCO0lBQTFDO1FBRUUsa0JBQWEsR0FBa0MsRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTywyQkFBMkI7SUFBeEM7UUFLRSxpQkFBWSxHQUF5QyxFQUFFLENBQUM7SUFDMUQsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGtDQUFrQztDQUc5QztBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFVRSxhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXRQcm9kdWN0aW9uT3JkZXJEdG8ge1xyXG4gIGFic29sdXRlRW50cnk6IG51bWJlcjsgLy8gRG9jIEVudHJ5IFBLXHJcbiAgZG9jdW1lbnROdW1iZXI6IG51bWJlcjsgLy8gRG9jTnVtIEfDtnLDvG5lbiBBZCBCdSBEb2vDvG1hbiDEsMOnaW5cclxuICBpdGVtTm86IHN0cmluZzsgLy8gUGFyw6dhIEtvZHVcclxuICBwcm9kdWN0RGVzY3JpcHRpb246IHN0cmluZzsgLy8gUGFyw6dhIEFkxLFcclxuICB3YXJlaG91c2U6IHN0cmluZzsgLy8gSGVkZWYgRGVwb1xyXG4gIHVuaXRPZk1lYXN1cmVtZW50OiBzdHJpbmc7IC8vIEJpcmltIFTDvHLDvFxyXG4gIHBsYW5uZWRRdWFudGl0eTogbnVtYmVyOyAvLyBQbGFubGFuYW4ga8Sxc23EsW5hIGdlbGVjZWsgVG9wbGFuYW4gZGXEn2nFn3RpcmlsZWJpbGVjZWtcclxuICBjb21wbGV0ZWRRdWFudGl0eTogbnVtYmVyOyAvLyBQbGFubGFuYW4ga8Sxc23EsW5hIGdlbGVjZWsgVG9wbGFuYW4gZGXEn2nFn3RpcmlsZWJpbGVjZWtcclxuICB1X3Rya0JhdGNoOiBzdHJpbmc7IC8vIFBhcnRpIE51bWFyYXPEsVxyXG4gIHVfS2F6YW46IHN0cmluZzsgLy8gS2F6YW4gTm9cclxuICBnZXRQcm9kdWN0aW9uT3JkZXJMaW5lOiBQcm9kdWN0aW9uT3JkZXJMaW5lW107IC8vIMOccmV0aW0gRW1yaSBTYXTEsXJsYXLEsVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8ge1xyXG4gIGRvY0VudHJ5OiBudW1iZXI7XHJcbiAgZG9jdW1lbnRMaW5lczogUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0xpbmVzW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcyB7XHJcbiAgd2FyZWhvdXNlQ29kZTogc3RyaW5nO1xyXG4gIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgYmFzZVR5cGU6IG51bWJlcjtcclxuICBiYXNlRW50cnk6IG51bWJlcjtcclxuICBiYXRjaE51bWJlcnM6IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnNbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyB7XHJcbiAgYmF0Y2hOdW1iZXI6IHN0cmluZztcclxuICBxdWFudGl0eTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdGlvbk9yZGVyTGluZSB7XHJcbiAgYWJzb2x1dGVFbnRyeTogbnVtYmVyOyAvLyBEb2MgRW50cnkgUEtcclxuICBsaW5lTnVtOiBudW1iZXI7IC8vIFNhdMSxciBOdW1hcmFzxLFcclxuICBiYXRjaE51bWJlcjogc3RyaW5nOyAvLyBQYXJ0aSBOdW1hcmFzxLFcclxuICBpdGVtQ29kZTogc3RyaW5nOyAvLyBQYXLDp2EgS29kdVxyXG4gIGl0ZW1OYW1lOiBzdHJpbmc7IC8vIFBhcsOnYSBBZMSxXHJcbiAgcGxhbm5lZFF0eTogbnVtYmVyOyAvLyBNaWt0YXIgdmUgVG9wbGFuYW4ga8Sxc23EsW5hIGdlbGVjZWsgVG9wbGFuYW4gZGXEn2nFn3RpcmlsZWJpbGVjZWtcclxuICB3YXJlaG91c2U6IHN0cmluZzsgLy8gSGVkZWYgRGVwb1xyXG4gIHVuaXRPZk1lYXN1cmVtZW50OiBzdHJpbmc7IC8vIEJpcmltIFTDvHLDvFxyXG4gIGlzc3VlZFF0eTogbnVtYmVyOyAvLyBUb3BsYW5hblxyXG4gIHF1YW50aXR5OiBudW1iZXIgPSAwO1xyXG59XHJcbiJdfQ==
|
|
@@ -2,13 +2,13 @@ export class ResultBase {
|
|
|
2
2
|
}
|
|
3
3
|
export class HitHelper {
|
|
4
4
|
static getMeasurementFormatted(suffix) {
|
|
5
|
-
return suffix ? '#,##0.
|
|
5
|
+
return suffix ? '#,##0.00 ' + suffix : '#,##0.00';
|
|
6
6
|
}
|
|
7
7
|
static getMeasurementFormattedWithLocalization(value, unit) {
|
|
8
8
|
const locale = navigator.language || 'tr-TR';
|
|
9
9
|
const formatted = new Intl.NumberFormat(locale, {
|
|
10
|
-
minimumFractionDigits:
|
|
11
|
-
maximumFractionDigits:
|
|
10
|
+
minimumFractionDigits: 2,
|
|
11
|
+
maximumFractionDigits: 2,
|
|
12
12
|
}).format(value);
|
|
13
13
|
return unit ? `${formatted} ${unit}` : formatted;
|
|
14
14
|
}
|
|
@@ -24,47 +24,52 @@ export class HitHelper {
|
|
|
24
24
|
.join('\n');
|
|
25
25
|
}
|
|
26
26
|
static parseQR(barkod) {
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
debugger;
|
|
28
|
+
const elTerminalKoduStartIndex = barkod.lastIndexOf("KM");
|
|
29
|
+
const elTerminalKodu = barkod.substring(elTerminalKoduStartIndex);
|
|
30
|
+
const sabit21Index = elTerminalKoduStartIndex - 2;
|
|
31
|
+
const tartimMiktar = barkod.substring(sabit21Index - 6, sabit21Index);
|
|
32
|
+
const sabit3103Index = sabit21Index - 6 - 4;
|
|
33
|
+
const sonKullanmaTarihi = barkod.substring(sabit3103Index - 6, sabit3103Index);
|
|
34
|
+
const sabit17Index = sabit3103Index - 6 - 2;
|
|
35
|
+
const kimyasalKoduStartIndex = 3;
|
|
36
|
+
const kimyasalKodu = barkod.substring(kimyasalKoduStartIndex, kimyasalKoduStartIndex + 14);
|
|
37
|
+
const sabit10Index = kimyasalKoduStartIndex + 14;
|
|
38
|
+
const lotNo = barkod.substring(sabit10Index + 2, sabit17Index);
|
|
39
|
+
const chemicalCodeMatch = kimyasalKodu;
|
|
40
|
+
const lotNumberMatch = lotNo;
|
|
41
|
+
const expDateMatch = sonKullanmaTarihi;
|
|
42
|
+
const weightMatch = tartimMiktar;
|
|
43
|
+
const terminalCodeMatch = elTerminalKodu;
|
|
44
|
+
if (!chemicalCodeMatch || !lotNumberMatch || !expDateMatch || !weightMatch || !terminalCodeMatch) {
|
|
35
45
|
return null;
|
|
36
|
-
let pos = marker240.length;
|
|
37
|
-
const idx10 = barkod.indexOf(marker10, pos);
|
|
38
|
-
if (idx10 === -1)
|
|
39
|
-
return null;
|
|
40
|
-
const itemCode = barkod.substring(pos, idx10);
|
|
41
|
-
pos = idx10 + marker10.length;
|
|
42
|
-
const idx17 = barkod.indexOf(marker17, pos);
|
|
43
|
-
if (idx17 === -1)
|
|
44
|
-
return null;
|
|
45
|
-
const lotNo = barkod.substring(pos, idx17);
|
|
46
|
-
pos = idx17 + marker17.length;
|
|
47
|
-
const idx3103 = barkod.indexOf(marker3103, pos);
|
|
48
|
-
if (idx3103 === -1)
|
|
49
|
-
return null;
|
|
50
|
-
const expDateRaw = barkod.substring(pos, idx3103);
|
|
51
|
-
pos = idx3103 + marker3103.length;
|
|
52
|
-
const idx21 = barkod.indexOf(marker21, pos);
|
|
53
|
-
if (idx21 === -1)
|
|
54
|
-
return null;
|
|
55
|
-
const weightRaw = barkod.substring(pos, idx21);
|
|
56
|
-
pos = idx21 + marker21.length;
|
|
57
|
-
const terminalCode = barkod.substring(pos);
|
|
58
|
-
// Tarihi formatla: YYMMDD -> YYYY-MM-DD
|
|
59
|
-
let expirationDate = '';
|
|
60
|
-
if (/^\d{6}$/.test(expDateRaw)) {
|
|
61
|
-
expirationDate = `20${expDateRaw.slice(0, 2)}-${expDateRaw.slice(2, 4)}-${expDateRaw.slice(4, 6)}`;
|
|
62
46
|
}
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
// var onMu = false;
|
|
48
|
+
// while(!onMu){
|
|
49
|
+
// if(lotNumberMatch[1].substring(0, 2) == "10"){
|
|
50
|
+
// chemicalCodeMatch[1] += "10";
|
|
51
|
+
// lotNumberMatch[1] = lotNumberMatch[1].substring(2);
|
|
52
|
+
// }
|
|
53
|
+
// else{
|
|
54
|
+
// onMu = true;
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
// var onYediMi = false;
|
|
58
|
+
// while(!onYediMi){
|
|
59
|
+
// if(expDateMatch[1].substring(0, 2) == "17"){
|
|
60
|
+
// lotNumberMatch[1] += "17";
|
|
61
|
+
// expDateMatch[1] = expDateMatch[1].substring(2);
|
|
62
|
+
// }
|
|
63
|
+
// else{
|
|
64
|
+
// onYediMi = true;
|
|
65
|
+
// }
|
|
66
|
+
// }
|
|
67
|
+
if (!chemicalCodeMatch || !lotNumberMatch || !expDateMatch || !weightMatch || !terminalCodeMatch) {
|
|
68
|
+
return null;
|
|
65
69
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
70
|
+
const expDateRaw = expDateMatch[1]; // YYMMDD
|
|
71
|
+
const expirationDate = `20${expDateRaw.slice(0, 2)}-${expDateRaw.slice(2, 4)}-${expDateRaw.slice(4, 6)}`;
|
|
72
|
+
return new Hammadde(chemicalCodeMatch, lotNumberMatch, expirationDate, parseInt(weightMatch), terminalCodeMatch);
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
75
|
export class Hammadde {
|
|
@@ -77,4 +82,4 @@ export class Hammadde {
|
|
|
77
82
|
this.terminalCode = terminalCode;
|
|
78
83
|
}
|
|
79
84
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXJldGltLXlvbmV0aW1pL3NyYy9saWIvaGl0LXByb3h5L21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtDQUt0QjtBQUVELE1BQU0sT0FBTyxTQUFTO0lBQ2IsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE1BQWM7UUFDbEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRU0sTUFBTSxDQUFDLHVDQUF1QyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQy9FLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDO1FBRTdDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDOUMscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxDQUFDO1NBQ3pCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFnQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sTUFBTTthQUNWLEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMzQixRQUFRLENBQUM7UUFFWCxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sWUFBWSxHQUFHLHdCQUF3QixHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFdEUsTUFBTSxjQUFjLEdBQUcsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFL0UsTUFBTSxZQUFZLEdBQUcsY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUzRixNQUFNLFlBQVksR0FBRyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFDakQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRS9ELE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM3QixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7UUFDakMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFFdkMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDaEcsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsbURBQW1EO1FBQ25ELG9DQUFvQztRQUNwQywwREFBMEQ7UUFDMUQsTUFBTTtRQUNOLFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsTUFBTTtRQUNOLElBQUk7UUFFSix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGlEQUFpRDtRQUNqRCxpQ0FBaUM7UUFDakMsc0RBQXNEO1FBQ3RELE1BQU07UUFDTixVQUFVO1FBQ1YsdUJBQXVCO1FBQ3ZCLE1BQU07UUFDTixJQUFJO1FBRUosSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDaEcsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDN0MsTUFBTSxjQUFjLEdBQUcsS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pHLE9BQU8sSUFBSSxRQUFRLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNuSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sUUFBUTtJQVFuQixZQUFZLFlBQW9CLEVBQUUsU0FBaUIsRUFBRSxjQUFzQixFQUFFLE1BQWMsRUFBRSxZQUFvQjtRQUMvRyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsc0NBQXNDO1FBQ2xGLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZXN1bHRCYXNlPFQ+IHtcclxuICBpdGVtczogVDtcclxuICB0b3RhbENvdW50OiBudW1iZXI7XHJcbiAgaXNTdWNjZXNzZnVsOiBib29sZWFuO1xyXG4gIGVycm9yczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBIaXRIZWxwZXIge1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWVhc3VyZW1lbnRGb3JtYXR0ZWQoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN1ZmZpeCA/ICcjLCMjMC4wMCAnICsgc3VmZml4IDogJyMsIyMwLjAwJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWVhc3VyZW1lbnRGb3JtYXR0ZWRXaXRoTG9jYWxpemF0aW9uKHZhbHVlOiBudW1iZXIsIHVuaXQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsb2NhbGUgPSBuYXZpZ2F0b3IubGFuZ3VhZ2UgfHwgJ3RyLVRSJztcclxuXHJcbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XHJcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgfSkuZm9ybWF0KHZhbHVlKTtcclxuXHJcbiAgICByZXR1cm4gdW5pdCA/IGAke2Zvcm1hdHRlZH0gJHt1bml0fWAgOiBmb3JtYXR0ZWQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0Rm9ybWF0dGVkRXJyb3JzKGVycm9yczogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFlcnJvcnM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIGVycm9yc1swXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3JzXHJcbiAgICAgIC5tYXAoKGVycjogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBgJHtpbmRleCArIDF9LiAke2Vycn1gKVxyXG4gICAgICAuam9pbignXFxuJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFyc2VRUihiYXJrb2Q6IHN0cmluZyk6IEhhbW1hZGRlIHwgbnVsbCB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIFxyXG4gIGNvbnN0IGVsVGVybWluYWxLb2R1U3RhcnRJbmRleCA9IGJhcmtvZC5sYXN0SW5kZXhPZihcIktNXCIpO1xyXG4gIGNvbnN0IGVsVGVybWluYWxLb2R1ID0gYmFya29kLnN1YnN0cmluZyhlbFRlcm1pbmFsS29kdVN0YXJ0SW5kZXgpO1xyXG5cclxuICBjb25zdCBzYWJpdDIxSW5kZXggPSBlbFRlcm1pbmFsS29kdVN0YXJ0SW5kZXggLSAyO1xyXG4gIGNvbnN0IHRhcnRpbU1pa3RhciA9IGJhcmtvZC5zdWJzdHJpbmcoc2FiaXQyMUluZGV4IC0gNiwgc2FiaXQyMUluZGV4KTtcclxuXHJcbiAgY29uc3Qgc2FiaXQzMTAzSW5kZXggPSBzYWJpdDIxSW5kZXggLSA2IC0gNDtcclxuICBjb25zdCBzb25LdWxsYW5tYVRhcmloaSA9IGJhcmtvZC5zdWJzdHJpbmcoc2FiaXQzMTAzSW5kZXggLSA2LCBzYWJpdDMxMDNJbmRleCk7XHJcblxyXG4gIGNvbnN0IHNhYml0MTdJbmRleCA9IHNhYml0MzEwM0luZGV4IC0gNiAtIDI7XHJcblxyXG4gIGNvbnN0IGtpbXlhc2FsS29kdVN0YXJ0SW5kZXggPSAzO1xyXG4gIGNvbnN0IGtpbXlhc2FsS29kdSA9IGJhcmtvZC5zdWJzdHJpbmcoa2lteWFzYWxLb2R1U3RhcnRJbmRleCwga2lteWFzYWxLb2R1U3RhcnRJbmRleCArIDE0KTtcclxuXHJcbiAgY29uc3Qgc2FiaXQxMEluZGV4ID0ga2lteWFzYWxLb2R1U3RhcnRJbmRleCArIDE0O1xyXG4gIGNvbnN0IGxvdE5vID0gYmFya29kLnN1YnN0cmluZyhzYWJpdDEwSW5kZXggKyAyLCBzYWJpdDE3SW5kZXgpO1xyXG5cclxuICBjb25zdCBjaGVtaWNhbENvZGVNYXRjaCA9IGtpbXlhc2FsS29kdTtcclxuICBjb25zdCBsb3ROdW1iZXJNYXRjaCA9IGxvdE5vO1xyXG4gIGNvbnN0IGV4cERhdGVNYXRjaCA9IHNvbkt1bGxhbm1hVGFyaWhpO1xyXG4gIGNvbnN0IHdlaWdodE1hdGNoID0gdGFydGltTWlrdGFyO1xyXG4gIGNvbnN0IHRlcm1pbmFsQ29kZU1hdGNoID0gZWxUZXJtaW5hbEtvZHU7XHJcblxyXG4gICAgaWYgKCFjaGVtaWNhbENvZGVNYXRjaCB8fCAhbG90TnVtYmVyTWF0Y2ggfHwgIWV4cERhdGVNYXRjaCB8fCAhd2VpZ2h0TWF0Y2ggfHwgIXRlcm1pbmFsQ29kZU1hdGNoKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHZhciBvbk11ID0gZmFsc2U7XHJcbiAgICAvLyB3aGlsZSghb25NdSl7XHJcbiAgICAvLyAgIGlmKGxvdE51bWJlck1hdGNoWzFdLnN1YnN0cmluZygwLCAyKSA9PSBcIjEwXCIpe1xyXG4gICAgLy8gICAgIGNoZW1pY2FsQ29kZU1hdGNoWzFdICs9IFwiMTBcIjtcclxuICAgIC8vICAgICBsb3ROdW1iZXJNYXRjaFsxXSA9IGxvdE51bWJlck1hdGNoWzFdLnN1YnN0cmluZygyKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICBlbHNle1xyXG4gICAgLy8gICAgIG9uTXUgPSB0cnVlO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gdmFyIG9uWWVkaU1pID0gZmFsc2U7XHJcbiAgICAvLyB3aGlsZSghb25ZZWRpTWkpe1xyXG4gICAgLy8gICBpZihleHBEYXRlTWF0Y2hbMV0uc3Vic3RyaW5nKDAsIDIpID09IFwiMTdcIil7XHJcbiAgICAvLyAgICAgbG90TnVtYmVyTWF0Y2hbMV0gKz0gXCIxN1wiO1xyXG4gICAgLy8gICAgIGV4cERhdGVNYXRjaFsxXSA9IGV4cERhdGVNYXRjaFsxXS5zdWJzdHJpbmcoMik7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgZWxzZXtcclxuICAgIC8vICAgICBvblllZGlNaSA9IHRydWU7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICBpZiAoIWNoZW1pY2FsQ29kZU1hdGNoIHx8ICFsb3ROdW1iZXJNYXRjaCB8fCAhZXhwRGF0ZU1hdGNoIHx8ICF3ZWlnaHRNYXRjaCB8fCAhdGVybWluYWxDb2RlTWF0Y2gpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXhwRGF0ZVJhdyA9IGV4cERhdGVNYXRjaFsxXTsgLy8gWVlNTUREXHJcbiAgICBjb25zdCBleHBpcmF0aW9uRGF0ZSA9IGAyMCR7ZXhwRGF0ZVJhdy5zbGljZSgwLCAyKX0tJHtleHBEYXRlUmF3LnNsaWNlKDIsIDQpfS0ke2V4cERhdGVSYXcuc2xpY2UoNCwgNil9YDtcclxuICAgIHJldHVybiBuZXcgSGFtbWFkZGUoY2hlbWljYWxDb2RlTWF0Y2gsIGxvdE51bWJlck1hdGNoLCBleHBpcmF0aW9uRGF0ZSwgcGFyc2VJbnQod2VpZ2h0TWF0Y2gpLCB0ZXJtaW5hbENvZGVNYXRjaCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSGFtbWFkZGUge1xyXG4gIGNoZW1pY2FsQ29kZTogc3RyaW5nO1xyXG4gIGxvdE51bWJlcjogc3RyaW5nO1xyXG4gIGV4cGlyYXRpb25EYXRlOiBzdHJpbmc7XHJcbiAgd2VpZ2h0R3I6IG51bWJlcjtcclxuICB3ZWlnaHRLZzogbnVtYmVyO1xyXG4gIHRlcm1pbmFsQ29kZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjaGVtaWNhbENvZGU6IHN0cmluZywgbG90TnVtYmVyOiBzdHJpbmcsIGV4cGlyYXRpb25EYXRlOiBzdHJpbmcsIHdlaWdodDogbnVtYmVyLCB0ZXJtaW5hbENvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jaGVtaWNhbENvZGUgPSBjaGVtaWNhbENvZGU7XHJcbiAgICB0aGlzLmxvdE51bWJlciA9IGxvdE51bWJlcjtcclxuICAgIHRoaXMuZXhwaXJhdGlvbkRhdGUgPSBleHBpcmF0aW9uRGF0ZTtcclxuICAgIHRoaXMud2VpZ2h0R3IgPSB3ZWlnaHQ7IC8vIEdyYW0gY2luc2luZGVuXHJcbiAgICB0aGlzLndlaWdodEtnID0gd2VpZ2h0ID8gd2VpZ2h0IC8gMTAwMCA6IDA7IC8vIEtpbG9ncmFtIGNpbnNpbmUgZMO2bsO8xZ90w7xyw7xsbcO8xZ8gaGFsaVxyXG4gICAgdGhpcy50ZXJtaW5hbENvZGUgPSB0ZXJtaW5hbENvZGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,11 +4,7 @@ import { loadHitProductionOrdersAsChild } from './components/hit-production-orde
|
|
|
4
4
|
import { loadHitReceiptFromProductionsAsChild } from './components/hit-receipt-from-productions/hit-receipt-from-productions.module';
|
|
5
5
|
import { loadHitIssuesForProductionsAsChild } from "./components/hit-issues-for-productions/hit-issues-for-productions.module";
|
|
6
6
|
import { loadHitCreateBarcodesAsChild } from "./components/hit-create-barcodes/hit-create-barcodes.module";
|
|
7
|
-
import { loadHitFillingControlAsChild } from "./components/hit-filling-control/hit-filling-control.module";
|
|
8
|
-
import { loadHitFillingReceiptFromProductionAsChild } from "./components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.module";
|
|
9
|
-
import { loadHitBoilerYMProductWasteAsChild } from "./components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.module";
|
|
10
7
|
import { UretimYonetimiComponent } from './components/uretim-yonetimi.component';
|
|
11
|
-
import { loadHitComponentWastageAsChild } from "./components/hit-component-wastage/hit-component-wastage.module";
|
|
12
8
|
import * as i0 from "@angular/core";
|
|
13
9
|
import * as i1 from "@angular/router";
|
|
14
10
|
const routes = [
|
|
@@ -20,11 +16,7 @@ const routes = [
|
|
|
20
16
|
{ path: 'create-barcodes', loadChildren: loadHitCreateBarcodesAsChild },
|
|
21
17
|
{ path: 'production-orders', loadChildren: loadHitProductionOrdersAsChild },
|
|
22
18
|
{ path: 'issues-for-productions', loadChildren: loadHitIssuesForProductionsAsChild },
|
|
23
|
-
{ path: 'receipt-from-productions', loadChildren: loadHitReceiptFromProductionsAsChild }
|
|
24
|
-
{ path: 'filling-control', loadChildren: loadHitFillingControlAsChild },
|
|
25
|
-
{ path: 'filling-receipt-from-production', loadChildren: loadHitFillingReceiptFromProductionAsChild },
|
|
26
|
-
{ path: 'boiler-ym-product-waste', loadChildren: loadHitBoilerYMProductWasteAsChild },
|
|
27
|
-
{ path: 'component-wastage', loadChildren: loadHitComponentWastageAsChild },
|
|
19
|
+
{ path: 'receipt-from-productions', loadChildren: loadHitReceiptFromProductionsAsChild }
|
|
28
20
|
];
|
|
29
21
|
export class UretimYonetimiRoutingModule {
|
|
30
22
|
}
|
|
@@ -38,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
38
30
|
exports: [RouterModule],
|
|
39
31
|
}]
|
|
40
32
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJldGltLXlvbmV0aW1pLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdXJldGltLXlvbmV0aW1pL3NyYy9saWIvdXJldGltLXlvbmV0aW1pLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFDTCxvQ0FBb0MsRUFDckMsTUFBTSwrRUFBK0UsQ0FBQztBQUN2RixPQUFPLEVBQ0wsa0NBQWtDLEVBQ25DLE1BQU0sMkVBQTJFLENBQUM7QUFDbkYsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUVqRixNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLE1BQU07UUFDakIsU0FBUyxFQUFFLHVCQUF1QjtLQUNuQztJQUNELEVBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBQztJQUNyRSxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsOEJBQThCLEVBQUM7SUFDekUsRUFBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGtDQUFrQyxFQUFDO0lBQ2xGLEVBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFLFlBQVksRUFBRSxvQ0FBb0MsRUFBQztDQUN2RixDQUFDO0FBTUYsTUFBTSxPQUFPLDJCQUEyQjs7d0hBQTNCLDJCQUEyQjt5SEFBM0IsMkJBQTJCLHdDQUY1QixZQUFZO3lIQUVYLDJCQUEyQixZQUg1QixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzJGQUVYLDJCQUEyQjtrQkFKdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7bG9hZEhpdFByb2R1Y3Rpb25PcmRlcnNBc0NoaWxkfSBmcm9tICcuL2NvbXBvbmVudHMvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIGxvYWRIaXRSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQXNDaGlsZFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBsb2FkSGl0SXNzdWVzRm9yUHJvZHVjdGlvbnNBc0NoaWxkXHJcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9oaXQtaXNzdWVzLWZvci1wcm9kdWN0aW9ucy9oaXQtaXNzdWVzLWZvci1wcm9kdWN0aW9ucy5tb2R1bGVcIjtcclxuaW1wb3J0IHtsb2FkSGl0Q3JlYXRlQmFyY29kZXNBc0NoaWxkfSBmcm9tIFwiLi9jb21wb25lbnRzL2hpdC1jcmVhdGUtYmFyY29kZXMvaGl0LWNyZWF0ZS1iYXJjb2Rlcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgVXJldGltWW9uZXRpbWlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXJldGltLXlvbmV0aW1pLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxyXG4gICAgY29tcG9uZW50OiBVcmV0aW1Zb25ldGltaUNvbXBvbmVudCxcclxuICB9LFxyXG4gIHtwYXRoOiAnY3JlYXRlLWJhcmNvZGVzJywgbG9hZENoaWxkcmVuOiBsb2FkSGl0Q3JlYXRlQmFyY29kZXNBc0NoaWxkfSxcclxuICB7cGF0aDogJ3Byb2R1Y3Rpb24tb3JkZXJzJywgbG9hZENoaWxkcmVuOiBsb2FkSGl0UHJvZHVjdGlvbk9yZGVyc0FzQ2hpbGR9LFxyXG4gIHtwYXRoOiAnaXNzdWVzLWZvci1wcm9kdWN0aW9ucycsIGxvYWRDaGlsZHJlbjogbG9hZEhpdElzc3Vlc0ZvclByb2R1Y3Rpb25zQXNDaGlsZH0sXHJcbiAge3BhdGg6ICdyZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMnLCBsb2FkQ2hpbGRyZW46IGxvYWRIaXRSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQXNDaGlsZH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVyZXRpbVlvbmV0aW1pUm91dGluZ01vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -7,10 +7,6 @@ import { HitProductionOrdersComponent } from "./components/hit-production-orders
|
|
|
7
7
|
import { HitReceiptFromProductionsComponent } from "./components/hit-receipt-from-productions/hit-receipt-from-productions.component";
|
|
8
8
|
import { HitIssuesForProductionsComponent } from "./components/hit-issues-for-productions/hit-issues-for-productions.component";
|
|
9
9
|
import { HitCreateBarcodesComponent } from "./components/hit-create-barcodes/hit-create-barcodes.component";
|
|
10
|
-
import { HitFillingControlComponent } from "./components/hit-filling-control/hit-filling-control.component";
|
|
11
|
-
import { HitFillingReceiptFromProductionComponent } from "./components/hit-filling-receipt-from-production/hit-filling-receipt-from-production.component";
|
|
12
|
-
import { HitBoilerYMProductWasteComponent } from "./components/hit-boiler-ym-product-waste/hit-boiler-ym-product-waste.component";
|
|
13
|
-
import { HitComponentWastageComponent } from "./components/hit-component-wastage/hit-component-wastage.component";
|
|
14
10
|
import * as i0 from "@angular/core";
|
|
15
11
|
import * as i1 from "@abp/ng.core";
|
|
16
12
|
export class UretimYonetimiModule {
|
|
@@ -33,22 +29,6 @@ export class UretimYonetimiModule {
|
|
|
33
29
|
key: 'CreateBarcodesKey',
|
|
34
30
|
component: HitCreateBarcodesComponent,
|
|
35
31
|
});
|
|
36
|
-
replacementService.add({
|
|
37
|
-
key: 'FillingControlKey',
|
|
38
|
-
component: HitFillingControlComponent,
|
|
39
|
-
});
|
|
40
|
-
replacementService.add({
|
|
41
|
-
key: 'FillingReceiptFromProductionKey',
|
|
42
|
-
component: HitFillingReceiptFromProductionComponent,
|
|
43
|
-
});
|
|
44
|
-
replacementService.add({
|
|
45
|
-
key: 'BoilerYMProductWasteKey',
|
|
46
|
-
component: HitBoilerYMProductWasteComponent,
|
|
47
|
-
});
|
|
48
|
-
replacementService.add({
|
|
49
|
-
key: 'ComponentWastageKey',
|
|
50
|
-
component: HitComponentWastageComponent,
|
|
51
|
-
});
|
|
52
32
|
}
|
|
53
33
|
static forChild() {
|
|
54
34
|
return {
|
|
@@ -72,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
72
52
|
exports: [UretimYonetimiComponent],
|
|
73
53
|
}]
|
|
74
54
|
}], ctorParameters: function () { return [{ type: i1.ReplaceableComponentsService }, { type: i1.LocalizationService }]; } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJldGltLXlvbmV0aW1pLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VyZXRpbS15b25ldGltaS9zcmMvbGliL3VyZXRpbS15b25ldGltaS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBb0QsTUFBTSxjQUFjLENBQUM7QUFDOUcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUNMLGtDQUFrQyxFQUNuQyxNQUFNLGtGQUFrRixDQUFDO0FBQzFGLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBTzFHLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsWUFDbUIsa0JBQWdELEVBQ3pELG1CQUF3QztRQUQvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQThCO1FBQ3pELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDaEQsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQ3JCLEdBQUcsRUFBRSw2QkFBNkI7WUFDbEMsU0FBUyxFQUFFLDRCQUE0QjtTQUN4QyxDQUFDLENBQUE7UUFDRixrQkFBa0IsQ0FBQyxHQUFHLENBQUM7WUFDckIsR0FBRyxFQUFFLDJCQUEyQjtZQUNoQyxTQUFTLEVBQUUsa0NBQWtDO1NBQzlDLENBQUMsQ0FBQTtRQUNGLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUNyQixHQUFHLEVBQUUseUJBQXlCO1lBQzlCLFNBQVMsRUFBRSxnQ0FBZ0M7U0FDNUMsQ0FBQyxDQUFBO1FBQ0Ysa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQ3JCLEdBQUcsRUFBRSxtQkFBbUI7WUFDeEIsU0FBUyxFQUFFLDBCQUEwQjtTQUN0QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBOUJELE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTyxJQUFJLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQXFCQSxDQUFDOztpSEEvQlMsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBSmhCLHVCQUF1QixhQUM1QixVQUFVLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLGFBQzFELHVCQUF1QjtrSEFFdEIsb0JBQW9CLFlBSHJCLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSwyQkFBMkI7MkZBR3pELG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixDQUFDO29CQUNyRSxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBOZ01vZHVsZUZhY3RvcnksIE1vZHVsZVdpdGhQcm92aWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvcmVNb2R1bGUsIExhenlNb2R1bGVGYWN0b3J5LCBMb2NhbGl6YXRpb25TZXJ2aWNlLCBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1RoZW1lU2hhcmVkTW9kdWxlfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7VXJldGltWW9uZXRpbWlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy91cmV0aW0teW9uZXRpbWkuY29tcG9uZW50JztcclxuaW1wb3J0IHtVcmV0aW1Zb25ldGltaVJvdXRpbmdNb2R1bGV9IGZyb20gJy4vdXJldGltLXlvbmV0aW1pLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHtIaXRQcm9kdWN0aW9uT3JkZXJzQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy9oaXQtcHJvZHVjdGlvbi1vcmRlcnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc0NvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEhpdElzc3Vlc0ZvclByb2R1Y3Rpb25zQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9oaXQtaXNzdWVzLWZvci1wcm9kdWN0aW9ucy9oaXQtaXNzdWVzLWZvci1wcm9kdWN0aW9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtIaXRDcmVhdGVCYXJjb2Rlc0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9oaXQtY3JlYXRlLWJhcmNvZGVzL2hpdC1jcmVhdGUtYmFyY29kZXMuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1VyZXRpbVlvbmV0aW1pQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIFVyZXRpbVlvbmV0aW1pUm91dGluZ01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1VyZXRpbVlvbmV0aW1pQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVyZXRpbVlvbmV0aW1pTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxVcmV0aW1Zb25ldGltaU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFVyZXRpbVlvbmV0aW1pTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmb3JMYXp5KCk6IE5nTW9kdWxlRmFjdG9yeTxVcmV0aW1Zb25ldGltaU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBMYXp5TW9kdWxlRmFjdG9yeShVcmV0aW1Zb25ldGltaU1vZHVsZS5mb3JDaGlsZCgpKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXBsYWNlbWVudFNlcnZpY2U6IFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICAgIHJlcGxhY2VtZW50U2VydmljZS5hZGQoe1xyXG4gICAgICBrZXk6ICdQcm9kdWN0aW9uT3JkZXJDb21wb25lbnRLZXknLFxyXG4gICAgICBjb21wb25lbnQ6IEhpdFByb2R1Y3Rpb25PcmRlcnNDb21wb25lbnQsXHJcbiAgICB9KVxyXG4gICAgcmVwbGFjZW1lbnRTZXJ2aWNlLmFkZCh7XHJcbiAgICAgIGtleTogJ1JlY2VpcHRGcm9tUHJvZHVjdGlvbnNLZXknLFxyXG4gICAgICBjb21wb25lbnQ6IEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNDb21wb25lbnQsXHJcbiAgICB9KVxyXG4gICAgcmVwbGFjZW1lbnRTZXJ2aWNlLmFkZCh7XHJcbiAgICAgIGtleTogJ0lzc3Vlc0ZvclByb2R1Y3Rpb25zS2V5JyxcclxuICAgICAgY29tcG9uZW50OiBIaXRJc3N1ZXNGb3JQcm9kdWN0aW9uc0NvbXBvbmVudCxcclxuICAgIH0pXHJcbiAgICByZXBsYWNlbWVudFNlcnZpY2UuYWRkKHtcclxuICAgICAga2V5OiAnQ3JlYXRlQmFyY29kZXNLZXknLFxyXG4gICAgICBjb21wb25lbnQ6IEhpdENyZWF0ZUJhcmNvZGVzQ29tcG9uZW50LFxyXG4gICAgfSlcclxuICB9O1xyXG59XHJcbiJdfQ==
|