@colijnit/transaction 12.1.76 → 12.1.78
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/.browserslistrc +18 -0
- package/.editorconfig +16 -0
- package/.eslintrc.json +49 -0
- package/README.md +13 -10
- package/angular.json +165 -0
- package/custom_webpack.config.js +6 -0
- package/e2e/protractor.conf.js +32 -0
- package/e2e/src/app.e2e-spec.ts +23 -0
- package/e2e/src/app.po.ts +11 -0
- package/e2e/tsconfig.json +13 -0
- package/import.bat +8 -0
- package/karma.conf.js +32 -0
- package/move-assets.js +14 -0
- package/package.json +92 -45
- package/projects/transaction/README.md +24 -0
- package/projects/transaction/karma.conf.js +44 -0
- package/projects/transaction/ng-package.json +13 -0
- package/projects/transaction/package.json +44 -0
- package/{lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss → projects/transaction/src/lib/assets/.gitkeep} +0 -0
- package/projects/transaction/src/lib/assets/dictionary/text.properties.ts +748 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_down.svg +6 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_left.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_right.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/article.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/at_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/barcode_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/barcode_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/bars_filter.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/calendar_day.svg +37 -0
- package/projects/transaction/src/lib/assets/icons/calendar_day_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cancel.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_check.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_flatbed_boxes_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_shopping_solid.svg +5 -0
- package/projects/transaction/src/lib/assets/icons/cash_register.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/credit_card_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/delivery_truck.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/edit_pencil.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ellipsis_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ellipsis_vertical_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/expand_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_circle_info_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_export_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_export_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_pdf_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_pdf_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/gear_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/grip_dots_vertical_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ideal_logo.svg +38 -0
- package/projects/transaction/src/lib/assets/icons/inbox_in_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/list_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/list_view.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/location_dot_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_open_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/magnifier.svg +12 -0
- package/projects/transaction/src/lib/assets/icons/map_marker.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/master_detail.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/memo_circle_check_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/menu.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/message_sms_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/message_sms_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/object_intersect_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/pallet_boxes_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/pdf.svg +15 -0
- package/projects/transaction/src/lib/assets/icons/percent_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/plus_round.svg +9 -0
- package/projects/transaction/src/lib/assets/icons/plus_simple.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/print_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/print_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/purchase.svg +15 -0
- package/projects/transaction/src/lib/assets/icons/resize.svg +3 -0
- package/projects/transaction/src/lib/assets/icons/share_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/shelves_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/shelves_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/side_panel.svg +7 -0
- package/projects/transaction/src/lib/assets/icons/slide_in.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/square_full.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/square_full_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/sync_alt.svg +3 -0
- package/projects/transaction/src/lib/assets/icons/tag.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/text_size_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/text_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/thick_lines.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/thin_lines.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/trash_bin.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/trash_can_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/triangle_down.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/triangle_up.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_arrow_right_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_container_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_fast_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_moving_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/txt.svg +9 -0
- package/projects/transaction/src/lib/assets/icons/unlock.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/warehouse.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/x_solid.svg +1 -0
- package/projects/transaction/src/lib/cache/cache-field.ts +91 -0
- package/projects/transaction/src/lib/cache/parameter-cache-field.ts +63 -0
- package/projects/transaction/src/lib/cache/service/business-object-cache-manager.service.ts +194 -0
- package/projects/transaction/src/lib/cache/service/select-multiple-cache.service.ts +36 -0
- package/projects/transaction/src/lib/cache/service/select-multiple-parameterized-cache.service.ts +46 -0
- package/projects/transaction/src/lib/cache/service/select-single-cache.service.ts +28 -0
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.component.ts +26 -0
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/avatar/avatar.component.ts +120 -0
- package/projects/transaction/src/lib/component/avatar/avatar.module.ts +20 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts +115 -0
- package/{lib/component/core/base/components/characteristic-answer/style/_material-definition.scss → projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss} +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts +50 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts +296 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.ts +107 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts +256 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout.component.ts +205 -0
- package/projects/transaction/src/lib/component/checkout/checkout.module.ts +144 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts +72 -0
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.ts +87 -0
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_layout.scss +0 -0
- package/{lib/component/core/base/components/default-ok-cancel-buttons → projects/transaction/src/lib/component/core/base/components/characteristic-answer}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.ts +46 -0
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.ts +20 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_layout.scss +0 -0
- package/{lib/component/core/base/components/warehouse → projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts +51 -0
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_layout.scss +0 -0
- package/{lib/component/dialog/catalog/dialog-catalog → projects/transaction/src/lib/component/core/base/components/warehouse}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.component.ts +65 -0
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.module.ts +24 -0
- package/projects/transaction/src/lib/component/core/base/dialog-base.component.ts +8 -0
- package/projects/transaction/src/lib/component/core/base/dialog-transaction-base.component.ts +44 -0
- package/projects/transaction/src/lib/component/core/base/dynamic-base-component.ts +8 -0
- package/projects/transaction/src/lib/component/core/base/transaction-base.component.ts +188 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-base.component.ts +70 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-content-base.component.ts +49 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-popup-base.component.ts +113 -0
- package/projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts +54 -0
- package/projects/transaction/src/lib/component/core/base/transaction-header-filter-popup-base.component.ts +124 -0
- package/projects/transaction/src/lib/component/core/base/transaction-input-field-base.component.ts +54 -0
- package/projects/transaction/src/lib/component/core/base/transaction-lines-grid-view-base.component.ts +6 -0
- package/projects/transaction/src/lib/component/core/base/transaction-lines-list-view-base.component.ts +6 -0
- package/projects/transaction/src/lib/component/core/base/transaction-search-grid-base.component.ts +24 -0
- package/projects/transaction/src/lib/component/core/base/transaction-search-tile-base.component.ts +30 -0
- package/projects/transaction/src/lib/component/core/characteristic-answer/characteristic-answer.component.ts +104 -0
- package/projects/transaction/src/lib/component/core/core.module.ts +47 -0
- package/projects/transaction/src/lib/component/core/directive/lazy-render-master.directive.ts +47 -0
- package/projects/transaction/src/lib/component/core/directive/lazy-render.directive.ts +37 -0
- package/projects/transaction/src/lib/component/core/directive/template-wrapper.directive.ts +72 -0
- package/projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts +9 -0
- package/projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts +6 -0
- package/{lib → projects/transaction/src/lib}/component/core/icon/icon.component.scss +0 -0
- package/projects/transaction/src/lib/component/core/icon/icon.component.ts +33 -0
- package/projects/transaction/src/lib/component/core/image-display/image-display.component.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/relation/customer-groups.component.ts +47 -0
- package/{lib → projects/transaction/src/lib}/component/core/relation/relation-customer-groups.component.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -0
- package/projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts +25 -0
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts +48 -0
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.ts +53 -0
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_layout.scss +0 -0
- package/{lib/component/dialog/transaction-header/dialog-transaction-header-branch → projects/transaction/src/lib/component/dialog/catalog/dialog-catalog}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.component.ts +40 -0
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.component.ts +24 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_layout.scss +0 -0
- package/{lib/component/discount → projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.ts +35 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.ts +70 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.ts +33 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.ts +93 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.ts +34 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.ts +35 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.ts +33 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.ts +84 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.ts +29 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.ts +42 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/discount/discount.component.ts +120 -0
- package/projects/transaction/src/lib/component/discount/discount.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/_layout.scss +0 -0
- package/{lib/component/payment-qr-code → projects/transaction/src/lib/component/discount}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/down-payment/down-payment.component.ts +77 -0
- package/projects/transaction/src/lib/component/down-payment/down-payment.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/editable-label/editable-label.component.ts +74 -0
- package/projects/transaction/src/lib/component/editable-label/editable-label.module.ts +18 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/loader/loader.component.ts +49 -0
- package/projects/transaction/src/lib/component/loader/loader.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.component.ts +42 -0
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment/payment.component.ts +264 -0
- package/projects/transaction/src/lib/component/payment/payment.module.ts +36 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.component.ts +24 -0
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_layout.scss +0 -0
- package/{lib/component/payment-tile → projects/transaction/src/lib/component/payment-qr-code}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts +38 -0
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_layout.scss +0 -0
- package/{lib/component/relation/relation-suggestions-list → projects/transaction/src/lib/component/payment-tile}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.component.ts +60 -0
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.component.ts +113 -0
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.component.ts +158 -0
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.module.ts +32 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.component.ts +70 -0
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.module.ts +31 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.component.ts +123 -0
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.module.ts +32 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-base.component.ts +33 -0
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.component.ts +65 -0
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.module.ts +22 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.component.ts +237 -0
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.component.ts +64 -0
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.ts +28 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_layout.scss +0 -0
- package/{lib/component/relation/relation-type → projects/transaction/src/lib/component/relation/relation-suggestions-list}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.ts +33 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.component.ts +48 -0
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_layout.scss +0 -0
- package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/relation/relation-type}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts +181 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts +145 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts +27 -0
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts +73 -0
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.component.ts +190 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.module.ts +81 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.ts +508 -0
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts +59 -0
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts +45 -0
- package/projects/transaction/src/lib/component/stepper/stepper.component.ts +148 -0
- package/projects/transaction/src/lib/component/stepper/stepper.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/tile/tile.component.ts +31 -0
- package/projects/transaction/src/lib/component/tile/tile.module.ts +18 -0
- package/projects/transaction/src/lib/component/toast/style/_layout.scss +24 -0
- package/projects/transaction/src/lib/component/toast/style/_material-definition.scss +6 -0
- package/projects/transaction/src/lib/component/toast/style/_theme.scss +10 -0
- package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/toast}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/toast/toast.component.ts +35 -0
- package/projects/transaction/src/lib/component/toast/toast.module.ts +17 -0
- package/projects/transaction/src/lib/component/transaction/style/_layout.scss +56 -0
- package/{lib → projects/transaction/src/lib}/component/transaction/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction/style/material.scss +14 -0
- package/projects/transaction/src/lib/component/transaction/transaction.component.ts +206 -0
- package/projects/transaction/src/lib/component/transaction/transaction.module.ts +68 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_layout.scss +0 -0
- package/{lib/component/transaction-grid/transaction-available-stock-grid → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-checkbox-list → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.ts +95 -0
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts +76 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.ts +40 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts +63 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts +33 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_layout.scss +12 -0
- package/{lib/component/transaction-line-side-panel-purchase → projects/transaction/src/lib/component/transaction-card/transaction-card}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_theme.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/material.scss +7 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.component.ts +125 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_layout.scss +25 -0
- package/{lib/component/transaction-grid/transaction-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_theme.scss +4 -0
- package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.ts +59 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_layout.scss +66 -0
- package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_theme.scss +4 -0
- package/{lib/component/transaction-header-fields/transaction-header-delivery-options → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.ts +68 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.module.ts +31 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_layout.scss +67 -0
- package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_theme.scss +4 -0
- package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.ts +64 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.module.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_layout.scss +4 -0
- package/{lib/component/transaction-line-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_theme.scss +4 -0
- package/{lib/component/transaction-line/transaction-base-line → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.module.ts +18 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.ts +148 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts +129 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.ts +107 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts +31 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts +91 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts +102 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts +119 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts +48 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts +165 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts +41 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts +128 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_layout.scss +55 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +13 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts +118 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts +235 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts +43 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.ts +60 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.component.ts +76 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.component.ts +41 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.component.ts +94 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.ts +77 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.component.ts +50 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.ts +50 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.ts +47 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-receive-goods-line → projects/transaction/src/lib/component/transaction-line/transaction-base-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.ts +93 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.ts +67 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-historic-state → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.ts +115 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.ts +35 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.component.ts +143 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.ts +70 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-item → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.ts +178 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.ts +41 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter/transaction-filter → projects/transaction/src/lib/component/transaction-line/transaction-overview-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.ts +95 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.ts +60 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-grid/transaction-search-grid → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.ts +105 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.ts +73 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +41 -0
- package/{lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-receive-goods-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.ts +130 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.ts +46 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.ts +224 -0
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-image-and-description → projects/transaction/src/lib/component/transaction-line-checkbox-list}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.ts +58 -0
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.ts +23 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.module.ts +19 -0
- package/{lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.component.ts} +0 -0
- package/{lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.module.ts} +0 -0
- package/{lib/component/transaction-line/transaction-receive-goods-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.component.ts} +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.component.ts +58 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.ts +34 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.component.ts +61 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.component.ts +53 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.module.ts +24 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.component.ts} +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_layout.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-purchase-line → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts +35 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts +47 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts +21 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.component.ts} +0 -0
- package/{lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.module.ts +27 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.module.ts +23 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts +26 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.ts +61 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.ts +57 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-line-image-and-description}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.ts +102 -0
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts +125 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts +43 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts +120 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts +58 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-side-panel-purchase}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts +123 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts +39 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-statusbar → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.ts +85 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_theme.scss +0 -0
- package/{lib/component/transaction-side-panel-edit-request-details → projects/transaction/src/lib/component/transaction-line-statusbar}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.ts +110 -0
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts +180 -0
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts +107 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.ts +68 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts +41 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.ts +120 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +0 -0
- package/{lib/component/transaction-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.ts +54 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts +139 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts +29 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.ts +133 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts +96 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts +31 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.ts +132 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts +194 -0
- package/projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts +134 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.ts +119 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts +17 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.ts +155 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.ts +249 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.ts +246 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.ts +145 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.ts +248 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.ts +274 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.ts +70 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.ts +71 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.ts +104 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.ts +80 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.ts +80 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.ts +135 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts +136 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.ts +65 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.ts +72 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.ts +118 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts +166 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts +34 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.ts +143 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/confirm-request.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.ts +207 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.ts +63 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.component.ts +117 -0
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts +63 -0
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts +21 -0
- package/projects/transaction/src/lib/enum/content-view-mode.enum.ts +9 -0
- package/projects/transaction/src/lib/enum/direction.enum.ts +7 -0
- package/projects/transaction/src/lib/enum/icon.enum.ts +83 -0
- package/projects/transaction/src/lib/enum/language-code.enum.ts +6 -0
- package/projects/transaction/src/lib/enum/order-discount-type.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/position-grid-row.enum.ts +4 -0
- package/projects/transaction/src/lib/enum/search-view-mode.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/searchbar-view-mode.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/status-type.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/time-size.type.ts +8 -0
- package/projects/transaction/src/lib/enum/transaction-type-category.enum.ts +15 -0
- package/projects/transaction/src/lib/interface/dialog-response.interface.ts +6 -0
- package/projects/transaction/src/lib/model/Settings.ts +20 -0
- package/projects/transaction/src/lib/model/article-characteristic-text-question-answer.ts +8 -0
- package/projects/transaction/src/lib/model/delivery-type.ts +8 -0
- package/projects/transaction/src/lib/model/down-payment-view-model.ts +13 -0
- package/projects/transaction/src/lib/model/extended-transaction-line-view-model.ts +12 -0
- package/projects/transaction/src/lib/model/filter-item.viewmodel.ts +13 -0
- package/projects/transaction/src/lib/model/filter-viewmodel.ts +11 -0
- package/projects/transaction/src/lib/model/icon-svg.ts +83 -0
- package/projects/transaction/src/lib/model/payment.viewmodel.ts +10 -0
- package/projects/transaction/src/lib/model/received-goods-view-model.ts +17 -0
- package/projects/transaction/src/lib/model/relation-any-type.ts +5 -0
- package/projects/transaction/src/lib/model/standard-text.ts +5 -0
- package/projects/transaction/src/lib/model/text-value-container.ts +4 -0
- package/projects/transaction/src/lib/model/transaction-bar-button.ts +11 -0
- package/projects/transaction/src/lib/model/transaction-search-result.ts +6 -0
- package/projects/transaction/src/lib/pipe/append.pipe.ts +17 -0
- package/projects/transaction/src/lib/pipe/co-currency.pipe.ts +45 -0
- package/projects/transaction/src/lib/pipe/date-duration.pipe.ts +51 -0
- package/projects/transaction/src/lib/pipe/delivery-time.pipe.ts +34 -0
- package/projects/transaction/src/lib/pipe/localize.pipe.ts +23 -0
- package/projects/transaction/src/lib/pipe/pipe.module.ts +34 -0
- package/projects/transaction/src/lib/pipe/safe-html.pipe.ts +14 -0
- package/projects/transaction/src/lib/pipe/safe-style.pipe.ts +14 -0
- package/projects/transaction/src/lib/provider/token/all-icons.token.ts +4 -0
- package/projects/transaction/src/lib/service/article-connector.service.ts +93 -0
- package/projects/transaction/src/lib/service/article.service.ts +22 -0
- package/projects/transaction/src/lib/service/dialog.service.ts +143 -0
- package/projects/transaction/src/lib/service/dictionary.service.ts +86 -0
- package/projects/transaction/src/lib/service/dynamic-component.service.ts +101 -0
- package/projects/transaction/src/lib/service/error.service.ts +63 -0
- package/projects/transaction/src/lib/service/icon-cache.service.ts +51 -0
- package/projects/transaction/src/lib/service/options.service.ts +66 -0
- package/projects/transaction/src/lib/service/payment.service.ts +93 -0
- package/projects/transaction/src/lib/service/pending-reason.service.ts +323 -0
- package/projects/transaction/src/lib/service/relation-connector.service.ts +202 -0
- package/projects/transaction/src/lib/service/relation.service.ts +168 -0
- package/projects/transaction/src/lib/service/shared-connector.service.ts +47 -0
- package/projects/transaction/src/lib/service/shared.service.ts +40 -0
- package/projects/transaction/src/lib/service/transaction-connector-adapter.service.ts +1695 -0
- package/projects/transaction/src/lib/service/transaction-connector.service.ts +648 -0
- package/projects/transaction/src/lib/service/transaction-event.service.ts +35 -0
- package/projects/transaction/src/lib/service/transaction-image.service.ts +42 -0
- package/projects/transaction/src/lib/service/transaction-initializer.service.ts +29 -0
- package/projects/transaction/src/lib/service/transaction-mapping.service.ts +230 -0
- package/projects/transaction/src/lib/service/transaction.service.ts +848 -0
- package/{lib → projects/transaction/src/lib}/style/_mixin.scss +0 -0
- package/{lib → projects/transaction/src/lib}/style/_variables.scss +0 -0
- package/{lib → projects/transaction/src/lib}/style/transaction-globals.scss +0 -0
- package/projects/transaction/src/public_api.ts +50 -0
- package/projects/transaction/src/test.ts +25 -0
- package/projects/transaction/tsconfig.lib.json +20 -0
- package/projects/transaction/tsconfig.lib.prod.json +16 -0
- package/projects/transaction/tsconfig.spec.json +17 -0
- package/publish.bat +7 -0
- package/script/merge-icons.js +39 -0
- package/src/app/app-transaction.component.ts +18 -0
- package/src/app/app.component.scss +45 -0
- package/src/app/app.component.ts +327 -0
- package/src/app/app.module.ts +62 -0
- package/src/environments/environment.prod.ts +3 -0
- package/src/environments/environment.ts +16 -0
- package/src/favicon.ico +0 -0
- package/src/index.html +15 -0
- package/src/main.ts +14 -0
- package/src/polyfills.ts +63 -0
- package/src/styles.scss +93 -0
- package/src/test.ts +25 -0
- package/src/transaction.unit.test.ts +60 -0
- package/tsconfig.app.json +15 -0
- package/tsconfig.json +42 -0
- package/tsconfig.spec.json +18 -0
- package/webpack.config.js +18 -0
- package/bundles/colijnit-transaction.umd.js +0 -25636
- package/bundles/colijnit-transaction.umd.js.map +0 -1
- package/colijnit-transaction.d.ts +0 -346
- package/colijnit-transaction.metadata.json +0 -1
- package/esm2015/colijnit-transaction.js +0 -347
- package/esm2015/lib/assets/dictionary/text.properties.js +0 -749
- package/esm2015/lib/cache/cache-field.js +0 -75
- package/esm2015/lib/cache/parameter-cache-field.js +0 -54
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +0 -150
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +0 -38
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +0 -47
- package/esm2015/lib/cache/service/select-single-cache.service.js +0 -30
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +0 -27
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +0 -21
- package/esm2015/lib/component/avatar/avatar.component.js +0 -106
- package/esm2015/lib/component/avatar/avatar.module.js +0 -21
- package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +0 -106
- package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -267
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +0 -101
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -220
- package/esm2015/lib/component/checkout/checkout.component.js +0 -180
- package/esm2015/lib/component/checkout/checkout.module.js +0 -124
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +0 -67
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +0 -25
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +0 -83
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.js +0 -26
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.js +0 -41
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.js +0 -21
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +0 -47
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +0 -19
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +0 -64
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.module.js +0 -26
- package/esm2015/lib/component/core/base/dialog-base.component.js +0 -6
- package/esm2015/lib/component/core/base/dialog-transaction-header-base.component.js +0 -33
- package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +0 -37
- package/esm2015/lib/component/core/base/dynamic-base-component.js +0 -8
- package/esm2015/lib/component/core/base/transaction-base.component.js +0 -103
- package/esm2015/lib/component/core/base/transaction-filter-base.component.js +0 -61
- package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +0 -44
- package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +0 -110
- package/esm2015/lib/component/core/base/transaction-grid-base.component.js +0 -53
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +0 -47
- package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +0 -111
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +0 -51
- package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +0 -44
- package/esm2015/lib/component/core/base/transaction-search-grid-base.component.js +0 -25
- package/esm2015/lib/component/core/base/transaction-search-tile-base.component.js +0 -28
- package/esm2015/lib/component/core/core.module.js +0 -48
- package/esm2015/lib/component/core/directive/lazy-render-master.directive.js +0 -43
- package/esm2015/lib/component/core/directive/lazy-render.directive.js +0 -29
- package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +0 -11
- package/esm2015/lib/component/core/enum/app-popup-type.enum.js +0 -8
- package/esm2015/lib/component/core/icon/icon.component.js +0 -31
- package/esm2015/lib/component/core/image-display/image-display.component.js +0 -29
- package/esm2015/lib/component/core/relation/customer-groups.component.js +0 -46
- package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +0 -24
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +0 -47
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +0 -26
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +0 -47
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +0 -23
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.component.js +0 -37
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.module.js +0 -23
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +0 -78
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.js +0 -29
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +0 -95
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +0 -80
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +0 -31
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +0 -44
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.js +0 -28
- package/esm2015/lib/component/discount/discount.component.js +0 -110
- package/esm2015/lib/component/discount/discount.module.js +0 -29
- package/esm2015/lib/component/down-payment/down-payment.component.js +0 -71
- package/esm2015/lib/component/down-payment/down-payment.module.js +0 -27
- package/esm2015/lib/component/editable-label/editable-label.component.js +0 -65
- package/esm2015/lib/component/editable-label/editable-label.module.js +0 -21
- package/esm2015/lib/component/loader/loader.component.js +0 -51
- package/esm2015/lib/component/loader/loader.module.js +0 -19
- package/esm2015/lib/component/payment/payment.component.js +0 -242
- package/esm2015/lib/component/payment/payment.module.js +0 -37
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +0 -23
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +0 -23
- package/esm2015/lib/component/payment-tile/payment-tile.component.js +0 -34
- package/esm2015/lib/component/payment-tile/payment-tile.module.js +0 -25
- package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +0 -50
- package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +0 -27
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +0 -111
- package/esm2015/lib/component/relation/relation-address/relation-address.module.js +0 -29
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +0 -145
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +0 -33
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +0 -65
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +0 -32
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +0 -112
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +0 -34
- package/esm2015/lib/component/relation/relation-base.component.js +0 -34
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +0 -65
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +0 -24
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +0 -225
- package/esm2015/lib/component/relation/relation-general/relation-general.module.js +0 -27
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +0 -68
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +0 -21
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +0 -30
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +0 -21
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +0 -33
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +0 -19
- package/esm2015/lib/component/relation/relation-type/relation-type.component.js +0 -47
- package/esm2015/lib/component/relation/relation-type/relation-type.module.js +0 -23
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +0 -165
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +0 -34
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -126
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +0 -30
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +0 -69
- package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +0 -27
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +0 -59
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +0 -29
- package/esm2015/lib/component/stepper/component/stepper-step.component.js +0 -40
- package/esm2015/lib/component/stepper/stepper.component.js +0 -126
- package/esm2015/lib/component/stepper/stepper.module.js +0 -29
- package/esm2015/lib/component/tile/tile.component.js +0 -32
- package/esm2015/lib/component/tile/tile.module.js +0 -19
- package/esm2015/lib/component/transaction/transaction.component.js +0 -177
- package/esm2015/lib/component/transaction/transaction.module.js +0 -67
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +0 -81
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.js +0 -25
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +0 -37
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +0 -73
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +0 -40
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +0 -57
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +0 -35
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +0 -137
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.js +0 -34
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +0 -113
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +0 -33
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +0 -94
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.js +0 -24
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +0 -55
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +0 -30
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +0 -85
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +0 -19
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +0 -90
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +0 -28
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +0 -117
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +0 -48
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +0 -51
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +0 -29
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +0 -155
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +0 -34
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +0 -50
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +0 -31
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +0 -126
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +0 -48
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +0 -71
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +0 -31
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +0 -119
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +0 -35
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +0 -230
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +0 -46
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +0 -62
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +0 -78
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +0 -26
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +0 -48
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +0 -97
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +0 -29
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.js +0 -74
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.component.js +0 -84
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.js +0 -84
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.js +0 -85
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +0 -83
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +0 -83
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +0 -51
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +0 -26
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +0 -54
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +0 -23
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +0 -49
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +0 -23
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +0 -92
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.js +0 -26
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +0 -63
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +0 -109
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +0 -33
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +0 -100
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +0 -21
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +0 -15
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +0 -122
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +0 -36
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +0 -123
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +0 -59
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +0 -93
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +0 -46
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +0 -68
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +0 -115
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +0 -34
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +0 -192
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +0 -30
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +0 -53
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +0 -25
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +0 -47
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +0 -21
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +0 -48
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +0 -55
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.component.js +0 -54
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +0 -33
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +0 -90
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.module.js +0 -24
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +0 -90
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +0 -36
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +0 -51
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +0 -60
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +0 -28
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +0 -57
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +0 -25
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +0 -49
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +0 -28
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.js +0 -60
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +0 -58
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.js +0 -21
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +0 -45
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +0 -27
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +0 -23
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +0 -21
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +0 -99
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.js +0 -27
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +0 -118
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +0 -41
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +0 -114
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +0 -60
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +0 -119
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +0 -35
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +0 -81
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +0 -25
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +0 -111
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.js +0 -23
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +0 -177
- package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +0 -32
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +0 -87
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +0 -41
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +0 -69
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +0 -25
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +0 -44
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +0 -29
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +0 -65
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +0 -28
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +0 -56
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +0 -28
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +0 -128
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +0 -31
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.js +0 -128
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.js +0 -29
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +0 -91
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +0 -27
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +0 -110
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +0 -78
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +0 -30
- package/esm2015/lib/component/transaction-search/service/filter-request.service.js +0 -172
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +0 -114
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +0 -96
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.js +0 -56
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.js +0 -56
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +0 -42
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +0 -143
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +0 -236
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.js +0 -35
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +0 -225
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +0 -133
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +0 -235
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.js +0 -35
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +0 -248
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +0 -55
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +0 -26
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +0 -64
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.js +0 -23
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +0 -81
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.js +0 -84
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.js +0 -25
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.js +0 -84
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +0 -126
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +0 -119
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +0 -44
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.js +0 -67
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +0 -74
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.js +0 -32
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +0 -89
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +0 -79
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.js +0 -23
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +0 -146
- package/esm2015/lib/component/transaction-search/transaction-search.module.js +0 -32
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +0 -144
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +0 -201
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +0 -50
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +0 -35
- package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +0 -121
- package/esm2015/lib/component/transaction-tile/transaction-tile.module.js +0 -30
- package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +0 -51
- package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +0 -25
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +0 -61
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +0 -23
- package/esm2015/lib/enum/content-view-mode.enum.js +0 -11
- package/esm2015/lib/enum/direction.enum.js +0 -9
- package/esm2015/lib/enum/icon.enum.js +0 -84
- package/esm2015/lib/enum/language-code.enum.js +0 -8
- package/esm2015/lib/enum/order-discount-type.enum.js +0 -7
- package/esm2015/lib/enum/position-grid-row.enum.js +0 -6
- package/esm2015/lib/enum/search-view-mode.enum.js +0 -7
- package/esm2015/lib/enum/searchbar-view-mode.enum.js +0 -7
- package/esm2015/lib/enum/status-type.enum.js +0 -7
- package/esm2015/lib/enum/time-size.type.js +0 -10
- package/esm2015/lib/enum/transaction-type-category.enum.js +0 -17
- package/esm2015/lib/interface/dialog-response.interface.js +0 -2
- package/esm2015/lib/model/down-payment-view-model.js +0 -7
- package/esm2015/lib/model/extended-transaction-line-view-model.js +0 -4
- package/esm2015/lib/model/filter-item.viewmodel.js +0 -9
- package/esm2015/lib/model/filter-viewmodel.js +0 -11
- package/esm2015/lib/model/icon-svg.js +0 -83
- package/esm2015/lib/model/payment.viewmodel.js +0 -6
- package/esm2015/lib/model/received-goods-view-model.js +0 -11
- package/esm2015/lib/model/relation-any-type.js +0 -3
- package/esm2015/lib/model/standard-text.js +0 -3
- package/esm2015/lib/model/text-value-container.js +0 -3
- package/esm2015/lib/model/transaction-bar-button.js +0 -2
- package/esm2015/lib/model/transaction-search-result.js +0 -3
- package/esm2015/lib/pipe/append.pipe.js +0 -17
- package/esm2015/lib/pipe/co-currency.pipe.js +0 -47
- package/esm2015/lib/pipe/date-duration.pipe.js +0 -57
- package/esm2015/lib/pipe/delivery-time.pipe.js +0 -36
- package/esm2015/lib/pipe/localize.pipe.js +0 -28
- package/esm2015/lib/pipe/pipe.module.js +0 -37
- package/esm2015/lib/pipe/safe-html.pipe.js +0 -19
- package/esm2015/lib/pipe/safe-style.pipe.js +0 -19
- package/esm2015/lib/service/article-connector.service.js +0 -106
- package/esm2015/lib/service/article.service.js +0 -33
- package/esm2015/lib/service/dialog.service.js +0 -116
- package/esm2015/lib/service/dictionary.service.js +0 -76
- package/esm2015/lib/service/dynamic-component.service.js +0 -71
- package/esm2015/lib/service/error.service.js +0 -68
- package/esm2015/lib/service/icon-cache.service.js +0 -51
- package/esm2015/lib/service/options.service.js +0 -71
- package/esm2015/lib/service/payment.service.js +0 -105
- package/esm2015/lib/service/pending-reason.service.js +0 -310
- package/esm2015/lib/service/relation-connector.service.js +0 -222
- package/esm2015/lib/service/relation.service.js +0 -158
- package/esm2015/lib/service/shared-connector.service.js +0 -53
- package/esm2015/lib/service/shared.service.js +0 -42
- package/esm2015/lib/service/transaction-connector-adapter.service.js +0 -1807
- package/esm2015/lib/service/transaction-connector.service.js +0 -667
- package/esm2015/lib/service/transaction-event.service.js +0 -35
- package/esm2015/lib/service/transaction-image.service.js +0 -53
- package/esm2015/lib/service/transaction-mapping.service.js +0 -178
- package/esm2015/lib/service/transaction.service.js +0 -849
- package/esm2015/public_api.js +0 -46
- package/fesm2015/colijnit-transaction.js +0 -25181
- package/fesm2015/colijnit-transaction.js.map +0 -1
- package/lib/assets/dictionary/text.properties.d.ts +0 -3
- package/lib/cache/cache-field.d.ts +0 -25
- package/lib/cache/parameter-cache-field.d.ts +0 -11
- package/lib/cache/service/business-object-cache-manager.service.d.ts +0 -58
- package/lib/cache/service/select-multiple-cache.service.d.ts +0 -15
- package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +0 -19
- package/lib/cache/service/select-single-cache.service.d.ts +0 -12
- package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +0 -5
- package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +0 -2
- package/lib/component/avatar/avatar.component.d.ts +0 -31
- package/lib/component/avatar/avatar.module.d.ts +0 -2
- package/lib/component/checkout/checkout-login/checkout-login.component.d.ts +0 -21
- package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -11
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +0 -65
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +0 -21
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +0 -38
- package/lib/component/checkout/checkout.component.d.ts +0 -48
- package/lib/component/checkout/checkout.module.d.ts +0 -2
- package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +0 -18
- package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +0 -2
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +0 -21
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.d.ts +0 -2
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.d.ts +0 -13
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.d.ts +0 -2
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +0 -10
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +0 -2
- package/lib/component/core/base/components/warehouse/warehouse.component.d.ts +0 -20
- package/lib/component/core/base/components/warehouse/warehouse.module.d.ts +0 -2
- package/lib/component/core/base/dialog-base.component.d.ts +0 -4
- package/lib/component/core/base/dialog-transaction-header-base.component.d.ts +0 -13
- package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +0 -16
- package/lib/component/core/base/dynamic-base-component.d.ts +0 -3
- package/lib/component/core/base/transaction-base.component.d.ts +0 -30
- package/lib/component/core/base/transaction-filter-base.component.d.ts +0 -26
- package/lib/component/core/base/transaction-filter-content-base.component.d.ts +0 -21
- package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +0 -37
- package/lib/component/core/base/transaction-grid-base.component.d.ts +0 -25
- package/lib/component/core/base/transaction-header-base.component.d.ts +0 -16
- package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +0 -38
- package/lib/component/core/base/transaction-line-base.component.d.ts +0 -16
- package/lib/component/core/base/transaction-lines-line-base.component.d.ts +0 -23
- package/lib/component/core/base/transaction-search-grid-base.component.d.ts +0 -11
- package/lib/component/core/base/transaction-search-tile-base.component.d.ts +0 -13
- package/lib/component/core/core.module.d.ts +0 -2
- package/lib/component/core/directive/lazy-render-master.directive.d.ts +0 -10
- package/lib/component/core/directive/lazy-render.directive.d.ts +0 -10
- package/lib/component/core/enum/app-popup-button-type.enum.d.ts +0 -9
- package/lib/component/core/enum/app-popup-type.enum.d.ts +0 -6
- package/lib/component/core/icon/icon.component.d.ts +0 -12
- package/lib/component/core/image-display/image-display.component.d.ts +0 -5
- package/lib/component/core/relation/customer-groups.component.d.ts +0 -14
- package/lib/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -5
- package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +0 -10
- package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +0 -2
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +0 -15
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +0 -2
- package/lib/component/dialog/dialog-header-search/dialog-header-search.component.d.ts +0 -10
- package/lib/component/dialog/dialog-header-search/dialog-header-search.module.d.ts +0 -2
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.d.ts +0 -4
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.d.ts +0 -2
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +0 -8
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +0 -14
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.d.ts +0 -12
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.d.ts +0 -6
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.d.ts +0 -2
- package/lib/component/discount/discount.component.d.ts +0 -19
- package/lib/component/discount/discount.module.d.ts +0 -2
- package/lib/component/down-payment/down-payment.component.d.ts +0 -16
- package/lib/component/down-payment/down-payment.module.d.ts +0 -2
- package/lib/component/editable-label/editable-label.component.d.ts +0 -16
- package/lib/component/editable-label/editable-label.module.d.ts +0 -2
- package/lib/component/loader/loader.component.d.ts +0 -3
- package/lib/component/loader/loader.module.d.ts +0 -2
- package/lib/component/payment/payment.component.d.ts +0 -58
- package/lib/component/payment/payment.module.d.ts +0 -2
- package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +0 -4
- package/lib/component/payment-qr-code/payment-qr-code.module.d.ts +0 -2
- package/lib/component/payment-tile/payment-tile.component.d.ts +0 -10
- package/lib/component/payment-tile/payment-tile.module.d.ts +0 -2
- package/lib/component/quick-send-button/quick-send-button.component.d.ts +0 -15
- package/lib/component/quick-send-button/quick-send-button.module.d.ts +0 -2
- package/lib/component/relation/relation-address/relation-address.component.d.ts +0 -25
- package/lib/component/relation/relation-address/relation-address.module.d.ts +0 -2
- package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +0 -33
- package/lib/component/relation/relation-address-select/relation-address-select.module.d.ts +0 -2
- package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +0 -15
- package/lib/component/relation/relation-address-tile/relation-address-tile.module.d.ts +0 -2
- package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +0 -27
- package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +0 -2
- package/lib/component/relation/relation-base.component.d.ts +0 -13
- package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +0 -12
- package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +0 -2
- package/lib/component/relation/relation-general/relation-general.component.d.ts +0 -34
- package/lib/component/relation/relation-general/relation-general.module.d.ts +0 -2
- package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +0 -15
- package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +0 -2
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +0 -7
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +0 -2
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +0 -8
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +0 -2
- package/lib/component/relation/relation-type/relation-type.component.d.ts +0 -11
- package/lib/component/relation/relation-type/relation-type.module.d.ts +0 -2
- package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +0 -44
- package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +0 -2
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -29
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +0 -2
- package/lib/component/shopping-cart/shopping-cart.component.d.ts +0 -17
- package/lib/component/shopping-cart/shopping-cart.module.d.ts +0 -2
- package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +0 -13
- package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +0 -2
- package/lib/component/stepper/component/stepper-step.component.d.ts +0 -12
- package/lib/component/stepper/stepper.component.d.ts +0 -36
- package/lib/component/stepper/stepper.module.d.ts +0 -2
- package/lib/component/tile/tile.component.d.ts +0 -6
- package/lib/component/tile/tile.module.d.ts +0 -2
- package/lib/component/transaction/style/_layout.scss +0 -56
- package/lib/component/transaction/style/material.scss +0 -13
- package/lib/component/transaction/transaction.component.d.ts +0 -45
- package/lib/component/transaction/transaction.module.d.ts +0 -2
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +0 -18
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +0 -2
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +0 -16
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +0 -18
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +0 -12
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +0 -19
- package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +0 -2
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +0 -24
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.d.ts +0 -2
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +0 -30
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +0 -26
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +0 -8
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +0 -26
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +0 -19
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -21
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +0 -4
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +0 -37
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +0 -12
- package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -21
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +0 -51
- package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -12
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +0 -13
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +0 -22
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +0 -41
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +0 -14
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +0 -9
- package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +0 -20
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.d.ts +0 -21
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.d.ts +0 -18
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +0 -14
- package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +0 -11
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +0 -2
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +0 -11
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +0 -20
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +0 -12
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +0 -27
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +0 -32
- package/lib/component/transaction-line/transaction-line/transaction-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +0 -4
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +0 -25
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +0 -28
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +0 -19
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +0 -19
- package/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +0 -36
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +0 -27
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.d.ts +0 -2
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +0 -49
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.d.ts +0 -2
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +0 -20
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-commission-button.component.d.ts +0 -9
- package/lib/component/transaction-line-fields/transaction-line-commission-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +0 -15
- package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +0 -21
- package/lib/component/transaction-line-fields/transaction-line-description.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +0 -18
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +0 -7
- package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +0 -12
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +0 -16
- package/lib/component/transaction-line-fields/transaction-line-supplier.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.d.ts +0 -15
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +0 -18
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +0 -2
- package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +0 -5
- package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +0 -2
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +0 -29
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +0 -27
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +0 -21
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +0 -28
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +0 -20
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +0 -2
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +0 -30
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.d.ts +0 -2
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +0 -48
- package/lib/component/transaction-lines/transaction-lines.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +0 -28
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +0 -20
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +0 -7
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +0 -19
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +0 -14
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +0 -33
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.d.ts +0 -33
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +0 -34
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +0 -43
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +0 -17
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +0 -2
- package/lib/component/transaction-search/service/filter-request.service.d.ts +0 -87
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +0 -37
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +0 -26
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.d.ts +0 -9
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.d.ts +0 -9
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +0 -10
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +0 -25
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +0 -40
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +0 -50
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +0 -40
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +0 -57
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +0 -24
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +0 -21
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +0 -22
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.d.ts +0 -7
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.d.ts +0 -7
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +0 -32
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.d.ts +0 -3
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +0 -6
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +0 -25
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.d.ts +0 -22
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search.component.d.ts +0 -32
- package/lib/component/transaction-search/transaction-search.module.d.ts +0 -2
- package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +0 -35
- package/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts +0 -48
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +0 -15
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +0 -2
- package/lib/component/transaction-tile/transaction-tile.component.d.ts +0 -24
- package/lib/component/transaction-tile/transaction-tile.module.d.ts +0 -2
- package/lib/component/transaction-totals/transaction-totals.component.d.ts +0 -12
- package/lib/component/transaction-totals/transaction-totals.module.d.ts +0 -2
- package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +0 -17
- package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +0 -2
- package/lib/enum/content-view-mode.enum.d.ts +0 -8
- package/lib/enum/direction.enum.d.ts +0 -6
- package/lib/enum/icon.enum.d.ts +0 -82
- package/lib/enum/language-code.enum.d.ts +0 -6
- package/lib/enum/order-discount-type.enum.d.ts +0 -5
- package/lib/enum/position-grid-row.enum.d.ts +0 -4
- package/lib/enum/search-view-mode.enum.d.ts +0 -4
- package/lib/enum/searchbar-view-mode.enum.d.ts +0 -4
- package/lib/enum/status-type.enum.d.ts +0 -5
- package/lib/enum/time-size.type.d.ts +0 -7
- package/lib/enum/transaction-type-category.enum.d.ts +0 -15
- package/lib/interface/dialog-response.interface.d.ts +0 -5
- package/lib/model/down-payment-view-model.d.ts +0 -7
- package/lib/model/extended-transaction-line-view-model.d.ts +0 -10
- package/lib/model/filter-item.viewmodel.d.ts +0 -7
- package/lib/model/filter-viewmodel.d.ts +0 -8
- package/lib/model/icon-svg.d.ts +0 -4
- package/lib/model/payment.viewmodel.d.ts +0 -6
- package/lib/model/received-goods-view-model.d.ts +0 -10
- package/lib/model/relation-any-type.d.ts +0 -3
- package/lib/model/standard-text.d.ts +0 -5
- package/lib/model/text-value-container.d.ts +0 -4
- package/lib/model/transaction-bar-button.d.ts +0 -10
- package/lib/model/transaction-search-result.d.ts +0 -5
- package/lib/pipe/append.pipe.d.ts +0 -4
- package/lib/pipe/co-currency.pipe.d.ts +0 -10
- package/lib/pipe/date-duration.pipe.d.ts +0 -10
- package/lib/pipe/delivery-time.pipe.d.ts +0 -12
- package/lib/pipe/localize.pipe.d.ts +0 -7
- package/lib/pipe/pipe.module.d.ts +0 -2
- package/lib/pipe/safe-html.pipe.d.ts +0 -7
- package/lib/pipe/safe-style.pipe.d.ts +0 -7
- package/lib/service/article-connector.service.d.ts +0 -20
- package/lib/service/article.service.d.ts +0 -8
- package/lib/service/dialog.service.d.ts +0 -25
- package/lib/service/dictionary.service.d.ts +0 -21
- package/lib/service/dynamic-component.service.d.ts +0 -11
- package/lib/service/error.service.d.ts +0 -12
- package/lib/service/icon-cache.service.d.ts +0 -18
- package/lib/service/options.service.d.ts +0 -13
- package/lib/service/payment.service.d.ts +0 -23
- package/lib/service/pending-reason.service.d.ts +0 -59
- package/lib/service/relation-connector.service.d.ts +0 -36
- package/lib/service/relation.service.d.ts +0 -44
- package/lib/service/shared-connector.service.d.ts +0 -12
- package/lib/service/shared.service.d.ts +0 -15
- package/lib/service/transaction-connector-adapter.service.d.ts +0 -206
- package/lib/service/transaction-connector.service.d.ts +0 -197
- package/lib/service/transaction-event.service.d.ts +0 -67
- package/lib/service/transaction-image.service.d.ts +0 -10
- package/lib/service/transaction-mapping.service.d.ts +0 -26
- package/lib/service/transaction.service.d.ts +0 -175
- package/public_api.d.ts +0 -45
|
@@ -1,1807 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from "@angular/core";
|
|
3
|
-
import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
|
|
4
|
-
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
|
|
5
|
-
import { Country } from "@colijnit/transactionapi/build/model/country.bo";
|
|
6
|
-
import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
|
|
7
|
-
import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
|
|
8
|
-
import { GetPostalCodeRetrievalOutputParams } from "@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params";
|
|
9
|
-
import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
|
|
10
|
-
import { Transaction } from "@colijnit/transactionapi/build/transaction";
|
|
11
|
-
import { StandardText } from "../model/standard-text";
|
|
12
|
-
import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
|
|
13
|
-
import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
|
|
14
|
-
import { OptionsService } from "./options.service";
|
|
15
|
-
import { CashRegister } from "@colijnit/transactionapi/build/model/cash-register";
|
|
16
|
-
import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
|
|
17
|
-
import { Vat } from "@colijnit/transactionapi/build/model/vat";
|
|
18
|
-
import { TransactionSearchView } from "@colijnit/transactionapi/build/model/transaction-search-view.bo";
|
|
19
|
-
import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
|
|
20
|
-
import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
|
|
21
|
-
import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
|
|
22
|
-
import { GoodsReceiptStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo";
|
|
23
|
-
import { PaymentMethod } from "@colijnit/transactionapi/build/model/payment-method.bo";
|
|
24
|
-
import { PurchasePortalLine } from "@colijnit/transactionapi/build/model/purchase-portal-line.bo";
|
|
25
|
-
import { CreatePaymentLinkResult } from "@colijnit/transactionapi/build/model/create-payment-link-result.bo";
|
|
26
|
-
import { TransactionSearchResult } from "../model/transaction-search-result";
|
|
27
|
-
import { PaymentLinkStatus } from "@colijnit/transactionapi/build/model/payment-link-status.bo";
|
|
28
|
-
import { SelectMultipleCacheService } from "../cache/service/select-multiple-cache.service";
|
|
29
|
-
import { SelectMultipleParameterizedCacheService } from "../cache/service/select-multiple-parameterized-cache.service";
|
|
30
|
-
import { ErrorService } from "./error.service";
|
|
31
|
-
import { TransactionDownPaymentInfo } from "@colijnit/transactionapi/build/model/transaction-down-payment-info.bo";
|
|
32
|
-
import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
|
|
33
|
-
import { PrivacySetting } from "@colijnit/mainapi/build/model/privacy-setting.bo";
|
|
34
|
-
import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
|
|
35
|
-
import { BusinessObjectFactory } from "@colijnit/ioneconnector/build/factory/business-object-factory";
|
|
36
|
-
import { ImageUtils } from "@colijnit/ioneconnector/build/utils/image-utils";
|
|
37
|
-
import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
|
|
38
|
-
import { Tag } from "@colijnit/mainapi/build/model/tag";
|
|
39
|
-
import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
|
|
40
|
-
import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
|
|
41
|
-
import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
|
|
42
|
-
import { Sharedapi } from "@colijnit/sharedapi/build/sharedapi";
|
|
43
|
-
import { AvailableStock } from "@colijnit/transactionapi/build/model/available-stock.bo";
|
|
44
|
-
import { GoodsAllocationStatus } from "@colijnit/transactionapi/build/model/goods-allocation-status.bo";
|
|
45
|
-
import { GoodsAllocationStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo";
|
|
46
|
-
import { ReportLayoutSelectionEmail } from "@colijnit/mainapi/build/model/report-layout-selection-email.bo";
|
|
47
|
-
import { ReportLayoutSelectionPrint } from "@colijnit/mainapi/build/model/report-layout-selection-print.bo";
|
|
48
|
-
import { PurchaseAdviceLine } from "@colijnit/transactionapi/build/model/purchase-advice-line.bo";
|
|
49
|
-
import * as i0 from "@angular/core";
|
|
50
|
-
import * as i1 from "./options.service";
|
|
51
|
-
import * as i2 from "../cache/service/select-multiple-cache.service";
|
|
52
|
-
import * as i3 from "../cache/service/select-multiple-parameterized-cache.service";
|
|
53
|
-
import * as i4 from "./error.service";
|
|
54
|
-
export class TransactionConnectorAdapterService {
|
|
55
|
-
constructor(_optionsService, _selectMultipleCacheService, _selectMultipleParameterizedCacheService, _errorService) {
|
|
56
|
-
this._optionsService = _optionsService;
|
|
57
|
-
this._selectMultipleCacheService = _selectMultipleCacheService;
|
|
58
|
-
this._selectMultipleParameterizedCacheService = _selectMultipleParameterizedCacheService;
|
|
59
|
-
this._errorService = _errorService;
|
|
60
|
-
this._boFactory = new BusinessObjectFactory();
|
|
61
|
-
}
|
|
62
|
-
connect() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
this.connector = new Transaction(this._optionsService.options);
|
|
65
|
-
this.sharedConnector = new Sharedapi(this._optionsService.options);
|
|
66
|
-
this._optionsService.options.session = this.connector.session;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
getArticleFullObject(goodId) {
|
|
70
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
const result = yield this.connector.getArticleFullObject(goodId);
|
|
72
|
-
if (result.validationResult && result.validationResult.success) {
|
|
73
|
-
return this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this._handleExceptionFromResponse(result);
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
getGoodIdFromArticleNr(articleNr) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const result = yield this.connector.getGoodIdFromArticleNr(articleNr);
|
|
84
|
-
if (result.validationResult && result.validationResult.success) {
|
|
85
|
-
return result.resultObject;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
this._handleExceptionFromResponse(result);
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
getSingleImage(nodeId, publication, includeMimetype, thumb) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const result = yield this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb);
|
|
96
|
-
if (result.validationResult && result.validationResult.success) {
|
|
97
|
-
if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== "") {
|
|
98
|
-
return ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
if (result.resultObject) {
|
|
102
|
-
if (includeMimetype) {
|
|
103
|
-
return ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
|
|
104
|
-
}
|
|
105
|
-
return thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody;
|
|
106
|
-
}
|
|
107
|
-
else { // no image
|
|
108
|
-
return "";
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
this._handleExceptionFromResponse(result);
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getCountries() {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
const result = yield this.connector.getCountries();
|
|
121
|
-
if (result.validationResult && result.validationResult.success) {
|
|
122
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Country, result.resultObjects);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this._handleExceptionFromResponse(result);
|
|
126
|
-
return [];
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
getCustomerGroups() {
|
|
131
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
-
const result = yield this.connector.getCustomerGroups();
|
|
133
|
-
if (result.validationResult && result.validationResult.success) {
|
|
134
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CustomerGroup, result.resultObjects);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
this._handleExceptionFromResponse(result);
|
|
138
|
-
return [];
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
getCountry(countryCode) {
|
|
143
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
const countries = yield this.getCountries();
|
|
145
|
-
return countries.find(country => country.code === countryCode);
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
getPrivacySettings() {
|
|
149
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
const result = yield this.connector.getPrivacySettings();
|
|
151
|
-
if (result.validationResult && result.validationResult.success) {
|
|
152
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PrivacySetting, result.resultObjects);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this._handleExceptionFromResponse(result);
|
|
156
|
-
return [];
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
getRelationPrivacySettings() {
|
|
161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
const privacySettings = [];
|
|
163
|
-
const basePrivacySettings = yield this.getPrivacySettings();
|
|
164
|
-
for (let i = 0, len = basePrivacySettings.length; i < len; i++) {
|
|
165
|
-
const basePrivSetting = basePrivacySettings[i];
|
|
166
|
-
const newRelPrivSet = this._boFactory.instantiateNewBo(RelationPrivacySetting);
|
|
167
|
-
newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);
|
|
168
|
-
privacySettings.push(newRelPrivSet);
|
|
169
|
-
}
|
|
170
|
-
return privacySettings;
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
getMarketingCodes() {
|
|
174
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
const result = yield this.connector.getMarketingCodes();
|
|
176
|
-
if (result.validationResult && result.validationResult.success) {
|
|
177
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Marketing, result.resultObjects);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
this._handleExceptionFromResponse(result);
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
getArticleBoundTextLinesOfArticleLine(articleLineUuid) {
|
|
186
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
-
const result = yield this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);
|
|
188
|
-
if (result.validationResult && result.validationResult.success) {
|
|
189
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
this._handleExceptionFromResponse(result);
|
|
193
|
-
return [];
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
getTransactionByNrAndKind(kind, transactionNo) {
|
|
198
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
-
const result = yield this.connector.getTransactionByNrAndKind(kind, transactionNo);
|
|
200
|
-
if (result.validationResult && result.validationResult.success) {
|
|
201
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
this._handleExceptionFromResponse(result);
|
|
205
|
-
return null;
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
getTransactionById(transactionId) {
|
|
210
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
const result = yield this.connector.getTransactionById(transactionId);
|
|
212
|
-
if (result.validationResult && result.validationResult.success) {
|
|
213
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this._handleExceptionFromResponse(result);
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
lockTransactionById(transactionId, version) {
|
|
222
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
223
|
-
const result = yield this.connector.lockTransactionByTransId(transactionId, version);
|
|
224
|
-
if (result.validationResult && result.validationResult.success) {
|
|
225
|
-
return this._boFactory.makeWithRawBackendData(TransactionLockResult, result.resultObject);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
this._handleExceptionFromResponse(result);
|
|
229
|
-
return null;
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
getCashRegisters(branch, group) {
|
|
234
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
235
|
-
const result = yield this.connector.getCashRegister(branch, group);
|
|
236
|
-
if (result.validationResult && result.validationResult.success) {
|
|
237
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, result.resultObjects);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
this._handleExceptionFromResponse(result);
|
|
241
|
-
return [];
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
getPriceLists(code) {
|
|
246
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
247
|
-
const result = yield this.connector.getPriceLists(code);
|
|
248
|
-
if (result.validationResult && result.validationResult.success) {
|
|
249
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, result.resultObjects);
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
this._handleExceptionFromResponse(result);
|
|
253
|
-
return [];
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
getVatList(onlyValid = false) {
|
|
258
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
-
const result = yield this.connector.getVatList(onlyValid);
|
|
260
|
-
if (result.validationResult && result.validationResult.success) {
|
|
261
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, result.resultObjects);
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
this._handleExceptionFromResponse(result);
|
|
265
|
-
return [];
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
searchTransactions(request) {
|
|
270
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
271
|
-
const response = yield this.connector.searchTransactions(request);
|
|
272
|
-
if (response.validationResult && response.validationResult.success) {
|
|
273
|
-
const result = new TransactionSearchResult();
|
|
274
|
-
result.count = response.pagingParameters.resultCount; // todo: fix property in api
|
|
275
|
-
result.transactions = this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects);
|
|
276
|
-
return result;
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
this._handleExceptionFromResponse(response);
|
|
280
|
-
return null;
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
getSequenceValue(sequenceName) {
|
|
285
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
286
|
-
return new Promise((resolve, reject) => {
|
|
287
|
-
return this.connector.getSequenceValue(sequenceName).then((result) => {
|
|
288
|
-
if (result.validationResult && result.validationResult.success) {
|
|
289
|
-
resolve(result.resultObject);
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
this._handleExceptionFromResponse(result);
|
|
293
|
-
reject(null);
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
getDeliveryMethods() {
|
|
300
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
301
|
-
const result = yield this.connector.getDeliveryMethods();
|
|
302
|
-
if (result.validationResult && result.validationResult.success) {
|
|
303
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects);
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
this._handleExceptionFromResponse(result);
|
|
307
|
-
return [];
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
getDeliveryOptions() {
|
|
312
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
313
|
-
const result = yield this.connector.getDeliveryOptions();
|
|
314
|
-
if (result.validationResult && result.validationResult.success) {
|
|
315
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryOption, result.resultObjects);
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
this._handleExceptionFromResponse(result);
|
|
319
|
-
return [];
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
getPostalCodeRetrieval(postcalCode, houseNo) {
|
|
324
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
325
|
-
const result = yield this.connector.getPostalCodeRetrieval(postcalCode, houseNo);
|
|
326
|
-
if (result.validationResult && result.validationResult.success) {
|
|
327
|
-
if (result.validationResult && result.validationResult.success) {
|
|
328
|
-
const outputParams = new GetPostalCodeRetrievalOutputParams();
|
|
329
|
-
outputParams.city = result.resultObject.city;
|
|
330
|
-
outputParams.street = result.resultObject.street;
|
|
331
|
-
outputParams.status = result.resultObject.status;
|
|
332
|
-
outputParams.netNumber = result.resultObject.netNumber;
|
|
333
|
-
return outputParams;
|
|
334
|
-
}
|
|
335
|
-
else {
|
|
336
|
-
this._handleExceptionFromResponse(result);
|
|
337
|
-
return null;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
getCommissionCodes(languageCode) {
|
|
343
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
344
|
-
const result = yield this.connector.getCommissionCodes(languageCode);
|
|
345
|
-
if (result.validationResult && result.validationResult.success) {
|
|
346
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
this._handleExceptionFromResponse(result);
|
|
350
|
-
return [];
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
getInOutCollection(languageCode) {
|
|
355
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
356
|
-
const result = yield this.connector.getInOutCollection(languageCode);
|
|
357
|
-
if (result.validationResult && result.validationResult.success) {
|
|
358
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
this._handleExceptionFromResponse(result);
|
|
362
|
-
return [];
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
getTransactionArticleWarehouses(goodId) {
|
|
367
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
368
|
-
return new Promise((resolve, reject) => {
|
|
369
|
-
return this.connector.getTransactionArticleWarehouses(goodId).then((result) => {
|
|
370
|
-
if (result.validationResult && result.validationResult.success) {
|
|
371
|
-
resolve(result.resultObjects);
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
this._handleExceptionFromResponse(result);
|
|
375
|
-
reject([]);
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
});
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
getTextTypes(languageCode) {
|
|
382
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
383
|
-
const result = yield this.connector.getTextTypes(languageCode);
|
|
384
|
-
if (result.validationResult && result.validationResult.success) {
|
|
385
|
-
const texts = this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
386
|
-
texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);
|
|
387
|
-
return texts;
|
|
388
|
-
}
|
|
389
|
-
else {
|
|
390
|
-
this._handleExceptionFromResponse(result);
|
|
391
|
-
return [];
|
|
392
|
-
}
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
getStandardTexts(languageCode) {
|
|
396
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
397
|
-
const result = yield this.connector.getStandardTexts(languageCode);
|
|
398
|
-
if (result.validationResult && result.validationResult.success) {
|
|
399
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject);
|
|
400
|
-
}
|
|
401
|
-
else {
|
|
402
|
-
this._handleExceptionFromResponse(result);
|
|
403
|
-
return [];
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
getSalesPersons(date) {
|
|
408
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
-
const result = yield this.connector.getSalesPersons(date);
|
|
410
|
-
if (result.validationResult && result.validationResult.success) {
|
|
411
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects);
|
|
412
|
-
}
|
|
413
|
-
else {
|
|
414
|
-
this._handleExceptionFromResponse(result);
|
|
415
|
-
return [];
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
getTags(category) {
|
|
420
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
421
|
-
const result = yield this.connector.getTags(category);
|
|
422
|
-
if (result.validationResult && result.validationResult.success) {
|
|
423
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects);
|
|
424
|
-
}
|
|
425
|
-
else {
|
|
426
|
-
this._handleExceptionFromResponse(result);
|
|
427
|
-
return [];
|
|
428
|
-
}
|
|
429
|
-
});
|
|
430
|
-
}
|
|
431
|
-
getOnHoldCodes() {
|
|
432
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
433
|
-
const result = yield this.connector.getOnHoldCodes();
|
|
434
|
-
if (result.validationResult && result.validationResult.success) {
|
|
435
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects);
|
|
436
|
-
}
|
|
437
|
-
else {
|
|
438
|
-
this._handleExceptionFromResponse(result);
|
|
439
|
-
return [];
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
getWarehouses(branchNr) {
|
|
444
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
445
|
-
const result = yield this.connector.getWarehouses(branchNr);
|
|
446
|
-
if (result.validationResult && result.validationResult.success) {
|
|
447
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects);
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
this._handleExceptionFromResponse(result);
|
|
451
|
-
return [];
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
getHistoricStateValues() {
|
|
456
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
457
|
-
const result = yield this.connector.getHistoricStateValues();
|
|
458
|
-
if (result.validationResult && result.validationResult.success) {
|
|
459
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects);
|
|
460
|
-
}
|
|
461
|
-
else {
|
|
462
|
-
this._handleExceptionFromResponse(result);
|
|
463
|
-
return [];
|
|
464
|
-
}
|
|
465
|
-
});
|
|
466
|
-
}
|
|
467
|
-
getPaymentMethods() {
|
|
468
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
469
|
-
const result = yield this.connector.getPaymentMethodsForSalesOrder();
|
|
470
|
-
if (result.validationResult && result.validationResult.success) {
|
|
471
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PaymentMethod, result.resultObject);
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
this._handleExceptionFromResponse(result);
|
|
475
|
-
return [];
|
|
476
|
-
}
|
|
477
|
-
});
|
|
478
|
-
}
|
|
479
|
-
commit() {
|
|
480
|
-
return this.connector.commit();
|
|
481
|
-
}
|
|
482
|
-
createTransaction(kind, branchNr) {
|
|
483
|
-
return new Promise((resolve, reject) => {
|
|
484
|
-
return this.connector.createTransaction(kind, branchNr).then((result) => {
|
|
485
|
-
if (result.validationResult && result.validationResult.success) {
|
|
486
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
487
|
-
}
|
|
488
|
-
else {
|
|
489
|
-
this._handleExceptionFromResponse(result);
|
|
490
|
-
reject(null);
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
createSalesOrder(request) {
|
|
496
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
497
|
-
return new Promise((resolve, reject) => {
|
|
498
|
-
return this.connector.createSalesOrder(request).then((result) => {
|
|
499
|
-
if (result.validationResult && result.validationResult.success) {
|
|
500
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
this._handleExceptionFromResponse(result);
|
|
504
|
-
reject(null);
|
|
505
|
-
}
|
|
506
|
-
});
|
|
507
|
-
});
|
|
508
|
-
});
|
|
509
|
-
}
|
|
510
|
-
createCashRegisterOrder(request) {
|
|
511
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
512
|
-
return new Promise((resolve, reject) => {
|
|
513
|
-
return this.connector.createCashRegisterOrder(request).then((result) => {
|
|
514
|
-
if (result.validationResult && result.validationResult.success) {
|
|
515
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
516
|
-
}
|
|
517
|
-
else {
|
|
518
|
-
this._handleExceptionFromResponse(result);
|
|
519
|
-
reject(null);
|
|
520
|
-
}
|
|
521
|
-
});
|
|
522
|
-
});
|
|
523
|
-
});
|
|
524
|
-
}
|
|
525
|
-
createPurchaseOrder(request) {
|
|
526
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
527
|
-
return new Promise((resolve, reject) => {
|
|
528
|
-
return this.connector.createPurchaseOrder(request).then((result) => {
|
|
529
|
-
if (result.validationResult && result.validationResult.success) {
|
|
530
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
531
|
-
}
|
|
532
|
-
else {
|
|
533
|
-
this._handleExceptionFromResponse(result);
|
|
534
|
-
reject(null);
|
|
535
|
-
}
|
|
536
|
-
});
|
|
537
|
-
});
|
|
538
|
-
});
|
|
539
|
-
}
|
|
540
|
-
createServiceOrder(request) {
|
|
541
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
542
|
-
return new Promise((resolve, reject) => {
|
|
543
|
-
return this.connector.createServiceOrder(request).then((result) => {
|
|
544
|
-
if (result.validationResult && result.validationResult.success) {
|
|
545
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
546
|
-
}
|
|
547
|
-
else {
|
|
548
|
-
this._handleExceptionFromResponse(result);
|
|
549
|
-
reject(null);
|
|
550
|
-
}
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
});
|
|
554
|
-
}
|
|
555
|
-
createSalesQuotation(request) {
|
|
556
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
557
|
-
return new Promise((resolve, reject) => {
|
|
558
|
-
return this.connector.createSalesQuotation(request).then((result) => {
|
|
559
|
-
if (result.validationResult && result.validationResult.success) {
|
|
560
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
this._handleExceptionFromResponse(result);
|
|
564
|
-
reject(null);
|
|
565
|
-
}
|
|
566
|
-
});
|
|
567
|
-
});
|
|
568
|
-
});
|
|
569
|
-
}
|
|
570
|
-
saveTransaction(uuid) {
|
|
571
|
-
return new Promise((resolve, reject) => {
|
|
572
|
-
return this.connector.saveTransaction(uuid).then((result) => {
|
|
573
|
-
if (result.validationResult && result.validationResult.success) {
|
|
574
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
575
|
-
}
|
|
576
|
-
else {
|
|
577
|
-
this._handleExceptionFromResponse(result);
|
|
578
|
-
reject(null);
|
|
579
|
-
}
|
|
580
|
-
});
|
|
581
|
-
});
|
|
582
|
-
}
|
|
583
|
-
setRelationByUser(uuid, username, password) {
|
|
584
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
585
|
-
return new Promise((resolve, reject) => {
|
|
586
|
-
return this.connector.setRelationByUser(uuid, username, password).then((result) => {
|
|
587
|
-
if (result.validationResult && result.validationResult.success) {
|
|
588
|
-
resolve(result.validationResult.success);
|
|
589
|
-
}
|
|
590
|
-
else {
|
|
591
|
-
this._handleExceptionFromResponse(result);
|
|
592
|
-
reject(false);
|
|
593
|
-
}
|
|
594
|
-
});
|
|
595
|
-
});
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
resolvePendingHeaderReason(pendingHeaderValues) {
|
|
599
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
600
|
-
return new Promise((resolve, reject) => {
|
|
601
|
-
return this.connector.resolvePendingHeaderReason(pendingHeaderValues).then((result) => {
|
|
602
|
-
if (result.validationResult && result.validationResult.success) {
|
|
603
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
604
|
-
}
|
|
605
|
-
else {
|
|
606
|
-
this._handleExceptionFromResponse(result);
|
|
607
|
-
reject(null);
|
|
608
|
-
}
|
|
609
|
-
});
|
|
610
|
-
});
|
|
611
|
-
});
|
|
612
|
-
}
|
|
613
|
-
resolvePendingLineReason(pendingLineValues) {
|
|
614
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
615
|
-
return new Promise((resolve, reject) => {
|
|
616
|
-
return this.connector.resolvePendingLineReason(pendingLineValues).then((result) => {
|
|
617
|
-
if (result.validationResult && result.validationResult.success) {
|
|
618
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
619
|
-
}
|
|
620
|
-
else {
|
|
621
|
-
this._handleExceptionFromResponse(result);
|
|
622
|
-
reject(null);
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
});
|
|
626
|
-
});
|
|
627
|
-
}
|
|
628
|
-
addTransactionLine(uuid, articleLine, articleNo, amount, isReturn, aboveLineNr, belowLineNr) {
|
|
629
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
630
|
-
return new Promise((resolve, reject) => {
|
|
631
|
-
return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, isReturn, aboveLineNr, belowLineNr).then((result) => {
|
|
632
|
-
if (result.validationResult && result.validationResult.success) {
|
|
633
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
634
|
-
}
|
|
635
|
-
else {
|
|
636
|
-
this._handleExceptionFromResponse(result);
|
|
637
|
-
reject(null);
|
|
638
|
-
}
|
|
639
|
-
});
|
|
640
|
-
});
|
|
641
|
-
});
|
|
642
|
-
}
|
|
643
|
-
addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
|
|
644
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
645
|
-
return new Promise((resolve, reject) => {
|
|
646
|
-
return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result) => {
|
|
647
|
-
if (result.validationResult && result.validationResult.success) {
|
|
648
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
this._handleExceptionFromResponse(result);
|
|
652
|
-
reject(null);
|
|
653
|
-
}
|
|
654
|
-
});
|
|
655
|
-
});
|
|
656
|
-
});
|
|
657
|
-
}
|
|
658
|
-
addRelationToTransaction(uuid, relationId) {
|
|
659
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
660
|
-
return new Promise((resolve, reject) => {
|
|
661
|
-
return this.connector.addRelationToTransaction(uuid, relationId).then((result) => {
|
|
662
|
-
if (result.validationResult && result.validationResult.success) {
|
|
663
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
664
|
-
}
|
|
665
|
-
else {
|
|
666
|
-
this._handleExceptionFromResponse(result);
|
|
667
|
-
reject(null);
|
|
668
|
-
}
|
|
669
|
-
});
|
|
670
|
-
});
|
|
671
|
-
});
|
|
672
|
-
}
|
|
673
|
-
setTransactionDeliveryOptions(transactionDeliveryOptionsRequest) {
|
|
674
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
675
|
-
return new Promise((resolve, reject) => {
|
|
676
|
-
return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result) => {
|
|
677
|
-
if (result.validationResult && result.validationResult.success) {
|
|
678
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
679
|
-
}
|
|
680
|
-
else {
|
|
681
|
-
this._handleExceptionFromResponse(result);
|
|
682
|
-
reject(null);
|
|
683
|
-
}
|
|
684
|
-
});
|
|
685
|
-
});
|
|
686
|
-
});
|
|
687
|
-
}
|
|
688
|
-
changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr) {
|
|
689
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
690
|
-
return new Promise((resolve, reject) => {
|
|
691
|
-
const request = {
|
|
692
|
-
transactionUuid: uuid,
|
|
693
|
-
lineUuid: lineUuid,
|
|
694
|
-
aboveLineNr: aboveLineNr,
|
|
695
|
-
belowLineNr: belowLineNr
|
|
696
|
-
};
|
|
697
|
-
return this.connector.changeLineSequence(request).then((result) => {
|
|
698
|
-
if (result.validationResult && result.validationResult.success) {
|
|
699
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
700
|
-
}
|
|
701
|
-
else {
|
|
702
|
-
this._handleExceptionFromResponse(result);
|
|
703
|
-
reject(null);
|
|
704
|
-
}
|
|
705
|
-
});
|
|
706
|
-
});
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
cancelAddTransactionLine(lineUuid) {
|
|
710
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
711
|
-
return new Promise((resolve, reject) => {
|
|
712
|
-
return this.connector.cancelAddTransactionLine(lineUuid).then((result) => {
|
|
713
|
-
if (result.validationResult && result.validationResult.success) {
|
|
714
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
715
|
-
}
|
|
716
|
-
else {
|
|
717
|
-
this._handleExceptionFromResponse(result);
|
|
718
|
-
reject(null);
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
});
|
|
722
|
-
});
|
|
723
|
-
}
|
|
724
|
-
deleteTransactionLine(uuid, lineUuid) {
|
|
725
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
726
|
-
return new Promise((resolve, reject) => {
|
|
727
|
-
return this.connector.deleteTransactionLine(uuid, lineUuid).then((result) => {
|
|
728
|
-
if (result.validationResult && result.validationResult.success) {
|
|
729
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
730
|
-
}
|
|
731
|
-
else {
|
|
732
|
-
this._handleExceptionFromResponse(result);
|
|
733
|
-
reject(null);
|
|
734
|
-
}
|
|
735
|
-
});
|
|
736
|
-
});
|
|
737
|
-
});
|
|
738
|
-
}
|
|
739
|
-
changeTransactionLineQuantity(uuid, lineUuid, newQuantity) {
|
|
740
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
741
|
-
return new Promise((resolve, reject) => {
|
|
742
|
-
const request = {
|
|
743
|
-
transactionUuid: uuid,
|
|
744
|
-
lineUuid: lineUuid,
|
|
745
|
-
newQuantity: newQuantity
|
|
746
|
-
};
|
|
747
|
-
return this.connector.changeTransactionLineQuantity(request).then((result) => {
|
|
748
|
-
if (result.validationResult && result.validationResult.success) {
|
|
749
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
750
|
-
}
|
|
751
|
-
else {
|
|
752
|
-
this._handleExceptionFromResponse(result);
|
|
753
|
-
reject(null);
|
|
754
|
-
}
|
|
755
|
-
});
|
|
756
|
-
});
|
|
757
|
-
});
|
|
758
|
-
}
|
|
759
|
-
changeTransactionLineCommissionCode(uuid, lineUuid, code) {
|
|
760
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
761
|
-
const request = {
|
|
762
|
-
transactionUuid: uuid,
|
|
763
|
-
lineUuid: lineUuid,
|
|
764
|
-
newCommissionCode: code
|
|
765
|
-
};
|
|
766
|
-
const response = yield this.connector.changeTransactionLineCommissionCode(request);
|
|
767
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
768
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
769
|
-
}
|
|
770
|
-
else {
|
|
771
|
-
this._handleExceptionFromResponse(response);
|
|
772
|
-
return null;
|
|
773
|
-
}
|
|
774
|
-
});
|
|
775
|
-
}
|
|
776
|
-
changeTransactionLineSupplier(uuid, lineUuid, id) {
|
|
777
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
778
|
-
const request = {
|
|
779
|
-
transactionUuid: uuid,
|
|
780
|
-
lineUuid: lineUuid,
|
|
781
|
-
newSupplierId: id
|
|
782
|
-
};
|
|
783
|
-
const response = yield this.connector.changeTransactionLineSupplier(request);
|
|
784
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
785
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
786
|
-
}
|
|
787
|
-
else {
|
|
788
|
-
this._handleExceptionFromResponse(response);
|
|
789
|
-
return null;
|
|
790
|
-
}
|
|
791
|
-
});
|
|
792
|
-
}
|
|
793
|
-
changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber) {
|
|
794
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
795
|
-
const request = {
|
|
796
|
-
transactionUuid: uuid,
|
|
797
|
-
lineUuid: lineUuid,
|
|
798
|
-
newWarehouseNumber: warehouseNumber
|
|
799
|
-
};
|
|
800
|
-
const response = yield this.connector.changeTransactionLineWarehouse(request);
|
|
801
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
802
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
803
|
-
}
|
|
804
|
-
else {
|
|
805
|
-
this._handleExceptionFromResponse(response);
|
|
806
|
-
return null;
|
|
807
|
-
}
|
|
808
|
-
});
|
|
809
|
-
}
|
|
810
|
-
changeTransactionLinePrice(uuid, lineUuid, price) {
|
|
811
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
812
|
-
const request = {
|
|
813
|
-
transactionUuid: uuid,
|
|
814
|
-
lineUuid: lineUuid,
|
|
815
|
-
newPrice: price
|
|
816
|
-
};
|
|
817
|
-
const response = yield this.connector.changeTransactionLinePrice(request);
|
|
818
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
819
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
820
|
-
}
|
|
821
|
-
else {
|
|
822
|
-
this._handleExceptionFromResponse(response);
|
|
823
|
-
return null;
|
|
824
|
-
}
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
changeTransactionLinePriceList(uuid, lineUuid, priceList) {
|
|
828
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
829
|
-
const request = {
|
|
830
|
-
transactionUuid: uuid,
|
|
831
|
-
lineUuid: lineUuid,
|
|
832
|
-
newPriceListCode: priceList
|
|
833
|
-
};
|
|
834
|
-
const response = yield this.connector.changeTransactionLinePriceList(request);
|
|
835
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
836
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
837
|
-
}
|
|
838
|
-
else {
|
|
839
|
-
this._handleExceptionFromResponse(response);
|
|
840
|
-
return null;
|
|
841
|
-
}
|
|
842
|
-
});
|
|
843
|
-
}
|
|
844
|
-
changeTransactionLineVat(uuid, lineUuid, id) {
|
|
845
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
846
|
-
const request = {
|
|
847
|
-
transactionUuid: uuid,
|
|
848
|
-
lineUuid: lineUuid,
|
|
849
|
-
newVatId: id
|
|
850
|
-
};
|
|
851
|
-
const response = yield this.connector.changeTransactionLineVat(request);
|
|
852
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
853
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
854
|
-
}
|
|
855
|
-
else {
|
|
856
|
-
this._handleExceptionFromResponse(response);
|
|
857
|
-
return null;
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code) {
|
|
862
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
863
|
-
const request = {
|
|
864
|
-
transactionUuid: uuid,
|
|
865
|
-
lineUuid: lineUuid,
|
|
866
|
-
discountType: type,
|
|
867
|
-
newDiscount: discount,
|
|
868
|
-
newDiscountReason: reason,
|
|
869
|
-
newDiscountCode: code
|
|
870
|
-
};
|
|
871
|
-
const response = yield this.connector.changeTransactionLineDiscount(request);
|
|
872
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
873
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
874
|
-
}
|
|
875
|
-
else {
|
|
876
|
-
this._handleExceptionFromResponse(response);
|
|
877
|
-
return null;
|
|
878
|
-
}
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
changeTransactionLineDeliveryMethod(uuid, lineUuid, method) {
|
|
882
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
883
|
-
const request = {
|
|
884
|
-
transactionUuid: uuid,
|
|
885
|
-
lineUuid: lineUuid,
|
|
886
|
-
newDeliveryMethodCode: method
|
|
887
|
-
};
|
|
888
|
-
const response = yield this.connector.changeTransactionLineDeliveryMethod(request);
|
|
889
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
890
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
891
|
-
}
|
|
892
|
-
else {
|
|
893
|
-
this._handleExceptionFromResponse(response);
|
|
894
|
-
return null;
|
|
895
|
-
}
|
|
896
|
-
});
|
|
897
|
-
}
|
|
898
|
-
changeTransactionLineDeliveryDate(uuid, lineUuid, date) {
|
|
899
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
900
|
-
const request = {
|
|
901
|
-
transactionUuid: uuid,
|
|
902
|
-
lineUuid: lineUuid,
|
|
903
|
-
newDeliveryDate: date
|
|
904
|
-
};
|
|
905
|
-
const response = yield this.connector.changeTransactionLineDeliveryDate(request);
|
|
906
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
907
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
908
|
-
}
|
|
909
|
-
else {
|
|
910
|
-
this._handleExceptionFromResponse(response);
|
|
911
|
-
return null;
|
|
912
|
-
}
|
|
913
|
-
});
|
|
914
|
-
}
|
|
915
|
-
changeTransactionLineAssemblyTime(uuid, lineUuid, time) {
|
|
916
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
917
|
-
const request = {
|
|
918
|
-
transactionUuid: uuid,
|
|
919
|
-
lineUuid: lineUuid,
|
|
920
|
-
newAssemblyTime: time
|
|
921
|
-
};
|
|
922
|
-
const response = yield this.connector.changeTransactionLineAssemblyTime(request);
|
|
923
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
924
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
925
|
-
}
|
|
926
|
-
else {
|
|
927
|
-
this._handleExceptionFromResponse(response);
|
|
928
|
-
return null;
|
|
929
|
-
}
|
|
930
|
-
});
|
|
931
|
-
}
|
|
932
|
-
changeTransactionLineEditTime(uuid, lineUuid, time) {
|
|
933
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
934
|
-
const request = {
|
|
935
|
-
transactionUuid: uuid,
|
|
936
|
-
lineUuid: lineUuid,
|
|
937
|
-
newEditTime: time
|
|
938
|
-
};
|
|
939
|
-
const response = yield this.connector.changeTransactionLineEditTime(request);
|
|
940
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
941
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
942
|
-
}
|
|
943
|
-
else {
|
|
944
|
-
this._handleExceptionFromResponse(response);
|
|
945
|
-
return null;
|
|
946
|
-
}
|
|
947
|
-
});
|
|
948
|
-
}
|
|
949
|
-
changeTransactionLineSupplierArticleNumber(uuid, lineUuid, articleNumber) {
|
|
950
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
951
|
-
const request = {
|
|
952
|
-
transactionUuid: uuid,
|
|
953
|
-
lineUuid: lineUuid,
|
|
954
|
-
newSupplierArticleNumber: articleNumber
|
|
955
|
-
};
|
|
956
|
-
const response = yield this.connector.changeTransactionLineSupplierArticleNumber(request);
|
|
957
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
958
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
959
|
-
}
|
|
960
|
-
else {
|
|
961
|
-
this._handleExceptionFromResponse(response);
|
|
962
|
-
return null;
|
|
963
|
-
}
|
|
964
|
-
});
|
|
965
|
-
}
|
|
966
|
-
changeTransactionLineReference(uuid, lineUuid, reference) {
|
|
967
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
968
|
-
const request = {
|
|
969
|
-
transactionUuid: uuid,
|
|
970
|
-
lineUuid: lineUuid,
|
|
971
|
-
newReference: reference
|
|
972
|
-
};
|
|
973
|
-
const response = yield this.connector.changeTransactionLineReference(request);
|
|
974
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
975
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
976
|
-
}
|
|
977
|
-
else {
|
|
978
|
-
this._handleExceptionFromResponse(response);
|
|
979
|
-
return null;
|
|
980
|
-
}
|
|
981
|
-
});
|
|
982
|
-
}
|
|
983
|
-
changeTransactionLineGoodDescription(uuid, lineUuid, goodDescription) {
|
|
984
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
985
|
-
const request = {
|
|
986
|
-
transactionUuid: uuid,
|
|
987
|
-
lineUuid: lineUuid,
|
|
988
|
-
newGoodDescription: goodDescription
|
|
989
|
-
};
|
|
990
|
-
const response = yield this.connector.changeTransactionLineGoodDescription(request);
|
|
991
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
992
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
993
|
-
}
|
|
994
|
-
else {
|
|
995
|
-
this._handleExceptionFromResponse(response);
|
|
996
|
-
return null;
|
|
997
|
-
}
|
|
998
|
-
});
|
|
999
|
-
}
|
|
1000
|
-
changeHeaderTransactionDefinitive(uuid, definitive) {
|
|
1001
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1002
|
-
const request = {
|
|
1003
|
-
transactionUuid: uuid,
|
|
1004
|
-
newTransactionDefinitive: definitive
|
|
1005
|
-
};
|
|
1006
|
-
const response = yield this.connector.changeHeaderTransactionDefinitive(request);
|
|
1007
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1008
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1009
|
-
}
|
|
1010
|
-
else {
|
|
1011
|
-
this._handleExceptionFromResponse(response);
|
|
1012
|
-
return null;
|
|
1013
|
-
}
|
|
1014
|
-
});
|
|
1015
|
-
}
|
|
1016
|
-
changeHeaderDeliveryAddress(uuid, newNawNr) {
|
|
1017
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1018
|
-
const request = {
|
|
1019
|
-
transactionUuid: uuid,
|
|
1020
|
-
newTransactionAddressNawNr: newNawNr
|
|
1021
|
-
};
|
|
1022
|
-
const response = yield this.connector.changeHeaderTransactionAddress(request);
|
|
1023
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1024
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1025
|
-
}
|
|
1026
|
-
else {
|
|
1027
|
-
this._handleExceptionFromResponse(response);
|
|
1028
|
-
return null;
|
|
1029
|
-
}
|
|
1030
|
-
});
|
|
1031
|
-
}
|
|
1032
|
-
changeHeaderInvoiceAddress(uuid, newNawNr) {
|
|
1033
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1034
|
-
const request = {
|
|
1035
|
-
transactionUuid: uuid,
|
|
1036
|
-
newInvoiceAddressNawNr: newNawNr
|
|
1037
|
-
};
|
|
1038
|
-
const response = yield this.connector.changeHeaderInvoiceAddress(request);
|
|
1039
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1040
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1041
|
-
}
|
|
1042
|
-
else {
|
|
1043
|
-
this._handleExceptionFromResponse(response);
|
|
1044
|
-
return null;
|
|
1045
|
-
}
|
|
1046
|
-
});
|
|
1047
|
-
}
|
|
1048
|
-
changeHeaderTransactionDeliveryDate(uuid, date) {
|
|
1049
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1050
|
-
const request = {
|
|
1051
|
-
transactionUuid: uuid,
|
|
1052
|
-
newDeliveryDate: date
|
|
1053
|
-
};
|
|
1054
|
-
const response = yield this.connector.changeHeaderDeliveryDate(request);
|
|
1055
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1056
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1057
|
-
}
|
|
1058
|
-
else {
|
|
1059
|
-
this._handleExceptionFromResponse(response);
|
|
1060
|
-
return null;
|
|
1061
|
-
}
|
|
1062
|
-
});
|
|
1063
|
-
}
|
|
1064
|
-
changeHeaderTransactionDeliveryDateDefinitive(uuid, definitive) {
|
|
1065
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1066
|
-
const request = {
|
|
1067
|
-
transactionUuid: uuid,
|
|
1068
|
-
newDeliveryDateDefinitive: definitive
|
|
1069
|
-
};
|
|
1070
|
-
const response = yield this.connector.changeHeaderDeliveryDateDefinitive(request);
|
|
1071
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1072
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1073
|
-
}
|
|
1074
|
-
else {
|
|
1075
|
-
this._handleExceptionFromResponse(response);
|
|
1076
|
-
return null;
|
|
1077
|
-
}
|
|
1078
|
-
});
|
|
1079
|
-
}
|
|
1080
|
-
changeHeaderTransactionRemark(uuid, remark) {
|
|
1081
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1082
|
-
const request = {
|
|
1083
|
-
transactionUuid: uuid,
|
|
1084
|
-
newRemarks: remark
|
|
1085
|
-
};
|
|
1086
|
-
const response = yield this.connector.changeHeaderRemarks(request);
|
|
1087
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1088
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1089
|
-
}
|
|
1090
|
-
else {
|
|
1091
|
-
this._handleExceptionFromResponse(response);
|
|
1092
|
-
return null;
|
|
1093
|
-
}
|
|
1094
|
-
});
|
|
1095
|
-
}
|
|
1096
|
-
changeHeaderTransactionReference(uuid, reference) {
|
|
1097
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1098
|
-
const request = {
|
|
1099
|
-
transactionUuid: uuid,
|
|
1100
|
-
newOwnReference: reference
|
|
1101
|
-
};
|
|
1102
|
-
const response = yield this.connector.changeHeaderOwnReference(request);
|
|
1103
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1104
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1105
|
-
}
|
|
1106
|
-
else {
|
|
1107
|
-
this._handleExceptionFromResponse(response);
|
|
1108
|
-
return null;
|
|
1109
|
-
}
|
|
1110
|
-
});
|
|
1111
|
-
}
|
|
1112
|
-
changeHeaderTransactionRelationReference(uuid, reference) {
|
|
1113
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1114
|
-
const request = {
|
|
1115
|
-
transactionUuid: uuid,
|
|
1116
|
-
newRelationReference: reference
|
|
1117
|
-
};
|
|
1118
|
-
const response = yield this.connector.changeHeaderRelationReference(request);
|
|
1119
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1120
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1121
|
-
}
|
|
1122
|
-
else {
|
|
1123
|
-
this._handleExceptionFromResponse(response);
|
|
1124
|
-
return null;
|
|
1125
|
-
}
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1128
|
-
changeHeaderToDownPayPercentage(uuid, amount) {
|
|
1129
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1130
|
-
const request = {
|
|
1131
|
-
transactionUuid: uuid,
|
|
1132
|
-
newToDownPayPercentage: amount
|
|
1133
|
-
};
|
|
1134
|
-
const response = yield this.connector.changeHeaderToDownPayPercentage(request);
|
|
1135
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1136
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1137
|
-
}
|
|
1138
|
-
else {
|
|
1139
|
-
this._handleExceptionFromResponse(response);
|
|
1140
|
-
return null;
|
|
1141
|
-
}
|
|
1142
|
-
});
|
|
1143
|
-
}
|
|
1144
|
-
changeHeaderToDownPayAmount(uuid, amount) {
|
|
1145
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1146
|
-
const request = {
|
|
1147
|
-
transactionUuid: uuid,
|
|
1148
|
-
newToDownPayAmount: amount
|
|
1149
|
-
};
|
|
1150
|
-
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1151
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1152
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1153
|
-
}
|
|
1154
|
-
else {
|
|
1155
|
-
this._handleExceptionFromResponse(response);
|
|
1156
|
-
return null;
|
|
1157
|
-
}
|
|
1158
|
-
});
|
|
1159
|
-
}
|
|
1160
|
-
changeHeaderTransactionPreferredDeliveryDate(uuid, date) {
|
|
1161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1162
|
-
const request = {
|
|
1163
|
-
transactionUuid: uuid,
|
|
1164
|
-
newPreferredDeliveryDate: date,
|
|
1165
|
-
newPreferredDeliveryDateOption: ""
|
|
1166
|
-
};
|
|
1167
|
-
const response = yield this.connector.changeHeaderPreferredDeliveryDate(request);
|
|
1168
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1169
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1170
|
-
}
|
|
1171
|
-
else {
|
|
1172
|
-
this._handleExceptionFromResponse(response);
|
|
1173
|
-
return null;
|
|
1174
|
-
}
|
|
1175
|
-
});
|
|
1176
|
-
}
|
|
1177
|
-
changeHeaderTransactionDeliveryMethod(uuid, method) {
|
|
1178
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1179
|
-
const request = {
|
|
1180
|
-
transactionUuid: uuid,
|
|
1181
|
-
newDeliveryMethodCode: method
|
|
1182
|
-
};
|
|
1183
|
-
const response = yield this.connector.changeHeaderDeliveryMethod(request);
|
|
1184
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1185
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1186
|
-
}
|
|
1187
|
-
else {
|
|
1188
|
-
this._handleExceptionFromResponse(response);
|
|
1189
|
-
return null;
|
|
1190
|
-
}
|
|
1191
|
-
});
|
|
1192
|
-
}
|
|
1193
|
-
changeHeaderTransactionDeliveryOptions(uuid, options) {
|
|
1194
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1195
|
-
const request = {
|
|
1196
|
-
transactionUuid: uuid,
|
|
1197
|
-
newDeliveryOptions: options
|
|
1198
|
-
};
|
|
1199
|
-
const response = yield this.connector.changeHeaderDeliveryOptions(request);
|
|
1200
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1201
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1202
|
-
}
|
|
1203
|
-
else {
|
|
1204
|
-
this._handleExceptionFromResponse(response);
|
|
1205
|
-
return null;
|
|
1206
|
-
}
|
|
1207
|
-
});
|
|
1208
|
-
}
|
|
1209
|
-
changeHeaderTransactionPartialDelivery(uuid, allowPartial) {
|
|
1210
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1211
|
-
const request = {
|
|
1212
|
-
transactionUuid: uuid,
|
|
1213
|
-
newPartialDeliveryAllowed: allowPartial
|
|
1214
|
-
};
|
|
1215
|
-
const response = yield this.connector.changeHeaderPartialDeliveryAllowed(request);
|
|
1216
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1217
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1218
|
-
}
|
|
1219
|
-
else {
|
|
1220
|
-
this._handleExceptionFromResponse(response);
|
|
1221
|
-
return null;
|
|
1222
|
-
}
|
|
1223
|
-
});
|
|
1224
|
-
}
|
|
1225
|
-
changeHeaderTransactionBranch(uuid, branch) {
|
|
1226
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1227
|
-
const request = {
|
|
1228
|
-
transactionUuid: uuid,
|
|
1229
|
-
newBranchId: branch
|
|
1230
|
-
};
|
|
1231
|
-
const response = yield this.connector.changeHeaderBranch(request);
|
|
1232
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1233
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1234
|
-
}
|
|
1235
|
-
else {
|
|
1236
|
-
this._handleExceptionFromResponse(response);
|
|
1237
|
-
return null;
|
|
1238
|
-
}
|
|
1239
|
-
});
|
|
1240
|
-
}
|
|
1241
|
-
changeHeaderTransactionAdmCoordinator(uuid, relation) {
|
|
1242
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1243
|
-
const request = {
|
|
1244
|
-
transactionUuid: uuid,
|
|
1245
|
-
newAdmCoordinator: relation
|
|
1246
|
-
};
|
|
1247
|
-
const response = yield this.connector.changeHeaderAdmCoordinator(request);
|
|
1248
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1249
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1250
|
-
}
|
|
1251
|
-
else {
|
|
1252
|
-
this._handleExceptionFromResponse(response);
|
|
1253
|
-
return null;
|
|
1254
|
-
}
|
|
1255
|
-
});
|
|
1256
|
-
}
|
|
1257
|
-
changeHeaderTransactionMarketing(uuid, code) {
|
|
1258
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1259
|
-
const request = {
|
|
1260
|
-
transactionUuid: uuid,
|
|
1261
|
-
newMarketingCode: code
|
|
1262
|
-
};
|
|
1263
|
-
const response = yield this.connector.changeHeaderMarketingCode(request);
|
|
1264
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1265
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1266
|
-
}
|
|
1267
|
-
else {
|
|
1268
|
-
this._handleExceptionFromResponse(response);
|
|
1269
|
-
return null;
|
|
1270
|
-
}
|
|
1271
|
-
});
|
|
1272
|
-
}
|
|
1273
|
-
changeHeaderTransactionDiscount(uuid, type, amount) {
|
|
1274
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1275
|
-
const request = {
|
|
1276
|
-
transactionUuid: uuid,
|
|
1277
|
-
orderDiscountType: type,
|
|
1278
|
-
discountValue: amount
|
|
1279
|
-
};
|
|
1280
|
-
const response = yield this.connector.setTransactionDiscounts(request);
|
|
1281
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1282
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1283
|
-
}
|
|
1284
|
-
else {
|
|
1285
|
-
this._handleExceptionFromResponse(response);
|
|
1286
|
-
return null;
|
|
1287
|
-
}
|
|
1288
|
-
});
|
|
1289
|
-
}
|
|
1290
|
-
changeHeaderTransactionToDownPay(uuid, downPayment) {
|
|
1291
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1292
|
-
const request = {
|
|
1293
|
-
transactionUuid: uuid,
|
|
1294
|
-
newToDownPayAmount: downPayment
|
|
1295
|
-
};
|
|
1296
|
-
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1297
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1298
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1299
|
-
}
|
|
1300
|
-
else {
|
|
1301
|
-
this._handleExceptionFromResponse(response);
|
|
1302
|
-
return null;
|
|
1303
|
-
}
|
|
1304
|
-
});
|
|
1305
|
-
}
|
|
1306
|
-
changeTransactionLineCollectionCode(uuid, lineUuid, code) {
|
|
1307
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1308
|
-
const request = {
|
|
1309
|
-
transactionUuid: uuid,
|
|
1310
|
-
lineUuid: lineUuid,
|
|
1311
|
-
newCollectionCode: code
|
|
1312
|
-
};
|
|
1313
|
-
const response = yield this.connector.changeTransactionLineCollectionCode(request);
|
|
1314
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1315
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1316
|
-
}
|
|
1317
|
-
else {
|
|
1318
|
-
this._handleExceptionFromResponse(response);
|
|
1319
|
-
return null;
|
|
1320
|
-
}
|
|
1321
|
-
});
|
|
1322
|
-
}
|
|
1323
|
-
createOutstandingEntry(uuid, amount) {
|
|
1324
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1325
|
-
const request = {
|
|
1326
|
-
transUUID: uuid,
|
|
1327
|
-
amount: amount
|
|
1328
|
-
};
|
|
1329
|
-
const response = yield this.connector.createOutstandingEntry(request);
|
|
1330
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1331
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1332
|
-
}
|
|
1333
|
-
else {
|
|
1334
|
-
this._handleExceptionFromResponse(response);
|
|
1335
|
-
return null;
|
|
1336
|
-
}
|
|
1337
|
-
});
|
|
1338
|
-
}
|
|
1339
|
-
registerSalesOrderPayment(uuid, amount, currencyId, paymentMethod, cashRegisterGroupId) {
|
|
1340
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1341
|
-
const request = {
|
|
1342
|
-
transUUID: uuid,
|
|
1343
|
-
amount: amount,
|
|
1344
|
-
currencyId: currencyId,
|
|
1345
|
-
paymentMethodCode: paymentMethod,
|
|
1346
|
-
cashRegisterGroupId: cashRegisterGroupId
|
|
1347
|
-
};
|
|
1348
|
-
const response = yield this.connector.registerSalesOrderPayment(request);
|
|
1349
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1350
|
-
return response;
|
|
1351
|
-
}
|
|
1352
|
-
else {
|
|
1353
|
-
this._handleExceptionFromResponse(response);
|
|
1354
|
-
return null;
|
|
1355
|
-
}
|
|
1356
|
-
});
|
|
1357
|
-
}
|
|
1358
|
-
createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode) {
|
|
1359
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1360
|
-
const request = {
|
|
1361
|
-
transUUID: uuid,
|
|
1362
|
-
amount: amount,
|
|
1363
|
-
paymentMethodCode: paymentMethodCode
|
|
1364
|
-
};
|
|
1365
|
-
const response = yield this.connector.createIonePaymentLinkAndQRCode(request);
|
|
1366
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1367
|
-
return this._boFactory.makeWithRawBackendData(CreatePaymentLinkResult, response.resultObject);
|
|
1368
|
-
}
|
|
1369
|
-
else {
|
|
1370
|
-
this._handleExceptionFromResponse(response);
|
|
1371
|
-
return null;
|
|
1372
|
-
}
|
|
1373
|
-
});
|
|
1374
|
-
}
|
|
1375
|
-
getPaymentLinkStatus(paymentLinkUUID) {
|
|
1376
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1377
|
-
const response = yield this.connector.getPaymentLinkStatus(paymentLinkUUID);
|
|
1378
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1379
|
-
return this._boFactory.makeWithRawBackendData(PaymentLinkStatus, response.resultObject);
|
|
1380
|
-
}
|
|
1381
|
-
else {
|
|
1382
|
-
this._handleExceptionFromResponse(response);
|
|
1383
|
-
return null;
|
|
1384
|
-
}
|
|
1385
|
-
});
|
|
1386
|
-
}
|
|
1387
|
-
getDownPaymentInfo(uuid) {
|
|
1388
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1389
|
-
const response = yield this.connector.getDownPaymentInfo(uuid);
|
|
1390
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1391
|
-
return this._boFactory.makeWithRawBackendData(TransactionDownPaymentInfo, response.resultObject);
|
|
1392
|
-
}
|
|
1393
|
-
else {
|
|
1394
|
-
this._handleExceptionFromResponse(response);
|
|
1395
|
-
return null;
|
|
1396
|
-
}
|
|
1397
|
-
});
|
|
1398
|
-
}
|
|
1399
|
-
getGoodsReceiptStatus(transId, lineNr) {
|
|
1400
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1401
|
-
const response = yield this.connector.getGoodsReceiptStatus(transId, lineNr);
|
|
1402
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1403
|
-
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1404
|
-
}
|
|
1405
|
-
else {
|
|
1406
|
-
this._handleExceptionFromResponse(response);
|
|
1407
|
-
return null;
|
|
1408
|
-
}
|
|
1409
|
-
});
|
|
1410
|
-
}
|
|
1411
|
-
getGoodsReceiptStatusWithHistory(transId, lineNr) {
|
|
1412
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1413
|
-
const response = yield this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);
|
|
1414
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1415
|
-
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1416
|
-
}
|
|
1417
|
-
else {
|
|
1418
|
-
this._handleExceptionFromResponse(response);
|
|
1419
|
-
return null;
|
|
1420
|
-
}
|
|
1421
|
-
});
|
|
1422
|
-
}
|
|
1423
|
-
receiveGoodsForPurchaseOrder(request) {
|
|
1424
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1425
|
-
const response = yield this.connector.receiveGoodsForPurchaseOrder(request);
|
|
1426
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1427
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1428
|
-
}
|
|
1429
|
-
else {
|
|
1430
|
-
this._handleExceptionFromResponse(response);
|
|
1431
|
-
return null;
|
|
1432
|
-
}
|
|
1433
|
-
});
|
|
1434
|
-
}
|
|
1435
|
-
receiveGoodsForPurchaseOrderCorrection(request) {
|
|
1436
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1437
|
-
const response = yield this.connector.receiveGoodsForPurchaseOrderCorrection(request);
|
|
1438
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1439
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1440
|
-
}
|
|
1441
|
-
else {
|
|
1442
|
-
this._handleExceptionFromResponse(response);
|
|
1443
|
-
return null;
|
|
1444
|
-
}
|
|
1445
|
-
});
|
|
1446
|
-
}
|
|
1447
|
-
getPurchasePortalLines(request) {
|
|
1448
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1449
|
-
return new Promise((resolve, reject) => {
|
|
1450
|
-
return this.connector.getPurchasePortalLines(request).then((result) => {
|
|
1451
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1452
|
-
if (result.resultObjects) {
|
|
1453
|
-
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(PurchasePortalLine, result.resultObjects));
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1456
|
-
else {
|
|
1457
|
-
this._handleExceptionFromResponse(result);
|
|
1458
|
-
reject(null);
|
|
1459
|
-
}
|
|
1460
|
-
});
|
|
1461
|
-
});
|
|
1462
|
-
});
|
|
1463
|
-
}
|
|
1464
|
-
updatePurchasePortalLines(purchasePortalLine) {
|
|
1465
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1466
|
-
const result = yield this.connector.updatePurchasePortalLines(purchasePortalLine);
|
|
1467
|
-
if (result && result.validationResult && result.validationResult.success) {
|
|
1468
|
-
yield this.commit();
|
|
1469
|
-
return null;
|
|
1470
|
-
}
|
|
1471
|
-
});
|
|
1472
|
-
}
|
|
1473
|
-
purchaseOrderConfirmation(purchaseOrderConfirmation) {
|
|
1474
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1475
|
-
const result = yield this.connector.getPurchaseOrderConfirmation(purchaseOrderConfirmation);
|
|
1476
|
-
if (result && result.validationResult && result.validationResult.success) {
|
|
1477
|
-
yield this.commit();
|
|
1478
|
-
return null;
|
|
1479
|
-
}
|
|
1480
|
-
});
|
|
1481
|
-
}
|
|
1482
|
-
lockPurchasePortalLines(transIdPurchase, lineId) {
|
|
1483
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1484
|
-
return new Promise((resolve, reject) => {
|
|
1485
|
-
return this.connector.lockPurchasePortalLines(transIdPurchase, lineId).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1486
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1487
|
-
resolve(true);
|
|
1488
|
-
}
|
|
1489
|
-
else {
|
|
1490
|
-
reject(result.validationMessagesAsString);
|
|
1491
|
-
}
|
|
1492
|
-
}));
|
|
1493
|
-
});
|
|
1494
|
-
});
|
|
1495
|
-
}
|
|
1496
|
-
getStockStickerTemplates(data) {
|
|
1497
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1498
|
-
return new Promise((resolve, reject) => {
|
|
1499
|
-
// @ts-ignore
|
|
1500
|
-
return this.sharedConnector.getStockStickerPrintLayouts(data).then((result) => {
|
|
1501
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1502
|
-
if (result.resultObject) {
|
|
1503
|
-
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));
|
|
1504
|
-
}
|
|
1505
|
-
}
|
|
1506
|
-
else {
|
|
1507
|
-
reject(result.validationMessagesAsString);
|
|
1508
|
-
}
|
|
1509
|
-
});
|
|
1510
|
-
});
|
|
1511
|
-
});
|
|
1512
|
-
}
|
|
1513
|
-
generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
|
|
1514
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1515
|
-
return new Promise((resolve, reject) => {
|
|
1516
|
-
return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1517
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1518
|
-
resolve(true);
|
|
1519
|
-
}
|
|
1520
|
-
else {
|
|
1521
|
-
reject(result.validationMessagesAsString);
|
|
1522
|
-
}
|
|
1523
|
-
}));
|
|
1524
|
-
});
|
|
1525
|
-
});
|
|
1526
|
-
}
|
|
1527
|
-
getDeliveryOrderStatus(transId, lineNr) {
|
|
1528
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1529
|
-
const response = yield this.connector.getDeliveryOrderStatus(transId, lineNr);
|
|
1530
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1531
|
-
return this._boFactory.makeWithRawBackendData(DeliveryOrderStatus, response.resultObject);
|
|
1532
|
-
}
|
|
1533
|
-
else {
|
|
1534
|
-
this._handleExceptionFromResponse(response);
|
|
1535
|
-
return null;
|
|
1536
|
-
}
|
|
1537
|
-
});
|
|
1538
|
-
}
|
|
1539
|
-
getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr) {
|
|
1540
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1541
|
-
const response = yield this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);
|
|
1542
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1543
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(AvailableStock, response.resultObject);
|
|
1544
|
-
}
|
|
1545
|
-
else {
|
|
1546
|
-
this._handleExceptionFromResponse(response);
|
|
1547
|
-
return null;
|
|
1548
|
-
}
|
|
1549
|
-
});
|
|
1550
|
-
}
|
|
1551
|
-
allocateGoodsForSalesOrder(request) {
|
|
1552
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1553
|
-
const response = yield this.connector.allocateGoodsForSalesOrder(request);
|
|
1554
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1555
|
-
return true;
|
|
1556
|
-
}
|
|
1557
|
-
else {
|
|
1558
|
-
this._handleExceptionFromResponse(response);
|
|
1559
|
-
return null;
|
|
1560
|
-
}
|
|
1561
|
-
});
|
|
1562
|
-
}
|
|
1563
|
-
allocateGoodsForSalesOrderCorrection(request) {
|
|
1564
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1565
|
-
const response = yield this.connector.allocateGoodsForSalesOrderCorrection(request);
|
|
1566
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1567
|
-
return true;
|
|
1568
|
-
}
|
|
1569
|
-
else {
|
|
1570
|
-
this._handleExceptionFromResponse(response);
|
|
1571
|
-
return null;
|
|
1572
|
-
}
|
|
1573
|
-
});
|
|
1574
|
-
}
|
|
1575
|
-
getGoodsAllocationStatus(transId, lineNr) {
|
|
1576
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1577
|
-
const response = yield this.connector.getGoodsAllocationStatus(transId, lineNr);
|
|
1578
|
-
if (response && response.resultObject) {
|
|
1579
|
-
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatus, response.resultObject);
|
|
1580
|
-
}
|
|
1581
|
-
else {
|
|
1582
|
-
this._handleExceptionFromResponse(response);
|
|
1583
|
-
return null;
|
|
1584
|
-
}
|
|
1585
|
-
});
|
|
1586
|
-
}
|
|
1587
|
-
getGoodsAllocationStatusWithHistory(transId, lineNr) {
|
|
1588
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1589
|
-
const response = yield this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);
|
|
1590
|
-
if (response && response.resultObject) {
|
|
1591
|
-
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatusWithHistory, response.resultObject);
|
|
1592
|
-
}
|
|
1593
|
-
else {
|
|
1594
|
-
this._handleExceptionFromResponse(response);
|
|
1595
|
-
return null;
|
|
1596
|
-
}
|
|
1597
|
-
});
|
|
1598
|
-
}
|
|
1599
|
-
getOrderConfirmationEmailLayouts(transactionUUID) {
|
|
1600
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1601
|
-
const response = yield this.connector.getOrderConfirmationEmailLayouts(transactionUUID);
|
|
1602
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1603
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1604
|
-
}
|
|
1605
|
-
else {
|
|
1606
|
-
this._handleExceptionFromResponse(response);
|
|
1607
|
-
return null;
|
|
1608
|
-
}
|
|
1609
|
-
});
|
|
1610
|
-
}
|
|
1611
|
-
getOrderConfirmationPrintLayouts(transactionUUID) {
|
|
1612
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1613
|
-
const response = yield this.connector.getOrderConfirmationPrintLayouts(transactionUUID);
|
|
1614
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1615
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1616
|
-
}
|
|
1617
|
-
else {
|
|
1618
|
-
this._handleExceptionFromResponse(response);
|
|
1619
|
-
return null;
|
|
1620
|
-
}
|
|
1621
|
-
});
|
|
1622
|
-
}
|
|
1623
|
-
getOrderConfirmationDefaultSendMethod(relationId) {
|
|
1624
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1625
|
-
const response = yield this.connector.getOrderConfirmationDefaultSendMethod(relationId);
|
|
1626
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1627
|
-
return response.resultObject;
|
|
1628
|
-
}
|
|
1629
|
-
else {
|
|
1630
|
-
this._handleExceptionFromResponse(response);
|
|
1631
|
-
return null;
|
|
1632
|
-
}
|
|
1633
|
-
});
|
|
1634
|
-
}
|
|
1635
|
-
printOrderConfirmation(request) {
|
|
1636
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1637
|
-
const response = yield this.connector.printOrderConfirmation(request);
|
|
1638
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1639
|
-
return response.resultObject;
|
|
1640
|
-
}
|
|
1641
|
-
else {
|
|
1642
|
-
this._handleExceptionFromResponse(response);
|
|
1643
|
-
return null;
|
|
1644
|
-
}
|
|
1645
|
-
});
|
|
1646
|
-
}
|
|
1647
|
-
emailOrderConfirmation(request) {
|
|
1648
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1649
|
-
const response = yield this.connector.emailOrderConfirmation(request);
|
|
1650
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1651
|
-
return response.resultObject;
|
|
1652
|
-
}
|
|
1653
|
-
else {
|
|
1654
|
-
this._handleExceptionFromResponse(response);
|
|
1655
|
-
return null;
|
|
1656
|
-
}
|
|
1657
|
-
});
|
|
1658
|
-
}
|
|
1659
|
-
pdfOrderConfirmation(request) {
|
|
1660
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1661
|
-
const response = yield this.connector.pdfOrderConfirmation(request);
|
|
1662
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1663
|
-
return response.resultObject;
|
|
1664
|
-
}
|
|
1665
|
-
else {
|
|
1666
|
-
this._handleExceptionFromResponse(response);
|
|
1667
|
-
return null;
|
|
1668
|
-
}
|
|
1669
|
-
});
|
|
1670
|
-
}
|
|
1671
|
-
printPurchaseOrder(request) {
|
|
1672
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1673
|
-
const response = yield this.connector.printPurchaseOrder(request);
|
|
1674
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1675
|
-
return response.resultObject;
|
|
1676
|
-
}
|
|
1677
|
-
else {
|
|
1678
|
-
this._handleExceptionFromResponse(response);
|
|
1679
|
-
return null;
|
|
1680
|
-
}
|
|
1681
|
-
});
|
|
1682
|
-
}
|
|
1683
|
-
emailPurchaseOrder(request) {
|
|
1684
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1685
|
-
const response = yield this.connector.emailPurchaseOrder(request);
|
|
1686
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1687
|
-
return response.resultObject;
|
|
1688
|
-
}
|
|
1689
|
-
else {
|
|
1690
|
-
this._handleExceptionFromResponse(response);
|
|
1691
|
-
return null;
|
|
1692
|
-
}
|
|
1693
|
-
});
|
|
1694
|
-
}
|
|
1695
|
-
pdfPurchaseOrder(request) {
|
|
1696
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1697
|
-
const response = yield this.connector.pdfPurchaseOrder(request);
|
|
1698
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1699
|
-
return response.resultObject;
|
|
1700
|
-
}
|
|
1701
|
-
else {
|
|
1702
|
-
this._handleExceptionFromResponse(response);
|
|
1703
|
-
return null;
|
|
1704
|
-
}
|
|
1705
|
-
});
|
|
1706
|
-
}
|
|
1707
|
-
getPurchaseOrderEmailLayouts(transactionUUID) {
|
|
1708
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1709
|
-
const response = yield this.connector.getPurchaseOrderEmailLayouts(transactionUUID);
|
|
1710
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1711
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1712
|
-
}
|
|
1713
|
-
else {
|
|
1714
|
-
this._handleExceptionFromResponse(response);
|
|
1715
|
-
return null;
|
|
1716
|
-
}
|
|
1717
|
-
});
|
|
1718
|
-
}
|
|
1719
|
-
getPurchaseOrderPrintLayouts(transactionUUID) {
|
|
1720
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1721
|
-
const response = yield this.connector.getPurchaseOrderPrintLayouts(transactionUUID);
|
|
1722
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1723
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1724
|
-
}
|
|
1725
|
-
else {
|
|
1726
|
-
this._handleExceptionFromResponse(response);
|
|
1727
|
-
return null;
|
|
1728
|
-
}
|
|
1729
|
-
});
|
|
1730
|
-
}
|
|
1731
|
-
getDefaultEmailAddressListForOrderConfirmation(transactionUUID) {
|
|
1732
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1733
|
-
const response = yield this.connector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
|
|
1734
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1735
|
-
return response.resultObject;
|
|
1736
|
-
}
|
|
1737
|
-
else {
|
|
1738
|
-
this._handleExceptionFromResponse(response);
|
|
1739
|
-
return null;
|
|
1740
|
-
}
|
|
1741
|
-
});
|
|
1742
|
-
}
|
|
1743
|
-
getPurchaseOrderDefaultSendMethod(relationId) {
|
|
1744
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1745
|
-
const response = yield this.connector.getPurchaseOrderDefaultSendMethod(relationId);
|
|
1746
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1747
|
-
return response.resultObject;
|
|
1748
|
-
}
|
|
1749
|
-
else {
|
|
1750
|
-
this._handleExceptionFromResponse(response);
|
|
1751
|
-
return null;
|
|
1752
|
-
}
|
|
1753
|
-
});
|
|
1754
|
-
}
|
|
1755
|
-
generateAndSendPurchaseOrdersForSalesOrder(transactionId) {
|
|
1756
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1757
|
-
const response = yield this.connector.generateAndSendPurchaseOrdersForSalesOrder(transactionId);
|
|
1758
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1759
|
-
return response.resultObject;
|
|
1760
|
-
}
|
|
1761
|
-
else {
|
|
1762
|
-
this._handleExceptionFromResponse(response);
|
|
1763
|
-
return null;
|
|
1764
|
-
}
|
|
1765
|
-
});
|
|
1766
|
-
}
|
|
1767
|
-
getPurchaseAdviceLines(filters, goodId) {
|
|
1768
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1769
|
-
const response = yield this.connector.getPurchaseAdviceLines(filters, goodId);
|
|
1770
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1771
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PurchaseAdviceLine, response.resultObject);
|
|
1772
|
-
}
|
|
1773
|
-
else {
|
|
1774
|
-
this._handleExceptionFromResponse(response);
|
|
1775
|
-
return null;
|
|
1776
|
-
}
|
|
1777
|
-
});
|
|
1778
|
-
}
|
|
1779
|
-
generateAndSendPurchaseOrders(purchaseAdviceLines) {
|
|
1780
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1781
|
-
const response = yield this.connector.generateAndSendPurchaseOrders(purchaseAdviceLines);
|
|
1782
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1783
|
-
return true;
|
|
1784
|
-
}
|
|
1785
|
-
else {
|
|
1786
|
-
this._handleExceptionFromResponse(response);
|
|
1787
|
-
return null;
|
|
1788
|
-
}
|
|
1789
|
-
});
|
|
1790
|
-
}
|
|
1791
|
-
_handleExceptionFromResponse(result) {
|
|
1792
|
-
this._errorService.showValidationError(result);
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
TransactionConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorAdapterService_Factory() { return new TransactionConnectorAdapterService(i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SelectMultipleCacheService), i0.ɵɵinject(i3.SelectMultipleParameterizedCacheService), i0.ɵɵinject(i4.ErrorService)); }, token: TransactionConnectorAdapterService, providedIn: "root" });
|
|
1796
|
-
TransactionConnectorAdapterService.decorators = [
|
|
1797
|
-
{ type: Injectable, args: [{
|
|
1798
|
-
providedIn: "root"
|
|
1799
|
-
},] }
|
|
1800
|
-
];
|
|
1801
|
-
TransactionConnectorAdapterService.ctorParameters = () => [
|
|
1802
|
-
{ type: OptionsService },
|
|
1803
|
-
{ type: SelectMultipleCacheService },
|
|
1804
|
-
{ type: SelectMultipleParameterizedCacheService },
|
|
1805
|
-
{ type: ErrorService }
|
|
1806
|
-
];
|
|
1807
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUUxRyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV2RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUdoSSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBR2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sMENBQTBDLENB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Q3JJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDZCQUE2QixDQUFDLG1CQUF5Qzs7WUFDbEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVPLDRCQUE0QixDQUFDLE1BQStCO1FBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7OztZQTEvQ0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUE5RE8sY0FBYztZQXNCZCwwQkFBMEI7WUFDMUIsdUNBQXVDO1lBQ3ZDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWFya2V0aW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL21hcmtldGluZy5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm9cIjtcclxuaW1wb3J0IHtTZXF1ZW5jZU5hbWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zZXF1ZW5jZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtEZWxpdmVyeU1ldGhvZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1tZXRob2QuYm9cIjtcclxuaW1wb3J0IHtEZWxpdmVyeU9wdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1vcHRpb24uYm9cIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2V0LXRyYW5zYWN0aW9uLWRlbGl2ZXJ5LW9wdGlvbnMtcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge0dldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXBvc3RhbC1jb2RlLXJldHJpZXZhbC1vdXRwdXQtcGFyYW1zXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWxpbmUtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWFydGljbGUtd2FyZWhvdXNlLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVzcG9uc2VCYXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlc3BvbnNlLWJhc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC90cmFuc2FjdGlvblwiO1xyXG5pbXBvcnQge1N0YW5kYXJkVGV4dH0gZnJvbSBcIi4uL21vZGVsL3N0YW5kYXJkLXRleHRcIjtcclxuaW1wb3J0IHtDdXN0b21lckdyb3VwfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWdyb3VwLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4vb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q2FzaFJlZ2lzdGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtcmVnaXN0ZXJcIjtcclxuaW1wb3J0IHtDaGFuZ2VMaW5lU2VxdWVuY2VSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NoYW5nZS1saW5lLXNlcXVlbmNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXNvbHZlTGluZVBlbmRpbmdSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1ByaWNlTGlzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmljZS1saXN0XCI7XHJcbmltcG9ydCB7VmF0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ZhdFwiO1xyXG5pbXBvcnQge0Rpc2NvdW50VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2Rpc2NvdW50LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXctcmVxdWVzdFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVmlld30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy5ib1wiO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvXCI7XHJcbmltcG9ydCB7V2FyZWhvdXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3dhcmVob3VzZS5ib1wiO1xyXG5pbXBvcnQge0NvZGVEZXNjcmlwdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb2RlLWRlc2NyaXB0aW9uXCI7XHJcbmltcG9ydCB7UmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVjZWl2ZS1nb29kcy1mb3ItcHVyY2hhc2Utb3JkZXItcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge0dvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dvb2RzLXJlY2VpcHQtc3RhdHVzLXdpdGgtaGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge1JlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXJDb3JyZWN0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWNlaXZlLWdvb2RzLWZvci1wdXJjaGFzZS1vcmRlci1jb3JyZWN0aW9uLXJlcXVlc3QuYm9cIjtcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvXCI7XHJcbmltcG9ydCB7R2V0UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dldC1wdXJjaGFzZS1wb3J0YWwtbGluZVwiO1xyXG5pbXBvcnQge1B1cmNoYXNlUG9ydGFsTGluZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1wb3J0YWwtbGluZS5ib1wiO1xyXG5pbXBvcnQge0NyZWF0ZVBheW1lbnRMaW5rUmVzdWx0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1wYXltZW50LWxpbmstcmVzdWx0LmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hSZXN1bHR9IGZyb20gXCIuLi9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0XCI7XHJcbmltcG9ydCB7UmVzb2x2ZUhlYWRlclBlbmRpbmdSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtaGVhZGVyLXBlbmRpbmctcmVhc29uLXJlcXVlc3QuYm9cIjtcclxuaW1wb3J0IHtQYXltZW50TGlua1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LWxpbmstc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7U2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2V9IGZyb20gXCIuLi9jYWNoZS9zZXJ2aWNlL3NlbGVjdC1tdWx0aXBsZS1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vY2FjaGUvc2VydmljZS9zZWxlY3QtbXVsdGlwbGUtcGFyYW1ldGVyaXplZC1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RXJyb3JTZXJ2aWNlfSBmcm9tIFwiLi9lcnJvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2V0UHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtcHVyY2hhc2Utb3JkZXItY29uZmlybWF0aW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Eb3duUGF5bWVudEluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZG93bi1wYXltZW50LWluZm8uYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxvY2tSZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbG9jay1yZXN1bHQuYm9cIjtcclxuaW1wb3J0IHtQcml2YWN5U2V0dGluZ30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaXZhY3ktc2V0dGluZy5ib1wiO1xyXG5pbXBvcnQge0RhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhfSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGFcIjtcclxuaW1wb3J0IHtSZWxhdGlvblByaXZhY3lTZXR0aW5nfSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXByaXZhY3ktc2V0dGluZy5ib1wiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvaW1hZ2UtdXRpbHNcIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7VGFnfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlPcmRlclN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1vcmRlci1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTYWxlc1BlcnNvbn0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvc3RvY2stc3RpY2tlcnMtcHJpbnQtbGF5b3V0cy5ib1wiO1xyXG5pbXBvcnQge1NoYXJlZGFwaX0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvc2hhcmVkYXBpXCI7XHJcbmltcG9ydCB7QXZhaWxhYmxlU3RvY2t9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYXZhaWxhYmxlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FsbG9jYXRlLWdvb2RzLWZvci1zYWxlcy1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7QWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJDb3JyZWN0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hbGxvY2F0ZS1nb29kcy1mb3Itc2FsZXMtb3JkZXItY29ycmVjdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7R29vZHNBbGxvY2F0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dvb2RzLWFsbG9jYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ29vZHMtYWxsb2NhdGlvbi1zdGF0dXMtd2l0aC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ib1wiO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm9cIjtcclxuaW1wb3J0IHtFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2VtYWlsLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludC1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3BkZi1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1ByaW50UHVyY2hhc2VPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludC1wdXJjaGFzZS1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7RW1haWxQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2VtYWlsLXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQZGZQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3BkZi1wdXJjaGFzZS1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q3JlYXRlU2FsZXNPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXNhbGVzLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NyZWF0ZVB1cmNoYXNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1wdXJjaGFzZS1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q3JlYXRlU2VydmljZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtc2VydmljZS1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q3JlYXRlU2FsZXNRdW90YXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zYWxlcy1xdW90YXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1B1cmNoYXNlQWR2aWNlTGluZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1hZHZpY2UtbGluZS5ib1wiO1xyXG5pbXBvcnQge1B1cmNoYXNlQWR2aWNlRmlsdGVyc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1hZHZpY2UtZmlsdGVyc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlIHtcclxuICBwdWJsaWMgY29ubmVjdG9yOiBUcmFuc2FjdGlvbjtcclxuICBwdWJsaWMgc2hhcmVkQ29ubmVjdG9yOiBTaGFyZWRhcGk7XHJcblxyXG4gIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlOiBTZWxlY3RNdWx0aXBsZUNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbGVjdE11bHRpcGxlUGFyYW1ldGVyaXplZENhY2hlU2VydmljZTogU2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZXJyb3JTZXJ2aWNlOiBFcnJvclNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jb25uZWN0b3IgPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgICB0aGlzLnNoYXJlZENvbm5lY3RvciA9IG5ldyBTaGFyZWRhcGkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnNlc3Npb24gPSB0aGlzLmNvbm5lY3Rvci5zZXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxBcnRpY2xlRnVsbE9iamVjdD4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQXJ0aWNsZUZ1bGxPYmplY3QsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgQXJ0aWNsZUZ1bGxPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZElkRnJvbUFydGljbGVOcihhcnRpY2xlTnI6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0R29vZElkRnJvbUFydGljbGVOcihhcnRpY2xlTnIpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3VsdC5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2luZ2xlSW1hZ2Uobm9kZUlkOiBudW1iZXIgfCBzdHJpbmcsIHB1YmxpY2F0aW9uOiBudW1iZXIsIGluY2x1ZGVNaW1ldHlwZTogYm9vbGVhbiwgdGh1bWI6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFNpbmdsZUltYWdlKG5vZGVJZCwgcHVibGljYXRpb24sIGluY2x1ZGVNaW1ldHlwZSwgdGh1bWIpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5maWxlUGF0aCAhPT0gbnVsbCAmJiByZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoICE9PSB1bmRlZmluZWQgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5maWxlUGF0aCAhPT0gXCJcIikge1xyXG4gICAgICAgIHJldHVybiBJbWFnZVV0aWxzLmdldEZpeGVkSW1hZ2VGaWxlcGF0aFVybChyZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgaWYgKGluY2x1ZGVNaW1ldHlwZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gSW1hZ2VVdGlscy5nZXREb2NCb2R5V2l0aE1pbWVUeXBlRGVmaW5pdGlvbihyZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgIHRodW1iID8gcmVzdWx0LnJlc3VsdE9iamVjdC50aHVtYm5haWxCb2R5IDogcmVzdWx0LnJlc3VsdE9iamVjdC5kb2N1bWVudEJvZHkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRodW1iID8gcmVzdWx0LnJlc3VsdE9iamVjdC50aHVtYm5haWxCb2R5IDogcmVzdWx0LnJlc3VsdE9iamVjdC5kb2N1bWVudEJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBubyBpbWFnZVxyXG4gICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Q291bnRyaWVzKCk6IFByb21pc2U8Q291bnRyeVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q291bnRyaWVzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ291bnRyeSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ291bnRyeVtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDdXN0b21lckdyb3VwcygpOiBQcm9taXNlPEN1c3RvbWVyR3JvdXBbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ3VzdG9tZXJHcm91cCwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ3VzdG9tZXJHcm91cFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJ5KGNvdW50cnlDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENvdW50cnk+IHtcclxuICAgIGNvbnN0IGNvdW50cmllczogQ291bnRyeVtdID0gYXdhaXQgdGhpcy5nZXRDb3VudHJpZXMoKTtcclxuICAgIHJldHVybiBjb3VudHJpZXMuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY29kZSA9PT0gY291bnRyeUNvZGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaXZhY3lTZXR0aW5ncygpOiBQcm9taXNlPFByaXZhY3lTZXR0aW5nW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQcml2YWN5U2V0dGluZ3MoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShQcml2YWN5U2V0dGluZywgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgUHJpdmFjeVNldHRpbmdbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UmVsYXRpb25Qcml2YWN5U2V0dGluZ3MoKTogUHJvbWlzZTxSZWxhdGlvblByaXZhY3lTZXR0aW5nW10+IHtcclxuICAgIGNvbnN0IHByaXZhY3lTZXR0aW5nczogUmVsYXRpb25Qcml2YWN5U2V0dGluZ1tdID0gW107XHJcblxyXG4gICAgY29uc3QgYmFzZVByaXZhY3lTZXR0aW5nczogUHJpdmFjeVNldHRpbmdbXSA9IGF3YWl0IHRoaXMuZ2V0UHJpdmFjeVNldHRpbmdzKCk7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGJhc2VQcml2YWN5U2V0dGluZ3MubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgY29uc3QgYmFzZVByaXZTZXR0aW5nOiBQcml2YWN5U2V0dGluZyA9IGJhc2VQcml2YWN5U2V0dGluZ3NbaV07XHJcbiAgICAgIGNvbnN0IG5ld1JlbFByaXZTZXQ6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcgPSA8UmVsYXRpb25Qcml2YWN5U2V0dGluZz48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkuaW5zdGFudGlhdGVOZXdCbyhSZWxhdGlvblByaXZhY3lTZXR0aW5nKTtcclxuICAgICAgbmV3UmVsUHJpdlNldC5hcHBseUJhc2VQcml2YWN5U2V0dGluZ1ZhbHVlcyhiYXNlUHJpdlNldHRpbmcpO1xyXG4gICAgICBwcml2YWN5U2V0dGluZ3MucHVzaChuZXdSZWxQcml2U2V0KTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YWN5U2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0TWFya2V0aW5nQ29kZXMoKTogUHJvbWlzZTxNYXJrZXRpbmdbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE1hcmtldGluZ0NvZGVzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoTWFya2V0aW5nLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBNYXJrZXRpbmdbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUJvdW5kVGV4dExpbmVzT2ZBcnRpY2xlTGluZShhcnRpY2xlTGluZVV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25MaW5lSW5mb1tdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0QXJ0aWNsZUJvdW5kVGV4dExpbmVzT2ZBcnRpY2xlTGluZShhcnRpY2xlTGluZVV1aWQpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkxpbmVJbmZvW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoVHJhbnNhY3Rpb25MaW5lSW5mbywgcmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uQnlOckFuZEtpbmQoa2luZDogVHJhbnNhY3Rpb25LaW5kLCB0cmFuc2FjdGlvbk5vOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VHJhbnNhY3Rpb25CeU5yQW5kS2luZChraW5kLCB0cmFuc2FjdGlvbk5vKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvbkJ5SWQodHJhbnNhY3Rpb25JZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFRyYW5zYWN0aW9uQnlJZCh0cmFuc2FjdGlvbklkKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrVHJhbnNhY3Rpb25CeUlkKHRyYW5zYWN0aW9uSWQ6IG51bWJlciwgdmVyc2lvbjogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkxvY2tSZXN1bHQ+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5sb2NrVHJhbnNhY3Rpb25CeVRyYW5zSWQodHJhbnNhY3Rpb25JZCwgdmVyc2lvbik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25Mb2NrUmVzdWx0LCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uTG9ja1Jlc3VsdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaD86IHN0cmluZywgZ3JvdXA/OiBudW1iZXIpOiBQcm9taXNlPENhc2hSZWdpc3RlcltdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q2FzaFJlZ2lzdGVyKGJyYW5jaCwgZ3JvdXApO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KENhc2hSZWdpc3RlciwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ2FzaFJlZ2lzdGVyW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaWNlTGlzdHMoY29kZT86IHN0cmluZyk6IFByb21pc2U8UHJpY2VMaXN0W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQcmljZUxpc3RzKGNvZGUpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFByaWNlTGlzdCwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgUHJpY2VMaXN0W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFZhdExpc3Qob25seVZhbGlkOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPFZhdFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VmF0TGlzdChvbmx5VmFsaWQpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFZhdCwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgVmF0W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlYXJjaFRyYW5zYWN0aW9ucyhyZXF1ZXN0OiBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvblNlYXJjaFJlc3VsdD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5zZWFyY2hUcmFuc2FjdGlvbnMocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvblNlYXJjaFJlc3VsdCA9IG5ldyBUcmFuc2FjdGlvblNlYXJjaFJlc3VsdCgpO1xyXG4gICAgICByZXN1bHQuY291bnQgPSAocmVzcG9uc2UucGFnaW5nUGFyYW1ldGVycyBhcyBhbnkpLnJlc3VsdENvdW50OyAvLyB0b2RvOiBmaXggcHJvcGVydHkgaW4gYXBpXHJcbiAgICAgIHJlc3VsdC50cmFuc2FjdGlvbnMgPSA8dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShUcmFuc2FjdGlvblNlYXJjaFZpZXcsIHJlc3BvbnNlLnJlc3VsdE9iamVjdHMpIGFzIFRyYW5zYWN0aW9uU2VhcmNoVmlld1tdO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VxdWVuY2VWYWx1ZShzZXF1ZW5jZU5hbWU6IFNlcXVlbmNlTmFtZSk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRTZXF1ZW5jZVZhbHVlKHNlcXVlbmNlTmFtZSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RGVsaXZlcnlNZXRob2RzKCk6IFByb21pc2U8RGVsaXZlcnlNZXRob2RbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERlbGl2ZXJ5TWV0aG9kcygpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KERlbGl2ZXJ5TWV0aG9kLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBEZWxpdmVyeU1ldGhvZFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeU9wdGlvbnMoKTogUHJvbWlzZTxEZWxpdmVyeU9wdGlvbltdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RGVsaXZlcnlPcHRpb25zKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoRGVsaXZlcnlPcHRpb24sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIERlbGl2ZXJ5T3B0aW9uW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBvc3RhbENvZGVSZXRyaWV2YWwocG9zdGNhbENvZGU6IHN0cmluZywgaG91c2VObzogc3RyaW5nKTogUHJvbWlzZTxHZXRQb3N0YWxDb2RlUmV0cmlldmFsT3V0cHV0UGFyYW1zPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UG9zdGFsQ29kZVJldHJpZXZhbChwb3N0Y2FsQ29kZSwgaG91c2VObyk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgIGNvbnN0IG91dHB1dFBhcmFtczogR2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtcyA9IG5ldyBHZXRQb3N0YWxDb2RlUmV0cmlldmFsT3V0cHV0UGFyYW1zKCk7XHJcbiAgICAgICAgb3V0cHV0UGFyYW1zLmNpdHkgPSByZXN1bHQucmVzdWx0T2JqZWN0LmNpdHk7XHJcbiAgICAgICAgb3V0cHV0UGFyYW1zLnN0cmVldCA9IHJlc3VsdC5yZXN1bHRPYmplY3Quc3RyZWV0O1xyXG4gICAgICAgIG91dHB1dFBhcmFtcy5zdGF0dXMgPSByZXN1bHQucmVzdWx0T2JqZWN0LnN0YXR1cztcclxuICAgICAgICBvdXRwdXRQYXJhbXMubmV0TnVtYmVyID0gcmVzdWx0LnJlc3VsdE9iamVjdC5uZXROdW1iZXI7XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dFBhcmFtcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENvbW1pc3Npb25Db2RlcyhsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q29tbWlzc2lvbkNvZGVzKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ29Eb21haW5WYWx1ZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ29Eb21haW5WYWx1ZVtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRJbk91dENvbGxlY3Rpb24obGFuZ3VhZ2VDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENvRG9tYWluVmFsdWVbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEluT3V0Q29sbGVjdGlvbihsYW5ndWFnZUNvZGUpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KENvRG9tYWluVmFsdWUsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIENvRG9tYWluVmFsdWVbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlcyhnb29kSWQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFRyYW5zYWN0aW9uQXJ0aWNsZVdhcmVob3VzZXMoZ29vZElkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUoPFRyYW5zYWN0aW9uQXJ0aWNsZVdhcmVob3VzZVtdPnJlc3VsdC5yZXN1bHRPYmplY3RzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0VHlwZXMobGFuZ3VhZ2VDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENvRG9tYWluVmFsdWVbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFRleHRUeXBlcyhsYW5ndWFnZUNvZGUpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgY29uc3QgdGV4dHM6IENvRG9tYWluVmFsdWVbXSA9IDxDb0RvbWFpblZhbHVlW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ29Eb21haW5WYWx1ZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpO1xyXG4gICAgICB0ZXh0cy5zb3J0KChhLCBiKSA9PiBhLnNlcXVlbmNlID4gYi5zZXF1ZW5jZSA/IDEgOiAtMSk7XHJcbiAgICAgIHJldHVybiB0ZXh0cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhbmRhcmRUZXh0cyhsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8U3RhbmRhcmRUZXh0W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRTdGFuZGFyZFRleHRzKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RhbmRhcmRUZXh0LCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFN0YW5kYXJkVGV4dFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTYWxlc1BlcnNvbnMoZGF0ZT86IERhdGUpOiBQcm9taXNlPFNhbGVzUGVyc29uW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRTYWxlc1BlcnNvbnMoZGF0ZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU2FsZXNQZXJzb24sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIFNhbGVzUGVyc29uW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRhZ3MoY2F0ZWdvcnk6IG51bWJlcik6IFByb21pc2U8VGFnW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUYWdzKGNhdGVnb3J5KTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShUYWcsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIFRhZ1tdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPbkhvbGRDb2RlcygpOiBQcm9taXNlPE9uSG9sZENvZGVbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE9uSG9sZENvZGVzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoT25Ib2xkQ29kZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgT25Ib2xkQ29kZVtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXYXJlaG91c2VzKGJyYW5jaE5yPzogc3RyaW5nKTogUHJvbWlzZTxXYXJlaG91c2VbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFdhcmVob3VzZXMoYnJhbmNoTnIpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFdhcmVob3VzZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgV2FyZWhvdXNlW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEhpc3RvcmljU3RhdGVWYWx1ZXMoKTogUHJvbWlzZTxDb2RlRGVzY3JpcHRpb25bXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEhpc3RvcmljU3RhdGVWYWx1ZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb2RlRGVzY3JpcHRpb24sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIENvZGVEZXNjcmlwdGlvbltdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50TWV0aG9kcygpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFBheW1lbnRNZXRob2RzRm9yU2FsZXNPcmRlcigpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFBheW1lbnRNZXRob2QsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgUGF5bWVudE1ldGhvZFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNvbW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZVRyYW5zYWN0aW9uKGtpbmQ6IFRyYW5zYWN0aW9uS2luZCwgYnJhbmNoTnI6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNyZWF0ZVRyYW5zYWN0aW9uKGtpbmQsIGJyYW5jaE5yKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNhbGVzT3JkZXIocmVxdWVzdDogQ3JlYXRlU2FsZXNPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVTYWxlc09yZGVyKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlQ2FzaFJlZ2lzdGVyT3JkZXIocmVxdWVzdDogQ3JlYXRlQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlQ2FzaFJlZ2lzdGVyT3JkZXIocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IENyZWF0ZVB1cmNoYXNlT3JkZXJSZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlUHVyY2hhc2VPcmRlcihyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNlcnZpY2VPcmRlcihyZXF1ZXN0OiBDcmVhdGVTZXJ2aWNlT3JkZXJSZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlU2VydmljZU9yZGVyKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNRdW90YXRpb24ocmVxdWVzdDogQ3JlYXRlU2FsZXNRdW90YXRpb25SZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlU2FsZXNRdW90YXRpb24ocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2F2ZVRyYW5zYWN0aW9uKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLnNhdmVUcmFuc2FjdGlvbih1dWlkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNldFJlbGF0aW9uQnlVc2VyKHV1aWQ6IHN0cmluZywgdXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3Iuc2V0UmVsYXRpb25CeVVzZXIodXVpZCwgdXNlcm5hbWUsIHBhc3N3b3JkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVzb2x2ZVBlbmRpbmdIZWFkZXJSZWFzb24ocGVuZGluZ0hlYWRlclZhbHVlczogUmVzb2x2ZUhlYWRlclBlbmRpbmdSZWFzb25SZXF1ZXN0KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IucmVzb2x2ZVBlbmRpbmdIZWFkZXJSZWFzb24ocGVuZGluZ0hlYWRlclZhbHVlcykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocGVuZGluZ0xpbmVWYWx1ZXM6IFJlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocGVuZGluZ0xpbmVWYWx1ZXMpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkVHJhbnNhY3Rpb25MaW5lKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgYXJ0aWNsZUxpbmU6IFRyYW5zYWN0aW9uTGluZVR5cGUsXHJcbiAgICBhcnRpY2xlTm86IHN0cmluZyxcclxuICAgIGFtb3VudDogbnVtYmVyLFxyXG4gICAgaXNSZXR1cm46IGJvb2xlYW4sXHJcbiAgICBhYm92ZUxpbmVOcjogbnVtYmVyLFxyXG4gICAgYmVsb3dMaW5lTnI6IG51bWJlclxyXG4gICk6XHJcbiAgICBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5hZGRUcmFuc2FjdGlvbkxpbmUodXVpZCwgYXJ0aWNsZUxpbmUsIGFydGljbGVObywgYW1vdW50LCBpc1JldHVybiwgYWJvdmVMaW5lTnIsIGJlbG93TGluZU5yKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFRleHRMaW5lVG9UcmFuc2FjdGlvbih1dWlkOiBzdHJpbmcsIHNob3dPbkRvY3VtZW50czogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBhcnRpY2xlQm91bmQ6IGJvb2xlYW4sIHJlZkFydGljbGVMaW5lTnI6IG51bWJlciwgYWJvdmVMaW5lTnI/OiBudW1iZXIsIGJlbG93TGluZU5yPzogbnVtYmVyKTpcclxuICAgIFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmFkZFRleHRMaW5lVG9UcmFuc2FjdGlvbih1dWlkLCBzaG93T25Eb2N1bWVudHMsIHRleHQsIGFtb3VudCwgYXJ0aWNsZUJvdW5kLCByZWZBcnRpY2xlTGluZU5yLCBhYm92ZUxpbmVOciwgYmVsb3dMaW5lTnIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHV1aWQ6IHN0cmluZywgcmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHV1aWQsIHJlbGF0aW9uSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnModHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0OiBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2VCYXNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5zZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucyh0cmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlTGluZVNlcXVlbmNlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgYWJvdmVMaW5lTnI/OiBudW1iZXIsIGJlbG93TGluZU5yPzogbnVtYmVyKTpcclxuICAgIFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgcmVxdWVzdDogQ2hhbmdlTGluZVNlcXVlbmNlUmVxdWVzdCA9IHtcclxuICAgICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICAgIGFib3ZlTGluZU5yOiBhYm92ZUxpbmVOcixcclxuICAgICAgICBiZWxvd0xpbmVOcjogYmVsb3dMaW5lTnJcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY2hhbmdlTGluZVNlcXVlbmNlKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZVRyYW5zYWN0aW9uTGluZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5kZWxldGVUcmFuc2FjdGlvbkxpbmUodXVpZCwgbGluZVV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVF1YW50aXR5KHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgbmV3UXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICAgIG5ld1F1YW50aXR5OiBuZXdRdWFudGl0eVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVRdWFudGl0eShyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25Db2RlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgY29kZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0NvbW1pc3Npb25Db2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lQ29tbWlzc2lvbkNvZGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVN1cHBsaWVyKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgaWQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdTdXBwbGllcklkOiBpZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVN1cHBsaWVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB3YXJlaG91c2VOdW1iZXI6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdXYXJlaG91c2VOdW1iZXI6IHdhcmVob3VzZU51bWJlclxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVdhcmVob3VzZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lUHJpY2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBwcmljZTogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1ByaWNlOiBwcmljZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVByaWNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVQcmljZUxpc3QodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBwcmljZUxpc3Q6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdQcmljZUxpc3RDb2RlOiBwcmljZUxpc3RcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVQcmljZUxpc3QocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVZhdCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGlkOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3VmF0SWQ6IGlkXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lVmF0KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVMaW5lRGlzY291bnQodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB0eXBlOiBEaXNjb3VudFR5cGUsIGRpc2NvdW50OiBudW1iZXIsIHJlYXNvbjogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgZGlzY291bnRUeXBlOiB0eXBlLFxyXG4gICAgICBuZXdEaXNjb3VudDogZGlzY291bnQsXHJcbiAgICAgIG5ld0Rpc2NvdW50UmVhc29uOiByZWFzb24sXHJcbiAgICAgIG5ld0Rpc2NvdW50Q29kZTogY29kZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZURpc2NvdW50KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeU1ldGhvZCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0RlbGl2ZXJ5TWV0aG9kQ29kZTogbWV0aG9kXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlNZXRob2QocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGRhdGU6IERhdGUpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3RGVsaXZlcnlEYXRlOiBkYXRlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlEYXRlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVBc3NlbWJseVRpbWUodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB0aW1lOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3QXNzZW1ibHlUaW1lOiB0aW1lXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lQXNzZW1ibHlUaW1lKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVFZGl0VGltZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHRpbWU6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdFZGl0VGltZTogdGltZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZUVkaXRUaW1lKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVTdXBwbGllckFydGljbGVOdW1iZXIodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBhcnRpY2xlTnVtYmVyOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3U3VwcGxpZXJBcnRpY2xlTnVtYmVyOiBhcnRpY2xlTnVtYmVyXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lU3VwcGxpZXJBcnRpY2xlTnVtYmVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVSZWZlcmVuY2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdSZWZlcmVuY2U6IHJlZmVyZW5jZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVJlZmVyZW5jZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lR29vZERlc2NyaXB0aW9uKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgZ29vZERlc2NyaXB0aW9uOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3R29vZERlc2NyaXB0aW9uOiBnb29kRGVzY3JpcHRpb25cclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVHb29kRGVzY3JpcHRpb24ocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVmaW5pdGl2ZSh1dWlkOiBzdHJpbmcsIGRlZmluaXRpdmU6IGJvb2xlYW4pOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RyYW5zYWN0aW9uRGVmaW5pdGl2ZTogZGVmaW5pdGl2ZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVmaW5pdGl2ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyRGVsaXZlcnlBZGRyZXNzKHV1aWQ6IHN0cmluZywgbmV3TmF3TnI6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3VHJhbnNhY3Rpb25BZGRyZXNzTmF3TnI6IG5ld05hd05yXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25BZGRyZXNzKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJJbnZvaWNlQWRkcmVzcyh1dWlkOiBzdHJpbmcsIG5ld05hd05yOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0ludm9pY2VBZGRyZXNzTmF3TnI6IG5ld05hd05yXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVySW52b2ljZUFkZHJlc3MocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVsaXZlcnlEYXRlKHV1aWQ6IHN0cmluZywgZGF0ZTogRGF0ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3RGVsaXZlcnlEYXRlOiBkYXRlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyRGVsaXZlcnlEYXRlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRlbGl2ZXJ5RGF0ZURlZmluaXRpdmUodXVpZDogc3RyaW5nLCBkZWZpbml0aXZlOiBib29sZWFuKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeURhdGVEZWZpbml0aXZlOiBkZWZpbml0aXZlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyRGVsaXZlcnlEYXRlRGVmaW5pdGl2ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25SZW1hcmsodXVpZDogc3RyaW5nLCByZW1hcms6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3UmVtYXJrczogcmVtYXJrXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyUmVtYXJrcyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25SZWZlcmVuY2UodXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3T3duUmVmZXJlbmNlOiByZWZlcmVuY2VcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJPd25SZWZlcmVuY2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uUmVsYXRpb25SZWZlcmVuY2UodXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3UmVsYXRpb25SZWZlcmVuY2U6IHJlZmVyZW5jZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclJlbGF0aW9uUmVmZXJlbmNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUb0Rvd25QYXlQZXJjZW50YWdlKHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RvRG93blBheVBlcmNlbnRhZ2U6IGFtb3VudFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRvRG93blBheVBlcmNlbnRhZ2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRvRG93blBheUFtb3VudCh1dWlkOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdUb0Rvd25QYXlBbW91bnQ6IGFtb3VudFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRvRG93blBheUFtb3VudChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25QcmVmZXJyZWREZWxpdmVyeURhdGUodXVpZDogc3RyaW5nLCBkYXRlOiBEYXRlKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdQcmVmZXJyZWREZWxpdmVyeURhdGU6IGRhdGUsXHJcbiAgICAgIG5ld1ByZWZlcnJlZERlbGl2ZXJ5RGF0ZU9wdGlvbjogXCJcIlxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EZWxpdmVyeU1ldGhvZCh1dWlkOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeU1ldGhvZENvZGU6IG1ldGhvZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlckRlbGl2ZXJ5TWV0aG9kKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucyh1dWlkOiBzdHJpbmcsIG9wdGlvbnM6IHN0cmluZ1tdKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeU9wdGlvbnM6IG9wdGlvbnNcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJEZWxpdmVyeU9wdGlvbnMocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uUGFydGlhbERlbGl2ZXJ5KHV1aWQ6IHN0cmluZywgYWxsb3dQYXJ0aWFsOiBib29sZWFuKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdQYXJ0aWFsRGVsaXZlcnlBbGxvd2VkOiBhbGxvd1BhcnRpYWxcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJQYXJ0aWFsRGVsaXZlcnlBbGxvd2VkKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkJyYW5jaCh1dWlkOiBzdHJpbmcsIGJyYW5jaDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdCcmFuY2hJZDogYnJhbmNoXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyQnJhbmNoKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkFkbUNvb3JkaW5hdG9yKHV1aWQ6IHN0cmluZywgcmVsYXRpb246IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3QWRtQ29vcmRpbmF0b3I6IHJlbGF0aW9uXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyQWRtQ29vcmRpbmF0b3IocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uTWFya2V0aW5nKHV1aWQ6IHN0cmluZywgY29kZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdNYXJrZXRpbmdDb2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyTWFya2V0aW5nQ29kZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EaXNjb3VudCh1dWlkOiBzdHJpbmcsIHR5cGU6IERpc2NvdW50VHlwZSwgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG9yZGVyRGlzY291bnRUeXBlOiB0eXBlLFxyXG4gICAgICBkaXNjb3VudFZhbHVlOiBhbW91bnRcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5zZXRUcmFuc2FjdGlvbkRpc2NvdW50cyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25Ub0Rvd25QYXkodXVpZDogc3RyaW5nLCBkb3duUGF5bWVudDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdUb0Rvd25QYXlBbW91bnQ6IGRvd25QYXltZW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVG9Eb3duUGF5QW1vdW50KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVDb2xsZWN0aW9uQ29kZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdDb2xsZWN0aW9uQ29kZTogY29kZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZUNvbGxlY3Rpb25Db2RlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVPdXRzdGFuZGluZ0VudHJ5KHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY3JlYXRlT3V0c3RhbmRpbmdFbnRyeShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudChcclxuICAgIHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGN1cnJlbmN5SWQ6IG51bWJlciwgcGF5bWVudE1ldGhvZDogc3RyaW5nLCBjYXNoUmVnaXN0ZXJHcm91cElkOiBudW1iZXJcclxuICApOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50LFxyXG4gICAgICBjdXJyZW5jeUlkOiBjdXJyZW5jeUlkLFxyXG4gICAgICBwYXltZW50TWV0aG9kQ29kZTogcGF5bWVudE1ldGhvZCxcclxuICAgICAgY2FzaFJlZ2lzdGVyR3JvdXBJZDogY2FzaFJlZ2lzdGVyR3JvdXBJZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlZ2lzdGVyU2FsZXNPcmRlclBheW1lbnQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW9uZVBheW1lbnRMaW5rQW5kUVJDb2RlKHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIHBheW1lbnRNZXRob2RDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50LFxyXG4gICAgICBwYXltZW50TWV0aG9kQ29kZTogcGF5bWVudE1ldGhvZENvZGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0LCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50TGlua1N0YXR1cyhwYXltZW50TGlua1VVSUQ6IHN0cmluZyk6IFByb21pc2U8UGF5bWVudExpbmtTdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFBheW1lbnRMaW5rU3RhdHVzKHBheW1lbnRMaW5rVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFBheW1lbnRMaW5rU3RhdHVzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgUGF5bWVudExpbmtTdGF0dXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREb3duUGF5bWVudEluZm8odXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mbz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RG93blBheW1lbnRJbmZvKHV1aWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mbywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uRG93blBheW1lbnRJbmZvO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNSZWNlaXB0U3RhdHVzKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5PiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRHb29kc1JlY2VpcHRTdGF0dXModHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5Pjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5LCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5KHRyYW5zSWQsIGxpbmVOcik7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXIocmVxdWVzdDogUmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvbihyZXF1ZXN0OiBSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lcyhyZXF1ZXN0OiBHZXRQdXJjaGFzZVBvcnRhbExpbmUpOiBQcm9taXNlPFB1cmNoYXNlUG9ydGFsTGluZVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRQdXJjaGFzZVBvcnRhbExpbmVzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHVyY2hhc2VQb3J0YWxMaW5lLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUHVyY2hhc2VQb3J0YWxMaW5lcyhwdXJjaGFzZVBvcnRhbExpbmU6IFB1cmNoYXNlUG9ydGFsTGluZSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci51cGRhdGVQdXJjaGFzZVBvcnRhbExpbmVzKHB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbihwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uOiBHZXRQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJDb25maXJtYXRpb24ocHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbik7XHJcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja1B1cmNoYXNlUG9ydGFsTGluZXModHJhbnNJZFB1cmNoYXNlOiBudW1iZXIsIGxpbmVJZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5sb2NrUHVyY2hhc2VQb3J0YWxMaW5lcyh0cmFuc0lkUHVyY2hhc2UsIGxpbmVJZCkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRTdG9ja1N0aWNrZXJQcmludExheW91dHMoZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrU3RpY2tlcnNQcmludExheW91dHMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQ29tbWlzc2lvbk9yZGVycyh0cmFuc0lkOiBudW1iZXIsIG9ubHlHZW5lcmF0ZUZvckRpcmVjdFNlbGxTdXBwbGllcnM6IGJvb2xlYW4pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdlbmVyYXRlQ29tbWlzc2lvbk9yZGVycyh0cmFuc0lkLCBvbmx5R2VuZXJhdGVGb3JEaXJlY3RTZWxsU3VwcGxpZXJzKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeU9yZGVyU3RhdHVzKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPERlbGl2ZXJ5T3JkZXJTdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERlbGl2ZXJ5T3JkZXJTdGF0dXModHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPERlbGl2ZXJ5T3JkZXJTdGF0dXM+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRGVsaXZlcnlPcmRlclN0YXR1cywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEF2YWlsYWJsZVN0b2NrR3JvdXBlZEJ5V0xCU0J5VHJhbnNJZExpbmVOcih0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxBdmFpbGFibGVTdG9ja1tdPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRBdmFpbGFibGVTdG9ja0dyb3VwZWRCeVdMQlNCeVRyYW5zSWRMaW5lTnIodHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPEF2YWlsYWJsZVN0b2NrW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXZhaWxhYmxlU3RvY2ssIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlcihyZXF1ZXN0OiBBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlclJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJDb3JyZWN0aW9uKHJlcXVlc3Q6IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyQ29ycmVjdGlvblJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyQ29ycmVjdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEdvb2RzQWxsb2NhdGlvblN0YXR1cyh0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxHb29kc0FsbG9jYXRpb25TdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzQWxsb2NhdGlvblN0YXR1cyh0cmFuc0lkLCBsaW5lTnIpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoR29vZHNBbGxvY2F0aW9uU3RhdHVzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgR29vZHNBbGxvY2F0aW9uU3RhdHVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3Rvcnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzQWxsb2NhdGlvblN0YXR1c1dpdGhIaXN0b3J5KHRyYW5zSWQsIGxpbmVOcik7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIEdvb2RzQWxsb2NhdGlvblN0YXR1c1dpdGhIaXN0b3J5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25FbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE9yZGVyQ29uZmlybWF0aW9uRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25QcmludExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE9yZGVyQ29uZmlybWF0aW9uUHJpbnRMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydExheW91dFNlbGVjdGlvblByaW50LCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJpbnRPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0OiBQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucHJpbnRPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZW1haWxPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0OiBFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZW1haWxPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGRmT3JkZXJDb25maXJtYXRpb24ocmVxdWVzdDogUGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5wZGZPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJpbnRQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IFByaW50UHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnByaW50UHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZW1haWxQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IEVtYWlsUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmVtYWlsUHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGRmUHVyY2hhc2VPcmRlcihyZXF1ZXN0OiBQZGZQdXJjaGFzZU9yZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucGRmUHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFB1cmNoYXNlT3JkZXJQcmludExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJQcmludExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRyYW5zYWN0aW9uVVVJRCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzRm9yU2FsZXNPcmRlcih0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzRm9yU2FsZXNPcmRlcih0cmFuc2FjdGlvbklkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VBZHZpY2VMaW5lcyhmaWx0ZXJzOiBQdXJjaGFzZUFkdmljZUZpbHRlcnMsIGdvb2RJZD86IG51bWJlcik6IFByb21pc2U8UHVyY2hhc2VBZHZpY2VMaW5lW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlQWR2aWNlTGluZXMoZmlsdGVycywgZ29vZElkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFB1cmNoYXNlQWR2aWNlTGluZVtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFB1cmNoYXNlQWR2aWNlTGluZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzKHB1cmNoYXNlQWR2aWNlTGluZXM6IFB1cmNoYXNlQWR2aWNlTGluZVtdKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZW5lcmF0ZUFuZFNlbmRQdXJjaGFzZU9yZGVycyhwdXJjaGFzZUFkdmljZUxpbmVzKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Vycm9yU2VydmljZS5zaG93VmFsaWRhdGlvbkVycm9yKHJlc3VsdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|