vcomply-workflow-engine 6.2.12 → 6.2.14

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 (74) hide show
  1. package/esm2022/lib/constants/assets.constants.mjs +2 -1
  2. package/esm2022/lib/sharedComponents/policy-category-list/category-list/category-list.component.mjs +12 -10
  3. package/esm2022/lib/sharedComponents/policy-category-list/services/policy-list-api.service.mjs +13 -2
  4. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -3
  5. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +39 -18
  6. package/fesm2022/vcomply-workflow-engine.mjs +76 -44
  7. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  8. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -0
  9. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -0
  10. package/lib/constants/assets.constants.d.ts +1 -0
  11. package/lib/log-an-issue/log-an-issue.component.d.ts +1 -0
  12. package/lib/more-option/more-option.component.d.ts +1 -0
  13. package/lib/report-a-case/components/assignee/assignee.component.d.ts +1 -0
  14. package/lib/report-a-case/components/case-assignees/case-assignees.component.d.ts +1 -0
  15. package/lib/report-a-case/components/case-category/case-category.component.d.ts +1 -0
  16. package/lib/report-a-case/components/case-details/case-details.component.d.ts +1 -0
  17. package/lib/report-a-case/components/case-owners/case-owners.component.d.ts +1 -0
  18. package/lib/report-a-case/components/case-priority/case-priority.component.d.ts +1 -0
  19. package/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.d.ts +1 -0
  20. package/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.d.ts +1 -0
  21. package/lib/report-a-case/components/due-date/due-date.component.d.ts +1 -0
  22. package/lib/report-a-case/components/field-holder/field-holder.component.d.ts +1 -0
  23. package/lib/report-a-case/components/linked assessment/linked-assessment.component.d.ts +1 -0
  24. package/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.d.ts +1 -0
  25. package/lib/report-a-case/components/rc-details/rc-details.component.d.ts +1 -0
  26. package/lib/report-a-case/components/report-date/report-date.component.d.ts +1 -0
  27. package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +1 -0
  28. package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -0
  29. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -0
  30. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -0
  31. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -0
  32. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -0
  33. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -0
  34. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -0
  35. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -0
  36. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -0
  37. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -0
  38. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -0
  39. package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -0
  40. package/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.d.ts +1 -0
  41. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -0
  42. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -0
  43. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -0
  44. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -0
  45. package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -0
  46. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -0
  47. package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -0
  48. package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -0
  49. package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -0
  50. package/lib/sharedComponents/policy-category-list/services/policy-list-api.service.d.ts +2 -0
  51. package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -0
  52. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -0
  53. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -0
  54. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -0
  55. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -0
  56. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -0
  57. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -0
  58. package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -0
  59. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -0
  60. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -0
  61. package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -0
  62. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -0
  63. package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -0
  64. package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -0
  65. package/lib/workflow-policy/workflow-policy.component.d.ts +10 -2
  66. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -0
  67. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -0
  68. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -0
  69. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -0
  70. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -0
  71. package/lib/workflow-program/workflow-program.component.d.ts +1 -0
  72. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -0
  73. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -0
  74. package/package.json +1 -1
@@ -53,5 +53,6 @@ export const ASSETS = {
53
53
  sequential: `${BASE_URL}/libraries/workflow-engine/assets/workflow/sequential.svg`,
54
54
  round_robin: `${BASE_URL}/libraries/workflow-engine/assets/workflow/round-robin.svg`,
55
55
  anyone: `${BASE_URL}/libraries/workflow-engine/assets/workflow/anyone.svg`,
56
+ categoryNoData: `${BASE_URL}/policy/images/Infographic.svg`,
56
57
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDBCQUEwQixDQUFDO0FBQzVDLDRCQUE0QjtBQUU1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIscUJBQXFCLEVBQUUsR0FBRyxRQUFRLHNFQUFzRTtJQUN4RyxTQUFTLEVBQUUsR0FBRyxRQUFRLHNFQUFzRTtJQUM1RixhQUFhLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUNuRixJQUFJLEVBQUUsR0FBRyxRQUFRLHFEQUFxRDtJQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLHFEQUFxRDtJQUN0RSx3QkFBd0IsRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQzFGLGNBQWMsRUFBRSxHQUFHLFFBQVEsb0RBQW9EO0lBQy9FLGVBQWUsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQzVGLFdBQVcsRUFBRSxHQUFHLFFBQVEsc0RBQXNEO0lBQzlFLGFBQWEsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3hGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLDZCQUE2QixFQUFFLEdBQUcsUUFBUSw4RUFBOEU7SUFDeEgsa0JBQWtCLEVBQUUsR0FBRyxRQUFRLG1FQUFtRTtJQUNsRyxLQUFLLEVBQUUsR0FBRyxRQUFRLHNEQUFzRDtJQUN4RSxjQUFjLEVBQUUsR0FBRyxRQUFRLCtEQUErRDtJQUMxRixRQUFRLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUM5RSxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsaUVBQWlFO0lBQzlGLFNBQVMsRUFBRSxHQUFHLFFBQVEsMERBQTBEO0lBQ2hGLG9CQUFvQixFQUFFLEdBQUcsUUFBUSxxRUFBcUU7SUFDdEcsTUFBTSxFQUFFLEdBQUcsUUFBUSx1REFBdUQ7SUFDMUUsUUFBUSxFQUFFLEdBQUcsUUFBUSx5REFBeUQ7SUFDOUUsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsS0FBSyxFQUFFLEdBQUcsUUFBUSxzREFBc0Q7SUFDeEUsS0FBSyxFQUFFLEdBQUcsUUFBUSxzREFBc0Q7SUFDeEUsUUFBUSxFQUFFLEdBQUcsUUFBUSx5REFBeUQ7SUFDOUUsU0FBUyxFQUFFLEdBQUcsUUFBUSwwREFBMEQ7SUFDaEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsYUFBYSxFQUFFLEdBQUcsUUFBUSw4REFBOEQ7SUFDeEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsV0FBVyxFQUFFLEdBQUcsUUFBUSxxRUFBcUU7SUFDN0YsU0FBUyxFQUFFLEdBQUcsUUFBUSxtRUFBbUU7SUFDekYsWUFBWSxFQUFFLCtLQUErSztJQUM3TCxrQkFBa0IsRUFBRSwrS0FBK0s7SUFDbk0sZUFBZSxFQUFFLHVKQUF1SjtJQUN4SyxNQUFNLEVBQUUsR0FBRyxRQUFRLHVEQUF1RDtJQUMxRSxZQUFZLEVBQUUsR0FBRyxRQUFRLDZEQUE2RDtJQUN0Rix3QkFBd0IsRUFBRSxHQUFHLFFBQVEseUVBQXlFO0lBQzlHLElBQUksRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQ3RFLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLFdBQVcsRUFBRSxHQUFHLFFBQVEsNERBQTREO0lBQ3BGLEtBQUssRUFBRSxHQUFHLFFBQVEsc0RBQXNEO0lBQ3hFLFlBQVksRUFBRSxHQUFHLFFBQVEsNkRBQTZEO0lBQ3RGLGFBQWEsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3hGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLElBQUksRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQ3RFLFdBQVcsRUFBRSxHQUFHLFFBQVEsNERBQTREO0lBQ3BGLGlCQUFpQixFQUFFLEdBQUcsUUFBUSxrRUFBa0U7SUFDaEcsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsTUFBTSxFQUFFLEdBQUcsUUFBUSx1REFBdUQ7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbSc7XG4vLyBUT0RPOiBhZGQgY2FzZSB0eXBlIGFzc2V0XG5cbmV4cG9ydCBjb25zdCBBU1NFVFMgPSB7XG4gIHJlc3BvbnNpYmlsaXR5X2NlbnRlcjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmdgLFxuICBjYXNlX3R5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnYCxcbiAgY2FzZV9jYXRlZ29yeTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z2AsXG4gIHdoZW46IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGVuLnN2Z2AsXG4gIHdoYXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGF0LnN2Z2AsXG4gIGNhc2VfcmVzb2x1dGlvbl9kZWFkbGluZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doZW4uc3ZnYCxcbiAgY2FzZV9hc3NpZ25lZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aG8uc3ZnYCxcbiAgZm9ybWF0X2V2aWRlbmNlOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2Z2AsXG4gIGNhc2Vfb3duZXJzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3duZXIuc3ZnYCxcbiAgbGlua19jb250cm9sczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2xpbmstY29udHJvbHMuc3ZnYCxcbiAgbGlua19pdGVtczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2xpbmstaXRlbXMuc3ZnYCxcbiAgc3ByZWFkc2hlZXRfbXVsdGlwbGVfY2F0ZWdvcnk6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zcHJlYWRzaGVldC1tdWx0aXBsZS1jYXRlZ29yeS5zdmdgLFxuICByZWNvbW1lbmRlZF9hY3Rpb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZWNvbW1lbmRlZC1hY3Rpb24uc3ZnYCxcbiAgcmlza3M6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrcy5zdmdgLFxuICBleGNlcHRpb25fdHlwZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2V4Y2VwdGlvbi10eXBlLnN2Z2AsXG4gIHByaW9yaXR5OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnYCxcbiAgYXNzb2NpYXRlZF9yaXNrczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc29jaWF0ZWQtcmlza3Muc3ZnYCxcbiAgb3ZlcnNpZ2h0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2Z2AsXG4gIGFkZF9yaXNrX21vcmVfb3B0aW9uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYWRkLXJpc2stbW9yZS1vcHRpb24uc3ZnYCxcbiAgbGFibGVzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGFibGVzLnN2Z2AsXG4gIHJldmlld2VyOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmV2aWV3ZXIuc3ZnYCxcbiAgY2hlY2twb2ludHM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jaGVja3BvaW50cy5zdmdgLFxuICBhc3Nlc3NtZW50czogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc2Vzc21lbnRzLnN2Z2AsXG4gIG9iamVjdGl2ZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2Z2AsXG4gIGF1ZGl0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnYCxcbiAgcm9sZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yb2xlcy5zdmdgLFxuICBhcHByb3ZhbDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLnN2Z2AsXG4gIHJlY3VycmluZzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JlY3VycmluZy5zdmdgLFxuICBsb2NrX3Njb3BlOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbG9jay1zY29wZS5zdmdgLFxuICBjdXN0b21fZmllbGRzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY3VzdG9tLWZpZWxkcy5zdmdgLFxuICBsaW5rX3Jpc2tzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1yaXNrcy5zdmdgLFxuICBwbGFjZWhvbGRlcjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL2Fzc2Vzc21lbnQtZWRpdG9yL3BsYWNlaG9sZGVyLmpwZ2AsXG4gIGFkZF9sb2dpYzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL2Fzc2Vzc21lbnQtZWRpdG9yL2FkZC1sb2dpYy5zdmdgLFxuICBpbWFnZV9jaG9pY2U6IGBodHRwczovL3MzLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2V1LnYtY29tcGx5LmNvbS9vLzVlNDgxYTVkNjFjYTVlMTRmNTczMTA0OS9zdXJ2ZXkvNjFlNzhlNTU1MDI0NTEwMDA5YmI5MDA5L2ltYWdlLWNob2ljZS9TY3JlZW5zaG90LTIwMjIwMTE5LWF0LTktMDktMzUtQU0xNjQyNTc1NDkwMTQzLnBuZ2AsXG4gIGxvZ2ljX2ltYWdlX2Nob2ljZTogYGh0dHBzOi8vczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vZXUudi1jb21wbHkuY29tL28vNWU0ODFhNWQ2MWNhNWUxNGY1NzMxMDQ5L3N1cnZleS82MWVhMzAzMjA3ZGExNTAwMDlhOTcyMDcvaW1hZ2UtY2hvaWNlL1NjcmVlbnNob3QtMjAyMjAxMjEtYXQtOS0zNC0wNy1BTTE2NDI3Mzc4NzIwNTEucG5nYCxcbiAgdGhhbmtfeW91X2ltYWdlOiBgaHR0cHM6Ly9zMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ldS52LWNvbXBseS5jb20vby81ZTQ4MWE1ZDYxY2E1ZTE0ZjU3MzEwNDkvc3VydmV5LzYxZWUzYzk3YTk3MzE3MDAwOTQ1ODE1MC93ZWxjb21lLzIwMjAxMTI3MDkzMzM4MTY0MzAyNDgxNTgyMC5wbmdgLFxuICB1cGxvYWQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy91cGxvYWQuc3ZnYCxcbiAgc2VsZWN0X3VzZXJzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VsZWN0LXVzZXJzLnN2Z2AsXG4gIGV2ZXJ5b25lX2FzX3Blcl9jYXRlZ29yeTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2V2ZXJ5b25lLWFzLXBlci1jYXRlZ29yeS5zdmdgLFxuICBidWxiOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYnVsYi5zdmdgLFxuICBlbnRlcl9pY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZW50ZXItaWNvbi5zdmdgLFxuICBpbV9jcmVhdGluZzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2ltLWNyZWF0aW5nLnN2Z2AsXG4gIG5vdGVzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbm90ZXMuc3ZnYCxcbiAgYXR0ZXN0YXRpb25zOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXR0ZXN0YXRpb25zLnN2Z2AsXG4gIHJpc2tfY2F0ZWdvcnk6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrLWNhdGVnb3J5LnN2Z2AsXG4gIGlzc3VlX3R5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9pc3N1ZS10eXBlLnN2Z2AsXG4gIHR5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy90eXBlLnN2Z2AsXG4gIHNlYXJjaF9kYXRhOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnYCxcbiAgYXBwcm92YWxfd29ya2Zsb3c6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hcHByb3ZhbC13b3JrZmxvdy5zdmdgLFxuICBzZXF1ZW50aWFsOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VxdWVudGlhbC5zdmdgLFxuICByb3VuZF9yb2JpbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JvdW5kLXJvYmluLnN2Z2AsXG4gIGFueW9uZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FueW9uZS5zdmdgLFxufTtcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDBCQUEwQixDQUFDO0FBQzVDLDRCQUE0QjtBQUU1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIscUJBQXFCLEVBQUUsR0FBRyxRQUFRLHNFQUFzRTtJQUN4RyxTQUFTLEVBQUUsR0FBRyxRQUFRLHNFQUFzRTtJQUM1RixhQUFhLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUNuRixJQUFJLEVBQUUsR0FBRyxRQUFRLHFEQUFxRDtJQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLHFEQUFxRDtJQUN0RSx3QkFBd0IsRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQzFGLGNBQWMsRUFBRSxHQUFHLFFBQVEsb0RBQW9EO0lBQy9FLGVBQWUsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQzVGLFdBQVcsRUFBRSxHQUFHLFFBQVEsc0RBQXNEO0lBQzlFLGFBQWEsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3hGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLDZCQUE2QixFQUFFLEdBQUcsUUFBUSw4RUFBOEU7SUFDeEgsa0JBQWtCLEVBQUUsR0FBRyxRQUFRLG1FQUFtRTtJQUNsRyxLQUFLLEVBQUUsR0FBRyxRQUFRLHNEQUFzRDtJQUN4RSxjQUFjLEVBQUUsR0FBRyxRQUFRLCtEQUErRDtJQUMxRixRQUFRLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUM5RSxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsaUVBQWlFO0lBQzlGLFNBQVMsRUFBRSxHQUFHLFFBQVEsMERBQTBEO0lBQ2hGLG9CQUFvQixFQUFFLEdBQUcsUUFBUSxxRUFBcUU7SUFDdEcsTUFBTSxFQUFFLEdBQUcsUUFBUSx1REFBdUQ7SUFDMUUsUUFBUSxFQUFFLEdBQUcsUUFBUSx5REFBeUQ7SUFDOUUsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsS0FBSyxFQUFFLEdBQUcsUUFBUSxzREFBc0Q7SUFDeEUsS0FBSyxFQUFFLEdBQUcsUUFBUSxzREFBc0Q7SUFDeEUsUUFBUSxFQUFFLEdBQUcsUUFBUSx5REFBeUQ7SUFDOUUsU0FBUyxFQUFFLEdBQUcsUUFBUSwwREFBMEQ7SUFDaEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsYUFBYSxFQUFFLEdBQUcsUUFBUSw4REFBOEQ7SUFDeEYsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsV0FBVyxFQUFFLEdBQUcsUUFBUSxxRUFBcUU7SUFDN0YsU0FBUyxFQUFFLEdBQUcsUUFBUSxtRUFBbUU7SUFDekYsWUFBWSxFQUFFLCtLQUErSztJQUM3TCxrQkFBa0IsRUFBRSwrS0FBK0s7SUFDbk0sZUFBZSxFQUFFLHVKQUF1SjtJQUN4SyxNQUFNLEVBQUUsR0FBRyxRQUFRLHVEQUF1RDtJQUMxRSxZQUFZLEVBQUUsR0FBRyxRQUFRLDZEQUE2RDtJQUN0Rix3QkFBd0IsRUFBRSxHQUFHLFFBQVEseUVBQXlFO0lBQzlHLElBQUksRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQ3RFLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLFdBQVcsRUFBRSxHQUFHLFFBQVEsNERBQTREO0lBQ3BGLEtBQUssRUFBRSxHQUFHLFFBQVEsc0RBQXNEO0lBQ3hFLFlBQVksRUFBRSxHQUFHLFFBQVEsNkRBQTZEO0lBQ3RGLGFBQWEsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3hGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMkRBQTJEO0lBQ2xGLElBQUksRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQ3RFLFdBQVcsRUFBRSxHQUFHLFFBQVEsNERBQTREO0lBQ3BGLGlCQUFpQixFQUFFLEdBQUcsUUFBUSxrRUFBa0U7SUFDaEcsVUFBVSxFQUFFLEdBQUcsUUFBUSwyREFBMkQ7SUFDbEYsV0FBVyxFQUFFLEdBQUcsUUFBUSw0REFBNEQ7SUFDcEYsTUFBTSxFQUFFLEdBQUcsUUFBUSx1REFBdUQ7SUFDMUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxnQ0FBZ0M7Q0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbSc7XG4vLyBUT0RPOiBhZGQgY2FzZSB0eXBlIGFzc2V0XG5cbmV4cG9ydCBjb25zdCBBU1NFVFMgPSB7XG4gIHJlc3BvbnNpYmlsaXR5X2NlbnRlcjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmdgLFxuICBjYXNlX3R5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnYCxcbiAgY2FzZV9jYXRlZ29yeTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z2AsXG4gIHdoZW46IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGVuLnN2Z2AsXG4gIHdoYXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGF0LnN2Z2AsXG4gIGNhc2VfcmVzb2x1dGlvbl9kZWFkbGluZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doZW4uc3ZnYCxcbiAgY2FzZV9hc3NpZ25lZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aG8uc3ZnYCxcbiAgZm9ybWF0X2V2aWRlbmNlOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2Z2AsXG4gIGNhc2Vfb3duZXJzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3duZXIuc3ZnYCxcbiAgbGlua19jb250cm9sczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2xpbmstY29udHJvbHMuc3ZnYCxcbiAgbGlua19pdGVtczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2xpbmstaXRlbXMuc3ZnYCxcbiAgc3ByZWFkc2hlZXRfbXVsdGlwbGVfY2F0ZWdvcnk6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zcHJlYWRzaGVldC1tdWx0aXBsZS1jYXRlZ29yeS5zdmdgLFxuICByZWNvbW1lbmRlZF9hY3Rpb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZWNvbW1lbmRlZC1hY3Rpb24uc3ZnYCxcbiAgcmlza3M6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrcy5zdmdgLFxuICBleGNlcHRpb25fdHlwZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2V4Y2VwdGlvbi10eXBlLnN2Z2AsXG4gIHByaW9yaXR5OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnYCxcbiAgYXNzb2NpYXRlZF9yaXNrczogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc29jaWF0ZWQtcmlza3Muc3ZnYCxcbiAgb3ZlcnNpZ2h0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2Z2AsXG4gIGFkZF9yaXNrX21vcmVfb3B0aW9uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYWRkLXJpc2stbW9yZS1vcHRpb24uc3ZnYCxcbiAgbGFibGVzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGFibGVzLnN2Z2AsXG4gIHJldmlld2VyOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmV2aWV3ZXIuc3ZnYCxcbiAgY2hlY2twb2ludHM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jaGVja3BvaW50cy5zdmdgLFxuICBhc3Nlc3NtZW50czogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc2Vzc21lbnRzLnN2Z2AsXG4gIG9iamVjdGl2ZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2Z2AsXG4gIGF1ZGl0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnYCxcbiAgcm9sZXM6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yb2xlcy5zdmdgLFxuICBhcHByb3ZhbDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLnN2Z2AsXG4gIHJlY3VycmluZzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JlY3VycmluZy5zdmdgLFxuICBsb2NrX3Njb3BlOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbG9jay1zY29wZS5zdmdgLFxuICBjdXN0b21fZmllbGRzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY3VzdG9tLWZpZWxkcy5zdmdgLFxuICBsaW5rX3Jpc2tzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1yaXNrcy5zdmdgLFxuICBwbGFjZWhvbGRlcjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL2Fzc2Vzc21lbnQtZWRpdG9yL3BsYWNlaG9sZGVyLmpwZ2AsXG4gIGFkZF9sb2dpYzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL2Fzc2Vzc21lbnQtZWRpdG9yL2FkZC1sb2dpYy5zdmdgLFxuICBpbWFnZV9jaG9pY2U6IGBodHRwczovL3MzLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2V1LnYtY29tcGx5LmNvbS9vLzVlNDgxYTVkNjFjYTVlMTRmNTczMTA0OS9zdXJ2ZXkvNjFlNzhlNTU1MDI0NTEwMDA5YmI5MDA5L2ltYWdlLWNob2ljZS9TY3JlZW5zaG90LTIwMjIwMTE5LWF0LTktMDktMzUtQU0xNjQyNTc1NDkwMTQzLnBuZ2AsXG4gIGxvZ2ljX2ltYWdlX2Nob2ljZTogYGh0dHBzOi8vczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vZXUudi1jb21wbHkuY29tL28vNWU0ODFhNWQ2MWNhNWUxNGY1NzMxMDQ5L3N1cnZleS82MWVhMzAzMjA3ZGExNTAwMDlhOTcyMDcvaW1hZ2UtY2hvaWNlL1NjcmVlbnNob3QtMjAyMjAxMjEtYXQtOS0zNC0wNy1BTTE2NDI3Mzc4NzIwNTEucG5nYCxcbiAgdGhhbmtfeW91X2ltYWdlOiBgaHR0cHM6Ly9zMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ldS52LWNvbXBseS5jb20vby81ZTQ4MWE1ZDYxY2E1ZTE0ZjU3MzEwNDkvc3VydmV5LzYxZWUzYzk3YTk3MzE3MDAwOTQ1ODE1MC93ZWxjb21lLzIwMjAxMTI3MDkzMzM4MTY0MzAyNDgxNTgyMC5wbmdgLFxuICB1cGxvYWQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy91cGxvYWQuc3ZnYCxcbiAgc2VsZWN0X3VzZXJzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VsZWN0LXVzZXJzLnN2Z2AsXG4gIGV2ZXJ5b25lX2FzX3Blcl9jYXRlZ29yeTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2V2ZXJ5b25lLWFzLXBlci1jYXRlZ29yeS5zdmdgLFxuICBidWxiOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYnVsYi5zdmdgLFxuICBlbnRlcl9pY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZW50ZXItaWNvbi5zdmdgLFxuICBpbV9jcmVhdGluZzogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2ltLWNyZWF0aW5nLnN2Z2AsXG4gIG5vdGVzOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbm90ZXMuc3ZnYCxcbiAgYXR0ZXN0YXRpb25zOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXR0ZXN0YXRpb25zLnN2Z2AsXG4gIHJpc2tfY2F0ZWdvcnk6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrLWNhdGVnb3J5LnN2Z2AsXG4gIGlzc3VlX3R5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9pc3N1ZS10eXBlLnN2Z2AsXG4gIHR5cGU6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy90eXBlLnN2Z2AsXG4gIHNlYXJjaF9kYXRhOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnYCxcbiAgYXBwcm92YWxfd29ya2Zsb3c6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hcHByb3ZhbC13b3JrZmxvdy5zdmdgLFxuICBzZXF1ZW50aWFsOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VxdWVudGlhbC5zdmdgLFxuICByb3VuZF9yb2JpbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JvdW5kLXJvYmluLnN2Z2AsXG4gIGFueW9uZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FueW9uZS5zdmdgLFxuICBjYXRlZ29yeU5vRGF0YTogYCR7QkFTRV9VUkx9L3BvbGljeS9pbWFnZXMvSW5mb2dyYXBoaWMuc3ZnYCxcbn07XG4iXX0=
@@ -68,7 +68,9 @@ export class PolicyCategoryListComponent {
68
68
  }
69
69
  /** Initialize component by fetching program list */
70
70
  ngOnInit() {
71
- this.getPolicyCategoryList();
71
+ this.items = this.prepareCategoryList(this.items);
72
+ this.viewCategory(this.items[0]);
73
+ this.loadData(this.items);
72
74
  }
73
75
  /** Handle changes to inputs */
74
76
  ngOnChanges(changes) {
@@ -98,7 +100,7 @@ export class PolicyCategoryListComponent {
98
100
  const map = new Map();
99
101
  editorCategories.forEach((cat) => map.set(cat?.id, cat));
100
102
  // Check if category is a root
101
- const isRoot = (cat) => cat?.parent === null || !map.has(cat?.parent);
103
+ const isRoot = (cat) => cat?.parentId === null || !map.has(cat?.parentId);
102
104
  return editorCategories.filter(isRoot).map((root) => ({
103
105
  id: root?.id,
104
106
  name: root?.name,
@@ -108,8 +110,8 @@ export class PolicyCategoryListComponent {
108
110
  buildPath(categories, map) {
109
111
  const names = []; // start with child name
110
112
  let current = categories;
111
- while (current && current?.parent !== null) {
112
- const parent = map.get(current?.parent);
113
+ while (current && current?.parentId !== null) {
114
+ const parent = map.get(current?.parentId);
113
115
  if (parent) {
114
116
  names.push(parent?.name);
115
117
  current = parent;
@@ -122,14 +124,14 @@ export class PolicyCategoryListComponent {
122
124
  }
123
125
  buildChildren(root, categories, map) {
124
126
  return categories
125
- .filter((c) => c?.origin === root?.id || c?.parent === root?.id)
127
+ .filter((c) => c?.originId === root?.id || c?.parentId === root?.id)
126
128
  .map((child) => ({
127
129
  id: child?.id,
128
130
  name: child?.name,
129
131
  children: [],
130
132
  display_name: this.buildPath(child, map),
131
- origin: child?.origin,
132
- parent: child?.parent,
133
+ origin: child?.originId,
134
+ parent: child?.parentId,
133
135
  }));
134
136
  }
135
137
  /**
@@ -253,11 +255,11 @@ export class PolicyCategoryListComponent {
253
255
  this.destroy$.complete();
254
256
  }
255
257
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyCategoryListComponent, deps: [{ token: i1.ListUtilsService }, { token: i2.PolicyListApiService }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolicyCategoryListComponent, selector: "app-policy-category-list", inputs: { items: "items", selectedItems: "selectedItems", url: "url" }, outputs: { itemSelected: "itemSelected", itemDeselected: "itemDeselected", itemsSelectedChange: "itemsSelectedChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-list-container\">\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"\n items?.length > 0 || loaderState.programList || loaderState.categoryList;\n else defaultTemplate\n \"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-100 vx-justify-between\">\n <div class=\"vx-d-flex\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n <div class=\"search-block\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchConfig[header].term\"\n [placeholder]=\"searchConfig[header].placeholder\"\n (keyup)=\"search(header)\"\n />\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <ng-container *ngIf=\"!loaderState.programList; else programListLoader\">\n <!-- Show items when they exist -->\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0\n \"\n >\n <div\n *ngFor=\"\n let item of paginatedItems\n | search\n : searchConfig['POLICY CATEGORY'].term\n : 'name' as filteredParentCategories;\n let i = index\n \"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"\n selectedItems[0]?.origin === item.id ||\n selectedItems[0]?.id === item.id\n \"\n >\n <i class=\"icons checked\">&#xe949;</i>\n \n <!-- <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ 1 }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORY SELECTED\n </div> -->\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <!-- Show no-data when search returns no results -->\n <ng-container\n *ngIf=\"\n searchConfig['POLICY CATEGORY'].term &&\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length === 0\n \"\n >\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.search\"\n ></app-no-data>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #programListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n <div class=\"right-column\">\n <ng-container\n *ngIf=\"\n !loaderState.categoryList && !loaderState.programList;\n else categoryListLoader\n \"\n >\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0 && policyCategoryList?.length > 0;\n else defaultSubCategoryTemplate\n \"\n >\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let data of policyCategoryList; let i = index\"\n >\n <app-cs-radio\n [value]=\"data?.id\"\n [checked]=\"selectedItems[0]?.id === data?.id\"\n (checkedEvent)=\"selectItem($event, data)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ data?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n *ngIf=\"data?.display_name\"\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"data?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ data?.display_name }}\n </div>\n </div>\n </span>\n </app-cs-radio>\n </div>\n </ng-container>\n <ng-template #defaultSubCategoryTemplate>\n <div class=\"sub-no-data\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.policySubCategoryList\"\n ></app-no-data>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #categoryListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"\n searchTerm ? POLICY_NO_DATA.search : POLICY_NO_DATA.programList\n \"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 3rem)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative;width:200px}::ng-deep .dynamic-list-container .search-block input{height:24px;line-height:1.5rem;padding:4px 4px 4px 24px;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:11px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:8px;top:8px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-container .list-no-data-container{height:calc(100% - 2.5rem)}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .search-box{width:50%}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:end}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .right-column .sub-no-data{display:contents}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.checked{font-size:17px;color:#34aa44}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i6.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: i7.TableLoaderComponent, selector: "app-table-loader", inputs: ["listSize"] }, { kind: "pipe", type: i8.SearchPipe, name: "search" }] }); }
258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolicyCategoryListComponent, selector: "app-policy-category-list", inputs: { items: "items", selectedItems: "selectedItems", url: "url" }, outputs: { itemSelected: "itemSelected", itemDeselected: "itemDeselected", itemsSelectedChange: "itemsSelectedChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-list-container\">\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"\n items?.length > 0 || loaderState.programList || loaderState.categoryList;\n else defaultTemplate\n \"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-100 vx-justify-between\">\n <div class=\"vx-d-flex\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n <div class=\"search-block\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchConfig[header].term\"\n [placeholder]=\"searchConfig[header].placeholder\"\n (keyup)=\"search(header)\"\n />\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <ng-container *ngIf=\"!loaderState.programList; else programListLoader\">\n <!-- Show items when they exist -->\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0\n \"\n >\n <div\n *ngFor=\"\n let item of paginatedItems\n | search\n : searchConfig['POLICY CATEGORY'].term\n : 'name' as filteredParentCategories;\n let i = index\n \"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"\n selectedItems[0]?.origin === item.id ||\n selectedItems[0]?.id === item.id\n \"\n >\n <i class=\"icons checked\">&#xe949;</i>\n \n <!-- <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ 1 }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORY SELECTED\n </div> -->\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <!-- Show no-data when search returns no results -->\n <ng-container\n *ngIf=\"\n searchConfig['POLICY CATEGORY'].term &&\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length === 0\n \"\n >\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.search\"\n ></app-no-data>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #programListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n <div class=\"right-column\">\n <ng-container\n *ngIf=\"\n !loaderState.categoryList && !loaderState.programList;\n else categoryListLoader\n \"\n >\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0 && policyCategoryList?.length > 0;\n else defaultSubCategoryTemplate\n \"\n >\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let data of policyCategoryList; let i = index\"\n >\n <app-cs-radio\n [value]=\"data?.id\"\n [checked]=\"selectedItems[0]?.id === data?.id\"\n (checkedEvent)=\"selectItem($event, data)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ data?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n *ngIf=\"data?.display_name\"\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"data?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ data?.display_name }}\n </div>\n </div>\n </span>\n </app-cs-radio>\n </div>\n </ng-container>\n <ng-template #defaultSubCategoryTemplate>\n <div class=\"sub-no-data\">\n <!-- <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.policySubCategoryList\"\n ></app-no-data> -->\n </div>\n </ng-template>\n </ng-container>\n <ng-template #categoryListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.categoryNoData\"\n [noDataText]=\"\n searchTerm ? POLICY_NO_DATA.search : POLICY_NO_DATA.policyList\n \"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 3rem)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative;width:200px}::ng-deep .dynamic-list-container .search-block input{height:24px;line-height:1.5rem;padding:4px 4px 4px 24px;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:11px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:8px;top:8px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-container .list-no-data-container{height:calc(100% - 2.5rem)}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .search-box{width:50%}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:end}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .right-column .sub-no-data{display:contents}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.checked{font-size:17px;color:#34aa44}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i6.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: i7.TableLoaderComponent, selector: "app-table-loader", inputs: ["listSize"] }, { kind: "pipe", type: i8.SearchPipe, name: "search" }] }); }
257
259
  }
258
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyCategoryListComponent, decorators: [{
259
261
  type: Component,
260
- args: [{ selector: 'app-policy-category-list', template: "<div class=\"dynamic-list-container\">\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"\n items?.length > 0 || loaderState.programList || loaderState.categoryList;\n else defaultTemplate\n \"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-100 vx-justify-between\">\n <div class=\"vx-d-flex\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n <div class=\"search-block\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchConfig[header].term\"\n [placeholder]=\"searchConfig[header].placeholder\"\n (keyup)=\"search(header)\"\n />\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <ng-container *ngIf=\"!loaderState.programList; else programListLoader\">\n <!-- Show items when they exist -->\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0\n \"\n >\n <div\n *ngFor=\"\n let item of paginatedItems\n | search\n : searchConfig['POLICY CATEGORY'].term\n : 'name' as filteredParentCategories;\n let i = index\n \"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"\n selectedItems[0]?.origin === item.id ||\n selectedItems[0]?.id === item.id\n \"\n >\n <i class=\"icons checked\">&#xe949;</i>\n \n <!-- <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ 1 }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORY SELECTED\n </div> -->\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <!-- Show no-data when search returns no results -->\n <ng-container\n *ngIf=\"\n searchConfig['POLICY CATEGORY'].term &&\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length === 0\n \"\n >\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.search\"\n ></app-no-data>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #programListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n <div class=\"right-column\">\n <ng-container\n *ngIf=\"\n !loaderState.categoryList && !loaderState.programList;\n else categoryListLoader\n \"\n >\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0 && policyCategoryList?.length > 0;\n else defaultSubCategoryTemplate\n \"\n >\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let data of policyCategoryList; let i = index\"\n >\n <app-cs-radio\n [value]=\"data?.id\"\n [checked]=\"selectedItems[0]?.id === data?.id\"\n (checkedEvent)=\"selectItem($event, data)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ data?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n *ngIf=\"data?.display_name\"\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"data?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ data?.display_name }}\n </div>\n </div>\n </span>\n </app-cs-radio>\n </div>\n </ng-container>\n <ng-template #defaultSubCategoryTemplate>\n <div class=\"sub-no-data\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.policySubCategoryList\"\n ></app-no-data>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #categoryListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"\n searchTerm ? POLICY_NO_DATA.search : POLICY_NO_DATA.programList\n \"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 3rem)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative;width:200px}::ng-deep .dynamic-list-container .search-block input{height:24px;line-height:1.5rem;padding:4px 4px 4px 24px;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:11px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:8px;top:8px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-container .list-no-data-container{height:calc(100% - 2.5rem)}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .search-box{width:50%}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:end}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .right-column .sub-no-data{display:contents}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.checked{font-size:17px;color:#34aa44}\n"] }]
262
+ args: [{ selector: 'app-policy-category-list', template: "<div class=\"dynamic-list-container\">\n <div\n class=\"dynamic-list-table\"\n *ngIf=\"\n items?.length > 0 || loaderState.programList || loaderState.categoryList;\n else defaultTemplate\n \"\n >\n <div class=\"dynamic-list-header vx-d-flex\">\n <ng-container *ngFor=\"let header of tableHeaders\">\n <div class=\"vx-d-flex vx-w-100 vx-justify-between\">\n <div class=\"vx-d-flex\">\n <div\n class=\"serialNo vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center\"\n >\n #\n </div>\n <div\n class=\"headerText vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center\"\n >\n {{ header }}\n </div>\n </div>\n <div class=\"search-block\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchConfig[header].term\"\n [placeholder]=\"searchConfig[header].placeholder\"\n (keyup)=\"search(header)\"\n />\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"dynamic-list-body vx-d-flex\">\n <div class=\"left-column\">\n <ng-container *ngIf=\"!loaderState.programList; else programListLoader\">\n <!-- Show items when they exist -->\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0\n \"\n >\n <div\n *ngFor=\"\n let item of paginatedItems\n | search\n : searchConfig['POLICY CATEGORY'].term\n : 'name' as filteredParentCategories;\n let i = index\n \"\n class=\"list-row\"\n [class.selected]=\"activeProgram?.id === item.id\"\n (click)=\"viewCategory(item)\"\n >\n <div class=\"list-column serial\">\n <div class=\"srNo\">{{ i + 1 }}</div>\n </div>\n <div\n class=\"list-column name\"\n [class.with-count]=\"selectedItems[item.id]?.length > 0\"\n >\n <div class=\"name-inner vx-fs-13 vx-pr-2\">{{ item.name }}</div>\n </div>\n <div\n class=\"list-column count\"\n *ngIf=\"\n selectedItems[0]?.origin === item.id ||\n selectedItems[0]?.id === item.id\n \"\n >\n <i class=\"icons checked\">&#xe949;</i>\n \n <!-- <div\n class=\"count-box vx-fs-9 vx-fw-600 vx-lh-4 vx-d-flex vx-align-center vx-justify-center\"\n >\n {{ 1 }}\n </div>\n <div\n class=\"count-text vx-fs-11 vx-fw-500 vx-tt-uppercase vx-lh-4 vx-ml-2\"\n >\n CATEGORY SELECTED\n </div> -->\n </div>\n <div class=\"list-column action\">\n <button\n class=\"arrow vx-fs-12 vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n <i class=\"icons\"> &#xe970; </i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <!-- Show no-data when search returns no results -->\n <ng-container\n *ngIf=\"\n searchConfig['POLICY CATEGORY'].term &&\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length === 0\n \"\n >\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.search\"\n ></app-no-data>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #programListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n <div class=\"right-column\">\n <ng-container\n *ngIf=\"\n !loaderState.categoryList && !loaderState.programList;\n else categoryListLoader\n \"\n >\n <ng-container\n *ngIf=\"\n (\n paginatedItems\n | search : searchConfig['POLICY CATEGORY'].term : 'name'\n )?.length > 0 && policyCategoryList?.length > 0;\n else defaultSubCategoryTemplate\n \"\n >\n <div\n class=\"list-row vx-pl-2 vx-pr-2\"\n *ngFor=\"let data of policyCategoryList; let i = index\"\n >\n <app-cs-radio\n [value]=\"data?.id\"\n [checked]=\"selectedItems[0]?.id === data?.id\"\n (checkedEvent)=\"selectItem($event, data)\"\n >\n <span class=\"value-inner\">\n <div class=\"item-name vx-fs-13\">{{ data?.name }}</div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n *ngIf=\"data?.display_name\"\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"data?.parentTree?.join(' > ')\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ data?.display_name }}\n </div>\n </div>\n </span>\n </app-cs-radio>\n </div>\n </ng-container>\n <ng-template #defaultSubCategoryTemplate>\n <div class=\"sub-no-data\">\n <!-- <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"POLICY_NO_DATA.policySubCategoryList\"\n ></app-no-data> -->\n </div>\n </ng-template>\n </ng-container>\n <ng-template #categoryListLoader>\n <app-table-loader></app-table-loader>\n </ng-template>\n </div>\n </div>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"list-no-data-container\">\n <app-no-data\n [noDataImage]=\"ASSETS.categoryNoData\"\n [noDataText]=\"\n searchTerm ? POLICY_NO_DATA.search : POLICY_NO_DATA.policyList\n \"\n ></app-no-data>\n </div>\n </ng-template>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .dynamic-list-container{height:calc(100% - 3rem)}::ng-deep .dynamic-list-container.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .dynamic-list-container .search-block{position:relative;width:200px}::ng-deep .dynamic-list-container .search-block input{height:24px;line-height:1.5rem;padding:4px 4px 4px 24px;outline:none;border:1px solid #cdced6;border-radius:.25rem;width:100%;font-size:11px;color:#747576}::ng-deep .dynamic-list-container .search-block input::placeholder{font-weight:400}::ng-deep .dynamic-list-container .search-block input:focus{border-color:#1e5dd3}::ng-deep .dynamic-list-container .search-block i{position:absolute;left:8px;top:8px;pointer-events:none;color:#e3e3e9;font-size:12px}::ng-deep .dynamic-list-container .list-no-data-container{height:calc(100% - 2.5rem)}::ng-deep .dynamic-list-filter{position:relative;min-width:240px;height:2.5rem;border:1px solid #cdced6;border-radius:.25rem;margin-left:6px;color:#a9aab6;font-size:13px;padding:0 .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}::ng-deep .dynamic-list-filter .filter-icon{color:#787a8c;font-size:12px}::ng-deep .dynamic-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .dynamic-list-head button.back-btn{background:transparent;border-radius:0;border:none;position:relative;top:.125rem}::ng-deep .dynamic-list-header .search-box{width:50%}::ng-deep .dynamic-list-header .serialNo{color:#787a8c;min-width:2rem;height:2rem}::ng-deep .dynamic-list-header .headerText{color:#787a8c;min-width:calc(100% - 2rem);height:2rem}::ng-deep .dynamic-list-table{width:100%;border-collapse:collapse;height:calc(100% - 3rem)}::ng-deep .dynamic-list-body{height:calc(100% - 2rem);width:calc(100% + .75rem);position:relative}::ng-deep .dynamic-list-body .left-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .left-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .left-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .left-column .list-row.selected{background-color:#f2f2f5}::ng-deep .dynamic-list-body .left-column .list-row.selected:before{background:#1e5dd3;border-radius:.125rem .125rem 0 0;content:\"\";position:absolute;left:0;top:-1px;width:100%;height:.125rem;z-index:1}::ng-deep .dynamic-list-body .left-column .list-row.selected .list-column.serial .srNo{background:#e3e3e9;color:#565a6f}::ng-deep .dynamic-list-body .left-column .list-row .list-column{color:#000;font-size:11px;height:3rem;position:relative;display:flex;align-items:center;padding:0 .25rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial{width:2rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.serial .srNo{background:#f9f9fa;writing-mode:vertical-lr;color:#787a8c;font-size:11px;font-weight:500;height:46px;display:flex;justify-content:center;transition:all .2s ease-in-out;position:relative}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name{width:calc(100% - 4.5rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .left-column .list-row .list-column.name.with-count{width:calc(100% - 16rem)}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count{width:11.5rem;justify-content:end}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-box{background:#1e5dd3;border-radius:1.25rem;color:#fff;padding:0 .125rem;min-width:1rem;height:1rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.count .count-text{color:#787a8c}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action{width:2.5rem;justify-content:center}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow{background:transparent;border-radius:.25rem;border:none;color:#565a6f;min-width:1.5rem;height:1.5rem}::ng-deep .dynamic-list-body .left-column .list-row .list-column.action button.arrow:hover{background:#e3e3e9}::ng-deep .dynamic-list-body .right-column{width:calc(50% + .5rem);padding-right:.5rem;position:relative;overflow-y:auto;scrollbar-width:thin}::ng-deep .dynamic-list-body .right-column .list-row{background-color:#fff;border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;display:flex;align-items:center;margin-bottom:.25rem;position:relative;transition:all .2s ease-in-out;width:100%;height:3rem}::ng-deep .dynamic-list-body .right-column .list-row:hover{background:#f8f8f8}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox{width:100%;display:flex}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value{width:100%;justify-content:start}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner{width:100%}::ng-deep .dynamic-list-body .right-column .list-row app-cs-checkbox .checkbox-item .value .value-inner .item-name{color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .dynamic-list-body .right-column .sub-no-data{display:contents}::ng-deep .new-action-list{background:#fff;border-radius:.25rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:240px}::ng-deep .new-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;max-height:220px;overflow:auto}::ng-deep .new-action-list ul.action-item{display:block}::ng-deep .new-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .new-action-list ul.action-item li:last-child{border-bottom:none}::ng-deep .new-action-list ul.action-item li app-cs-checkbox{display:flex}::ng-deep .new-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .new-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .new-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .new-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .new-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .new-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .new-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .new-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .new-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .new-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .new-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .new-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .new-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .new-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .new-action-list ul.action-item li .chip-item app-cs-checkbox .checkbox-item .value{color:#000;font-size:11px}::ng-deep .new-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .new-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .new-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .new-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .new-action-list .program-type-text{color:#787a8c;border-bottom:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom{border-top:1px solid #f2f2f5}::ng-deep .new-action-list .program-type-bottom button{background:#fff;border-radius:.125rem;margin:0 .125rem!important;transition:all .3s ease-out}::ng-deep .new-action-list .program-type-bottom button.reset-btn{border:1px solid #cdced6;color:#1e5dd3}::ng-deep .new-action-list .program-type-bottom button.reset-btn:hover{background:#f9f9fa}::ng-deep .new-action-list .program-type-bottom button.apply-btn{background:#1e5dd3;border:1px solid #1e5dd3;color:#fff}::ng-deep .new-action-list .program-type-bottom button.apply-btn:hover{background:#1146a8}::ng-deep .new-action-list .program-type-bottom button.apply-btn.disabled{background:#e3e3e9;border-color:#e3e3e9;color:#a9aab6;pointer-events:none}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.checked{font-size:17px;color:#34aa44}\n"] }]
261
263
  }], ctorParameters: function () { return [{ type: i1.ListUtilsService }, { type: i2.PolicyListApiService }]; }, propDecorators: { items: [{
262
264
  type: Input
263
265
  }], selectedItems: [{
@@ -271,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
271
273
  }], itemsSelectedChange: [{
272
274
  type: Output
273
275
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQU1iLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxrQkFBa0IsRUFDbEIsaUJBQWlCLEdBRWxCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixjQUFjLEdBQ2YsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0FBaUM3RCxNQUFNLE9BQU8sMkJBQTJCO0lBdUR0QyxZQUNVLFNBQTJCLEVBQzNCLG9CQUEwQztRQUQxQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdERwRCxpREFBaUQ7UUFDeEMsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUUzQiw0REFBNEQ7UUFDbkQsa0JBQWEsR0FBZSxFQUFFLENB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QXZCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFBST0dSQU1fVEFCTEVfSEVBREVSUyxcbiAgUEFHSU5BVElPTl9PUFRJT05TLFxuICBQUk9HUkFNX1RZUEVfTElTVCxcbiAgUFJPR1JBTV9OT19EQVRBLFxufSBmcm9tICcuLi8uLi9wcm9ncmFtLWxpc3QvY29uc3RhbnQnO1xuaW1wb3J0IHtcbiAgUE9MSUNZX0NBVEVHT1JZX1RBQkxFX0hFQURFUlMsXG4gIFBPTElDWV9OT19EQVRBLFxufSBmcm9tICcuLi9jb25zdGFudHMvcG9saWN5LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IExpc3RVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm9ncmFtLWxpc3Qvc2VydmljZXMvbGlzdC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2dyYW1MaXN0QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb2dyYW0tbGlzdC9zZXJ2aWNlcy9wcm9ncmFtLWxpc3QtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUE9MSUNZX0NBVEVHT1JZX0xJU1RfU1RVQlMsXG4gIFBPTElDWV9DQVRFR09SWV9MSVNUX1NUVUJTXzIsXG59IGZyb20gJy4uL2NvbnN0YW50cy9zdHVicyc7XG5pbXBvcnQgeyBQb2xpY3lMaXN0QXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvbGljeS1saXN0LWFwaS5zZXJ2aWNlJztcbi8qKlxuICogQSByZXVzYWJsZSBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYW5kIG1hbmFnaW5nIGEgbGlzdCBvZiBwcm9ncmFtcyB3aXRoIGZpbHRlcmluZywgcGFnaW5hdGlvbiwgYW5kIGNhdGVnb3J5IHZpZXdpbmcgY2FwYWJpbGl0aWVzLlxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBQcm9ncmFtIGxpc3Rpbmcgd2l0aCBwYWdpbmF0aW9uXG4gKiAtIFNlYXJjaCBmdW5jdGlvbmFsaXR5IHdpdGggZGVib3VuY2VcbiAqIC0gUHJvZ3JhbSB0eXBlIGZpbHRlcmluZ1xuICogLSBDYXRlZ29yeSB2aWV3aW5nIGZvciBzZWxlY3RlZCBwcm9ncmFtc1xuICogLSBNdWx0aS1zZWxlY3QgY2FwYWJpbGl0eVxuICpcbiAqIEB0ZW1wbGF0ZSBUIEV4dGVuZHMgTGlzdEl0ZW0gaW50ZXJmYWNlIGZvciB0eXBlIHNhZmV0eSBvZiBsaXN0IGl0ZW1zXG4gKi9cblxuaW50ZXJmYWNlIENhdGVnb3J5IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwYXJlbnQ/OiBzdHJpbmc7XG4gIHBhcmVudFRyZWU/OiBzdHJpbmdbXTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXBvbGljeS1jYXRlZ29yeS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGVnb3J5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yeS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvbGljeUNhdGVnb3J5TGlzdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgLyoqIEFycmF5IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbGlzdCAqL1xuICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcblxuICAvKiogT2JqZWN0IGNvbnRhaW5pbmcgc2VsZWN0ZWQgaXRlbXMsIGtleWVkIGJ5IHByb2dyYW0gSUQgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55IHwgbnVsbCA9IHt9O1xuXG4gIC8qKiBVUkwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIEFQSSBlbmRwb2ludHMgKi9cbiAgQElucHV0KCkgdXJsOiBhbnkgPSB7fTtcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBkZXNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBpdGVtRGVzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBjaGFuZ2VzICovXG4gIEBPdXRwdXQoKSBpdGVtc1NlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICB0YWJsZUhlYWRlcnMgPSBQT0xJQ1lfQ0FURUdPUllfVEFCTEVfSEVBREVSUztcbiAgY3VycmVudFBhZ2UgPSBQQUdJTkFUSU9OX09QVElPTlMuREVGQVVMVF9DVVJSRU5UX1BBR0U7XG4gIHBhZ2VTaXplID0gUEFHSU5BVElPTl9PUFRJT05TLlBBR0VfU0laRTtcbiAgdG90YWxQYWdlcyA9IDA7XG4gIHNlYXJjaFRlcm0gPSAnJztcbiAgcGFnaW5hdGVkSXRlbXM6IGFueVtdID0gW107XG4gIGFjdGl2ZVByb2dyYW06IGFueSB8IG51bGwgPSBudWxsO1xuICBjYXRlZ29yeUxpc3Q6IGFueSA9IHt9O1xuICBwcm9ncmFtVHlwZUxpc3Q6IGFueVtdID0gUFJPR1JBTV9UWVBFX0xJU1Q7XG4gIHNlbGVjdGVkUHJvZ3JhbVR5cGU6IGFueVtdID0gW107XG4gIGxvYWRlclN0YXRlOiBhbnkgPSB7XG4gICAgcHJvZ3JhbUxpc3Q6IGZhbHNlLFxuICAgIGNhdGVnb3J5TGlzdDogZmFsc2UsXG4gIH07XG4gIGFwcGxpZWRQcm9ncmFtVHlwZTogYW55W10gPSBbXTtcbiAgUE9MSUNZX05PX0RBVEE6IGFueSA9IFBPTElDWV9OT19EQVRBO1xuICBBU1NFVFM6IGFueSA9IEFTU0VUUztcbiAgcHJvZ3JhbUNhdGVnb3J5TGlzdDogYW55ID0ge307XG4gIHBvbGljeUNhdGVnb3J5TGlzdDogYW55ID0gW107XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XG4gIHNlYXJjaENvbmZpZzogeyBba2V5OiBzdHJpbmddOiB7IHRlcm06IHN0cmluZzsgcGxhY2Vob2xkZXI6IHN0cmluZyB9IH0gPSB7XG4gICAgJ1BPTElDWSBDQVRFR09SWSc6IHsgdGVybTogJycsIHBsYWNlaG9sZGVyOiAnU2VhcmNoIENhdGVnb3J5JyB9LFxuICAgICdQT0xJQ1kgU1VCIENBVEVHT1JZJzogeyB0ZXJtOiAnJywgcGxhY2Vob2xkZXI6ICdTZWFyY2ggU3ViIENhdGVnb3J5JyB9LFxuICB9O1xuXG4gIGZpbHRlcmVkQ2F0ZWdvcmllczogYW55W10gPSBbXTsgLy8gYWZ0ZXIgYXBwbHlpbmcgY2F0ZWdvcnkgc2VhcmNoXG4gIGZpbHRlcmVkU3ViY2F0ZWdvcmllczogYW55W10gPSBbXTsgLy8gYWZ0ZXIgYXBwbHlpbmcgc3ViY2F0ZWdvcnkgc2VhcmNoXG5cbiAgLyoqIFN1YmplY3QgZm9yIGhhbmRsaW5nIGRlYm91bmNlZCBzZWFyY2ggKi9cbiAgcHJpdmF0ZSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8qKiBTdWJqZWN0IGZvciBjbGVhbnVwIHN1YnNjcmlwdGlvbnMgKi9cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsaXN0VXRpbHM6IExpc3RVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lMaXN0QXBpU2VydmljZTogUG9saWN5TGlzdEFwaVNlcnZpY2VcbiAgKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBkZWJvdW5jZWQgc2VhcmNoXG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0XG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucGVyZm9ybVNlYXJjaCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKiogSW5pdGlhbGl6ZSBjb21wb25lbnQgYnkgZmV0Y2hpbmcgcHJvZ3JhbSBsaXN0ICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UG9saWN5Q2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICAvKiogSGFuZGxlIGNoYW5nZXMgdG8gaW5wdXRzICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSB8fCBjaGFuZ2VzWydzZWxlY3RlZEl0ZW1zJ10pIHtcbiAgICAgIHRoaXMucGFnaW5hdGVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICB9XG4gIH1cblxuICAvKiogRmV0Y2ggcHJvZ3JhbSBsaXN0IGZyb20gQVBJICovXG4gIGdldFBvbGljeUNhdGVnb3J5TGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRlclN0YXRlLnByb2dyYW1MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLnBvbGljeUxpc3RBcGlTZXJ2aWNlLmdldFBvbGljeUNhdGVnb3J5TGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnByZXBhcmVDYXRlZ29yeUxpc3QocmVzPy5kYXRhPy5wb2xpY3lDYXRlZ29yaWVzKTtcbiAgICAgIHRoaXMudmlld0NhdGVnb3J5KHRoaXMuaXRlbXNbMF0pO1xuICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLml0ZW1zKTtcbiAgICAgIHRoaXMubG9hZGVyU3RhdGUucHJvZ3JhbUxpc3QgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGRhdGEgYW5kIGluaXRpYWxpemUgcGFnaW5hdGlvblxuICAgKiBAcGFyYW0gZGF0YSBBcnJheSBvZiBpdGVtcyB0byBsb2FkXG4gICAqL1xuICBsb2FkRGF0YShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKDEsIGRhdGEpO1xuICB9XG5cbiAgcHJlcGFyZUNhdGVnb3J5TGlzdChjYXRlZ29yaWVzOiBhbnlbXSkge1xuICAgIGNvbnN0IGVkaXRvckNhdGVnb3JpZXMgPSBjYXRlZ29yaWVzLmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBjYXRlZ29yeT8ucm9sZSA9PT0gJ2VkaXRvcicgfHwgY2F0ZWdvcnk/LnJvbGUgPT09ICdvd25lcidcbiAgICApO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8bnVtYmVyLCBhbnk+KCk7XG4gICAgZWRpdG9yQ2F0ZWdvcmllcy5mb3JFYWNoKChjYXQpID0+IG1hcC5zZXQoY2F0Py5pZCwgY2F0KSk7XG5cbiAgICAvLyBDaGVjayBpZiBjYXRlZ29yeSBpcyBhIHJvb3RcbiAgICBjb25zdCBpc1Jvb3QgPSAoY2F0OiBhbnkpID0+IGNhdD8ucGFyZW50ID09PSBudWxsIHx8ICFtYXAuaGFzKGNhdD8ucGFyZW50KTtcblxuICAgIHJldHVybiBlZGl0b3JDYXRlZ29yaWVzLmZpbHRlcihpc1Jvb3QpLm1hcCgocm9vdDogYW55KSA9PiAoe1xuICAgICAgaWQ6IHJvb3Q/LmlkLFxuICAgICAgbmFtZTogcm9vdD8ubmFtZSxcbiAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5idWlsZENoaWxkcmVuKHJvb3QsIGVkaXRvckNhdGVnb3JpZXMsIG1hcCldLFxuICAgIH0pKTtcbiAgfVxuXG4gIGJ1aWxkUGF0aChjYXRlZ29yaWVzOiBhbnksIG1hcDogYW55KSB7XG4gICAgY29uc3QgbmFtZXM6IHN0cmluZ1tdID0gW107IC8vIHN0YXJ0IHdpdGggY2hpbGQgbmFtZVxuICAgIGxldCBjdXJyZW50ID0gY2F0ZWdvcmllcztcblxuICAgIHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQ/LnBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGFyZW50ID0gbWFwLmdldChjdXJyZW50Py5wYXJlbnQpO1xuICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICBuYW1lcy5wdXNoKHBhcmVudD8ubmFtZSk7XG4gICAgICAgIGN1cnJlbnQgPSBwYXJlbnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZXMuam9pbignIDwgJyk7XG4gIH1cblxuICBidWlsZENoaWxkcmVuKHJvb3Q6IGFueSwgY2F0ZWdvcmllczogYW55LCBtYXA6IGFueSkge1xuICAgIHJldHVybiBjYXRlZ29yaWVzXG4gICAgICAuZmlsdGVyKChjOiBhbnkpID0+IGM/Lm9yaWdpbiA9PT0gcm9vdD8uaWQgfHwgYz8ucGFyZW50ID09PSByb290Py5pZClcbiAgICAgIC5tYXAoKGNoaWxkOiBhbnkpID0+ICh7XG4gICAgICAgIGlkOiBjaGlsZD8uaWQsXG4gICAgICAgIG5hbWU6IGNoaWxkPy5uYW1lLFxuICAgICAgICBjaGlsZHJlbjogW10sIC8vIGZsYXR0ZW4gY2hpbGRyZW5cbiAgICAgICAgZGlzcGxheV9uYW1lOiB0aGlzLmJ1aWxkUGF0aChjaGlsZCwgbWFwKSxcbiAgICAgICAgb3JpZ2luOiBjaGlsZD8ub3JpZ2luLFxuICAgICAgICBwYXJlbnQ6IGNoaWxkPy5wYXJlbnQsXG4gICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGl0ZW0gc2VsZWN0aW9uL2Rlc2VsZWN0aW9uXG4gICAqIEBwYXJhbSBldmVudCBTZWxlY3Rpb24gZXZlbnRcbiAgICogQHBhcmFtIGl0ZW0gSXRlbSBiZWluZyBzZWxlY3RlZC9kZXNlbGVjdGVkXG4gICAqL1xuICBzZWxlY3RJdGVtKGV2ZW50OiBhbnksIGl0ZW06IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IGl0ZW07XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZENhdGVnb3J5KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0IGEgc3BlY2lmaWMgaXRlbVxuICAgKiBAcGFyYW0gaXRlbSBJdGVtIHRvIGRlc2VsZWN0XG4gICAqL1xuICBkZXNlbGVjdEl0ZW0oaXRlbTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB0aGlzLml0ZW1EZXNlbGVjdGVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gaXRlbSBpcyBzZWxlY3RlZFxuICAgKiBAcGFyYW0gaXRlbSBJdGVtIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIEJvb2xlYW4gaW5kaWNhdGluZyBpZiBpdGVtIGlzIHNlbGVjdGVkXG4gICAqL1xuICBpc1NlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSB0byBzcGVjaWZpYyBwYWdlXG4gICAqIEBwYXJhbSBwYWdlIFBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gcGFnaW5hdGVcbiAgICovXG4gIGdvVG9QYWdlKHBhZ2U6IG51bWJlciwgZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5wYWdpbmF0ZUl0ZW1zKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhcnJheSBvZiBwYWdlIG51bWJlcnMgZm9yIHBhZ2luYXRpb25cbiAgICogQHJldHVybnMgQXJyYXkgb2YgcGFnZSBudW1iZXJzXG4gICAqL1xuICBnZXRQYWdlTnVtYmVycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFV0aWxzLmdldFBhZ2VOdW1iZXJzKHRoaXMuaXRlbXMubGVuZ3RoLCB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYWdpbmF0ZSBpdGVtcyBhbmQgdXBkYXRlIHZpZXdcbiAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBwYWdpbmF0ZVxuICAgKi9cbiAgcGFnaW5hdGVJdGVtcyhkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwoZGF0YS5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICB0aGlzLnBhZ2luYXRlZEl0ZW1zID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaWV3IGNhdGVnb3JpZXMgZm9yIGEgc2VsZWN0ZWQgcHJvZ3JhbVxuICAgKiBAcGFyYW0gaXRlbSBQcm9ncmFtIHRvIHZpZXcgY2F0ZWdvcmllcyBmb3JcbiAgICovXG4gIHZpZXdDYXRlZ29yeShpdGVtPzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVQcm9ncmFtID0gaXRlbTtcbiAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IHRydWU7XG4gICAgdGhpcy5wb2xpY3lDYXRlZ29yeUxpc3QgPSB0aGlzLml0ZW1zLmZpbmQoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaWQgPT09IGl0ZW0uaWRcbiAgICApPy5jaGlsZHJlbjtcbiAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tQcm9ncmFtQ2F0ZWdvcnlFeGlzdHMoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2dyYW1DYXRlZ29yeUxpc3RbaWRdKSB7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdFtpZF0gPSB0aGlzLmFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoXG4gICAgICAgIHRoaXMucHJvZ3JhbUNhdGVnb3J5TGlzdFtpZF1cbiAgICAgICk7XG4gICAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoY2F0ZWdvcmllczogYW55W10pOiBhbnlbXSB7XG4gICAgaWYgKCFjYXRlZ29yaWVzPy5sZW5ndGgpIHJldHVybiBbXTtcblxuICAgIGNvbnN0IGNhdGVnb3J5TWFwID0gbmV3IE1hcChcbiAgICAgIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gW2NhdGVnb3J5LmlkLCBjYXRlZ29yeV0pXG4gICAgKTtcblxuICAgIGNvbnN0IGdldFBhcmVudFRyZWUgPSAoY2F0ZWdvcnk6IENhdGVnb3J5KTogc3RyaW5nW10gPT4ge1xuICAgICAgY29uc3QgcGFyZW50VHJlZTogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCBjdXJyZW50UGFyZW50ID0gY2F0ZWdvcnkucGFyZW50O1xuXG4gICAgICB3aGlsZSAoY3VycmVudFBhcmVudCkge1xuICAgICAgICBjb25zdCBwYXJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5TWFwLmdldChjdXJyZW50UGFyZW50KTtcbiAgICAgICAgaWYgKCFwYXJlbnRDYXRlZ29yeSkgYnJlYWs7XG5cbiAgICAgICAgcGFyZW50VHJlZS5wdXNoKHBhcmVudENhdGVnb3J5Lm5hbWUpO1xuICAgICAgICBjdXJyZW50UGFyZW50ID0gcGFyZW50Q2F0ZWdvcnkucGFyZW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50VHJlZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gKHtcbiAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgcGFyZW50VHJlZTogZ2V0UGFyZW50VHJlZShjYXRlZ29yeSksXG4gICAgfSkpO1xuICB9XG5cbiAgY2hlY2tDYXRlZ29yeUF2YWlsYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRQcm9ncmFtQXZhaWxhYmxlID0gdGhpcy5wYWdpbmF0ZWRJdGVtcy5zb21lKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uaWQgPT09IHRoaXMuYWN0aXZlUHJvZ3JhbT8uaWRcbiAgICApO1xuICAgIGlmICghaXNTZWxlY3RlZFByb2dyYW1BdmFpbGFibGUpIHtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW0gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIGRlYm91bmNlZCBzZWFyY2ggKi9cbiAgc2VhcmNoKGhlYWRlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdGVybSA9IHRoaXMuc2VhcmNoQ29uZmlnW2hlYWRlcl0udGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGhlYWRlci50b0xvd2VyQ2FzZSgpID09PSAncG9saWN5IGNhdGVnb3J5Jykge1xuICAgICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBhbnkpID0+XG4gICAgICAgIGl0ZW0/Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSlcbiAgICAgICk7XG4gICAgICB0aGlzLmNoZWNrQ2F0ZWdvcnlBdmFpbGJpbGl0eSgpO1xuICAgIH0gZWxzZSBpZiAoaGVhZGVyLnRvTG93ZXJDYXNlKCkgPT09ICdwb2xpY3kgc3ViIGNhdGVnb3J5Jykge1xuICAgICAgdGhpcy5wb2xpY3lDYXRlZ29yeUxpc3QgPVxuICAgICAgICB0aGlzLml0ZW1zXG4gICAgICAgICAgLmZpbmQoKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5LmlkID09PSB0aGlzLmFjdGl2ZVByb2dyYW0/LmlkKVxuICAgICAgICAgID8uY2hpbGRyZW4uZmlsdGVyKChzdWI6IGFueSkgPT5cbiAgICAgICAgICAgIHN1Yj8ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxuICAgICAgICAgICkgfHwgW107XG4gICAgfVxuICB9XG5cbiAgLyoqIFBlcmZvcm0gc2VhcmNoIG9uIGl0ZW1zICovXG4gIHByaXZhdGUgcGVyZm9ybVNlYXJjaCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW06IGFueSkgPT5cbiAgICAgIGl0ZW0/Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXJtPy50b0xvd2VyQ2FzZSgpKVxuICAgICk7XG4gICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IGZpbHRlcmVkSXRlbXM7XG4gICAgdGhpcy5jaGVja0NhdGVnb3J5QXZhaWxiaWxpdHkoKTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIHN1YnNjcmlwdGlvbnMgb24gY29tcG9uZW50IGRlc3RydWN0aW9uICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImR5bmFtaWMtbGlzdC1jb250YWluZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHluYW1pYy1saXN0LXRhYmxlXCJcbiAgICAqbmdJZj1cIlxuICAgICAgaXRlbXM/Lmxlbmd0aCA+IDAgfHwgbG9hZGVyU3RhdGUucHJvZ3JhbUxpc3QgfHwgbG9hZGVyU3RhdGUuY2F0ZWdvcnlMaXN0O1xuICAgICAgZWxzZSBkZWZhdWx0VGVtcGxhdGVcbiAgICBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtbGlzdC1oZWFkZXIgdngtZC1mbGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtdy0xMDAgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlcmlhbE5vIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImhlYWRlclRleHQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaENvbmZpZ1toZWFkZXJdLnRlcm1cIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoQ29uZmlnW2hlYWRlcl0ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAoa2V5dXApPVwic2VhcmNoKGhlYWRlcilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1saXN0LWJvZHkgdngtZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb2x1bW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXJTdGF0ZS5wcm9ncmFtTGlzdDsgZWxzZSBwcm9ncmFtTGlzdExvYWRlclwiPlxuICAgICAgICAgIDwhLS0gU2hvdyBpdGVtcyB3aGVuIHRoZXkgZXhpc3QgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHBhZ2luYXRlZEl0ZW1zXG4gICAgICAgICAgICAgICAgfCBzZWFyY2ggOiBzZWFyY2hDb25maWdbJ1BPTElDWSBDQVRFR09SWSddLnRlcm0gOiAnbmFtZSdcbiAgICAgICAgICAgICAgKT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIHBhZ2luYXRlZEl0ZW1zXG4gICAgICAgICAgICAgICAgICB8IHNlYXJjaFxuICAgICAgICAgICAgICAgICAgICA6IHNlYXJjaENvbmZpZ1snUE9MSUNZIENBVEVHT1JZJ10udGVybVxuICAgICAgICAgICAgICAgICAgICA6ICduYW1lJyBhcyBmaWx0ZXJlZFBhcmVudENhdGVnb3JpZXM7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtcm93XCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVByb2dyYW0/LmlkID09PSBpdGVtLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdDYXRlZ29yeShpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3JOb1wiPnt7IGkgKyAxIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWNvbHVtbiBuYW1lXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1jb3VudF09XCJzZWxlY3RlZEl0ZW1zW2l0ZW0uaWRdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyIHZ4LWZzLTEzIHZ4LXByLTJcIj57eyBpdGVtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3QtY29sdW1uIGNvdW50XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc1swXT8ub3JpZ2luID09PSBpdGVtLmlkIHx8XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zWzBdPy5pZCA9PT0gaXRlbS5pZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjaGVja2VkXCI+JiN4ZTk0OTs8L2k+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtbGgtNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAxIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC10ZXh0IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtbGgtNCB2eC1tbC0yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDQVRFR09SWSBTRUxFQ1RFRFxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbHVtbiBhY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93IHZ4LWZzLTEyIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiAmI3hlOTcwOyA8L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8IS0tIFNob3cgbm8tZGF0YSB3aGVuIHNlYXJjaCByZXR1cm5zIG5vIHJlc3VsdHMgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtICYmXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBwYWdpbmF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoIDogc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtIDogJ25hbWUnXG4gICAgICAgICAgICAgICk/Lmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1uby1kYXRhLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJQT0xJQ1lfTk9fREFUQS5zZWFyY2hcIlxuICAgICAgICAgICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwcm9ncmFtTGlzdExvYWRlcj5cbiAgICAgICAgICA8YXBwLXRhYmxlLWxvYWRlcj48L2FwcC10YWJsZS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2x1bW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhbG9hZGVyU3RhdGUuY2F0ZWdvcnlMaXN0ICYmICFsb2FkZXJTdGF0ZS5wcm9ncmFtTGlzdDtcbiAgICAgICAgICAgIGVsc2UgY2F0ZWdvcnlMaXN0TG9hZGVyXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBwYWdpbmF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoIDogc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtIDogJ25hbWUnXG4gICAgICAgICAgICAgICk/Lmxlbmd0aCA+IDAgJiYgcG9saWN5Q2F0ZWdvcnlMaXN0Py5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICBlbHNlIGRlZmF1bHRTdWJDYXRlZ29yeVRlbXBsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LXJvdyB2eC1wbC0yIHZ4LXByLTJcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lDYXRlZ29yeUxpc3Q7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZEl0ZW1zWzBdPy5pZCA9PT0gZGF0YT8uaWRcIlxuICAgICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwic2VsZWN0SXRlbSgkZXZlbnQsIGRhdGEpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWUgdngtZnMtMTNcIj57eyBkYXRhPy5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGE/LmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGE/LnBhcmVudFRyZWU/LmpvaW4oJyA+ICcpXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8uZGlzcGxheV9uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFN1YkNhdGVnb3J5VGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLW5vLWRhdGFcIj5cbiAgICAgICAgICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiXG4gICAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiUE9MSUNZX05PX0RBVEEucG9saWN5U3ViQ2F0ZWdvcnlMaXN0XCJcbiAgICAgICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjYXRlZ29yeUxpc3RMb2FkZXI+XG4gICAgICAgICAgPGFwcC10YWJsZS1sb2FkZXI+PC9hcHAtdGFibGUtbG9hZGVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1uby1kYXRhLWNvbnRhaW5lclwiPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICBbbm9EYXRhVGV4dF09XCJcbiAgICAgICAgICBzZWFyY2hUZXJtID8gUE9MSUNZX05PX0RBVEEuc2VhcmNoIDogUE9MSUNZX05PX0RBVEEucHJvZ3JhbUxpc3RcbiAgICAgICAgXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQU1iLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxrQkFBa0IsRUFDbEIsaUJBQWlCLEdBRWxCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixjQUFjLEdBQ2YsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0FBaUM3RCxNQUFNLE9BQU8sMkJBQTJCO0lBdUR0QyxZQUNVLFNBQTJCLEVBQzNCLG9CQUEwQztRQUQxQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdERwRCxpREFBaUQ7UUFDeEMsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUUzQiw0REFBNEQ7UUFDbkQsa0JBQWEsR0FBZSxFQUFFLENB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eER4QyxrNk5BbU1BOzs0RkQzSWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjswSUFRM0IsS0FBSztzQkFBYixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csR0FBRztzQkFBWCxLQUFLO2dCQUdJLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0csY0FBYztzQkFBdkIsTUFBTTtnQkFHRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVGVtcGxhdGVSZWYsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUFJPR1JBTV9UQUJMRV9IRUFERVJTLFxuICBQQUdJTkFUSU9OX09QVElPTlMsXG4gIFBST0dSQU1fVFlQRV9MSVNULFxuICBQUk9HUkFNX05PX0RBVEEsXG59IGZyb20gJy4uLy4uL3Byb2dyYW0tbGlzdC9jb25zdGFudCc7XG5pbXBvcnQge1xuICBQT0xJQ1lfQ0FURUdPUllfVEFCTEVfSEVBREVSUyxcbiAgUE9MSUNZX05PX0RBVEEsXG59IGZyb20gJy4uL2NvbnN0YW50cy9wb2xpY3kuY29uc3RhbnRzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgTGlzdFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb2dyYW0tbGlzdC9zZXJ2aWNlcy9saXN0LXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZ3JhbUxpc3RBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvZ3JhbS1saXN0L3NlcnZpY2VzL3Byb2dyYW0tbGlzdC1hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICBQT0xJQ1lfQ0FURUdPUllfTElTVF9TVFVCUyxcbiAgUE9MSUNZX0NBVEVHT1JZX0xJU1RfU1RVQlNfMixcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3N0dWJzJztcbmltcG9ydCB7IFBvbGljeUxpc3RBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9saWN5LWxpc3QtYXBpLnNlcnZpY2UnO1xuLyoqXG4gKiBBIHJldXNhYmxlIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbmQgbWFuYWdpbmcgYSBsaXN0IG9mIHByb2dyYW1zIHdpdGggZmlsdGVyaW5nLCBwYWdpbmF0aW9uLCBhbmQgY2F0ZWdvcnkgdmlld2luZyBjYXBhYmlsaXRpZXMuXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIFByb2dyYW0gbGlzdGluZyB3aXRoIHBhZ2luYXRpb25cbiAqIC0gU2VhcmNoIGZ1bmN0aW9uYWxpdHkgd2l0aCBkZWJvdW5jZVxuICogLSBQcm9ncmFtIHR5cGUgZmlsdGVyaW5nXG4gKiAtIENhdGVnb3J5IHZpZXdpbmcgZm9yIHNlbGVjdGVkIHByb2dyYW1zXG4gKiAtIE11bHRpLXNlbGVjdCBjYXBhYmlsaXR5XG4gKlxuICogQHRlbXBsYXRlIFQgRXh0ZW5kcyBMaXN0SXRlbSBpbnRlcmZhY2UgZm9yIHR5cGUgc2FmZXR5IG9mIGxpc3QgaXRlbXNcbiAqL1xuXG5pbnRlcmZhY2UgQ2F0ZWdvcnkge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhcmVudD86IHN0cmluZztcbiAgcGFyZW50VHJlZT86IHN0cmluZ1tdO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcG9saWN5LWNhdGVnb3J5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGVnb3J5LWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9saWN5Q2F0ZWdvcnlMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAvKiogQXJyYXkgb2YgaXRlbXMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBsaXN0ICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIC8qKiBPYmplY3QgY29udGFpbmluZyBzZWxlY3RlZCBpdGVtcywga2V5ZWQgYnkgcHJvZ3JhbSBJRCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1zOiBhbnkgfCBudWxsID0ge307XG5cbiAgLyoqIFVSTCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgQVBJIGVuZHBvaW50cyAqL1xuICBASW5wdXQoKSB1cmw6IGFueSA9IHt9O1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCAqL1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBpdGVtIGlzIGRlc2VsZWN0ZWQgKi9cbiAgQE91dHB1dCgpIGl0ZW1EZXNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGNoYW5nZXMgKi9cbiAgQE91dHB1dCgpIGl0ZW1zU2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIHRhYmxlSGVhZGVycyA9IFBPTElDWV9DQVRFR09SWV9UQUJMRV9IRUFERVJTO1xuICBjdXJyZW50UGFnZSA9IFBBR0lOQVRJT05fT1BUSU9OUy5ERUZBVUxUX0NVUlJFTlRfUEFHRTtcbiAgcGFnZVNpemUgPSBQQUdJTkFUSU9OX09QVElPTlMuUEFHRV9TSVpFO1xuICB0b3RhbFBhZ2VzID0gMDtcbiAgc2VhcmNoVGVybSA9ICcnO1xuICBwYWdpbmF0ZWRJdGVtczogYW55W10gPSBbXTtcbiAgYWN0aXZlUHJvZ3JhbTogYW55IHwgbnVsbCA9IG51bGw7XG4gIGNhdGVnb3J5TGlzdDogYW55ID0ge307XG4gIHByb2dyYW1UeXBlTGlzdDogYW55W10gPSBQUk9HUkFNX1RZUEVfTElTVDtcbiAgc2VsZWN0ZWRQcm9ncmFtVHlwZTogYW55W10gPSBbXTtcbiAgbG9hZGVyU3RhdGU6IGFueSA9IHtcbiAgICBwcm9ncmFtTGlzdDogZmFsc2UsXG4gICAgY2F0ZWdvcnlMaXN0OiBmYWxzZSxcbiAgfTtcbiAgYXBwbGllZFByb2dyYW1UeXBlOiBhbnlbXSA9IFtdO1xuICBQT0xJQ1lfTk9fREFUQTogYW55ID0gUE9MSUNZX05PX0RBVEE7XG4gIEFTU0VUUzogYW55ID0gQVNTRVRTO1xuICBwcm9ncmFtQ2F0ZWdvcnlMaXN0OiBhbnkgPSB7fTtcbiAgcG9saWN5Q2F0ZWdvcnlMaXN0OiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55W10gPSBbXTtcbiAgc2VhcmNoQ29uZmlnOiB7IFtrZXk6IHN0cmluZ106IHsgdGVybTogc3RyaW5nOyBwbGFjZWhvbGRlcjogc3RyaW5nIH0gfSA9IHtcbiAgICAnUE9MSUNZIENBVEVHT1JZJzogeyB0ZXJtOiAnJywgcGxhY2Vob2xkZXI6ICdTZWFyY2ggQ2F0ZWdvcnknIH0sXG4gICAgJ1BPTElDWSBTVUIgQ0FURUdPUlknOiB7IHRlcm06ICcnLCBwbGFjZWhvbGRlcjogJ1NlYXJjaCBTdWIgQ2F0ZWdvcnknIH0sXG4gIH07XG5cbiAgZmlsdGVyZWRDYXRlZ29yaWVzOiBhbnlbXSA9IFtdOyAvLyBhZnRlciBhcHBseWluZyBjYXRlZ29yeSBzZWFyY2hcbiAgZmlsdGVyZWRTdWJjYXRlZ29yaWVzOiBhbnlbXSA9IFtdOyAvLyBhZnRlciBhcHBseWluZyBzdWJjYXRlZ29yeSBzZWFyY2hcblxuICAvKiogU3ViamVjdCBmb3IgaGFuZGxpbmcgZGVib3VuY2VkIHNlYXJjaCAqL1xuICBwcml2YXRlIHNlYXJjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqIFN1YmplY3QgZm9yIGNsZWFudXAgc3Vic2NyaXB0aW9ucyAqL1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxpc3RVdGlsczogTGlzdFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeUxpc3RBcGlTZXJ2aWNlOiBQb2xpY3lMaXN0QXBpU2VydmljZVxuICApIHtcbiAgICAvLyBJbml0aWFsaXplIGRlYm91bmNlZCBzZWFyY2hcbiAgICB0aGlzLnNlYXJjaFN1YmplY3RcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wZXJmb3JtU2VhcmNoKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiBJbml0aWFsaXplIGNvbXBvbmVudCBieSBmZXRjaGluZyBwcm9ncmFtIGxpc3QgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMucHJlcGFyZUNhdGVnb3J5TGlzdCh0aGlzLml0ZW1zKTtcbiAgICB0aGlzLnZpZXdDYXRlZ29yeSh0aGlzLml0ZW1zWzBdKTtcbiAgICB0aGlzLmxvYWREYXRhKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjaGFuZ2VzIHRvIGlucHV0cyAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10gfHwgY2hhbmdlc1snc2VsZWN0ZWRJdGVtcyddKSB7XG4gICAgICB0aGlzLnBhZ2luYXRlSXRlbXModGhpcy5pdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEZldGNoIHByb2dyYW0gbGlzdCBmcm9tIEFQSSAqL1xuICBnZXRQb2xpY3lDYXRlZ29yeUxpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZXJTdGF0ZS5wcm9ncmFtTGlzdCA9IHRydWU7XG4gICAgdGhpcy5wb2xpY3lMaXN0QXBpU2VydmljZS5nZXRQb2xpY3lDYXRlZ29yeUxpc3QoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5wcmVwYXJlQ2F0ZWdvcnlMaXN0KHJlcz8uZGF0YT8ucG9saWN5Q2F0ZWdvcmllcyk7XG4gICAgICB0aGlzLnZpZXdDYXRlZ29yeSh0aGlzLml0ZW1zWzBdKTtcbiAgICAgIHRoaXMubG9hZERhdGEodGhpcy5pdGVtcyk7XG4gICAgICB0aGlzLmxvYWRlclN0YXRlLnByb2dyYW1MaXN0ID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBkYXRhIGFuZCBpbml0aWFsaXplIHBhZ2luYXRpb25cbiAgICogQHBhcmFtIGRhdGEgQXJyYXkgb2YgaXRlbXMgdG8gbG9hZFxuICAgKi9cbiAgbG9hZERhdGEoZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5nb1RvUGFnZSgxLCBkYXRhKTtcbiAgfVxuXG4gIHByZXBhcmVDYXRlZ29yeUxpc3QoY2F0ZWdvcmllczogYW55W10pIHtcbiAgICBjb25zdCBlZGl0b3JDYXRlZ29yaWVzID0gY2F0ZWdvcmllcy5maWx0ZXIoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgY2F0ZWdvcnk/LnJvbGUgPT09ICdlZGl0b3InIHx8IGNhdGVnb3J5Py5yb2xlID09PSAnb3duZXInXG4gICAgKTtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPG51bWJlciwgYW55PigpO1xuICAgIGVkaXRvckNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0KSA9PiBtYXAuc2V0KGNhdD8uaWQsIGNhdCkpO1xuXG4gICAgLy8gQ2hlY2sgaWYgY2F0ZWdvcnkgaXMgYSByb290XG4gICAgY29uc3QgaXNSb290ID0gKGNhdDogYW55KSA9PlxuICAgICAgY2F0Py5wYXJlbnRJZCA9PT0gbnVsbCB8fCAhbWFwLmhhcyhjYXQ/LnBhcmVudElkKTtcblxuICAgIHJldHVybiBlZGl0b3JDYXRlZ29yaWVzLmZpbHRlcihpc1Jvb3QpLm1hcCgocm9vdDogYW55KSA9PiAoe1xuICAgICAgaWQ6IHJvb3Q/LmlkLFxuICAgICAgbmFtZTogcm9vdD8ubmFtZSxcbiAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5idWlsZENoaWxkcmVuKHJvb3QsIGVkaXRvckNhdGVnb3JpZXMsIG1hcCldLFxuICAgIH0pKTtcbiAgfVxuXG4gIGJ1aWxkUGF0aChjYXRlZ29yaWVzOiBhbnksIG1hcDogYW55KSB7XG4gICAgY29uc3QgbmFtZXM6IHN0cmluZ1tdID0gW107IC8vIHN0YXJ0IHdpdGggY2hpbGQgbmFtZVxuICAgIGxldCBjdXJyZW50ID0gY2F0ZWdvcmllcztcblxuICAgIHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQ/LnBhcmVudElkICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KGN1cnJlbnQ/LnBhcmVudElkKTtcbiAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgbmFtZXMucHVzaChwYXJlbnQ/Lm5hbWUpO1xuICAgICAgICBjdXJyZW50ID0gcGFyZW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWVzLmpvaW4oJyA8ICcpO1xuICB9XG5cbiAgYnVpbGRDaGlsZHJlbihyb290OiBhbnksIGNhdGVnb3JpZXM6IGFueSwgbWFwOiBhbnkpIHtcbiAgICByZXR1cm4gY2F0ZWdvcmllc1xuICAgICAgLmZpbHRlcigoYzogYW55KSA9PiBjPy5vcmlnaW5JZCA9PT0gcm9vdD8uaWQgfHwgYz8ucGFyZW50SWQgPT09IHJvb3Q/LmlkKVxuICAgICAgLm1hcCgoY2hpbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgaWQ6IGNoaWxkPy5pZCxcbiAgICAgICAgbmFtZTogY2hpbGQ/Lm5hbWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXSwgLy8gZmxhdHRlbiBjaGlsZHJlblxuICAgICAgICBkaXNwbGF5X25hbWU6IHRoaXMuYnVpbGRQYXRoKGNoaWxkLCBtYXApLFxuICAgICAgICBvcmlnaW46IGNoaWxkPy5vcmlnaW5JZCxcbiAgICAgICAgcGFyZW50OiBjaGlsZD8ucGFyZW50SWQsXG4gICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGl0ZW0gc2VsZWN0aW9uL2Rlc2VsZWN0aW9uXG4gICAqIEBwYXJhbSBldmVudCBTZWxlY3Rpb24gZXZlbnRcbiAgICogQHBhcmFtIGl0ZW0gSXRlbSBiZWluZyBzZWxlY3RlZC9kZXNlbGVjdGVkXG4gICAqL1xuICBzZWxlY3RJdGVtKGV2ZW50OiBhbnksIGl0ZW06IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IGl0ZW07XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZENhdGVnb3J5KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0IGEgc3BlY2lmaWMgaXRlbVxuICAgKiBAcGFyYW0gaXRlbSBJdGVtIHRvIGRlc2VsZWN0XG4gICAqL1xuICBkZXNlbGVjdEl0ZW0oaXRlbTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB0aGlzLml0ZW1EZXNlbGVjdGVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gaXRlbSBpcyBzZWxlY3RlZFxuICAgKiBAcGFyYW0gaXRlbSBJdGVtIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIEJvb2xlYW4gaW5kaWNhdGluZyBpZiBpdGVtIGlzIHNlbGVjdGVkXG4gICAqL1xuICBpc1NlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSB0byBzcGVjaWZpYyBwYWdlXG4gICAqIEBwYXJhbSBwYWdlIFBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gcGFnaW5hdGVcbiAgICovXG4gIGdvVG9QYWdlKHBhZ2U6IG51bWJlciwgZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5wYWdpbmF0ZUl0ZW1zKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhcnJheSBvZiBwYWdlIG51bWJlcnMgZm9yIHBhZ2luYXRpb25cbiAgICogQHJldHVybnMgQXJyYXkgb2YgcGFnZSBudW1iZXJzXG4gICAqL1xuICBnZXRQYWdlTnVtYmVycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFV0aWxzLmdldFBhZ2VOdW1iZXJzKHRoaXMuaXRlbXMubGVuZ3RoLCB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYWdpbmF0ZSBpdGVtcyBhbmQgdXBkYXRlIHZpZXdcbiAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBwYWdpbmF0ZVxuICAgKi9cbiAgcGFnaW5hdGVJdGVtcyhkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwoZGF0YS5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICB0aGlzLnBhZ2luYXRlZEl0ZW1zID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaWV3IGNhdGVnb3JpZXMgZm9yIGEgc2VsZWN0ZWQgcHJvZ3JhbVxuICAgKiBAcGFyYW0gaXRlbSBQcm9ncmFtIHRvIHZpZXcgY2F0ZWdvcmllcyBmb3JcbiAgICovXG4gIHZpZXdDYXRlZ29yeShpdGVtPzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVQcm9ncmFtID0gaXRlbTtcbiAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IHRydWU7XG4gICAgdGhpcy5wb2xpY3lDYXRlZ29yeUxpc3QgPSB0aGlzLml0ZW1zLmZpbmQoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaWQgPT09IGl0ZW0uaWRcbiAgICApPy5jaGlsZHJlbjtcbiAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tQcm9ncmFtQ2F0ZWdvcnlFeGlzdHMoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2dyYW1DYXRlZ29yeUxpc3RbaWRdKSB7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdFtpZF0gPSB0aGlzLmFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoXG4gICAgICAgIHRoaXMucHJvZ3JhbUNhdGVnb3J5TGlzdFtpZF1cbiAgICAgICk7XG4gICAgICB0aGlzLmxvYWRlclN0YXRlLmNhdGVnb3J5TGlzdCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGFkZFBhcmVudFRyZWVUb0NhdGVnb3JpZXMoY2F0ZWdvcmllczogYW55W10pOiBhbnlbXSB7XG4gICAgaWYgKCFjYXRlZ29yaWVzPy5sZW5ndGgpIHJldHVybiBbXTtcblxuICAgIGNvbnN0IGNhdGVnb3J5TWFwID0gbmV3IE1hcChcbiAgICAgIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gW2NhdGVnb3J5LmlkLCBjYXRlZ29yeV0pXG4gICAgKTtcblxuICAgIGNvbnN0IGdldFBhcmVudFRyZWUgPSAoY2F0ZWdvcnk6IENhdGVnb3J5KTogc3RyaW5nW10gPT4ge1xuICAgICAgY29uc3QgcGFyZW50VHJlZTogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCBjdXJyZW50UGFyZW50ID0gY2F0ZWdvcnkucGFyZW50O1xuXG4gICAgICB3aGlsZSAoY3VycmVudFBhcmVudCkge1xuICAgICAgICBjb25zdCBwYXJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5TWFwLmdldChjdXJyZW50UGFyZW50KTtcbiAgICAgICAgaWYgKCFwYXJlbnRDYXRlZ29yeSkgYnJlYWs7XG5cbiAgICAgICAgcGFyZW50VHJlZS5wdXNoKHBhcmVudENhdGVnb3J5Lm5hbWUpO1xuICAgICAgICBjdXJyZW50UGFyZW50ID0gcGFyZW50Q2F0ZWdvcnkucGFyZW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50VHJlZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gKHtcbiAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgcGFyZW50VHJlZTogZ2V0UGFyZW50VHJlZShjYXRlZ29yeSksXG4gICAgfSkpO1xuICB9XG5cbiAgY2hlY2tDYXRlZ29yeUF2YWlsYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRQcm9ncmFtQXZhaWxhYmxlID0gdGhpcy5wYWdpbmF0ZWRJdGVtcy5zb21lKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uaWQgPT09IHRoaXMuYWN0aXZlUHJvZ3JhbT8uaWRcbiAgICApO1xuICAgIGlmICghaXNTZWxlY3RlZFByb2dyYW1BdmFpbGFibGUpIHtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW0gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIGRlYm91bmNlZCBzZWFyY2ggKi9cbiAgc2VhcmNoKGhlYWRlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdGVybSA9IHRoaXMuc2VhcmNoQ29uZmlnW2hlYWRlcl0udGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGhlYWRlci50b0xvd2VyQ2FzZSgpID09PSAncG9saWN5IGNhdGVnb3J5Jykge1xuICAgICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBhbnkpID0+XG4gICAgICAgIGl0ZW0/Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSlcbiAgICAgICk7XG4gICAgICB0aGlzLmNoZWNrQ2F0ZWdvcnlBdmFpbGJpbGl0eSgpO1xuICAgIH0gZWxzZSBpZiAoaGVhZGVyLnRvTG93ZXJDYXNlKCkgPT09ICdwb2xpY3kgc3ViIGNhdGVnb3J5Jykge1xuICAgICAgdGhpcy5wb2xpY3lDYXRlZ29yeUxpc3QgPVxuICAgICAgICB0aGlzLml0ZW1zXG4gICAgICAgICAgLmZpbmQoKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5LmlkID09PSB0aGlzLmFjdGl2ZVByb2dyYW0/LmlkKVxuICAgICAgICAgID8uY2hpbGRyZW4uZmlsdGVyKChzdWI6IGFueSkgPT5cbiAgICAgICAgICAgIHN1Yj8ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxuICAgICAgICAgICkgfHwgW107XG4gICAgfVxuICB9XG5cbiAgLyoqIFBlcmZvcm0gc2VhcmNoIG9uIGl0ZW1zICovXG4gIHByaXZhdGUgcGVyZm9ybVNlYXJjaCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW06IGFueSkgPT5cbiAgICAgIGl0ZW0/Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXJtPy50b0xvd2VyQ2FzZSgpKVxuICAgICk7XG4gICAgdGhpcy5wYWdpbmF0ZWRJdGVtcyA9IGZpbHRlcmVkSXRlbXM7XG4gICAgdGhpcy5jaGVja0NhdGVnb3J5QXZhaWxiaWxpdHkoKTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIHN1YnNjcmlwdGlvbnMgb24gY29tcG9uZW50IGRlc3RydWN0aW9uICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImR5bmFtaWMtbGlzdC1jb250YWluZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHluYW1pYy1saXN0LXRhYmxlXCJcbiAgICAqbmdJZj1cIlxuICAgICAgaXRlbXM/Lmxlbmd0aCA+IDAgfHwgbG9hZGVyU3RhdGUucHJvZ3JhbUxpc3QgfHwgbG9hZGVyU3RhdGUuY2F0ZWdvcnlMaXN0O1xuICAgICAgZWxzZSBkZWZhdWx0VGVtcGxhdGVcbiAgICBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtbGlzdC1oZWFkZXIgdngtZC1mbGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtdy0xMDAgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlcmlhbE5vIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImhlYWRlclRleHQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaENvbmZpZ1toZWFkZXJdLnRlcm1cIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoQ29uZmlnW2hlYWRlcl0ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAoa2V5dXApPVwic2VhcmNoKGhlYWRlcilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1saXN0LWJvZHkgdngtZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb2x1bW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXJTdGF0ZS5wcm9ncmFtTGlzdDsgZWxzZSBwcm9ncmFtTGlzdExvYWRlclwiPlxuICAgICAgICAgIDwhLS0gU2hvdyBpdGVtcyB3aGVuIHRoZXkgZXhpc3QgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHBhZ2luYXRlZEl0ZW1zXG4gICAgICAgICAgICAgICAgfCBzZWFyY2ggOiBzZWFyY2hDb25maWdbJ1BPTElDWSBDQVRFR09SWSddLnRlcm0gOiAnbmFtZSdcbiAgICAgICAgICAgICAgKT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIHBhZ2luYXRlZEl0ZW1zXG4gICAgICAgICAgICAgICAgICB8IHNlYXJjaFxuICAgICAgICAgICAgICAgICAgICA6IHNlYXJjaENvbmZpZ1snUE9MSUNZIENBVEVHT1JZJ10udGVybVxuICAgICAgICAgICAgICAgICAgICA6ICduYW1lJyBhcyBmaWx0ZXJlZFBhcmVudENhdGVnb3JpZXM7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtcm93XCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVByb2dyYW0/LmlkID09PSBpdGVtLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdDYXRlZ29yeShpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3JOb1wiPnt7IGkgKyAxIH19PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWNvbHVtbiBuYW1lXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1jb3VudF09XCJzZWxlY3RlZEl0ZW1zW2l0ZW0uaWRdPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyIHZ4LWZzLTEzIHZ4LXByLTJcIj57eyBpdGVtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3QtY29sdW1uIGNvdW50XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc1swXT8ub3JpZ2luID09PSBpdGVtLmlkIHx8XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zWzBdPy5pZCA9PT0gaXRlbS5pZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjaGVja2VkXCI+JiN4ZTk0OTs8L2k+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtbGgtNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAxIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC10ZXh0IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtbGgtNCB2eC1tbC0yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDQVRFR09SWSBTRUxFQ1RFRFxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbHVtbiBhY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93IHZ4LWZzLTEyIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiAmI3hlOTcwOyA8L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8IS0tIFNob3cgbm8tZGF0YSB3aGVuIHNlYXJjaCByZXR1cm5zIG5vIHJlc3VsdHMgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtICYmXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBwYWdpbmF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoIDogc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtIDogJ25hbWUnXG4gICAgICAgICAgICAgICk/Lmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1uby1kYXRhLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJQT0xJQ1lfTk9fREFUQS5zZWFyY2hcIlxuICAgICAgICAgICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwcm9ncmFtTGlzdExvYWRlcj5cbiAgICAgICAgICA8YXBwLXRhYmxlLWxvYWRlcj48L2FwcC10YWJsZS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2x1bW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhbG9hZGVyU3RhdGUuY2F0ZWdvcnlMaXN0ICYmICFsb2FkZXJTdGF0ZS5wcm9ncmFtTGlzdDtcbiAgICAgICAgICAgIGVsc2UgY2F0ZWdvcnlMaXN0TG9hZGVyXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBwYWdpbmF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoIDogc2VhcmNoQ29uZmlnWydQT0xJQ1kgQ0FURUdPUlknXS50ZXJtIDogJ25hbWUnXG4gICAgICAgICAgICAgICk/Lmxlbmd0aCA+IDAgJiYgcG9saWN5Q2F0ZWdvcnlMaXN0Py5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICBlbHNlIGRlZmF1bHRTdWJDYXRlZ29yeVRlbXBsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LXJvdyB2eC1wbC0yIHZ4LXByLTJcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lDYXRlZ29yeUxpc3Q7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZEl0ZW1zWzBdPy5pZCA9PT0gZGF0YT8uaWRcIlxuICAgICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwic2VsZWN0SXRlbSgkZXZlbnQsIGRhdGEpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWUgdngtZnMtMTNcIj57eyBkYXRhPy5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGE/LmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGE/LnBhcmVudFRyZWU/LmpvaW4oJyA+ICcpXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8uZGlzcGxheV9uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFN1YkNhdGVnb3J5VGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLW5vLWRhdGFcIj5cbiAgICAgICAgICAgICAgPCEtLSA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJQT0xJQ1lfTk9fREFUQS5wb2xpY3lTdWJDYXRlZ29yeUxpc3RcIlxuICAgICAgICAgICAgICA+PC9hcHAtbm8tZGF0YT4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjYXRlZ29yeUxpc3RMb2FkZXI+XG4gICAgICAgICAgPGFwcC10YWJsZS1sb2FkZXI+PC9hcHAtdGFibGUtbG9hZGVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1uby1kYXRhLWNvbnRhaW5lclwiPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuY2F0ZWdvcnlOb0RhdGFcIlxuICAgICAgICBbbm9EYXRhVGV4dF09XCJcbiAgICAgICAgICBzZWFyY2hUZXJtID8gUE9MSUNZX05PX0RBVEEuc2VhcmNoIDogUE9MSUNZX05PX0RBVEEucG9saWN5TGlzdFxuICAgICAgICBcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Injectable, Optional } from '@angular/core';
2
2
  import { HttpHeaders } from '@angular/common/http';
3
+ import { BehaviorSubject, map, of } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common/http";
5
6
  import * as i2 from "../../../workflow-services/auth.service";
@@ -8,15 +9,25 @@ export class PolicyListApiService {
8
9
  constructor(http, authService, config) {
9
10
  this.http = http;
10
11
  this.authService = authService;
12
+ this.policyCategoryListSubject = new BehaviorSubject(null);
13
+ this.policyCategoryList$ = this.policyCategoryListSubject.asObservable();
11
14
  if (config) {
12
15
  this.env = config.envConfig;
13
16
  }
14
17
  }
15
18
  getPolicyCategoryList() {
19
+ if (this.policyCategoryListSubject.getValue()) {
20
+ return of(this.policyCategoryListSubject.getValue());
21
+ }
16
22
  let httpOptions = {};
17
23
  let headers = new HttpHeaders();
18
24
  httpOptions.headers = headers.append('token', this.authService.getAuthorizationToken());
19
- return this.http.get(`${this.env.policyGet}category/dropdownList&serviceType=2`, httpOptions);
25
+ return this.http
26
+ .get(`${this.env.policyGet}category/dropdownList&serviceType=2`, httpOptions)
27
+ .pipe(map((res) => {
28
+ this.policyCategoryListSubject.next(res);
29
+ return res;
30
+ }));
20
31
  }
21
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyListApiService, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
33
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyListApiService, providedIn: 'root' }); }
@@ -29,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
40
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
30
41
  type: Optional
31
42
  }] }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWxpc3QtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L3NlcnZpY2VzL3BvbGljeS1saXN0LWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNVLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ3BCLE1BQXVCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHaEMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksV0FBVyxHQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDbEMsT0FBTyxFQUNQLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FDekMsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLHFDQUFxQyxFQUMxRCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7K0dBeEJVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQb2xpY3lMaXN0QXBpU2VydmljZSB7XG4gIGVudiE6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbiAgKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xuICAgIH1cbiAgfVxuXG4gIGdldFBvbGljeUNhdGVnb3J5TGlzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBodHRwT3B0aW9uczogYW55ID0ge307XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihcbiAgICAgIGAke3RoaXMuZW52LnBvbGljeUdldH1jYXRlZ29yeS9kcm9wZG93bkxpc3Qmc2VydmljZVR5cGU9MmAsXG4gICAgICBodHRwT3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWxpc3QtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS1jYXRlZ29yeS1saXN0L3NlcnZpY2VzL3BvbGljeS1saXN0LWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTTVELE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTDFCLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ25FLHdCQUFtQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU9sRSxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDN0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLFdBQVcsR0FBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyxXQUFXLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQ2xDLE9BQU8sRUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQ3pDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLHFDQUFxQyxFQUMxRCxXQUFXLENBQ1o7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7K0dBdENVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBvbGljeUxpc3RBcGlTZXJ2aWNlIHtcbiAgZW52ITogYW55O1xuXG4gIHByaXZhdGUgcG9saWN5Q2F0ZWdvcnlMaXN0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgcG9saWN5Q2F0ZWdvcnlMaXN0JCA9IHRoaXMucG9saWN5Q2F0ZWdvcnlMaXN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbiAgKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xuICAgIH1cbiAgfVxuXG4gIGdldFBvbGljeUNhdGVnb3J5TGlzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLnBvbGljeUNhdGVnb3J5TGlzdFN1YmplY3QuZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMucG9saWN5Q2F0ZWdvcnlMaXN0U3ViamVjdC5nZXRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55PihcbiAgICAgICAgYCR7dGhpcy5lbnYucG9saWN5R2V0fWNhdGVnb3J5L2Ryb3Bkb3duTGlzdCZzZXJ2aWNlVHlwZT0yYCxcbiAgICAgICAgaHR0cE9wdGlvbnNcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5wb2xpY3lDYXRlZ29yeUxpc3RTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19