tango-app-ui-store-builder 1.2.4 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/esm2022/lib/components/collection-update-ai/collection-update-ai.component.mjs +3 -2
  2. package/esm2022/lib/components/collection-update-ai/find-replace-layout/prepare-template/prepare-template.component.mjs +3 -2
  3. package/esm2022/lib/components/collection-update-ai/find-replace-layout/review-replace/review-replace.component.mjs +3 -2
  4. package/esm2022/lib/components/create-fixture/create-fixture.component.mjs +41 -4
  5. package/esm2022/lib/components/custom-select/custom-select.component.mjs +14 -5
  6. package/esm2022/lib/components/fixture-template/template-assign-stores/preview-modal/preview-modal.component.mjs +3 -2
  7. package/esm2022/lib/components/fixture-template/template-assign-stores/template-assign-stores.component.mjs +3 -2
  8. package/esm2022/lib/components/fixture-template-table/find-and-replace/find-and-replace.component.mjs +3 -2
  9. package/esm2022/lib/components/fixture-template-table/fixture-template-table.component.mjs +2 -3
  10. package/esm2022/lib/components/fixture-template-tree/fixture-template-tree.component.mjs +3 -2
  11. package/esm2022/lib/components/manage-plano/verification-table/verification-table.component.mjs +2 -3
  12. package/esm2022/lib/components/manage-store-plano/manage-store-plano.component.mjs +87 -13
  13. package/esm2022/lib/components/manage-store-plano/plano-rollout/plano-rollout.component.mjs +4 -3
  14. package/esm2022/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.mjs +114 -4
  15. package/esm2022/lib/components/manage-store-plano/zone-verification-feedback/zone-verification-feedback.component.mjs +7 -2
  16. package/esm2022/lib/components/onboard-store-plano/onboard-fixture/onboard-fixture.component.mjs +3 -3
  17. package/esm2022/lib/components/onboard-store-plano/onboard-store-plano.component.mjs +255 -25
  18. package/esm2022/lib/components/plano-configurations/plano-configurations.component.mjs +162 -3
  19. package/esm2022/lib/components/plano-library/fixture-library/fixture-library.component.mjs +3 -4
  20. package/esm2022/lib/components/plano-library/vm-library/vm-library.component.mjs +3 -4
  21. package/esm2022/lib/components/plano-tools/cad-files/cad-files.component.mjs +88 -0
  22. package/esm2022/lib/components/plano-tools/cad-render/cad-render.component.mjs +4 -5
  23. package/esm2022/lib/components/plano-tools/move-bucket/move-bucket.component.mjs +239 -0
  24. package/esm2022/lib/components/plano-tools/plano-data-export/plano-data-export.component.mjs +98 -3
  25. package/esm2022/lib/components/plano-tools/plano-migrate/plano-migrate.component.mjs +5 -4
  26. package/esm2022/lib/components/plano-tools/store-exports/store-exports.component.mjs +135 -33
  27. package/esm2022/lib/components/plano-tools/swap-template/swap-template.component.mjs +325 -0
  28. package/esm2022/lib/components/plano-tools/tools-parent/tools-parent.component.mjs +3 -3
  29. package/esm2022/lib/components/planogram/merch-compliance/merch-compliance.component.mjs +3 -2
  30. package/esm2022/lib/components/planogram/merch-compliance/product-locator/product-locator.component.mjs +3 -2
  31. package/esm2022/lib/components/planogram/plano-analytics/plano-analytics.component.mjs +3 -2
  32. package/esm2022/lib/components/planogram/plano-details-parent/plano-details-parent.component.mjs +1 -1
  33. package/esm2022/lib/components/planogram/plano-overview/plano-comparison/plano-comparison.component.mjs +3 -2
  34. package/esm2022/lib/components/planogram/plano-overview/plano-overview.component.mjs +3 -2
  35. package/esm2022/lib/components/planogram/plano-table/plano-table.component.mjs +2 -3
  36. package/esm2022/lib/components/popups/delete-confirmation/delete-confirmation.component.mjs +10 -3
  37. package/esm2022/lib/components/store-plano/store-plano-tree-view/store-plano-tree-view.component.mjs +3 -4
  38. package/esm2022/lib/components/store-plano/store-plano.component.mjs +4 -3
  39. package/esm2022/lib/data/fixture-template.data.mjs +12 -1
  40. package/esm2022/lib/functions/plano.function.mjs +13 -1
  41. package/esm2022/lib/services/store-builder.service.mjs +35 -1
  42. package/esm2022/lib/tango-store-builder-routing.module.mjs +16 -1
  43. package/esm2022/lib/tango-store-builder.module.mjs +10 -1
  44. package/fesm2022/tango-app-ui-store-builder.mjs +1914 -401
  45. package/fesm2022/tango-app-ui-store-builder.mjs.map +1 -1
  46. package/lib/components/create-fixture/create-fixture.component.d.ts +3 -0
  47. package/lib/components/custom-select/custom-select.component.d.ts +5 -2
  48. package/lib/components/manage-plano/rollout-table/rollout-table.component.d.ts +4 -4
  49. package/lib/components/manage-plano/verification-table/verification-table.component.d.ts +5 -5
  50. package/lib/components/manage-store-plano/manage-store-plano.component.d.ts +7 -1
  51. package/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.d.ts +14 -1
  52. package/lib/components/onboard-store-plano/onboard-store-plano.component.d.ts +19 -2
  53. package/lib/components/plano-configurations/plano-configurations.component.d.ts +19 -1
  54. package/lib/components/plano-tools/cad-files/cad-files.component.d.ts +30 -0
  55. package/lib/components/plano-tools/move-bucket/move-bucket.component.d.ts +64 -0
  56. package/lib/components/plano-tools/plano-data-export/plano-data-export.component.d.ts +26 -0
  57. package/lib/components/plano-tools/store-exports/store-exports.component.d.ts +28 -3
  58. package/lib/components/plano-tools/swap-template/swap-template.component.d.ts +83 -0
  59. package/lib/components/popups/delete-confirmation/delete-confirmation.component.d.ts +3 -1
  60. package/lib/data/fixture-template.data.d.ts +8 -0
  61. package/lib/functions/plano.function.d.ts +1 -0
  62. package/lib/services/store-builder.service.d.ts +26 -0
  63. package/lib/tango-store-builder.module.d.ts +56 -53
  64. package/package.json +1 -1
@@ -1,3 +1,14 @@
1
+ export const WALL_ZONES = [
2
+ { label: "Top", value: "Top" },
3
+ { label: "Mid", value: "Mid" },
4
+ { label: "Bottom", value: "Bottom" },
5
+ ];
6
+ export const FLOOR_ZONES = [
7
+ { label: "All", value: "All" },
8
+ { label: "Top", value: "Top" },
9
+ { label: "Mid", value: "Mid" },
10
+ { label: "Bottom", value: "Bottom" },
11
+ ];
1
12
  export const SHELF_COLORS = [
2
13
  { text: "#009BF3", textBg: "#EAF8FF", bg: "#DAF1FF", border: "#99DAFF" },
3
14
  { text: "#C11574", textBg: "#FDF2FA", bg: "#FEE4E2", border: "#FECDCA" },
@@ -99,4 +110,4 @@ export const PICKUP_HEATMAP_COLORS = [
99
110
  // { bg: "#F0F2F4", border: "#EBEDEF" },
100
111
  // { bg: "#FDFDFD", border: "#E0E0E0" },
101
112
  // ];
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS10ZW1wbGF0ZS5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtYnVpbGRlci9zcmMvbGliL2RhdGEvZml4dHVyZS10ZW1wbGF0ZS5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtDQUN6RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7Q0FDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0NBQ3JDLENBQUM7QUFFRix5Q0FBeUM7QUFDekMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLEtBQUs7QUFFTCwyQ0FBMkM7QUFDM0MsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTSEVMRl9DT0xPUlMgPSBbXHJcbiAgeyB0ZXh0OiBcIiMwMDlCRjNcIiwgdGV4dEJnOiBcIiNFQUY4RkZcIiwgYmc6IFwiI0RBRjFGRlwiLCBib3JkZXI6IFwiIzk5REFGRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNDMTE1NzRcIiwgdGV4dEJnOiBcIiNGREYyRkFcIiwgYmc6IFwiI0ZFRTRFMlwiLCBib3JkZXI6IFwiI0ZFQ0RDQVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNCNTQ3MDhcIiwgdGV4dEJnOiBcIiNGRkZBRUJcIiwgYmc6IFwiI0ZFRjBDN1wiLCBib3JkZXI6IFwiI0ZFREY4OVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMxMkI3NkFcIiwgdGV4dEJnOiBcIiNFQ0ZERjNcIiwgYmc6IFwiI0QxRkFERlwiLCBib3JkZXI6IFwiI0E2RjRDNVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMxNTcwRUZcIiwgdGV4dEJnOiBcIiNFRkY4RkZcIiwgYmc6IFwiI0IyRERGRlwiLCBib3JkZXI6IFwiIzg0Q0FGRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM3RjU2RDlcIiwgdGV4dEJnOiBcIiNGNEYzRkZcIiwgYmc6IFwiI0Q5RDZGRVwiLCBib3JkZXI6IFwiI0M3QkZGRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNDMTE1NzRcIiwgdGV4dEJnOiBcIiNGREYyRkFcIiwgYmc6IFwiI0ZDQ0VFRVwiLCBib3JkZXI6IFwiI0Y5QThENFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNCOTM4MTVcIiwgdGV4dEJnOiBcIiNGRkY2RURcIiwgYmc6IFwiI0ZERENBQlwiLCBib3JkZXI6IFwiI0ZGRUFENVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMwMjdBNDhcIiwgdGV4dEJnOiBcIiNGMEZERjRcIiwgYmc6IFwiI0NGRkFFM1wiLCBib3JkZXI6IFwiIzdGRDhCM1wiIH0sXHJcbiAgeyB0ZXh0OiBcIiMzNDQwNTRcIiwgdGV4dEJnOiBcIiNGOEY5RkNcIiwgYmc6IFwiI0UzRThGMFwiLCBib3JkZXI6IFwiI0NCRDVFMVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM5RTc3RURcIiwgdGV4dEJnOiBcIiNGQUY4RkZcIiwgYmc6IFwiI0UyRDRGRVwiLCBib3JkZXI6IFwiI0M0QjVGRFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMzNTM4Q0RcIiwgdGV4dEJnOiBcIiNFRUY0RkZcIiwgYmc6IFwiI0MzREFGRVwiLCBib3JkZXI6IFwiI0E1QkNGQVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNDMDEwNDhcIiwgdGV4dEJnOiBcIiNGRkYxRjNcIiwgYmc6IFwiI0ZFRDNEOVwiLCBib3JkZXI6IFwiI0ZEQTRBRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNEQzY4MDNcIiwgdGV4dEJnOiBcIiNGRkY3RURcIiwgYmc6IFwiI0ZGRTBCMlwiLCBib3JkZXI6IFwiI0ZCQkY3N1wiIH0sXHJcbiAgeyB0ZXh0OiBcIiMxQzFDMUNcIiwgdGV4dEJnOiBcIiNGM0Y0RjZcIiwgYmc6IFwiI0Q2RDhEQ1wiLCBib3JkZXI6IFwiIzlDQTNBRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMzRTQ3ODRcIiwgdGV4dEJnOiBcIiNGNUY3RkZcIiwgYmc6IFwiI0NCRDFGRlwiLCBib3JkZXI6IFwiIzlCQTNGRlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM5QTM0MTJcIiwgdGV4dEJnOiBcIiNGRkZCRjBcIiwgYmc6IFwiI0ZGRTJCOFwiLCBib3JkZXI6IFwiI0ZGQzE4N1wiIH0sXHJcbiAgeyB0ZXh0OiBcIiNEQzI2MjZcIiwgdGV4dEJnOiBcIiNGRUYyRjJcIiwgYmc6IFwiI0ZDQTVBNVwiLCBib3JkZXI6IFwiI0VGNDQ0NFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM3RTIyQ0VcIiwgdGV4dEJnOiBcIiNGQUY1RkZcIiwgYmc6IFwiI0U5RDVGRlwiLCBib3JkZXI6IFwiI0MwODRGQ1wiIH0sXHJcbiAgeyB0ZXh0OiBcIiMwRTc0OTBcIiwgdGV4dEJnOiBcIiNGMEY5RkZcIiwgYmc6IFwiI0JBRTZGRFwiLCBib3JkZXI6IFwiIzM4QkRGOFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMxNkEzNEFcIiwgdGV4dEJnOiBcIiNGMEZERjRcIiwgYmc6IFwiI0JCRjdEMFwiLCBib3JkZXI6IFwiIzRBREU4MFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNCRTEyM0NcIiwgdGV4dEJnOiBcIiNGRkYxRjJcIiwgYmc6IFwiI0ZFQ0FDQVwiLCBib3JkZXI6IFwiI0ZCNzE4NVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM3MTNGMTJcIiwgdGV4dEJnOiBcIiNGRkZBRjBcIiwgYmc6IFwiI0ZFRUJDOFwiLCBib3JkZXI6IFwiI0ZDRDM0RFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMzNzMwQTNcIiwgdGV4dEJnOiBcIiNFRUYyRkZcIiwgYmc6IFwiI0M3RDJGRVwiLCBib3JkZXI6IFwiI0E1QjRGQ1wiIH0sXHJcbiAgeyB0ZXh0OiBcIiM0QzA1MTlcIiwgdGV4dEJnOiBcIiNGRkYxRjNcIiwgYmc6IFwiI0ZBQzBENVwiLCBib3JkZXI6IFwiI0Y0NzJCNlwiIH0sXHJcbiAgeyB0ZXh0OiBcIiM0NzU1NjlcIiwgdGV4dEJnOiBcIiNGOEZBRkNcIiwgYmc6IFwiI0RDRTZGMlwiLCBib3JkZXI6IFwiI0IwQzRERVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMwNTk2NjlcIiwgdGV4dEJnOiBcIiNFQ0ZERjVcIiwgYmc6IFwiIzZFRTdCN1wiLCBib3JkZXI6IFwiIzM0RDM5OVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiMzQjgyRjZcIiwgdGV4dEJnOiBcIiNFRkY2RkZcIiwgYmc6IFwiIzkzQzVGRFwiLCBib3JkZXI6IFwiIzYwQTVGQVwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNGNTlFMEJcIiwgdGV4dEJnOiBcIiNGRkZCRUJcIiwgYmc6IFwiI0ZDRDM0RFwiLCBib3JkZXI6IFwiI0ZCQkYyNFwiIH0sXHJcbiAgeyB0ZXh0OiBcIiNEOTc3MDZcIiwgdGV4dEJnOiBcIiNGRkY3RURcIiwgYmc6IFwiI0ZEQkE3NFwiLCBib3JkZXI6IFwiI0ZCOTIzQ1wiIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgRk9PVEZBTExfSEVBVE1BUF9DT0xPUlMgPSBbXHJcbiAgeyBiZzogXCIjRkNBNUE1XCIsIGJvcmRlcjogXCIjRUY0NDQ0XCIgfSxcclxuICB7IGJnOiBcIiNGREE0QUZcIiwgYm9yZGVyOiBcIiNGNDNGNUVcIiB9LFxyXG4gIHsgYmc6IFwiI0ZFQ0FDQVwiLCBib3JkZXI6IFwiI0Y4NzE3MVwiIH0sXHJcbiAgeyBiZzogXCIjRkVDREQzXCIsIGJvcmRlcjogXCIjRkI3MTg1XCIgfSxcclxuICB7IGJnOiBcIiNGRUNERDNcIiwgYm9yZGVyOiBcIiNFODc5OEZcIiB9LFxyXG4gIHsgYmc6IFwiI0ZCQ0ZFOFwiLCBib3JkZXI6IFwiI0VDNDg5OVwiIH0sXHJcbiAgeyBiZzogXCIjRkVFMkUyXCIsIGJvcmRlcjogXCIjRkNBNUE1XCIgfSxcclxuICB7IGJnOiBcIiNGRkU0RTZcIiwgYm9yZGVyOiBcIiNGREE0QUZcIiB9LFxyXG4gIHsgYmc6IFwiIzkzQzVGRFwiLCBib3JkZXI6IFwiIzNCODJGNlwiIH0sXHJcbiAgeyBiZzogXCIjN0REM0ZDXCIsIGJvcmRlcjogXCIjMEVBNUU5XCIgfSxcclxuICB7IGJnOiBcIiNBNUI0RkNcIiwgYm9yZGVyOiBcIiM2MzY2RjFcIiB9LFxyXG4gIHsgYmc6IFwiI0JGREJGRVwiLCBib3JkZXI6IFwiIzYwQTVGQVwiIH0sXHJcbiAgeyBiZzogXCIjQkFFNkZEXCIsIGJvcmRlcjogXCIjMzhCREY4XCIgfSxcclxuICB7IGJnOiBcIiNDN0QyRkVcIiwgYm9yZGVyOiBcIiM4MThDRjhcIiB9LFxyXG4gIHsgYmc6IFwiI0RCRUFGRVwiLCBib3JkZXI6IFwiIzkzQzVGRFwiIH0sXHJcbiAgeyBiZzogXCIjRTBFN0ZGXCIsIGJvcmRlcjogXCIjQTVCNEZDXCIgfSxcclxuICB7IGJnOiBcIiM4NkVGQUNcIiwgYm9yZGVyOiBcIiMyMkM1NUVcIiB9LFxyXG4gIHsgYmc6IFwiIzZFRTdCN1wiLCBib3JkZXI6IFwiIzEwQjk4MVwiIH0sXHJcbiAgeyBiZzogXCIjQkVGMjY0XCIsIGJvcmRlcjogXCIjODRDQzE2XCIgfSxcclxuICB7IGJnOiBcIiNCQkY3RDBcIiwgYm9yZGVyOiBcIiM0QURFODBcIiB9LFxyXG4gIHsgYmc6IFwiI0E3RjNEMFwiLCBib3JkZXI6IFwiIzM0RDM5OVwiIH0sXHJcbiAgeyBiZzogXCIjRDlGOTlEXCIsIGJvcmRlcjogXCIjQTNFNjM1XCIgfSxcclxuICB7IGJnOiBcIiNEQ0ZDRTdcIiwgYm9yZGVyOiBcIiM4NkVGQUNcIiB9LFxyXG4gIHsgYmc6IFwiI0QxRkFFNVwiLCBib3JkZXI6IFwiIzZFRTdCN1wiIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgUElDS1VQX0hFQVRNQVBfQ09MT1JTID0gW1xyXG4gIHsgYmc6IFwiI0ZDQTVBNVwiLCBib3JkZXI6IFwiI0VGNDQ0NFwiIH0sXHJcbiAgeyBiZzogXCIjRkVDQUNBXCIsIGJvcmRlcjogXCIjRjg3MTcxXCIgfSxcclxuICB7IGJnOiBcIiM5M0M1RkRcIiwgYm9yZGVyOiBcIiMzQjgyRjZcIiB9LFxyXG4gIHsgYmc6IFwiI0JBRTZGRFwiLCBib3JkZXI6IFwiIzM4QkRGOFwiIH0sXHJcbiAgeyBiZzogXCIjODZFRkFDXCIsIGJvcmRlcjogXCIjMjJDNTVFXCIgfSxcclxuICB7IGJnOiBcIiNCQkY3RDBcIiwgYm9yZGVyOiBcIiM0QURFODBcIiB9LFxyXG5dO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IFBJQ0tVUF9IRUFUTUFQX0NPTE9SUyA9IFtcclxuLy8gICB7IGJnOiBcIiNGQ0Q2REFcIiwgYm9yZGVyOiBcIiNFN0QwRDJcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZERUVEQVwiLCBib3JkZXI6IFwiI0VERTZEQ1wiIH0sXHJcbi8vICAgeyBiZzogXCIjRkNGRkQ1XCIsIGJvcmRlcjogXCIjRTlFRENGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNEOEU0RkZcIiwgYm9yZGVyOiBcIiNDRUQ3RUNcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0U5RkJGRlwiLCBib3JkZXI6IFwiI0RGRUNFRlwiIH0sXHJcbi8vICAgeyBiZzogXCIjZTBmMGZmXCIsIGJvcmRlcjogXCIjZDdlY2ZmXCIgfSxcclxuLy8gICB7IGJnOiBcIiNmNGZmZTBcIiwgYm9yZGVyOiBcIiNlZmZmZDBcIiB9LFxyXG4vLyBdO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IEZPT1RGQUxMX0hFQVRNQVBfQ09MT1JTID0gW1xyXG4vLyAgIHsgYmc6IFwiI0ZDRDZEQVwiLCBib3JkZXI6IFwiI0U3RDBEMlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkVERUQ0XCIsIGJvcmRlcjogXCIjRTFEMENCXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGNURGRDBcIiwgYm9yZGVyOiBcIiNERkQyQ0FcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZERUFEM1wiLCBib3JkZXI6IFwiI0VCRTJEOFwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkRFRURBXCIsIGJvcmRlcjogXCIjRURFNkRDXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGREVFRDhcIiwgYm9yZGVyOiBcIiNFQkUzRDhcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZFRjdENFwiLCBib3JkZXI6IFwiI0VGRUNEQ1wiIH0sXHJcbi8vICAgeyBiZzogXCIjRkVGQkQ2XCIsIGJvcmRlcjogXCIjRUZFRUQ2XCIgfSxcclxuLy8gICB7IGJnOiBcIiNGQ0ZGRDVcIiwgYm9yZGVyOiBcIiNFQkVERDZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0Y5RkZDOVwiLCBib3JkZXI6IFwiI0U5RURDRlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRTlGQkZGXCIsIGJvcmRlcjogXCIjREZFQ0VGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNEQUY5RkZcIiwgYm9yZGVyOiBcIiNEMUU4RUNcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0Q5RURGRlwiLCBib3JkZXI6IFwiI0Q3RTJFQ1wiIH0sXHJcbi8vICAgeyBiZzogXCIjRDhFNEZGXCIsIGJvcmRlcjogXCIjQ0VEN0VDXCIgfSxcclxuLy8gICB7IGJnOiBcIiNEOERCRkRcIiwgYm9yZGVyOiBcIiNDNUM4RTZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0UwRDlGRlwiLCBib3JkZXI6IFwiI0Q4RDJFRlwiIH0sXHJcbi8vICAgeyBiZzogXCIjREFEMEZGXCIsIGJvcmRlcjogXCIjQ0VDN0U5XCIgfSxcclxuLy8gICB7IGJnOiBcIiNFOUQ3RkVcIiwgYm9yZGVyOiBcIiNERkQyRUZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZCRThGRlwiLCBib3JkZXI6IFwiI0YyRTRGNFwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkFFMkZGXCIsIGJvcmRlcjogXCIjRUVEOEYyXCIgfSxcclxuLy8gICB7IGJnOiBcIiNFMkU2RUJcIiwgYm9yZGVyOiBcIiNEQkUwRTZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0VCRURFRlwiLCBib3JkZXI6IFwiI0UyRTZFQlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRjBGMkY0XCIsIGJvcmRlcjogXCIjRUJFREVGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGREZERkRcIiwgYm9yZGVyOiBcIiNFMEUwRTBcIiB9LFxyXG4vLyBdO1xyXG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS10ZW1wbGF0ZS5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tc3RvcmUtYnVpbGRlci9zcmMvbGliL2RhdGEvZml4dHVyZS10ZW1wbGF0ZS5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUM5QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQzlCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQzlCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQzlCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0NBQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7Q0FDekUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQ3BDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0NBQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtDQUNyQyxDQUFDO0FBRUYseUNBQXlDO0FBQ3pDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQyxLQUFLO0FBRUwsMkNBQTJDO0FBQzNDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQywwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgV0FMTF9aT05FUyA9IFtcclxuICB7IGxhYmVsOiBcIlRvcFwiLCB2YWx1ZTogXCJUb3BcIiB9LFxyXG4gIHsgbGFiZWw6IFwiTWlkXCIsIHZhbHVlOiBcIk1pZFwiIH0sXHJcbiAgeyBsYWJlbDogXCJCb3R0b21cIiwgdmFsdWU6IFwiQm90dG9tXCIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBGTE9PUl9aT05FUyA9IFtcclxuICB7IGxhYmVsOiBcIkFsbFwiLCB2YWx1ZTogXCJBbGxcIiB9LFxyXG4gIHsgbGFiZWw6IFwiVG9wXCIsIHZhbHVlOiBcIlRvcFwiIH0sXHJcbiAgeyBsYWJlbDogXCJNaWRcIiwgdmFsdWU6IFwiTWlkXCIgfSxcclxuICB7IGxhYmVsOiBcIkJvdHRvbVwiLCB2YWx1ZTogXCJCb3R0b21cIiB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNIRUxGX0NPTE9SUyA9IFtcclxuICB7IHRleHQ6IFwiIzAwOUJGM1wiLCB0ZXh0Qmc6IFwiI0VBRjhGRlwiLCBiZzogXCIjREFGMUZGXCIsIGJvcmRlcjogXCIjOTlEQUZGXCIgfSxcclxuICB7IHRleHQ6IFwiI0MxMTU3NFwiLCB0ZXh0Qmc6IFwiI0ZERjJGQVwiLCBiZzogXCIjRkVFNEUyXCIsIGJvcmRlcjogXCIjRkVDRENBXCIgfSxcclxuICB7IHRleHQ6IFwiI0I1NDcwOFwiLCB0ZXh0Qmc6IFwiI0ZGRkFFQlwiLCBiZzogXCIjRkVGMEM3XCIsIGJvcmRlcjogXCIjRkVERjg5XCIgfSxcclxuICB7IHRleHQ6IFwiIzEyQjc2QVwiLCB0ZXh0Qmc6IFwiI0VDRkRGM1wiLCBiZzogXCIjRDFGQURGXCIsIGJvcmRlcjogXCIjQTZGNEM1XCIgfSxcclxuICB7IHRleHQ6IFwiIzE1NzBFRlwiLCB0ZXh0Qmc6IFwiI0VGRjhGRlwiLCBiZzogXCIjQjJEREZGXCIsIGJvcmRlcjogXCIjODRDQUZGXCIgfSxcclxuICB7IHRleHQ6IFwiIzdGNTZEOVwiLCB0ZXh0Qmc6IFwiI0Y0RjNGRlwiLCBiZzogXCIjRDlENkZFXCIsIGJvcmRlcjogXCIjQzdCRkZGXCIgfSxcclxuICB7IHRleHQ6IFwiI0MxMTU3NFwiLCB0ZXh0Qmc6IFwiI0ZERjJGQVwiLCBiZzogXCIjRkNDRUVFXCIsIGJvcmRlcjogXCIjRjlBOEQ0XCIgfSxcclxuICB7IHRleHQ6IFwiI0I5MzgxNVwiLCB0ZXh0Qmc6IFwiI0ZGRjZFRFwiLCBiZzogXCIjRkREQ0FCXCIsIGJvcmRlcjogXCIjRkZFQUQ1XCIgfSxcclxuICB7IHRleHQ6IFwiIzAyN0E0OFwiLCB0ZXh0Qmc6IFwiI0YwRkRGNFwiLCBiZzogXCIjQ0ZGQUUzXCIsIGJvcmRlcjogXCIjN0ZEOEIzXCIgfSxcclxuICB7IHRleHQ6IFwiIzM0NDA1NFwiLCB0ZXh0Qmc6IFwiI0Y4RjlGQ1wiLCBiZzogXCIjRTNFOEYwXCIsIGJvcmRlcjogXCIjQ0JENUUxXCIgfSxcclxuICB7IHRleHQ6IFwiIzlFNzdFRFwiLCB0ZXh0Qmc6IFwiI0ZBRjhGRlwiLCBiZzogXCIjRTJENEZFXCIsIGJvcmRlcjogXCIjQzRCNUZEXCIgfSxcclxuICB7IHRleHQ6IFwiIzM1MzhDRFwiLCB0ZXh0Qmc6IFwiI0VFRjRGRlwiLCBiZzogXCIjQzNEQUZFXCIsIGJvcmRlcjogXCIjQTVCQ0ZBXCIgfSxcclxuICB7IHRleHQ6IFwiI0MwMTA0OFwiLCB0ZXh0Qmc6IFwiI0ZGRjFGM1wiLCBiZzogXCIjRkVEM0Q5XCIsIGJvcmRlcjogXCIjRkRBNEFGXCIgfSxcclxuICB7IHRleHQ6IFwiI0RDNjgwM1wiLCB0ZXh0Qmc6IFwiI0ZGRjdFRFwiLCBiZzogXCIjRkZFMEIyXCIsIGJvcmRlcjogXCIjRkJCRjc3XCIgfSxcclxuICB7IHRleHQ6IFwiIzFDMUMxQ1wiLCB0ZXh0Qmc6IFwiI0YzRjRGNlwiLCBiZzogXCIjRDZEOERDXCIsIGJvcmRlcjogXCIjOUNBM0FGXCIgfSxcclxuICB7IHRleHQ6IFwiIzNFNDc4NFwiLCB0ZXh0Qmc6IFwiI0Y1RjdGRlwiLCBiZzogXCIjQ0JEMUZGXCIsIGJvcmRlcjogXCIjOUJBM0ZGXCIgfSxcclxuICB7IHRleHQ6IFwiIzlBMzQxMlwiLCB0ZXh0Qmc6IFwiI0ZGRkJGMFwiLCBiZzogXCIjRkZFMkI4XCIsIGJvcmRlcjogXCIjRkZDMTg3XCIgfSxcclxuICB7IHRleHQ6IFwiI0RDMjYyNlwiLCB0ZXh0Qmc6IFwiI0ZFRjJGMlwiLCBiZzogXCIjRkNBNUE1XCIsIGJvcmRlcjogXCIjRUY0NDQ0XCIgfSxcclxuICB7IHRleHQ6IFwiIzdFMjJDRVwiLCB0ZXh0Qmc6IFwiI0ZBRjVGRlwiLCBiZzogXCIjRTlENUZGXCIsIGJvcmRlcjogXCIjQzA4NEZDXCIgfSxcclxuICB7IHRleHQ6IFwiIzBFNzQ5MFwiLCB0ZXh0Qmc6IFwiI0YwRjlGRlwiLCBiZzogXCIjQkFFNkZEXCIsIGJvcmRlcjogXCIjMzhCREY4XCIgfSxcclxuICB7IHRleHQ6IFwiIzE2QTM0QVwiLCB0ZXh0Qmc6IFwiI0YwRkRGNFwiLCBiZzogXCIjQkJGN0QwXCIsIGJvcmRlcjogXCIjNEFERTgwXCIgfSxcclxuICB7IHRleHQ6IFwiI0JFMTIzQ1wiLCB0ZXh0Qmc6IFwiI0ZGRjFGMlwiLCBiZzogXCIjRkVDQUNBXCIsIGJvcmRlcjogXCIjRkI3MTg1XCIgfSxcclxuICB7IHRleHQ6IFwiIzcxM0YxMlwiLCB0ZXh0Qmc6IFwiI0ZGRkFGMFwiLCBiZzogXCIjRkVFQkM4XCIsIGJvcmRlcjogXCIjRkNEMzREXCIgfSxcclxuICB7IHRleHQ6IFwiIzM3MzBBM1wiLCB0ZXh0Qmc6IFwiI0VFRjJGRlwiLCBiZzogXCIjQzdEMkZFXCIsIGJvcmRlcjogXCIjQTVCNEZDXCIgfSxcclxuICB7IHRleHQ6IFwiIzRDMDUxOVwiLCB0ZXh0Qmc6IFwiI0ZGRjFGM1wiLCBiZzogXCIjRkFDMEQ1XCIsIGJvcmRlcjogXCIjRjQ3MkI2XCIgfSxcclxuICB7IHRleHQ6IFwiIzQ3NTU2OVwiLCB0ZXh0Qmc6IFwiI0Y4RkFGQ1wiLCBiZzogXCIjRENFNkYyXCIsIGJvcmRlcjogXCIjQjBDNERFXCIgfSxcclxuICB7IHRleHQ6IFwiIzA1OTY2OVwiLCB0ZXh0Qmc6IFwiI0VDRkRGNVwiLCBiZzogXCIjNkVFN0I3XCIsIGJvcmRlcjogXCIjMzREMzk5XCIgfSxcclxuICB7IHRleHQ6IFwiIzNCODJGNlwiLCB0ZXh0Qmc6IFwiI0VGRjZGRlwiLCBiZzogXCIjOTNDNUZEXCIsIGJvcmRlcjogXCIjNjBBNUZBXCIgfSxcclxuICB7IHRleHQ6IFwiI0Y1OUUwQlwiLCB0ZXh0Qmc6IFwiI0ZGRkJFQlwiLCBiZzogXCIjRkNEMzREXCIsIGJvcmRlcjogXCIjRkJCRjI0XCIgfSxcclxuICB7IHRleHQ6IFwiI0Q5NzcwNlwiLCB0ZXh0Qmc6IFwiI0ZGRjdFRFwiLCBiZzogXCIjRkRCQTc0XCIsIGJvcmRlcjogXCIjRkI5MjNDXCIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBGT09URkFMTF9IRUFUTUFQX0NPTE9SUyA9IFtcclxuICB7IGJnOiBcIiNGQ0E1QTVcIiwgYm9yZGVyOiBcIiNFRjQ0NDRcIiB9LFxyXG4gIHsgYmc6IFwiI0ZEQTRBRlwiLCBib3JkZXI6IFwiI0Y0M0Y1RVwiIH0sXHJcbiAgeyBiZzogXCIjRkVDQUNBXCIsIGJvcmRlcjogXCIjRjg3MTcxXCIgfSxcclxuICB7IGJnOiBcIiNGRUNERDNcIiwgYm9yZGVyOiBcIiNGQjcxODVcIiB9LFxyXG4gIHsgYmc6IFwiI0ZFQ0REM1wiLCBib3JkZXI6IFwiI0U4Nzk4RlwiIH0sXHJcbiAgeyBiZzogXCIjRkJDRkU4XCIsIGJvcmRlcjogXCIjRUM0ODk5XCIgfSxcclxuICB7IGJnOiBcIiNGRUUyRTJcIiwgYm9yZGVyOiBcIiNGQ0E1QTVcIiB9LFxyXG4gIHsgYmc6IFwiI0ZGRTRFNlwiLCBib3JkZXI6IFwiI0ZEQTRBRlwiIH0sXHJcbiAgeyBiZzogXCIjOTNDNUZEXCIsIGJvcmRlcjogXCIjM0I4MkY2XCIgfSxcclxuICB7IGJnOiBcIiM3REQzRkNcIiwgYm9yZGVyOiBcIiMwRUE1RTlcIiB9LFxyXG4gIHsgYmc6IFwiI0E1QjRGQ1wiLCBib3JkZXI6IFwiIzYzNjZGMVwiIH0sXHJcbiAgeyBiZzogXCIjQkZEQkZFXCIsIGJvcmRlcjogXCIjNjBBNUZBXCIgfSxcclxuICB7IGJnOiBcIiNCQUU2RkRcIiwgYm9yZGVyOiBcIiMzOEJERjhcIiB9LFxyXG4gIHsgYmc6IFwiI0M3RDJGRVwiLCBib3JkZXI6IFwiIzgxOENGOFwiIH0sXHJcbiAgeyBiZzogXCIjREJFQUZFXCIsIGJvcmRlcjogXCIjOTNDNUZEXCIgfSxcclxuICB7IGJnOiBcIiNFMEU3RkZcIiwgYm9yZGVyOiBcIiNBNUI0RkNcIiB9LFxyXG4gIHsgYmc6IFwiIzg2RUZBQ1wiLCBib3JkZXI6IFwiIzIyQzU1RVwiIH0sXHJcbiAgeyBiZzogXCIjNkVFN0I3XCIsIGJvcmRlcjogXCIjMTBCOTgxXCIgfSxcclxuICB7IGJnOiBcIiNCRUYyNjRcIiwgYm9yZGVyOiBcIiM4NENDMTZcIiB9LFxyXG4gIHsgYmc6IFwiI0JCRjdEMFwiLCBib3JkZXI6IFwiIzRBREU4MFwiIH0sXHJcbiAgeyBiZzogXCIjQTdGM0QwXCIsIGJvcmRlcjogXCIjMzREMzk5XCIgfSxcclxuICB7IGJnOiBcIiNEOUY5OURcIiwgYm9yZGVyOiBcIiNBM0U2MzVcIiB9LFxyXG4gIHsgYmc6IFwiI0RDRkNFN1wiLCBib3JkZXI6IFwiIzg2RUZBQ1wiIH0sXHJcbiAgeyBiZzogXCIjRDFGQUU1XCIsIGJvcmRlcjogXCIjNkVFN0I3XCIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBQSUNLVVBfSEVBVE1BUF9DT0xPUlMgPSBbXHJcbiAgeyBiZzogXCIjRkNBNUE1XCIsIGJvcmRlcjogXCIjRUY0NDQ0XCIgfSxcclxuICB7IGJnOiBcIiNGRUNBQ0FcIiwgYm9yZGVyOiBcIiNGODcxNzFcIiB9LFxyXG4gIHsgYmc6IFwiIzkzQzVGRFwiLCBib3JkZXI6IFwiIzNCODJGNlwiIH0sXHJcbiAgeyBiZzogXCIjQkFFNkZEXCIsIGJvcmRlcjogXCIjMzhCREY4XCIgfSxcclxuICB7IGJnOiBcIiM4NkVGQUNcIiwgYm9yZGVyOiBcIiMyMkM1NUVcIiB9LFxyXG4gIHsgYmc6IFwiI0JCRjdEMFwiLCBib3JkZXI6IFwiIzRBREU4MFwiIH0sXHJcbl07XHJcblxyXG4vLyBleHBvcnQgY29uc3QgUElDS1VQX0hFQVRNQVBfQ09MT1JTID0gW1xyXG4vLyAgIHsgYmc6IFwiI0ZDRDZEQVwiLCBib3JkZXI6IFwiI0U3RDBEMlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkRFRURBXCIsIGJvcmRlcjogXCIjRURFNkRDXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGQ0ZGRDVcIiwgYm9yZGVyOiBcIiNFOUVEQ0ZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0Q4RTRGRlwiLCBib3JkZXI6IFwiI0NFRDdFQ1wiIH0sXHJcbi8vICAgeyBiZzogXCIjRTlGQkZGXCIsIGJvcmRlcjogXCIjREZFQ0VGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNlMGYwZmZcIiwgYm9yZGVyOiBcIiNkN2VjZmZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI2Y0ZmZlMFwiLCBib3JkZXI6IFwiI2VmZmZkMFwiIH0sXHJcbi8vIF07XHJcblxyXG4vLyBleHBvcnQgY29uc3QgRk9PVEZBTExfSEVBVE1BUF9DT0xPUlMgPSBbXHJcbi8vICAgeyBiZzogXCIjRkNENkRBXCIsIGJvcmRlcjogXCIjRTdEMEQyXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGRURFRDRcIiwgYm9yZGVyOiBcIiNFMUQwQ0JcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0Y1REZEMFwiLCBib3JkZXI6IFwiI0RGRDJDQVwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkRFQUQzXCIsIGJvcmRlcjogXCIjRUJFMkQ4XCIgfSxcclxuLy8gICB7IGJnOiBcIiNGREVFREFcIiwgYm9yZGVyOiBcIiNFREU2RENcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZERUVEOFwiLCBib3JkZXI6IFwiI0VCRTNEOFwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkVGN0Q0XCIsIGJvcmRlcjogXCIjRUZFQ0RDXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGRUZCRDZcIiwgYm9yZGVyOiBcIiNFRkVFRDZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZDRkZENVwiLCBib3JkZXI6IFwiI0VCRURENlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRjlGRkM5XCIsIGJvcmRlcjogXCIjRTlFRENGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNFOUZCRkZcIiwgYm9yZGVyOiBcIiNERkVDRUZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0RBRjlGRlwiLCBib3JkZXI6IFwiI0QxRThFQ1wiIH0sXHJcbi8vICAgeyBiZzogXCIjRDlFREZGXCIsIGJvcmRlcjogXCIjRDdFMkVDXCIgfSxcclxuLy8gICB7IGJnOiBcIiNEOEU0RkZcIiwgYm9yZGVyOiBcIiNDRUQ3RUNcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0Q4REJGRFwiLCBib3JkZXI6IFwiI0M1QzhFNlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRTBEOUZGXCIsIGJvcmRlcjogXCIjRDhEMkVGXCIgfSxcclxuLy8gICB7IGJnOiBcIiNEQUQwRkZcIiwgYm9yZGVyOiBcIiNDRUM3RTlcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0U5RDdGRVwiLCBib3JkZXI6IFwiI0RGRDJFRlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRkJFOEZGXCIsIGJvcmRlcjogXCIjRjJFNEY0XCIgfSxcclxuLy8gICB7IGJnOiBcIiNGQUUyRkZcIiwgYm9yZGVyOiBcIiNFRUQ4RjJcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0UyRTZFQlwiLCBib3JkZXI6IFwiI0RCRTBFNlwiIH0sXHJcbi8vICAgeyBiZzogXCIjRUJFREVGXCIsIGJvcmRlcjogXCIjRTJFNkVCXCIgfSxcclxuLy8gICB7IGJnOiBcIiNGMEYyRjRcIiwgYm9yZGVyOiBcIiNFQkVERUZcIiB9LFxyXG4vLyAgIHsgYmc6IFwiI0ZERkRGRFwiLCBib3JkZXI6IFwiI0UwRTBFMFwiIH0sXHJcbi8vIF07XHJcbiJdfQ==
@@ -180,6 +180,18 @@ export const indianPincodeValidator = () => {
180
180
  return null;
181
181
  };
182
182
  };
183
+ export const getFixtureCanvasLabel = (fixture) => {
184
+ if (!fixture)
185
+ return "";
186
+ return [
187
+ fixture.templateGroupName,
188
+ fixture.fixtureCategory,
189
+ fixture.fixtureWidth?.value,
190
+ fixture.fixtureWidth?.unit,
191
+ ]
192
+ .filter((v) => v !== null && v !== undefined && v !== "")
193
+ .join("-");
194
+ };
183
195
  export const lightenColor = (hex, amount = 0.3) => {
184
196
  if (!hex)
185
197
  return hex;
@@ -192,4 +204,4 @@ export const lightenColor = (hex, amount = 0.3) => {
192
204
  b = Math.round(b + (255 - b) * amount);
193
205
  return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, "0")}`;
194
206
  };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbm8uZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS1idWlsZGVyL3NyYy9saWIvZnVuY3Rpb25zL3BsYW5vLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBTyxFQUFFO0lBQ2pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUc7YUFDUCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN6RTtTQUFNLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDbEQsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7b0JBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFD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QUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBRXZDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDeEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxuICBWYWxpZGF0b3JGbixcclxuICBGb3JtQXJyYXksXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHlGaWVsZHMgPSAob2JqOiBhbnkpOiBhbnkgPT4ge1xyXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgIHJldHVybiBvYmpcclxuICAgICAgLm1hcCgoaXRlbSkgPT4gcmVtb3ZlRW1wdHlGaWVsZHMoaXRlbSkpXHJcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0gIT09IFwiXCIpO1xyXG4gIH0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiBvYmogIT09IG51bGwpIHtcclxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZW1vdmVFbXB0eUZpZWxkcyhvYmpba2V5XSk7XHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IFwiXCIpIHtcclxuICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICByZXR1cm4gb2JqO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJnYlRvSGV4ID0gKHJnYj86IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgaWYgKCFyZ2IpIHJldHVybiBcIiNmZmZcIjtcclxuICBjb25zdCByZXN1bHQgPSByZ2JcclxuICAgIC5yZXBsYWNlKC9cXHMrL2csIFwiXCIpIC8vIHJlbW92ZSBzcGFjZXNcclxuICAgIC5tYXRjaCgvXnJnYmE/XFwoKFxcZCspLChcXGQrKSwoXFxkKykvaSk7IC8vIG1hdGNoIHIsIGcsIGJcclxuXHJcbiAgaWYgKCFyZXN1bHQpIHJldHVybiBcIiMwMDAwMDBcIjsgLy8gZmFsbGJhY2tcclxuXHJcbiAgY29uc3QgciA9IHBhcnNlSW50KHJlc3VsdFsxXSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIFwiMFwiKTtcclxuICBjb25zdCBnID0gcGFyc2VJbnQocmVzdWx0WzJdKS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpO1xyXG4gIGNvbnN0IGIgPSBwYXJzZUludChyZXN1bHRbM10pLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBcIjBcIik7XHJcblxyXG4gIHJldHVybiBgIyR7cn0ke2d9JHtifWAudG9VcHBlckNhc2UoKTsgLy8gb3B0aW9uYWw6IC50b0xvd2VyQ2FzZSgpXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGVlcEVxdWFsID0gKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKGEgPT09IGIpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaWYgKGEgPT09IG51bGwgfHwgYiA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGEgPT09IGI7XHJcbiAgfVxyXG5cclxuICBpZiAoYSBpbnN0YW5jZW9mIERhdGUgJiYgYiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgIHJldHVybiBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKCk7XHJcbiAgfVxyXG5cclxuICBpZiAodHlwZW9mIGEgPT09IFwib2JqZWN0XCIpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShiKSB8fCBhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKCFkZWVwRXF1YWwoYVtpXSwgYltpXSkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBhS2V5cyA9IE9iamVjdC5rZXlzKGEpO1xyXG4gICAgICBjb25zdCBiS2V5cyA9IE9iamVjdC5rZXlzKGIpO1xyXG4gICAgICBpZiAoYUtleXMubGVuZ3RoICE9PSBiS2V5cy5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgYUtleXMpIHtcclxuICAgICAgICBpZiAoIWIuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWRlZXBFcXVhbChhW2tleV0sIGJba2V5XSkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2VuZXJhbFZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3JGbiA9PiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsOyAvLyBhbGxvdyByZXF1aXJlZCB2YWxpZGF0b3IgdG8gaGFuZGxlIGVtcHR5XHJcblxyXG4gICAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnRyaW0oKTtcclxuICAgIGlmICh0cmltbWVkLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAvLyBvbmx5IHdoaXRlc3BhY2VcclxuICAgICAgcmV0dXJuIHsgd2hpdGVzcGFjZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlICE9PSB0cmltbWVkKSB7XHJcbiAgICAgIC8vIGxlYWRpbmcgb3IgdHJhaWxpbmcgd2hpdGVzcGFjZVxyXG4gICAgICByZXR1cm4geyB0cmltU3BhY2VzOiB0cnVlIH07XHJcbiAgICB9XHJcbiAgICAvLyBBY2NlcHQgYW55IGNoYXJhY3RlcnMgb3RoZXJ3aXNlXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFF1ZXJ5UGFyYW1OdW1iZXIgPSAoe1xyXG4gIHBhcmFtcyxcclxuICBrZXksXHJcbiAgZmFsbGJhY2ssXHJcbiAgbWluLFxyXG4gIG1heCxcclxufToge1xyXG4gIHBhcmFtczogYW55O1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGZhbGxiYWNrOiBudW1iZXI7XHJcbiAgbWluPzogbnVtYmVyO1xyXG4gIG1heD86IG51bWJlcjtcclxufSk6IG51bWJlciA9PiB7XHJcbiAgY29uc3QgdmFsdWUgPSBOdW1iZXIocGFyYW1zPy5nZXQoa2V5KSk7XHJcblxyXG4gIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiBmYWxsYmFjaztcclxuICBpZiAobWluICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPCBtaW4pIHJldHVybiBmYWxsYmFjaztcclxuICBpZiAobWF4ICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPiBtYXgpIHJldHVybiBmYWxsYmFjaztcclxuXHJcbiAgcmV0dXJuIHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFF1ZXJ5UGFyYW1TdHJpbmcgPSAoe1xyXG4gIHBhcmFtcyxcclxuICBrZXksXHJcbiAgZmFsbGJhY2ssXHJcbiAgYWxsb3dlZCxcclxufToge1xyXG4gIHBhcmFtczogYW55O1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGZhbGxiYWNrOiBzdHJpbmc7XHJcbiAgYWxsb3dlZD86IHN0cmluZ1tdO1xyXG59KTogc3RyaW5nID0+IHtcclxuICBjb25zdCB2YWx1ZSA9IHBhcmFtcz8uZ2V0KGtleSk7XHJcblxyXG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIpIHJldHVybiBmYWxsYmFjaztcclxuICBpZiAoYWxsb3dlZCAmJiAhYWxsb3dlZC5pbmNsdWRlcyh2YWx1ZSkpIHJldHVybiBmYWxsYmFjaztcclxuXHJcbiAgcmV0dXJuIHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVuaXF1ZUZpZWxkSW5Gb3JtQXJyYXlWYWxpZGF0b3IoXHJcbiAgZmllbGROYW1lOiBzdHJpbmcsXHJcbik6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGZvcm1BcnJheTogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgaWYgKCEoZm9ybUFycmF5IGluc3RhbmNlb2YgRm9ybUFycmF5KSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgY29uc3QgdmFsdWVzID0gZm9ybUFycmF5LmNvbnRyb2xzXHJcbiAgICAgIC5tYXAoKGN0cmwpID0+IGN0cmwuZ2V0KGZpZWxkTmFtZSk/LnZhbHVlPy50cmltPy4oKSlcclxuICAgICAgLmZpbHRlcigodik6IHYgaXMgc3RyaW5nID0+ICEhdik7XHJcblxyXG4gICAgY29uc3QgZHVwbGljYXRlcyA9IHZhbHVlcy5maWx0ZXIoKHZhbCwgaWR4KSA9PiB2YWx1ZXMuaW5kZXhPZih2YWwpICE9PSBpZHgpO1xyXG5cclxuICAgIGlmIChkdXBsaWNhdGVzLmxlbmd0aCkge1xyXG4gICAgICAvLyBNYXJrIGR1cGxpY2F0ZXMgaW5kaXZpZHVhbGx5XHJcbiAgICAgIGZvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKChjdHJsKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbCA9IGN0cmwuZ2V0KGZpZWxkTmFtZSk7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgICAgIGlmIChkdXBsaWNhdGVzLmluY2x1ZGVzKGNvbnRyb2wudmFsdWU/LnRyaW0/LigpKSkge1xyXG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyh7IC4uLihjb250cm9sLmVycm9ycyB8fCB7fSksIG5vdFVuaXF1ZTogdHJ1ZSB9KTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbC5lcnJvcnM/LltcIm5vdFVuaXF1ZVwiXSkge1xyXG4gICAgICAgICAgICAvLyBSZW1vdmUgb25seSBub3RVbmlxdWUgZXJyb3JcclxuICAgICAgICAgICAgY29uc3QgeyBub3RVbmlxdWUsIC4uLnJlc3QgfSA9IGNvbnRyb2wuZXJyb3JzO1xyXG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggPyByZXN0IDogbnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHsgbm90VW5pcXVlOiB0cnVlIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2xlYXIgaWYgZml4ZWRcclxuICAgIGZvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKChjdHJsKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBjdHJsLmdldChmaWVsZE5hbWUpO1xyXG4gICAgICBpZiAoY29udHJvbD8uZXJyb3JzPy5bXCJub3RVbmlxdWVcIl0pIHtcclxuICAgICAgICBjb25zdCB7IG5vdFVuaXF1ZSwgLi4ucmVzdCB9ID0gY29udHJvbC5lcnJvcnM7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMocmVzdCkubGVuZ3RoID8gcmVzdCA6IG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0TmFtZUZyb21FbWFpbCA9IChlbWFpbDogc3RyaW5nKSA9PiB7XHJcbiAgaWYgKCFlbWFpbCB8fCAhZW1haWwuaW5jbHVkZXMoXCJAXCIpKSByZXR1cm4gXCJcIjtcclxuXHJcbiAgcmV0dXJuIGVtYWlsXHJcbiAgICAuc3BsaXQoXCJAXCIpWzBdIC8vIHRha2UgbG9jYWwgcGFydFxyXG4gICAgLnJlcGxhY2UoL1suXy1dKy9nLCBcIiBcIikgLy8gcmVwbGFjZSBzZXBhcmF0b3JzXHJcbiAgICAucmVwbGFjZSgvXFxkKy9nLCBcIlwiKSAvLyByZW1vdmUgbnVtYmVyc1xyXG4gICAgLnRyaW0oKVxyXG4gICAgLnJlcGxhY2UoL1xcYlxcdy9nLCAoYykgPT4gYy50b1VwcGVyQ2FzZSgpKTsgLy8gY2FwaXRhbGl6ZVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluZGlhblBpbmNvZGVWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG5cclxuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsOyAvLyBsZXQgcmVxdWlyZWQgaGFuZGxlIGVtcHR5XHJcblxyXG4gICAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnRyaW0oKTtcclxuXHJcbiAgICAvLyB3aGl0ZXNwYWNlLW9ubHlcclxuICAgIGlmICh0cmltbWVkLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4geyB3aGl0ZXNwYWNlOiB0cnVlIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXNcclxuICAgIGlmICh2YWx1ZSAhPT0gdHJpbW1lZCkge1xyXG4gICAgICByZXR1cm4geyB0cmltU3BhY2VzOiB0cnVlIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbXVzdCBiZSBleGFjdGx5IDYgZGlnaXRzICYgbm90IHN0YXJ0IHdpdGggMFxyXG4gICAgY29uc3QgcGluY29kZVJlZ2V4ID0gL15bMS05XVswLTldezV9JC87XHJcblxyXG4gICAgaWYgKCFwaW5jb2RlUmVnZXgudGVzdCh0cmltbWVkKSkge1xyXG4gICAgICByZXR1cm4geyBpbnZhbGlkUGluY29kZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGlnaHRlbkNvbG9yID0gKGhleDogc3RyaW5nLCBhbW91bnQgPSAwLjMpID0+IHtcclxuICBpZiAoIWhleCkgcmV0dXJuIGhleDtcclxuXHJcbiAgY29uc3QgbnVtID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEpLCAxNik7XHJcbiAgbGV0IHIgPSBudW0gPj4gMTY7XHJcbiAgbGV0IGcgPSAobnVtID4+IDgpICYgMjU1O1xyXG4gIGxldCBiID0gbnVtICYgMjU1O1xyXG5cclxuICByID0gTWF0aC5yb3VuZChyICsgKDI1NSAtIHIpICogYW1vdW50KTtcclxuICBnID0gTWF0aC5yb3VuZChnICsgKDI1NSAtIGcpICogYW1vdW50KTtcclxuICBiID0gTWF0aC5yb3VuZChiICsgKDI1NSAtIGIpICogYW1vdW50KTtcclxuXHJcbiAgcmV0dXJuIGAjJHsoKHIgPDwgMTYpIHwgKGcgPDwgOCkgfCBiKS50b1N0cmluZygxNikucGFkU3RhcnQoNiwgXCIwXCIpfWA7XHJcbn07XHJcbiJdfQ==
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbm8uZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS1idWlsZGVyL3NyYy9saWIvZnVuY3Rpb25zL3BsYW5vLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBTyxFQUFFO0lBQ2pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUc7YUFDUCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN6RTtTQUFNLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDbEQsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7b0JBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFD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TUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVsQixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUV2QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbiAgRm9ybUFycmF5LFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZUVtcHR5RmllbGRzID0gKG9iajogYW55KTogYW55ID0+IHtcclxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICByZXR1cm4gb2JqXHJcbiAgICAgIC5tYXAoKGl0ZW0pID0+IHJlbW92ZUVtcHR5RmllbGRzKGl0ZW0pKVxyXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBudWxsICYmIGl0ZW0gIT09IHVuZGVmaW5lZCAmJiBpdGVtICE9PSBcIlwiKTtcclxuICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgb2JqICE9PSBudWxsKSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcmVtb3ZlRW1wdHlGaWVsZHMob2JqW2tleV0pO1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBcIlwiKSB7XHJcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgcmV0dXJuIG9iajtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByZ2JUb0hleCA9IChyZ2I/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmICghcmdiKSByZXR1cm4gXCIjZmZmXCI7XHJcbiAgY29uc3QgcmVzdWx0ID0gcmdiXHJcbiAgICAucmVwbGFjZSgvXFxzKy9nLCBcIlwiKSAvLyByZW1vdmUgc3BhY2VzXHJcbiAgICAubWF0Y2goL15yZ2JhP1xcKChcXGQrKSwoXFxkKyksKFxcZCspL2kpOyAvLyBtYXRjaCByLCBnLCBiXHJcblxyXG4gIGlmICghcmVzdWx0KSByZXR1cm4gXCIjMDAwMDAwXCI7IC8vIGZhbGxiYWNrXHJcblxyXG4gIGNvbnN0IHIgPSBwYXJzZUludChyZXN1bHRbMV0pLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBcIjBcIik7XHJcbiAgY29uc3QgZyA9IHBhcnNlSW50KHJlc3VsdFsyXSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIFwiMFwiKTtcclxuICBjb25zdCBiID0gcGFyc2VJbnQocmVzdWx0WzNdKS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpO1xyXG5cclxuICByZXR1cm4gYCMke3J9JHtnfSR7Yn1gLnRvVXBwZXJDYXNlKCk7IC8vIG9wdGlvbmFsOiAudG9Mb3dlckNhc2UoKVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZXBFcXVhbCA9IChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4gPT4ge1xyXG4gIGlmIChhID09PSBiKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlmICh0eXBlb2YgYSAhPT0gdHlwZW9mIGIpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlmIChhID09PSBudWxsIHx8IGIgPT09IG51bGwpIHtcclxuICAgIHJldHVybiBhID09PSBiO1xyXG4gIH1cclxuXHJcbiAgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICByZXR1cm4gYS5nZXRUaW1lKCkgPT09IGIuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGVvZiBhID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhKSkge1xyXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYikgfHwgYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICghZGVlcEVxdWFsKGFbaV0sIGJbaV0pKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgYUtleXMgPSBPYmplY3Qua2V5cyhhKTtcclxuICAgICAgY29uc3QgYktleXMgPSBPYmplY3Qua2V5cyhiKTtcclxuICAgICAgaWYgKGFLZXlzLmxlbmd0aCAhPT0gYktleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGFLZXlzKSB7XHJcbiAgICAgICAgaWYgKCFiLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFkZWVwRXF1YWwoYVtrZXldLCBiW2tleV0pKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdlbmVyYWxWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDsgLy8gYWxsb3cgcmVxdWlyZWQgdmFsaWRhdG9yIHRvIGhhbmRsZSBlbXB0eVxyXG5cclxuICAgIGNvbnN0IHRyaW1tZWQgPSB2YWx1ZS50cmltKCk7XHJcbiAgICBpZiAodHJpbW1lZC5sZW5ndGggPT09IDApIHtcclxuICAgICAgLy8gb25seSB3aGl0ZXNwYWNlXHJcbiAgICAgIHJldHVybiB7IHdoaXRlc3BhY2U6IHRydWUgfTtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSAhPT0gdHJpbW1lZCkge1xyXG4gICAgICAvLyBsZWFkaW5nIG9yIHRyYWlsaW5nIHdoaXRlc3BhY2VcclxuICAgICAgcmV0dXJuIHsgdHJpbVNwYWNlczogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgLy8gQWNjZXB0IGFueSBjaGFyYWN0ZXJzIG90aGVyd2lzZVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRRdWVyeVBhcmFtTnVtYmVyID0gKHtcclxuICBwYXJhbXMsXHJcbiAga2V5LFxyXG4gIGZhbGxiYWNrLFxyXG4gIG1pbixcclxuICBtYXgsXHJcbn06IHtcclxuICBwYXJhbXM6IGFueTtcclxuICBrZXk6IHN0cmluZztcclxuICBmYWxsYmFjazogbnVtYmVyO1xyXG4gIG1pbj86IG51bWJlcjtcclxuICBtYXg/OiBudW1iZXI7XHJcbn0pOiBudW1iZXIgPT4ge1xyXG4gIGNvbnN0IHZhbHVlID0gTnVtYmVyKHBhcmFtcz8uZ2V0KGtleSkpO1xyXG5cclxuICBpZiAoaXNOYU4odmFsdWUpKSByZXR1cm4gZmFsbGJhY2s7XHJcbiAgaWYgKG1pbiAhPT0gdW5kZWZpbmVkICYmIHZhbHVlIDwgbWluKSByZXR1cm4gZmFsbGJhY2s7XHJcbiAgaWYgKG1heCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlID4gbWF4KSByZXR1cm4gZmFsbGJhY2s7XHJcblxyXG4gIHJldHVybiB2YWx1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRRdWVyeVBhcmFtU3RyaW5nID0gKHtcclxuICBwYXJhbXMsXHJcbiAga2V5LFxyXG4gIGZhbGxiYWNrLFxyXG4gIGFsbG93ZWQsXHJcbn06IHtcclxuICBwYXJhbXM6IGFueTtcclxuICBrZXk6IHN0cmluZztcclxuICBmYWxsYmFjazogc3RyaW5nO1xyXG4gIGFsbG93ZWQ/OiBzdHJpbmdbXTtcclxufSk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXM/LmdldChrZXkpO1xyXG5cclxuICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiKSByZXR1cm4gZmFsbGJhY2s7XHJcbiAgaWYgKGFsbG93ZWQgJiYgIWFsbG93ZWQuaW5jbHVkZXModmFsdWUpKSByZXR1cm4gZmFsbGJhY2s7XHJcblxyXG4gIHJldHVybiB2YWx1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1bmlxdWVGaWVsZEluRm9ybUFycmF5VmFsaWRhdG9yKFxyXG4gIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4pOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChmb3JtQXJyYXk6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGlmICghKGZvcm1BcnJheSBpbnN0YW5jZW9mIEZvcm1BcnJheSkpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGNvbnN0IHZhbHVlcyA9IGZvcm1BcnJheS5jb250cm9sc1xyXG4gICAgICAubWFwKChjdHJsKSA9PiBjdHJsLmdldChmaWVsZE5hbWUpPy52YWx1ZT8udHJpbT8uKCkpXHJcbiAgICAgIC5maWx0ZXIoKHYpOiB2IGlzIHN0cmluZyA9PiAhIXYpO1xyXG5cclxuICAgIGNvbnN0IGR1cGxpY2F0ZXMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwsIGlkeCkgPT4gdmFsdWVzLmluZGV4T2YodmFsKSAhPT0gaWR4KTtcclxuXHJcbiAgICBpZiAoZHVwbGljYXRlcy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFyayBkdXBsaWNhdGVzIGluZGl2aWR1YWxseVxyXG4gICAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY3RybCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBjdHJsLmdldChmaWVsZE5hbWUpO1xyXG4gICAgICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgICAgICBpZiAoZHVwbGljYXRlcy5pbmNsdWRlcyhjb250cm9sLnZhbHVlPy50cmltPy4oKSkpIHtcclxuICAgICAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyAuLi4oY29udHJvbC5lcnJvcnMgfHwge30pLCBub3RVbmlxdWU6IHRydWUgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wuZXJyb3JzPy5bXCJub3RVbmlxdWVcIl0pIHtcclxuICAgICAgICAgICAgLy8gUmVtb3ZlIG9ubHkgbm90VW5pcXVlIGVycm9yXHJcbiAgICAgICAgICAgIGNvbnN0IHsgbm90VW5pcXVlLCAuLi5yZXN0IH0gPSBjb250cm9sLmVycm9ycztcclxuICAgICAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMocmVzdCkubGVuZ3RoID8gcmVzdCA6IG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7IG5vdFVuaXF1ZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENsZWFyIGlmIGZpeGVkXHJcbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY3RybCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gY3RybC5nZXQoZmllbGROYW1lKTtcclxuICAgICAgaWYgKGNvbnRyb2w/LmVycm9ycz8uW1wibm90VW5pcXVlXCJdKSB7XHJcbiAgICAgICAgY29uc3QgeyBub3RVbmlxdWUsIC4uLnJlc3QgfSA9IGNvbnRyb2wuZXJyb3JzO1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKHJlc3QpLmxlbmd0aCA/IHJlc3QgOiBudWxsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGdldE5hbWVGcm9tRW1haWwgPSAoZW1haWw6IHN0cmluZykgPT4ge1xyXG4gIGlmICghZW1haWwgfHwgIWVtYWlsLmluY2x1ZGVzKFwiQFwiKSkgcmV0dXJuIFwiXCI7XHJcblxyXG4gIHJldHVybiBlbWFpbFxyXG4gICAgLnNwbGl0KFwiQFwiKVswXSAvLyB0YWtlIGxvY2FsIHBhcnRcclxuICAgIC5yZXBsYWNlKC9bLl8tXSsvZywgXCIgXCIpIC8vIHJlcGxhY2Ugc2VwYXJhdG9yc1xyXG4gICAgLnJlcGxhY2UoL1xcZCsvZywgXCJcIikgLy8gcmVtb3ZlIG51bWJlcnNcclxuICAgIC50cmltKClcclxuICAgIC5yZXBsYWNlKC9cXGJcXHcvZywgKGMpID0+IGMudG9VcHBlckNhc2UoKSk7IC8vIGNhcGl0YWxpemVcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbmRpYW5QaW5jb2RlVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvckZuID0+IHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDsgLy8gbGV0IHJlcXVpcmVkIGhhbmRsZSBlbXB0eVxyXG5cclxuICAgIGNvbnN0IHRyaW1tZWQgPSB2YWx1ZS50cmltKCk7XHJcblxyXG4gICAgLy8gd2hpdGVzcGFjZS1vbmx5XHJcbiAgICBpZiAodHJpbW1lZC5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHsgd2hpdGVzcGFjZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzXHJcbiAgICBpZiAodmFsdWUgIT09IHRyaW1tZWQpIHtcclxuICAgICAgcmV0dXJuIHsgdHJpbVNwYWNlczogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG11c3QgYmUgZXhhY3RseSA2IGRpZ2l0cyAmIG5vdCBzdGFydCB3aXRoIDBcclxuICAgIGNvbnN0IHBpbmNvZGVSZWdleCA9IC9eWzEtOV1bMC05XXs1fSQvO1xyXG5cclxuICAgIGlmICghcGluY29kZVJlZ2V4LnRlc3QodHJpbW1lZCkpIHtcclxuICAgICAgcmV0dXJuIHsgaW52YWxpZFBpbmNvZGU6IHRydWUgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEZpeHR1cmVDYW52YXNMYWJlbCA9IChmaXh0dXJlOiBhbnkpOiBzdHJpbmcgPT4ge1xyXG4gIGlmICghZml4dHVyZSkgcmV0dXJuIFwiXCI7XHJcbiAgcmV0dXJuIFtcclxuICAgIGZpeHR1cmUudGVtcGxhdGVHcm91cE5hbWUsXHJcbiAgICBmaXh0dXJlLmZpeHR1cmVDYXRlZ29yeSxcclxuICAgIGZpeHR1cmUuZml4dHVyZVdpZHRoPy52YWx1ZSxcclxuICAgIGZpeHR1cmUuZml4dHVyZVdpZHRoPy51bml0LFxyXG4gIF1cclxuICAgIC5maWx0ZXIoKHYpID0+IHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IFwiXCIpXHJcbiAgICAuam9pbihcIi1cIik7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGlnaHRlbkNvbG9yID0gKGhleDogc3RyaW5nLCBhbW91bnQgPSAwLjMpID0+IHtcclxuICBpZiAoIWhleCkgcmV0dXJuIGhleDtcclxuXHJcbiAgY29uc3QgbnVtID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEpLCAxNik7XHJcbiAgbGV0IHIgPSBudW0gPj4gMTY7XHJcbiAgbGV0IGcgPSAobnVtID4+IDgpICYgMjU1O1xyXG4gIGxldCBiID0gbnVtICYgMjU1O1xyXG5cclxuICByID0gTWF0aC5yb3VuZChyICsgKDI1NSAtIHIpICogYW1vdW50KTtcclxuICBnID0gTWF0aC5yb3VuZChnICsgKDI1NSAtIGcpICogYW1vdW50KTtcclxuICBiID0gTWF0aC5yb3VuZChiICsgKDI1NSAtIGIpICogYW1vdW50KTtcclxuXHJcbiAgcmV0dXJuIGAjJHsoKHIgPDwgMTYpIHwgKGcgPDwgOCkgfCBiKS50b1N0cmluZygxNikucGFkU3RhcnQoNiwgXCIwXCIpfWA7XHJcbn07XHJcbiJdfQ==