@prutech/compliance 1.0.240 → 1.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/esm2020/lib/client-communication-history/models/comment-history-columns-def.mjs +2 -1
  2. package/esm2020/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.mjs +4 -4
  3. package/esm2020/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.mjs +11 -3
  4. package/esm2020/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.mjs +27 -20
  5. package/esm2020/lib/conciliation-appointment-work-list/conciliation-appointment-work-list.component.mjs +2 -1
  6. package/esm2020/lib/conciliation-appointment-work-list/effects/conciliation-appointment-work-list.effect.mjs +16 -3
  7. package/esm2020/lib/conciliation-appointment-work-list/models/federal-holidays-model.mjs +7 -4
  8. package/esm2020/lib/conciliation-appointment-work-list/reducers/federal-holidays-list.reducer.mjs +33 -0
  9. package/esm2020/lib/conciliation-appointment-work-list/reducers/root.reducer.mjs +8 -1
  10. package/esm2020/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.mjs +4 -4
  11. package/esm2020/lib/conciliation-appointment-work-list/state/federal-holidays-list.state.mjs +10 -0
  12. package/esm2020/lib/noi-work-list/components/conference-by-phone-dialogbox/conference-by-phone-dialogbox.component.mjs +39 -6
  13. package/esm2020/lib/noi-work-list/components/context-menu/context-menu.component.mjs +6 -2
  14. package/esm2020/lib/noi-work-list/models/conference-by-phone-formmodel.mjs +2 -2
  15. package/esm2020/lib/noi-work-list/noi-work-list.component.mjs +11 -8
  16. package/esm2020/lib/noi-work-list/noi-work-list.module.mjs +4 -3
  17. package/esm2020/lib/telephone-settled-conference/components/context-menu/context-menu.component.mjs +6 -1
  18. package/esm2020/lib/telephone-settled-conference/components/re-schedule-call-back-action/re-schedule-call-back-action.component.mjs +24 -2
  19. package/esm2020/lib/telephone-settled-conference/models/conference-by-phone-formmodel.mjs +2 -2
  20. package/esm2020/lib/telephone-settled-conference/telephone-settled-conference.component.mjs +15 -8
  21. package/fesm2015/prutech-compliance.mjs +221 -79
  22. package/fesm2015/prutech-compliance.mjs.map +1 -1
  23. package/fesm2020/prutech-compliance.mjs +228 -79
  24. package/fesm2020/prutech-compliance.mjs.map +1 -1
  25. package/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.d.ts +3 -3
  26. package/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.d.ts +2 -0
  27. package/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.d.ts +7 -4
  28. package/lib/conciliation-appointment-work-list/effects/conciliation-appointment-work-list.effect.d.ts +1 -0
  29. package/lib/conciliation-appointment-work-list/models/federal-holidays-model.d.ts +5 -3
  30. package/lib/conciliation-appointment-work-list/reducers/federal-holidays-list.reducer.d.ts +5 -0
  31. package/lib/conciliation-appointment-work-list/reducers/root.reducer.d.ts +8 -0
  32. package/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.d.ts +1 -1
  33. package/lib/conciliation-appointment-work-list/state/federal-holidays-list.state.d.ts +8 -0
  34. package/lib/noi-work-list/components/conference-by-phone-dialogbox/conference-by-phone-dialogbox.component.d.ts +7 -0
  35. package/lib/noi-work-list/components/context-menu/context-menu.component.d.ts +1 -0
  36. package/lib/noi-work-list/noi-work-list.component.d.ts +3 -1
  37. package/lib/telephone-settled-conference/components/context-menu/context-menu.component.d.ts +1 -0
  38. package/lib/telephone-settled-conference/components/re-schedule-call-back-action/re-schedule-call-back-action.component.d.ts +4 -0
  39. package/lib/telephone-settled-conference/telephone-settled-conference.component.d.ts +4 -1
  40. package/package.json +1 -1
@@ -17,6 +17,7 @@ export const commentHistoryColumnDefs = [
17
17
  },
18
18
  {
19
19
  headerName: 'Notes/Comments', field: 'comments', sortable: true, resizable: true, filter: true,
20
+ wrapText: true, autoHeight: true,
20
21
  },
21
22
  {
22
23
  headerName: 'Created By', field: 'createdBy', sortable: true, resizable: true, filter: true,
@@ -40,4 +41,4 @@ export const commentHistoryColumnDefs = [
40
41
  },
41
42
  },
42
43
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1oaXN0b3J5LWNvbHVtbnMtZGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY2xpZW50LWNvbW11bmljYXRpb24taGlzdG9yeS9tb2RlbHMvY29tbWVudC1oaXN0b3J5LWNvbHVtbnMtZGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTNCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1GQUFtRixDQUFDO0FBQzlILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFhO0lBQ2hEO1FBQ0UsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDdEQscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLElBQUk7S0FDcEU7SUFDRDtRQUNFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7S0FDbEc7SUFDRDtRQUNFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7S0FDckY7SUFDRDtRQUNFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtLQUMvRjtJQUNEO1FBQ0UsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtLQUM1RjtJQUNEO1FBQ0UsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUk7UUFDN0UsV0FBVyxFQUFFLENBQUMsTUFBeUIsRUFBVSxFQUFFO1lBQ2pELElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTtnQkFDbkMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdkU7aUJBQU07Z0JBQ0wsT0FBTyxTQUFTLENBQUM7YUFDbEI7UUFDSCxDQUFDO1FBQ0QsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLGFBQWEsRUFBRSxpQkFBaUI7WUFDaEMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztZQUMzQixzQkFBc0IsRUFBRSxJQUFJO1NBQzdCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIFZhbHVlR2V0dGVyUGFyYW1zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHtnZXR9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQge2RhdGVDb21wYXJhdG9yRm59IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMvZGF0ZS1jb21wYXJhdG9yLWZ1bmN0aW9uJztcclxuaW1wb3J0IHtkYXRlRmlsdGVyT3B0aW9uc30gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9saXN0LWRlZmF1bHRzJztcclxuaW1wb3J0IHtDb21tZW50Q29udGV4dE1lbnVDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvY29tbWVudC1oaXN0b3J5L2NvbW1lbnQtY29udGV4dC1tZW51L2NvbW1lbnQtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7bW9tZW50RGF0ZUZvcm1hdH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9kYXRlLWZvcm1hdCc7XHJcblxyXG5leHBvcnQgY29uc3QgY29tbWVudEhpc3RvcnlDb2x1bW5EZWZzOiBDb2xEZWZbXSA9IFtcclxuICB7XHJcbiAgICBoZWFkZXJOYW1lOiAnJywgZmllbGQ6ICcnLCBtYXhXaWR0aDogMTAwLCBtaW5XaWR0aDogNjAsXHJcbiAgICBjZWxsUmVuZGVyZXJGcmFtZXdvcms6IENvbW1lbnRDb250ZXh0TWVudUNvbXBvbmVudCwgcmVzaXphYmxlOiB0cnVlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaGVhZGVyTmFtZTogJ1dvcmtsaXN0IE5hbWUnLCBmaWVsZDogJ3dvcmtsaXN0TmFtZScsIHNvcnRhYmxlOiB0cnVlLCByZXNpemFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSxcclxuICB9LFxyXG4gIHtcclxuICAgIGhlYWRlck5hbWU6ICdBY3Rpb24nLCBmaWVsZDogJ2FjdGlvbicsIHNvcnRhYmxlOiB0cnVlLCByZXNpemFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSxcclxuICB9LFxyXG4gIHtcclxuICAgIGhlYWRlck5hbWU6ICdOb3Rlcy9Db21tZW50cycsIGZpZWxkOiAnY29tbWVudHMnLCBzb3J0YWJsZTogdHJ1ZSwgcmVzaXphYmxlOiB0cnVlLCBmaWx0ZXI6IHRydWUsXHJcbiAgfSxcclxuICB7XHJcbiAgICBoZWFkZXJOYW1lOiAnQ3JlYXRlZCBCeScsIGZpZWxkOiAnY3JlYXRlZEJ5Jywgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSwgZmlsdGVyOiB0cnVlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgT24nLCBmaWVsZDogJ2NyZWF0ZWRPbicsIHNvcnRhYmxlOiB0cnVlLCByZXNpemFibGU6IHRydWUsXHJcbiAgICB2YWx1ZUdldHRlcjogKHBhcmFtczogVmFsdWVHZXR0ZXJQYXJhbXMpOiBzdHJpbmcgPT4ge1xyXG4gICAgICBpZiAoISFnZXQocGFyYW1zLCAnZGF0YS5jcmVhdGVkT24nKSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZ2V0KHBhcmFtcywgJ2RhdGEuY3JlYXRlZE9uJykpLmZvcm1hdChtb21lbnREYXRlRm9ybWF0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZmlsdGVyOiAnYWdEYXRlQ29sdW1uRmlsdGVyJyxcclxuICAgIGZpbHRlclBhcmFtczoge1xyXG4gICAgICBjb21wYXJhdG9yOiBkYXRlQ29tcGFyYXRvckZuLFxyXG4gICAgICBmaWx0ZXJPcHRpb25zOiBkYXRlRmlsdGVyT3B0aW9ucyxcclxuICAgICAgYnV0dG9uczogWydjbGVhcicsICdhcHBseSddLFxyXG4gICAgICBzdXBwcmVzc0FuZE9yQ29uZGl0aW9uOiB0cnVlLFxyXG4gICAgfSxcclxuICB9LFxyXG5dO1xyXG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1oaXN0b3J5LWNvbHVtbnMtZGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY2xpZW50LWNvbW11bmljYXRpb24taGlzdG9yeS9tb2RlbHMvY29tbWVudC1oaXN0b3J5LWNvbHVtbnMtZGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTNCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1GQUFtRixDQUFDO0FBQzlILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFhO0lBQ2hEO1FBQ0UsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDdEQscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLElBQUk7S0FDcEU7SUFDRDtRQUNFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7S0FDbEc7SUFDRDtRQUNFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7S0FDckY7SUFDRDtRQUNFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtRQUM5RixRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJO0tBQ2pDO0lBQ0Q7UUFDRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO0tBQzVGO0lBQ0Q7UUFDRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSTtRQUM3RSxXQUFXLEVBQUUsQ0FBQyxNQUF5QixFQUFVLEVBQUU7WUFDakQsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN2RTtpQkFBTTtnQkFDTCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtRQUNILENBQUM7UUFDRCxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLFlBQVksRUFBRTtZQUNaLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsYUFBYSxFQUFFLGlCQUFpQjtZQUNoQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQzNCLHNCQUFzQixFQUFFLElBQUk7U0FDN0I7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgVmFsdWVHZXR0ZXJQYXJhbXN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQge2dldH0gZnJvbSAnbG9kYXNoJztcclxuXHJcbmltcG9ydCB7ZGF0ZUNvbXBhcmF0b3JGbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucy9kYXRlLWNvbXBhcmF0b3ItZnVuY3Rpb24nO1xyXG5pbXBvcnQge2RhdGVGaWx0ZXJPcHRpb25zfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzL2xpc3QtZGVmYXVsdHMnO1xyXG5pbXBvcnQge0NvbW1lbnRDb250ZXh0TWVudUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21tZW50LWhpc3RvcnkvY29tbWVudC1jb250ZXh0LW1lbnUvY29tbWVudC1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHttb21lbnREYXRlRm9ybWF0fSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzL2RhdGUtZm9ybWF0JztcclxuXHJcbmV4cG9ydCBjb25zdCBjb21tZW50SGlzdG9yeUNvbHVtbkRlZnM6IENvbERlZltdID0gW1xyXG4gIHtcclxuICAgIGhlYWRlck5hbWU6ICcnLCBmaWVsZDogJycsIG1heFdpZHRoOiAxMDAsIG1pbldpZHRoOiA2MCxcclxuICAgIGNlbGxSZW5kZXJlckZyYW1ld29yazogQ29tbWVudENvbnRleHRNZW51Q29tcG9uZW50LCByZXNpemFibGU6IHRydWUsXHJcbiAgfSxcclxuICB7XHJcbiAgICBoZWFkZXJOYW1lOiAnV29ya2xpc3QgTmFtZScsIGZpZWxkOiAnd29ya2xpc3ROYW1lJywgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSwgZmlsdGVyOiB0cnVlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaGVhZGVyTmFtZTogJ0FjdGlvbicsIGZpZWxkOiAnYWN0aW9uJywgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSwgZmlsdGVyOiB0cnVlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaGVhZGVyTmFtZTogJ05vdGVzL0NvbW1lbnRzJywgZmllbGQ6ICdjb21tZW50cycsIHNvcnRhYmxlOiB0cnVlLCByZXNpemFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSwgXHJcbiAgICB3cmFwVGV4dDogdHJ1ZSwgYXV0b0hlaWdodDogdHJ1ZSxcclxuICB9LFxyXG4gIHtcclxuICAgIGhlYWRlck5hbWU6ICdDcmVhdGVkIEJ5JywgZmllbGQ6ICdjcmVhdGVkQnknLCBzb3J0YWJsZTogdHJ1ZSwgcmVzaXphYmxlOiB0cnVlLCBmaWx0ZXI6IHRydWUsXHJcbiAgfSxcclxuICB7XHJcbiAgICBoZWFkZXJOYW1lOiAnQ3JlYXRlZCBPbicsIGZpZWxkOiAnY3JlYXRlZE9uJywgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgIHZhbHVlR2V0dGVyOiAocGFyYW1zOiBWYWx1ZUdldHRlclBhcmFtcyk6IHN0cmluZyA9PiB7XHJcbiAgICAgIGlmICghIWdldChwYXJhbXMsICdkYXRhLmNyZWF0ZWRPbicpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChnZXQocGFyYW1zLCAnZGF0YS5jcmVhdGVkT24nKSkuZm9ybWF0KG1vbWVudERhdGVGb3JtYXQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBmaWx0ZXI6ICdhZ0RhdGVDb2x1bW5GaWx0ZXInLFxyXG4gICAgZmlsdGVyUGFyYW1zOiB7XHJcbiAgICAgIGNvbXBhcmF0b3I6IGRhdGVDb21wYXJhdG9yRm4sXHJcbiAgICAgIGZpbHRlck9wdGlvbnM6IGRhdGVGaWx0ZXJPcHRpb25zLFxyXG4gICAgICBidXR0b25zOiBbJ2NsZWFyJywgJ2FwcGx5J10sXHJcbiAgICAgIHN1cHByZXNzQW5kT3JDb25kaXRpb246IHRydWUsXHJcbiAgICB9LFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
@@ -24,9 +24,9 @@ export var ConciliationAppointmentWorkListActionTypes;
24
24
  ConciliationAppointmentWorkListActionTypes["PrintDocument"] = "[FIA1187 Document] Print";
25
25
  ConciliationAppointmentWorkListActionTypes["PrintDocumentSuccess"] = "[FIA1187 Document] Print Success";
26
26
  ConciliationAppointmentWorkListActionTypes["PrintDocumentFail"] = "[FIA1187 Document] Print Fail";
27
- ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysList"] = "[Conciliation Federal Holidays List] Load";
28
- ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListSuccess"] = "[Conciliation Federal Holidays List] Load Success";
29
- ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListFail"] = "[Conciliation Federal Holidays List] Load Fail";
27
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysList"] = "[Federal Holidays List] Load";
28
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListSuccess"] = "[Federal Holidays List] Load Success";
29
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListFail"] = "[Federal Holidays List] Load Fail";
30
30
  })(ConciliationAppointmentWorkListActionTypes || (ConciliationAppointmentWorkListActionTypes = {}));
31
31
  export class LoadConciliationWorkListAction {
32
32
  constructor(payload) {
@@ -187,4 +187,4 @@ export class LoadFederalHolidaysListFailAction {
187
187
  this.type = ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysListFail;
188
188
  }
189
189
  }
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9hY3Rpb25zL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSx3QkFBd0I7QUFDeEIsTUFBTSxDQUFOLElBQVksMENBb0NYO0FBcENELFdBQVksMENBQTBDO0lBQ3BELG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELHVGQUF5QyxDQUFBO0lBQ3pDLHNHQUF3RCxDQUFBO0lBQ3hELGdHQUFrRCxDQUFBO0lBRWxELDhHQUFnRSxDQUFBO0lBQ2hFLGdIQUFrRSxDQUFBO0lBRWxFLHNIQUF3RSxDQUFBO0lBQ3hFLG9JQUFzRixDQUFBO0lBQ3RGLDhIQUFnRixDQUFBO0lBRWhGLG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELG1GQUFxQyxDQUFBO0lBQ3JDLGtHQUFvRCxDQUFBO0lBQ3BELDRGQUE4QyxDQUFBO0lBRTlDLGlIQUFtRSxDQUFBO0lBQ25FLGdJQUFrRixDQUFBO0lBQ2xGLDBIQUE0RSxDQUFBO0lBRTVFLHdGQUEwQyxDQUFBO0lBQzFDLHVHQUF5RCxDQUFBO0lBQ3pELGlHQUFtRCxDQUFBO0lBRW5ELG1IQUFxRSxDQUFBO0lBQ3JFLGtJQUFvRixDQUFBO0lBQ3BGLDRIQUE4RSxDQUFBO0FBRWhGLENBQUMsRUFwQ1csMENBQTBDLEtBQTFDLDBDQUEwQyxRQW9DckQ7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW1CLE9BQWE7UUFBYixZQUFPLEdBQVAsT0FBTyxDQUFN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T0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsaUJBQWlCLENBQUM7SUFHckYsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUFtQixPQUFhO1FBQWIsWUFBTyxHQUFQLE9BQU8sQ0FBTTtRQUZ2QixTQUFJLEdBQVcsMENBQTBDLENBQUMsdUJBQXVCLENBQUM7SUFHM0YsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxZQUFtQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUZ6QyxTQUFJLEdBQVcsMENBQTBDLENBQUMsOEJBQThCLENBQUM7SUFHbEcsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlDQUFpQztJQUc1QyxZQUFtQixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsMkJBQTJCLENBQUM7SUFHL0YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBTZWFtc0h0dHBSZXNwb25zZSB9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5cclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc2NoZWR1bGluZy1jYWxsLWJhY2subW9kZWwnO1xyXG5pbXBvcnQgeyBTYXZlT3V0cmVhY2hNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLW91dHJlYWNoLW1vZGVsJztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LWJhdGNoLXBvb2wtYXBwb2ludG1lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGZWRlcmFsSG9saWRheXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9mZWRlcmFsLWhvbGlkYXlzLW1vZGVsJztcclxuXHJcbi8vIHRzbGludDpkaXNhYmxlOm5vLWFueVxyXG5leHBvcnQgZW51bSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMge1xyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCA9ICdbQ29uY2lsaWF0aW9uXSBMb2FkIExpc3QnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3MgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IFN1Y2Nlc3MnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWwgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IEZhaWwnLFxyXG5cclxuICBTYXZlU3RhdHVzID0gJ1tDb25jaWxpYXRpb25dIFNhdmUgU3RhdHVzJyxcclxuICBTYXZlU3RhdHVzU3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBTdWNjZXNzJyxcclxuICBTYXZlU3RhdHVzRmFpbCA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBGYWlsJyxcclxuXHJcbiAgT3BlbkFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIE9wZW4gQXBwb2ludG1lbnQgRGlhbG9nJyxcclxuICBDbG9zZUFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIENsb3NlIEFwcG9pbnRtZW50IERpYWxvZycsXHJcblxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2sgPSAnW1NhdmUgU2NoZWR1bGluZyBDYWxsIEJhY2sgRGV0YWlscyBTYXZlXSBTYXZlJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2VzcyA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBTdWNjZXNzJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbCA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBGYWlsJyxcclxuXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3QgPSAnW1NhdmUgIE91dHJlYWNoIERldGFpbF0gU2F2ZScsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgU3VjY2VzcycsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RGYWlsID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgRmFpbCcsXHJcblxyXG4gIFNhdmVSZWFzc2lnbiA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCcsXHJcbiAgU2F2ZVJlYXNzaWduU3VjY2VzcyA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCBTdWNjZXNzJyxcclxuICBTYXZlUmVhc3NpZ25GYWlsID0gJ1tTYXZlIFJlYXNzaWduXSBMb2FkIEZhaWwnLFxyXG5cclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudCA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQnLFxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2VzcyA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQgU3VjY2VzcycsXHJcbiAgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsID0gJ1tTdWJtaXQgQmF0Y2ggUG9vbCBBcHBvaW50bWVudF0gTG9hZCBGYWlsJyxcclxuXHJcbiAgUHJpbnREb2N1bWVudCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQnLFxyXG4gIFByaW50RG9jdW1lbnRTdWNjZXNzID0gJ1tGSUExMTg3IERvY3VtZW50XSBQcmludCBTdWNjZXNzJyxcclxuICBQcmludERvY3VtZW50RmFpbCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQgRmFpbCcsXHJcbiAgXHJcbiAgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3QgPSAnW0NvbmNpbGlhdGlvbiBGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQnLFxyXG4gIExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uIEZlZGVyYWwgSG9saWRheXMgTGlzdF0gTG9hZCBTdWNjZXNzJyxcclxuICBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWwgPSAnW0NvbmNpbGlhdGlvbiBGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQgRmFpbCcsXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogQ29uY2lsaWF0aW9uV29ya0xpc3QpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVDb25jaWxpYXRpb25TdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXNTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZVN0YXR1c1Jlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzRmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLk9wZW5BcHBvaW50bWVudERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IG51bWJlcikge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsb3NlQXBwb2ludG1lbnREaWFsb2dBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5DbG9zZUFwcG9pbnRtZW50RGlhbG9nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFjaztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogYW55KSB7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZU91dHJlYWNoTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25BY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ247XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdFJlYXNzaWduTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25TdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduU3VjY2VzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVJlYXNzaWduRmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnbkZhaWw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnlcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHsgbGV0dGVyVHlwZTogbnVtYmVyLCBhc3Nlc3NtZW50SWQ6IG51bWJlciAsIENtc0Nhc2VJRDogbnVtYmVyfSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlByaW50RG9jdW1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IFNlYW1zSHR0cFJlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb257XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2VzcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEZlZGVyYWxIb2xpZGF5c01vZGVsW10pIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25zID0gTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvblxyXG4gIHwgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb25cclxuICB8IE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgQ2xvc2VBcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudEFjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb25cclxuICB8IFByaW50RG9jdW1lbnRGYWlsQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEFjdGlvblxyXG4gIHwgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb247XHJcbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9hY3Rpb25zL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSx3QkFBd0I7QUFDeEIsTUFBTSxDQUFOLElBQVksMENBb0NYO0FBcENELFdBQVksMENBQTBDO0lBQ3BELG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELHVGQUF5QyxDQUFBO0lBQ3pDLHNHQUF3RCxDQUFBO0lBQ3hELGdHQUFrRCxDQUFBO0lBRWxELDhHQUFnRSxDQUFBO0lBQ2hFLGdIQUFrRSxDQUFBO0lBRWxFLHNIQUF3RSxDQUFBO0lBQ3hFLG9JQUFzRixDQUFBO0lBQ3RGLDhIQUFnRixDQUFBO0lBRWhGLG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELG1GQUFxQyxDQUFBO0lBQ3JDLGtHQUFvRCxDQUFBO0lBQ3BELDRGQUE4QyxDQUFBO0lBRTlDLGlIQUFtRSxDQUFBO0lBQ25FLGdJQUFrRixDQUFBO0lBQ2xGLDBIQUE0RSxDQUFBO0lBRTVFLHdGQUEwQyxDQUFBO0lBQzFDLHVHQUF5RCxDQUFBO0lBQ3pELGlHQUFtRCxDQUFBO0lBRW5ELHNHQUF3RCxDQUFBO0lBQ3hELHFIQUF1RSxDQUFBO0lBQ3ZFLCtHQUFpRSxDQUFBO0FBRW5FLENBQUMsRUFwQ1csMENBQTBDLEtBQTFDLDBDQUEwQyxRQW9DckQ7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW1CLE9BQWE7UUFBYixZQUFPLEdBQVAsT0FBTyxDQUFN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T0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsaUJBQWlCLENBQUM7SUFHckYsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUFtQixPQUFhO1FBQWIsWUFBTyxHQUFQLE9BQU8sQ0FBTTtRQUZ2QixTQUFJLEdBQVcsMENBQTBDLENBQUMsdUJBQXVCLENBQUM7SUFHM0YsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxZQUFtQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUZ6QyxTQUFJLEdBQVcsMENBQTBDLENBQUMsOEJBQThCLENBQUM7SUFHbEcsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlDQUFpQztJQUc1QyxZQUFtQixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsMkJBQTJCLENBQUM7SUFHL0YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBTZWFtc0h0dHBSZXNwb25zZSB9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5cclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc2NoZWR1bGluZy1jYWxsLWJhY2subW9kZWwnO1xyXG5pbXBvcnQgeyBTYXZlT3V0cmVhY2hNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLW91dHJlYWNoLW1vZGVsJztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LWJhdGNoLXBvb2wtYXBwb2ludG1lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGZWRlcmFsSG9saWRheXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9mZWRlcmFsLWhvbGlkYXlzLW1vZGVsJztcclxuXHJcbi8vIHRzbGludDpkaXNhYmxlOm5vLWFueVxyXG5leHBvcnQgZW51bSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMge1xyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCA9ICdbQ29uY2lsaWF0aW9uXSBMb2FkIExpc3QnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3MgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IFN1Y2Nlc3MnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWwgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IEZhaWwnLFxyXG5cclxuICBTYXZlU3RhdHVzID0gJ1tDb25jaWxpYXRpb25dIFNhdmUgU3RhdHVzJyxcclxuICBTYXZlU3RhdHVzU3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBTdWNjZXNzJyxcclxuICBTYXZlU3RhdHVzRmFpbCA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBGYWlsJyxcclxuXHJcbiAgT3BlbkFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIE9wZW4gQXBwb2ludG1lbnQgRGlhbG9nJyxcclxuICBDbG9zZUFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIENsb3NlIEFwcG9pbnRtZW50IERpYWxvZycsXHJcblxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2sgPSAnW1NhdmUgU2NoZWR1bGluZyBDYWxsIEJhY2sgRGV0YWlscyBTYXZlXSBTYXZlJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2VzcyA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBTdWNjZXNzJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbCA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBGYWlsJyxcclxuXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3QgPSAnW1NhdmUgIE91dHJlYWNoIERldGFpbF0gU2F2ZScsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgU3VjY2VzcycsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RGYWlsID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgRmFpbCcsXHJcblxyXG4gIFNhdmVSZWFzc2lnbiA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCcsXHJcbiAgU2F2ZVJlYXNzaWduU3VjY2VzcyA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCBTdWNjZXNzJyxcclxuICBTYXZlUmVhc3NpZ25GYWlsID0gJ1tTYXZlIFJlYXNzaWduXSBMb2FkIEZhaWwnLFxyXG5cclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudCA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQnLFxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2VzcyA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQgU3VjY2VzcycsXHJcbiAgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsID0gJ1tTdWJtaXQgQmF0Y2ggUG9vbCBBcHBvaW50bWVudF0gTG9hZCBGYWlsJyxcclxuXHJcbiAgUHJpbnREb2N1bWVudCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQnLFxyXG4gIFByaW50RG9jdW1lbnRTdWNjZXNzID0gJ1tGSUExMTg3IERvY3VtZW50XSBQcmludCBTdWNjZXNzJyxcclxuICBQcmludERvY3VtZW50RmFpbCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQgRmFpbCcsXHJcbiAgXHJcbiAgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3QgPSAnW0ZlZGVyYWwgSG9saWRheXMgTGlzdF0gTG9hZCcsXHJcbiAgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzID0gJ1tGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQgU3VjY2VzcycsXHJcbiAgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RGYWlsID0gJ1tGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQgRmFpbCcsXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogQ29uY2lsaWF0aW9uV29ya0xpc3QpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVDb25jaWxpYXRpb25TdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXNTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZVN0YXR1c1Jlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzRmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLk9wZW5BcHBvaW50bWVudERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IG51bWJlcikge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsb3NlQXBwb2ludG1lbnREaWFsb2dBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5DbG9zZUFwcG9pbnRtZW50RGlhbG9nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFjaztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogYW55KSB7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZU91dHJlYWNoTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25BY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ247XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdFJlYXNzaWduTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25TdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduU3VjY2VzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVJlYXNzaWduRmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnbkZhaWw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnlcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHsgbGV0dGVyVHlwZTogbnVtYmVyLCBhc3Nlc3NtZW50SWQ6IG51bWJlciAsIENtc0Nhc2VJRDogbnVtYmVyfSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlByaW50RG9jdW1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IFNlYW1zSHR0cFJlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb257XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2VzcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEZlZGVyYWxIb2xpZGF5c01vZGVsW10pIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25zID0gTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvblxyXG4gIHwgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb25cclxuICB8IE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgQ2xvc2VBcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudEFjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb25cclxuICB8IFByaW50RG9jdW1lbnRGYWlsQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEFjdGlvblxyXG4gIHwgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb247XHJcbiJdfQ==
@@ -58,6 +58,10 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
58
58
  this.actions = actions;
59
59
  this.menuItems = this.getUpdatedMenuItems();
60
60
  });
61
+ this.conciliationWorkListService.holidaysList.pipe(takeUntil(this.componentDestroyed))
62
+ .subscribe((data) => {
63
+ this.holidayList = data;
64
+ });
61
65
  }
62
66
  agInit(params) {
63
67
  this.params = params;
@@ -76,7 +80,7 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
76
80
  };
77
81
  });
78
82
  }
79
- if (!get(this.params, 'data.isSchedule') || canReschedule) {
83
+ if (get(this.params, 'data.isSchedule') || canReschedule) {
80
84
  this.menuItems = map(this.menuItems, (item) => {
81
85
  return {
82
86
  ...item, items: filter(item.items, (actionItem) => actionItem.route !== toString(scheduleCallBackActionId)),
@@ -149,6 +153,7 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
149
153
  break;
150
154
  case toString(showCasesummaryId):
151
155
  this.router.navigate(['case-summary/' + caseId]);
156
+ break;
152
157
  case toString(showOutreachHistoryId):
153
158
  this.openOutreachHistoryDialog(get(this.params, 'data'));
154
159
  break;
@@ -223,7 +228,10 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
223
228
  const dialogRef = this.dialog.open(ScheduleCallBackActionComponent, {
224
229
  width: dialogSize,
225
230
  disableClose: true,
226
- data: { ...item, isReSchedule: false },
231
+ data: { ...item,
232
+ isReSchedule: false,
233
+ val: this.holidayList
234
+ },
227
235
  });
228
236
  // tslint:disable-next-line:no-any
229
237
  dialogRef.afterClosed().pipe(takeUntil(this.componentDestroyed)).subscribe((res) => {
@@ -506,4 +514,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
506
514
  type: Inject,
507
515
  args: ['environment']
508
516
  }] }, { type: i4.ActivatedRoute }]; } });
509
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBMkUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEZBQTBGLENBQUM7QUFHM0ksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0dBQWtHLENBQUM7QUFDdEosT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDcEcsT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDdEIsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNEZBQTRGLENBQUM7QUFDOUksT0FBTyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGNBQWMsRUFDZCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ25CLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEdBQTRHLENBQUM7QUFDdEssT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7Ozs7Ozs7O0FBUXJJLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxpQkFBaUI7SUFVckUsWUFBbUIsTUFBaUIsRUFDMUIsY0FBOEIsRUFDOUIsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLDJCQUFtRSxFQUM1QyxXQUF3QixFQUMvQyxLQUFxQjtRQUM3QixLQUFLLEVBQUUsQ0FBQztRQVJTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBd0M7UUFDNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDL0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFmL0IsY0FBUyxHQUFzQixTQUFTLENBQUM7SUFpQnpDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUNqRSxTQUFTLENBQUMsQ0FBQyxPQUE0QixFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUM5RSxTQUFTLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxhQUFhLEdBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7aUJBQ3BHLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQXFCLEVBQUUsRUFBRTtnQkFDN0QsT0FBTztvQkFDTCxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQztpQkFDcEcsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxhQUFhLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQXFCLEVBQUUsRUFBRTtnQkFDN0QsT0FBTztvQkFDTCxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2lCQUNuSSxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQztpQkFDckksQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFO2dCQUM3RCxPQUFPO29CQUNMLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQWlDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO2lCQUNwRyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7aUJBQ3BHLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0EsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdkcsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFlBQVksRUFBRTtnQkFDL0IsT0FBTztvQkFDTCxLQUFLLEVBQUUsWUFBWTtvQkFDbkIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQzlELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQW9CLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN4RyxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUE0QjtRQUNuQyxNQUFNLE1BQU0sR0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELFFBQVEsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNuQixLQUFLLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDckMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFDUiwyQ0FBMkM7WUFDM0MsS0FBSyxRQUFRLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3JDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsMEJBQTBCLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsc0JBQXNCLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDakQsS0FBSyxRQUFRLENBQUMscUJBQXFCLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxNQUFNO1lBQ047Z0JBQ0EsTUFBTTtTQUNQO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQW1DO1FBQ3hELE1BQU0sU0FBUyxHQUF5RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRTtZQUMvSCxLQUFLLEVBQUUsVUFBVTtZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtnQkFDN0MsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQzthQUNoRDtTQUNGLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pGLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDckIsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLENBQUM7Z0JBQ2hFLElBQUksc0JBQXNCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLEVBQUU7d0JBQ3BDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSx5Q0FBeUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7NkJBQy9ILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7NkJBQ3hDLFNBQVMsQ0FBQyxDQUFDLGVBQTZDLEVBQUUsRUFBRTs0QkFDM0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGVBQWUsQ0FBQzs0QkFDNUMsTUFBTSxPQUFPLEdBQWtDLElBQUksNkJBQTZCLENBQUM7Z0NBQy9FLHNCQUFzQjtnQ0FDdEIsUUFBUSxFQUFFLHdCQUF3QjtnQ0FDbEMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQztnQ0FDL0MsYUFBYSxFQUFFLGVBQWUsQ0FBQyxhQUFhOzZCQUM3QyxDQUFDLENBQUM7NEJBQ0gsSUFBSSxlQUFlLEVBQUU7Z0NBQ25CLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzs2QkFDOUQ7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7cUJBQ047aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7d0JBQzdCLE9BQU8sRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLGdCQUFnQjt3QkFDMUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxJQUFJLEVBQUUsU0FBUzt3QkFDbEMsS0FBSyxFQUFFLGFBQWEsR0FBRyxLQUFLLEdBQUcsSUFBSSxFQUFFLFVBQVU7d0JBQy9DLFFBQVEsRUFBRSxJQUFJO3FCQUNmLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDMUg7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW1DO1FBQ3BELE1BQU0sU0FBUyxHQUE2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN2RyxLQUFLLEVBQUUsVUFBVTtZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjthQUM5QztTQUNGLENBQUMsQ0FBQztRQUNILGtDQUFrQztRQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxNQUFNLE9BQU8sR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQztvQkFDM0QsR0FBRyxHQUFHO29CQUNOLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3hDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxJQUFtQztRQUM1RCxNQUFNLFNBQVMsR0FBa0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDakgsS0FBSyxFQUFFLFVBQVU7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTtTQUN2QyxDQUFDLENBQUM7UUFDSCxrQ0FBa0M7UUFDbEMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsTUFBTSxPQUFPLEdBQWdDLElBQUksMkJBQTJCLENBQUM7b0JBQzNFLEdBQUcsR0FBRztvQkFDTixnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN4QyxRQUFRLEVBQUUsd0JBQXdCO2lCQUVuQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLDJDQUEyQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBbUM7UUFDOUQsTUFBTSxTQUFTLEdBQWtELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLCtCQUErQixFQUFFO1lBQ2xILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsa0NBQWtDO1FBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFO2dCQUNULE1BQU0sT0FBTyxHQUFnQyxJQUFJLDJCQUEyQixDQUFDO29CQUMzRSxHQUFHLEdBQUc7b0JBQ04sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQjtvQkFDeEMsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQywyQkFBMkIsQ0FBQywyQ0FBMkMsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUN0RjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW1DO1FBQ3BELE1BQU0sU0FBUyxHQUFtRCxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNwSCxLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsa0NBQWtDO1FBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFO2dCQUNULE1BQU0sT0FBTyxHQUFzQixJQUFJLGlCQUFpQixDQUFDO29CQUN2RCxHQUFHLEdBQUc7b0JBQ04sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQjtvQkFDeEMsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQywyQkFBMkIsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUU5RTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELHlCQUF5QixDQUFDLElBQW1DO1FBQzNELE1BQU0sU0FBUyxHQUF3RCxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5SCxLQUFLLEVBQUUsY0FBYztZQUNyQixZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDNUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBbUM7UUFDNUQsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssY0FBYyxJQUFJLElBQUksRUFBRSxrQkFBa0IsS0FBSyxhQUFhO1lBQzNGLElBQUksRUFBRSxrQkFBa0IsS0FBSyxlQUFlLElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGNBQWMsRUFBRTtZQUM3RixNQUFNLFNBQVMsR0FBa0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsK0JBQStCLEVBQUU7Z0JBQ2xILEtBQUssRUFBRSxVQUFVO2dCQUNqQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsSUFBSSxFQUFFO29CQUNKLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdDLElBQUksRUFBRSxJQUFJO2lCQUNYO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsa0NBQWtDO1lBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3RGLElBQUksR0FBRyxFQUFFO29CQUNQLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxFQUFFO3dCQUMzRSxLQUFLLEVBQUUsTUFBTTt3QkFDYixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsSUFBSSxFQUFFLEVBQUU7cUJBQ1QsQ0FBQyxDQUFDO29CQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUU7eUJBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLFlBQW9CLEVBQUUsRUFBRTt3QkFDbEMsNEJBQTRCO3dCQUM1QiwwS0FBMEs7d0JBQzFLLG1DQUFtQzt3QkFDbkMsMEtBQTBLO3dCQUMxSyxJQUFJO3dCQUNKLE1BQU0sT0FBTyxHQUFrQyxJQUFJLDZCQUE2QixDQUFDOzRCQUMvRSxHQUFHLEdBQUc7NEJBQ04sc0JBQXNCLEVBQUUsSUFBSTs0QkFDNUIsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQzs0QkFDL0MsYUFBYSxFQUFFLElBQUk7NEJBQ25CLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUzs0QkFDdkIsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQjs0QkFDNUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUM7NEJBQzNDLFVBQVUsRUFBRSxZQUFZOzRCQUN4QixjQUFjLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDNUMsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0QsQ0FBQyxDQUFDLENBQUE7aUJBQ0w7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILGdHQUFnRztZQUNoRyw2QkFBNkI7WUFDN0IscUJBQXFCO1lBQ3JCLGFBQWE7WUFDYiw4RkFBOEY7WUFDOUYsTUFBTTtZQUNOLE9BQU87U0FDUjthQUNJO1lBQ0gsTUFBTSxTQUFTLEdBQWtELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLCtCQUErQixFQUFFO2dCQUNsSCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLElBQUksRUFBRTtvQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO29CQUM3QyxJQUFJLEVBQUUsSUFBSTtpQkFDWDthQUNGLENBQUMsQ0FBQztZQUNILGtDQUFrQztZQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUN0RixJQUFJLEdBQUcsRUFBRTtvQkFDUCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRTt3QkFDM0UsS0FBSyxFQUFFLE1BQU07d0JBQ2IsWUFBWSxFQUFFLElBQUk7d0JBQ2xCLElBQUksRUFBRSxFQUFFO3FCQUNULENBQUMsQ0FBQztvQkFDSCxTQUFTLENBQUMsV0FBVyxFQUFFO3lCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3lCQUN4QyxTQUFTLENBQUMsQ0FBQyxZQUFvQixFQUFFLEVBQUU7d0JBQ2xDLDRCQUE0Qjt3QkFDNUIsMEtBQTBLO3dCQUMxSyxtQ0FBbUM7d0JBQ25DLDBLQUEwSzt3QkFDMUssSUFBSTt3QkFDSixtRkFBbUY7d0JBQ25GLHVGQUF1Rjt3QkFDdkYsY0FBYzt3QkFDZCwwQ0FBMEM7d0JBQzFDLGlEQUFpRDt3QkFDakQsZ0NBQWdDO3dCQUNoQyxxREFBcUQ7d0JBQ3JELG1EQUFtRDt3QkFDbkQsZ0NBQWdDO3dCQUNoQyxRQUFRO3dCQUNSLGtFQUFrRTt3QkFDbEUsSUFBSTt3QkFDSixJQUFJLElBQUksRUFBRSxrQkFBa0IsS0FBSyxjQUFjLElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGtCQUFrQixFQUFFOzRCQUNsRyxNQUFNLE9BQU8sR0FBa0MsSUFBSSw2QkFBNkIsQ0FBQztnQ0FDL0UsR0FBRyxHQUFHO2dDQUNOLFFBQVEsRUFBRSx3QkFBd0I7Z0NBQ2xDLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7NkJBQ3pDLENBQUMsQ0FBQzs0QkFDSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2dDQUM3QixPQUFPLEVBQUUsUUFBUSxHQUFHLElBQUksRUFBRSxnQkFBZ0I7Z0NBQzFDLEtBQUssRUFBRSxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVM7Z0NBQ2xDLEtBQUssRUFBRSxhQUFhLEdBQUcsS0FBSyxHQUFHLElBQUksRUFBRSxVQUFVO2dDQUMvQyxRQUFRLEVBQUUsSUFBSTs2QkFDZixDQUFDLENBQUM7NEJBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7eUJBQzFIO3dCQUNELGtFQUFrRTt3QkFDbEUscURBQXFEO3dCQUNyRCxzREFBc0Q7d0JBQ3RELCtFQUErRTs2QkFDMUUsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssa0JBQWtCOzRCQUN0RCxJQUFJLEVBQUUsa0JBQWtCLEtBQUssZUFBZTs0QkFDNUMsSUFBSSxFQUFFLGtCQUFrQixLQUFLLGVBQWUsRUFBRTs0QkFDOUMsTUFBTSxPQUFPLEdBQWtDLElBQUksNkJBQTZCLENBQUM7Z0NBQy9FLEdBQUcsR0FBRztnQ0FDTixRQUFRLEVBQUUsd0JBQXdCO2dDQUNsQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCO2dDQUN4QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVM7Z0NBQ3ZCLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0I7Z0NBQzVDLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDO2dDQUMzQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDOzZCQUN0RSxDQUFDLENBQUM7NEJBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUM3RCx5REFBeUQ7NEJBQ3pELHlGQUF5Rjs0QkFDekYsOEJBQThCOzRCQUM5Qiw2QkFBNkI7NEJBQzdCLDZDQUE2Qzs0QkFDN0MsK0NBQStDOzRCQUMvQywrQ0FBK0M7NEJBQy9DLGtEQUFrRDs0QkFDbEQsOEJBQThCOzRCQUM5QixNQUFNOzRCQUNOLGdGQUFnRjt5QkFDakY7NkJBQ0k7NEJBQ0gsTUFBTSxPQUFPLEdBQWtDLElBQUksNkJBQTZCLENBQUM7Z0NBQy9FLEdBQUcsR0FBRztnQ0FDTixRQUFRLEVBQUUsd0JBQXdCO2dDQUNsQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCOzZCQUN6QyxDQUFDLENBQUM7NEJBQ0gsRUFBRTs0QkFDRixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsOEJBQThCLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxjQUFjO21DQUM5RSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsSUFBSTt1Q0FDeEYsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFVBQVU7dUNBQ3BJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSTsyQ0FDdEYsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0NBQ25JLFlBQVk7Z0NBQ1osSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzs2QkFDakQ7aUNBQU07Z0NBQ0wsYUFBYTtnQ0FDYixJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7NkJBQzlEO3lCQUNGO3dCQUNELE1BQU07b0JBQ1IsQ0FBQyxDQUFDLENBQUM7aUJBQ047WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELDZCQUE2QixDQUFDLElBQW1DO1FBRS9ELElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGNBQWMsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssYUFBYSxFQUFFO1lBQzdGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUE7U0FDbEM7UUFFRCw2RUFBNkU7UUFDN0UsTUFBTSxTQUFTLEdBQXFELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO1lBQ3hILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTthQUNsRjtTQUNGLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsSUFBSSw2QkFBNkIsQ0FBQztvQkFDcEYsR0FBRyxHQUFHO29CQUNOLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3hDLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDLENBQUMsQ0FBQyxDQUFDO2FBQ0w7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxPQUFzQyxFQUFFLElBQW1DO1FBQ3JHLE1BQU0sZ0JBQWdCLEdBQW1ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQzFILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixPQUFPLEVBQUUsdUJBQXVCO2FBQ2pDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVksRUFBRSxFQUFFO1lBQ2pHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsSUFBSSw2QkFBNkIsQ0FBQztvQkFDcEYsR0FBRyxPQUFPO29CQUNWLFlBQVksRUFBRSxJQUFJO2lCQUNuQixDQUFDLENBQUMsQ0FBQzthQUNMO2lCQUFNO2dCQUNMLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLDZCQUE2QixDQUFDO29CQUNwRixHQUFHLE9BQU87b0JBQ1YsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCLENBQUMsQ0FBQyxDQUFDO2FBQ0w7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osRUFBRTtJQUNKLENBQUM7OzhIQTNlVSxnQ0FBZ0MsME1BZ0JqQyxhQUFhO2tIQWhCWixnQ0FBZ0MsZ0dDOUQ3QywrR0FDQTs0RkQ2RGEsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0I1QyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsIH0gZnJvbSAnQHBydXRlY2gvYXBwb2ludG1lbnQnO1xyXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCwgQ29udGV4dE1lbnVBY3Rpb25JdGVtLCBDb250ZXh0TWVudUl0ZW0sIEVudmlyb25tZW50LCBMb29rdXAsIFRhYlNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9pZGVudGl0eS1jbGllbnQnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmQsIGdldCwgaXNOaWwsIG1hcCwgdG9TdHJpbmcgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgYXMgckZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBtZW51SXRlbXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbWVudS1pdGVtcyc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbmNpbGlhdGlvbi13b3JrLWxpc3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZGlhbG9nU2l6ZSwgcmVjb3JkT3V0cmVhY2hkaWFsb2dTaXplLCBmb3JtRGlhbG9nU2l6ZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvZGlhZ2xvZy1zaXplJztcclxuaW1wb3J0IHsgR29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2dvb2QtY2F1c2UtZ3JhbnRlZC1hY3Rpb24vZ29vZC1jYXVzZS1ncmFudGVkLWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb29rdXBzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2R1bGVzL2NvbmNpbGlhdGlvbi1sb29rdXBzL3NlcnZpY2VzL2xvb2t1cHMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkxvb2t1cHMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2NvbmNpbGlhdGlvbi1sb29rdXBzLm1vZGVsJztcclxuaW1wb3J0IHsgR29vZENhdXNlTm90R3JhbnRlZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2dvb2QtY2F1c2Utbm90LWdyYW50ZWQtYWN0aW9uL2dvb2QtY2F1c2Utbm90LWdyYW50ZWQtYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmUtY29uY2lsaWF0aW9uLXN0YXR1cy1wYXlsb2FkLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgZ29vZENhdXNlTm90R3JhbnRlZEFjdGlvbklkLFxyXG4gIHJlQXNzaWduQWN0aW9uSWQsXHJcbiAgcmVjb3JkT3V0cmVhY2hBY3Rpb25JZCxcclxuICByZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCxcclxuICBzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQsXHJcbiAgc2hvd0Nhc2VzdW1tYXJ5SWQsXHJcbiAgc2hvd091dHJlYWNoSGlzdG9yeUlkXHJcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vbWVudS1hY3Rpb24tZGVmcyc7XHJcbmltcG9ydCB7IGFjdGlvbnNMYWJlbCB9IGZyb20gJy4uLy4uLy4uL3ByZS1jb25jaWxpYXRpb24td29yay1saXN0L2NvbnN0YW50cy9tZW51LWl0ZW1zJztcclxuaW1wb3J0IHsgWWVzTm9Db25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy95ZXMtbm8tY29uZmlybWF0aW9uLWRpYWxvZy95ZXMtbm8tY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBjb25maXJtSGVhZGVyLCBnb29kQ2F1c2VDb25maXJtTWVzc2FnZSwgbm9MYWJlbCwgeWVzTGFiZWwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMveWVzLW5vLWNvbmZpcm0tZGVmYXVsdHMnO1xyXG5pbXBvcnQgeyBJbmZyYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uc3RhbnRzL2luZnJhY3Rpb24tdHlwZS1lbnVtJztcclxuaW1wb3J0IHsgSW5mcmFjdGlvbkF0RW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvaW5mcmFjdGlvbi1hdC1lbnVtJztcclxuaW1wb3J0IHsgU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24vc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2F2ZS1zY2hlZHVsaW5nLWNhbGwtYmFjay5tb2RlbCc7XHJcbmltcG9ydCB7IFNhdmVPdXRyZWFjaE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmUtb3V0cmVhY2gtbW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmRPdXRyZWFjaGRpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL3JlY29yZC1vdXRyZWFjaGRpYWxvZ2JveC9yZWNvcmQtb3V0cmVhY2hkaWFsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi9yZS1hc3NpZ24tZGFpbG9nYm94L3JlLWFzc2lnbi1kYWlsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vd2FudC10by1zZW5kLWNsaWVudC1iYWNrLWRpYWxvZ2JveC93YW50LXRvLXNlbmQtY2xpZW50LWJhY2stZGlhbG9nYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IG9wZW5BcHBvaW50bWVudERpYWxvZ2JveCB9IGZyb20gJy4uLy4uL21vZGVscy9vcGVuLWFwcG9pbnRtZW50JztcclxuaW1wb3J0IHsgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXQtYmF0Y2gtcG9vbC1hcHBvaW50bWVudC5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgY3NBcHBvaW50bWVudHMsXHJcbiAgY3NBc3NpZ25tZW50cyxcclxuICBpdmFwQXNzaWdubWVudHMsXHJcbiAgamNBcHBvaW50bWVudHMsXHJcbiAgc3BsUmVmQXBwb2ludG1lbnRzLFxyXG4gIHRhZ0FwcG9pbnRtZW50cyxcclxuICB0YWdBc3NpZ25tZW50cyxcclxuICB2cnNBcHBvaW50bWVudHMsXHJcbiAgd2VjYXJlQXBwb2ludG1lbnRzXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL29yZ2luYWwtY2F0ZWdvcnktbG9va3VwLXR5cGVzLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEdlbmVyYXRlRklBMTE4N0FMZXR0ZXJEaWFsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9nZW5lcmF0ZS1maWExMTg3LWFsZXR0ZXItZGlhbG9nYm94L2dlbmVyYXRlLWZpYTExODctYWxldHRlci1kaWFsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3V0cmVhY2hIaXN0b3J5R3JpZERpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL291dHJlYWNoLWhpc3RvcnktZ3JpZC1kaWFsb2dib3gvb3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwcnV0ZWNoLWNvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25jaWxpYXRpb25Db250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgbWVudUl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXSA9IG1lbnVJdGVtcztcclxuICBwYXJhbXM6IEFnR3JpZEFuZ3VsYXI7XHJcbiAgY29uY2lsaWF0aW9uTG9va3VwczogQ29uY2lsaWF0aW9uTG9va3VwcztcclxuICBhY3Rpb25zOiBMb29rdXBbXTtcclxuICB1c2VyOiBVc2VyO1xyXG4gIGlzQ29uY2lsaWF0aW9uV2xDaGVjazogYW55O1xyXG4gIGFwcHRTY2hlZHVsZWREZXRhaWxzOiBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGxvb2t1cHNTZXJ2aWNlOiBMb29rdXBzU2VydmljZSxcclxuICAgIHByaXZhdGUgdGFiU2VydmljZTogVGFiU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlOiBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCksXHJcbiAgICAgIHJGaWx0ZXIoKHVzZXI6IFVzZXIpID0+ICEhdXNlcikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IFVzZXIpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmxvb2t1cHNTZXJ2aWNlLmxvb2t1cHMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsb29rdXBzOiBDb25jaWxpYXRpb25Mb29rdXBzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzID0gbG9va3VwcztcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5hY3Rpb25zLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9uczogTG9va3VwW10pID0+IHtcclxuICAgICAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zO1xyXG4gICAgICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5nZXRVcGRhdGVkTWVudUl0ZW1zKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWdJbml0KHBhcmFtczogQWdHcmlkQW5ndWxhcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICBjb25zdCBjYW5SZXNjaGVkdWxlOiBib29sZWFuID0gIWlzTmlsKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEuc2NoZWR1bGVkRGF0ZScpKTtcclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc0dyYW50ZWQnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICcxJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNHcmFudGVkJykpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSAnMicpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzU2NoZWR1bGUnKSB8fCBjYW5SZXNjaGVkdWxlKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gdG9TdHJpbmcoc2NoZWR1bGVDYWxsQmFja0FjdGlvbklkKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNSZVNjaGVkdWxlJykgfHwgIWNhblJlc2NoZWR1bGUpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSB0b1N0cmluZyhyZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzT3V0cmVhY2gnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICc2JyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNSZUFzc2lnbicpKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzUnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgICBpZiAoZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5zaG93T25seUNhc2VTdW1tYXknKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+KChhY3Rpb25JdGVtLnJvdXRlICE9PSAnOCcpKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVkTWVudUl0ZW1zKCk6IENvbnRleHRNZW51SXRlbVtdIHtcclxuICAgIHJldHVybiBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgaWYgKGl0ZW0ubGFiZWwgPT09IGFjdGlvbnNMYWJlbCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBsYWJlbDogYWN0aW9uc0xhYmVsLFxyXG4gICAgICAgICAgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PlxyXG4gICAgICAgICAgICAhIWZpbmQodGhpcy5hY3Rpb25zLCAoYWN0aW9uTG9va3VwOiBMb29rdXApID0+IHRvU3RyaW5nKGFjdGlvbkxvb2t1cC5sb29rdXBJZCkgPT09IGFjdGlvbkl0ZW0ucm91dGUpKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvQWN0aW9uKGV2ZW50OiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNhc2VJZDogbnVtYmVyID0gZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5jbXNDYXNlSWQnKTtcclxuICAgIHN3aXRjaCAoZXZlbnQucm91dGUpIHtcclxuICAgICAgY2FzZSB0b1N0cmluZyhnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3Blbkdvb2RDYXVzZUdyYW50ZWREaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgLy8gc3VwcG9zZSBnb29kIGNhdXNlIGdyYW50ZWQgbG9va3VwSWQgaXMgMlxyXG4gICAgICBjYXNlIHRvU3RyaW5nKGdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuR29vZENhdXNlTm90R3JhbnRlZERpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5SZVNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZWNvcmRPdXRyZWFjaEFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5PdXRyZWFjaERpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHJlQXNzaWduQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3BlblJlQXNzaWduRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoc2hvd0Nhc2VzdW1tYXJ5SWQpOlxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2Utc3VtbWFyeS8nICsgY2FzZUlkXSk7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoc2hvd091dHJlYWNoSGlzdG9yeUlkKTpcclxuICAgICAgdGhpcy5vcGVuT3V0cmVhY2hIaXN0b3J5RGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5XYW50ZWRDbGllbnREYWlsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nLm9wZW4oV2FudFRvU2VuZENsaWVudEJhY2tEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBnZXQoaXRlbSwgJ3dsQ29uY2lsaWF0aW9uSWQnKVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBpc1dhbnRUb1NlbmRDbGllbnRCYWNrID0gZ2V0KHJlcywgJ3dhbnR0b3NlbmRjbGllbnRiYWNrJyk7XHJcbiAgICAgICAgaWYgKGlzV2FudFRvU2VuZENsaWVudEJhY2spIHtcclxuICAgICAgICAgIGlmICghZ2V0KGl0ZW0sICdpc0FjdGl2ZUFzc2lnbm1lbnQnKSkge1xyXG4gICAgICAgICAgICBvcGVuQXBwb2ludG1lbnREaWFsb2dib3godGhpcy5kaWFsb2csIGl0ZW0/LmNtc0Nhc2VJZCwgZ2V0KHRoaXMuZW52aXJvbm1lbnQsICdjb25jaWxpYXRpb25Bc3Nlc3NtZW50QXBwb2ludG1lbnRUeXBlSWQnKSwgMCwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwdFNjaGVkdWxlZERldGFpbHMgPSBzY2hlZHVsZURldGFpbHM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2ssXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGdldChpdGVtLCAnd2xDb25jaWxpYXRpb25JZCcpLFxyXG4gICAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBzY2hlZHVsZURldGFpbHMuYXBwb2ludG1lbnRJZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlRGV0YWlscykge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFiU2VydmljZS5kaXNwYXRjaEFkZFRhYih7XHJcbiAgICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgaXRlbT8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgcm91dGU6ICcvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgbGFiZWw6ICdBc3Nlc3NtZW50cycgKyAnIC0gJyArIGl0ZW0/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBjbGllbnROYW1lOiBpdGVtPy5jbGllbnROYW1lIH0gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZUFzc2lnbkRpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2cub3BlbihSZUFzc2lnbkRhaWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU3VibWl0UmVhc3NpZ25Nb2RlbCA9IG5ldyBTdWJtaXRSZWFzc2lnbk1vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVBc3NpZ25BY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVSZWFzc2lnbihwYXlsb2FkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YTogeyAuLi5pdGVtLCBpc1JlU2NoZWR1bGU6IGZhbHNlIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgPSBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogc2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG5cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tEZXRhaWxEZXRhaWxzKHBheWxvYWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZVNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlzUmVTY2hlZHVsZTogdHJ1ZSB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsID0gbmV3IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0RldGFpbERldGFpbHMocGF5bG9hZClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuT3V0cmVhY2hEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiByZWNvcmRPdXRyZWFjaGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlT3V0cmVhY2hNb2RlbCA9IG5ldyBTYXZlT3V0cmVhY2hNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlY29yZE91dHJlYWNoQWN0aW9uSWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlT3V0cmVhY2hXb3JrbGlzdERldGFpbHMocGF5bG9hZClcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvcGVuT3V0cmVhY2hIaXN0b3J5RGlhbG9nKGl0ZW06IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsKXtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE91dHJlYWNoSGlzdG9yeUdyaWREaWFsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oT3V0cmVhY2hIaXN0b3J5R3JpZERpYWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZm9ybURpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGRhdGE6IGl0ZW0ud2xDb25jaWxpYXRpb25JZFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuR29vZENhdXNlR3JhbnRlZERpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBcHBvaW50bWVudHMgfHwgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0Fzc2lnbm1lbnRzIHx8XHJcbiAgICAgIGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdGFnQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdGFnQXNzaWdubWVudHMpIHtcclxuICAgICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICAgIGRhdGE6IGl0ZW1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEdlbmVyYXRlRklBMTE4N0FMZXR0ZXJEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgd2lkdGg6ICc1NXZ3JyxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRhOiB7fSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGV0dGVyVHlwZUlkOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAvLyBpZiAobGV0dGVyVHlwZUlkID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGl0ZW0sICdjbXNDYXNlSWQnKSB9KTtcclxuICAgICAgICAgICAgICAvLyB9IGVsc2UgaWYgKGxldHRlclR5cGVJZCA9PT0gMikge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2s6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogZ2V0KGl0ZW0sICd3bENvbmNpbGlhdGlvbklkJyksXHJcbiAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgY2FzZUlkOiBpdGVtPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbENhdGVnb3J5SWQ6IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAgIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksXHJcbiAgICAgICAgICAgICAgICBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsXHJcbiAgICAgICAgICAgICAgICBpbmZyYWN0aW9uRGF0ZTogZ2V0KGl0ZW0sICdpbmZyYWN0aW9uRGF0ZScpLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5zYXZlU3RhdHVzKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgLy8gLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgLy8gICBjb25zb2xlLmxvZyhyZXMpXHJcbiAgICAgIC8vICAgaWYocmVzKXtcclxuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZF0gLCB7cXVlcnlQYXJhbXM6e2lzY29uY2lsaWF0aW9uV0w6dHJ1ZX19KVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSk7IFxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdvb2RDYXVzZUdyYW50ZWRBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oR29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjb25jaWxpYXRpb25Mb29rdXBzOiB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMsXHJcbiAgICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihHZW5lcmF0ZUZJQTExODdBTGV0dGVyRGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNTV2dycsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgZGF0YToge30sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxldHRlclR5cGVJZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gaWYgKGxldHRlclR5cGVJZCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmIChsZXR0ZXJUeXBlSWQgPT09IDIpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoaXRlbSwgJ2Ntc0Nhc2VJZCcpIH0pO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAvLyBpZiAoaXRlbSA/Lm91dHJlYWNoSWQgIT0gbnVsbCB8fCBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBc3NpZ25tZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgIC8vICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgLy8gICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0gPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgIC8vICAgICBjYXNlSWQ6IGl0ZW0gPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIG9yaWdpbmFsQ2F0ZWdvcnlJZDogaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAvLyAgICAgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSxcclxuICAgICAgICAgICAgICAvLyAgICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLFxyXG4gICAgICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIGlmIChpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGpjQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gc3BsUmVmQXBwb2ludG1lbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJTZXJ2aWNlLmRpc3BhdGNoQWRkVGFiKHtcclxuICAgICAgICAgICAgICAgICAgdGFiTmFtZTogJ2VhLWVwLycgKyBpdGVtPy5lYWVwQXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICAgICAgICByb3V0ZTogJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0Fzc2Vzc21lbnRzJyArICcgLSAnICsgaXRlbT8uY2xpZW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgY2FuQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2VhLWVwLycgKyBpdGVtPy5jbXNDYXNlSWRdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHN0YXRlOiB7IGNsaWVudE5hbWU6IGl0ZW0/LmNsaWVudE5hbWUgfSB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy8gZWxzZSBpZiAoKCgoaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gd2VjYXJlQXBwb2ludG1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgLy8gICBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBpdmFwQXNzaWdubWVudHMgfHxcclxuICAgICAgICAgICAgICAvLyAgICAgaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdnJzQXBwb2ludG1lbnRzKSBcclxuICAgICAgICAgICAgICAvLyAgICAgJiYgaXRlbSA/Lm55Y3dheUFwcHRDb2RlICE9PSBudWxsKSB8fCBpdGVtID8ubnljd2F5QXBwdENvZGUgPT09ICdDSCcpKSB7XHJcbiAgICAgICAgICAgICAgZWxzZSBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB3ZWNhcmVBcHBvaW50bWVudHMgfHxcclxuICAgICAgICAgICAgICAgIGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gaXZhcEFzc2lnbm1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgICBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHZyc0FwcG9pbnRtZW50cykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIGNhc2VJZDogaXRlbT8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgICBvcmlnaW5hbENhdGVnb3J5SWQ6IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAgICAgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSxcclxuICAgICAgICAgICAgICAgICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBpbmZyYWN0aW9uRGF0ZTogZ2V0KGl0ZW0sICdpbmZyYWN0aW9uRGF0ZScpLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICAvL0JhdGNoIHBvb2wgbG9naWMgYWRkZWQgdG8gU3VibWl0R3JhbnRlZENvbmNpbGlhdGlvbiBhcGlcclxuICAgICAgICAgICAgICAgIC8vIGNvbnN0IHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgPSBuZXcgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCh7XHJcbiAgICAgICAgICAgICAgICAvLyAgIGNhc2VJZDogaXRlbSA/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAgIC8vICAgc2l0ZUlkOiBpdGVtID8uc21TaXRlSWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGFwcG9pbnRtZW50SWQ6IGl0ZW0gPy5hcHBvaW50QXNzaWduTmFtZSxcclxuICAgICAgICAgICAgICAgIC8vICAgZWFlcEFzc2Vzc21lbnRJZDogaXRlbSA/LmVhZXBBc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0gPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgLy8gICBhcHBvaW50bWVudE5ZQ1dBWWNvZGU6IGl0ZW0gPy5ueWN3YXlBcHB0Q29kZSxcclxuICAgICAgICAgICAgICAgIC8vICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50KHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgaWYgKGdldChpdGVtLCAnaW5mcmFjdGVkVHlwZS52YWx1ZS5sb29rdXBJZCcpID09PSBJbmZyYWN0aW9uVHlwZUVudW0uRlRSQXBwb2ludG1lbnRcclxuICAgICAgICAgICAgICAgICAgJiYgKChnZXQoaXRlbSwgJ2luZnJhY3RlZEF0LnZhbHVlLmxvb2t1cElkJykgPT09IEluZnJhY3Rpb25BdEVudW0uQ2FyZWVyU2VydmljZXMgJiYgdGhpcy51c2VyXHJcbiAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMudXNlci5pc0pvc1dvcmtlciB8fCB0aGlzLnVzZXIuaXNKb3NTdXBlcnZpc29yIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25Xb3JrZXIgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvblN1cGVydmlzb3IpKSAvLyBiciA4LCA5XHJcbiAgICAgICAgICAgICAgICAgICAgfHwgKGdldChpdGVtLCAnaW5mcmFjdGVkQXQudmFsdWUubG9va3VwSWQnKSA9PT0gSW5mcmFjdGlvbkF0RW51bS5DYXJlZXJBZHZhbmNlICYmIHRoaXMudXNlclxyXG4gICAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMudXNlci5pc0pvc1dvcmtlciB8fCB0aGlzLnVzZXIuaXNKb3NTdXBlcnZpc29yIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25Xb3JrZXIgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvblN1cGVydmlzb3IpKSkpIHtcclxuICAgICAgICAgICAgICAgICAgLy8gYnIgMTAsIDExXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMub3Blblllc05vQ29uZmlybWF0aW9uRGlhbG9nKHBheWxvYWQsIGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgLy8gc2VuZCB0byBCRVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC8vaGVyZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbkdvb2RDYXVzZU5vdEdyYW50ZWREaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0FwcG9pbnRtZW50cyB8fCBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXNzaWdubWVudHMpIHtcclxuICAgICAgdGhpcy5pc0NvbmNpbGlhdGlvbldsQ2hlY2sgPSB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgLy93ZSBkb24ndCBuZWVkIHRvIHNlbmQgb3JpZ2luYWwgYXBwdCBJZC4gT3JpZ2luYWwgYXBwdCB0eXBlIElkIGlzIGRpZmZlcmVudC5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oR29vZENhdXNlTm90R3JhbnRlZEFjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICAgIGRhdGE6IHsgLi4uaXRlbSwgYXBwb2ludG1lbnRJZDogMCwgaXNjb25jaWxpYXRpb25XTDogdGhpcy5pc0NvbmNpbGlhdGlvbldsQ2hlY2sgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmICghIXJlcykge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5ZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZyhwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCwgaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbmZpcm1EaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFllc05vQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB5ZXNMYWJlbDogeWVzTGFiZWwsXHJcbiAgICAgICAgbm9MYWJlbDogbm9MYWJlbCxcclxuICAgICAgICBoZWFkZXI6IGNvbmZpcm1IZWFkZXIsXHJcbiAgICAgICAgbWVzc2FnZTogZ29vZENhdXNlQ29uZmlybU1lc3NhZ2UsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25maXJtRGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMobmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgIC4uLnBheWxvYWQsXHJcbiAgICAgICAgICBjb25maXJtWWVzTm86IHRydWUsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICAgIGNvbmZpcm1ZZXNObzogZmFsc2UsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFmdGVyT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy9cclxuICB9XHJcbn0iLCI8cHJ1dGVjaC1jb250ZXh0LW1lbnUgW21lbnVJdGVtc109XCJtZW51SXRlbXNcIiAobWVudUFjdGlvbik9XCJkb0FjdGlvbigkZXZlbnQpXCI+PC9wcnV0ZWNoLWNvbnRleHQtbWVudT5cclxuIl19
517
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBMkUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEZBQTBGLENBQUM7QUFHM0ksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0dBQWtHLENBQUM7QUFDdEos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QUFDLElBQUksNkJBQTZCLENBQUM7b0JBQ3BGLEdBQUcsT0FBTztvQkFDVixZQUFZLEVBQUUsS0FBSztpQkFDcEIsQ0FBQyxDQUFDLENBQUM7YUFDTDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDWixFQUFFO0lBQ0osQ0FBQzs7OEhBcmZVLGdDQUFnQywwTUFpQmpDLGFBQWE7a0hBakJaLGdDQUFnQyxnR0MvRDdDLCtHQUNBOzRGRDhEYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtQjVDLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwgfSBmcm9tICdAcHJ1dGVjaC9hcHBvaW50bWVudCc7XHJcbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvYW5ndWxhcic7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29tcG9uZW50LCBDb250ZXh0TWVudUFjdGlvbkl0ZW0sIENvbnRleHRNZW51SXRlbSwgRW52aXJvbm1lbnQsIExvb2t1cCwgVGFiU2VydmljZSB9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBVc2VyLCBVc2VyU2VydmljZSB9IGZyb20gJ0BwcnV0ZWNoL2lkZW50aXR5LWNsaWVudCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmluZCwgZ2V0LCBpc05pbCwgbWFwLCB0b1N0cmluZyB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IGZpbHRlciBhcyByRmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IG1lbnVJdGVtcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9tZW51LWl0ZW1zJztcclxuaW1wb3J0IHsgQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29uY2lsaWF0aW9uLXdvcmstbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkaWFsb2dTaXplLCByZWNvcmRPdXRyZWFjaGRpYWxvZ1NpemUsIGZvcm1EaWFsb2dTaXplIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9kaWFnbG9nLXNpemUnO1xyXG5pbXBvcnQgeyBHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ29vZC1jYXVzZS1ncmFudGVkLWFjdGlvbi9nb29kLWNhdXNlLWdyYW50ZWQtYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvb2t1cHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZHVsZXMvY29uY2lsaWF0aW9uLWxvb2t1cHMvc2VydmljZXMvbG9va3Vwcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uY2lsaWF0aW9uTG9va3VwcyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvY29uY2lsaWF0aW9uLWxvb2t1cHMubW9kZWwnO1xyXG5pbXBvcnQgeyBHb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ29vZC1jYXVzZS1ub3QtZ3JhbnRlZC1hY3Rpb24vZ29vZC1jYXVzZS1ub3QtZ3JhbnRlZC1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICBnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQsXHJcbiAgcmVBc3NpZ25BY3Rpb25JZCxcclxuICByZWNvcmRPdXRyZWFjaEFjdGlvbklkLFxyXG4gIHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG4gIHNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCxcclxuICBzaG93Q2FzZXN1bW1hcnlJZCxcclxuICBzaG93T3V0cmVhY2hIaXN0b3J5SWRcclxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uc3RhbnRzL2NvbmNpbGlhdGlvbi9tZW51LWFjdGlvbi1kZWZzJztcclxuaW1wb3J0IHsgYWN0aW9uc0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vcHJlLWNvbmNpbGlhdGlvbi13b3JrLWxpc3QvY29uc3RhbnRzL21lbnUtaXRlbXMnO1xyXG5pbXBvcnQgeyBZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3llcy1uby1jb25maXJtYXRpb24tZGlhbG9nL3llcy1uby1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGNvbmZpcm1IZWFkZXIsIGdvb2RDYXVzZUNvbmZpcm1NZXNzYWdlLCBub0xhYmVsLCB5ZXNMYWJlbCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy95ZXMtbm8tY29uZmlybS1kZWZhdWx0cyc7XHJcbmltcG9ydCB7IEluZnJhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvaW5mcmFjdGlvbi10eXBlLWVudW0nO1xyXG5pbXBvcnQgeyBJbmZyYWN0aW9uQXRFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9pbmZyYWN0aW9uLWF0LWVudW0nO1xyXG5pbXBvcnQgeyBTY2hlZHVsZUNhbGxCYWNrQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXZlLXNjaGVkdWxpbmctY2FsbC1iYWNrLm1vZGVsJztcclxuaW1wb3J0IHsgU2F2ZU91dHJlYWNoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2F2ZS1vdXRyZWFjaC1tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVjb3JkLW91dHJlYWNoZGlhbG9nYm94L3JlY29yZC1vdXRyZWFjaGRpYWxvZ2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZUFzc2lnbkRhaWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL3JlLWFzc2lnbi1kYWlsb2dib3gvcmUtYXNzaWduLWRhaWxvZ2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJtaXRSZWFzc2lnbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N1Ym1pdC1yZS1hc3NpZ24tZnJvbW1vZGVsJztcclxuaW1wb3J0IHsgV2FudFRvU2VuZENsaWVudEJhY2tEaWFsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi93YW50LXRvLXNlbmQtY2xpZW50LWJhY2stZGlhbG9nYm94L3dhbnQtdG8tc2VuZC1jbGllbnQtYmFjay1kaWFsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgb3BlbkFwcG9pbnRtZW50RGlhbG9nYm94IH0gZnJvbSAnLi4vLi4vbW9kZWxzL29wZW4tYXBwb2ludG1lbnQnO1xyXG5pbXBvcnQgeyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N1Ym1pdC1iYXRjaC1wb29sLWFwcG9pbnRtZW50Lm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBjc0FwcG9pbnRtZW50cyxcclxuICBjc0Fzc2lnbm1lbnRzLFxyXG4gIGl2YXBBc3NpZ25tZW50cyxcclxuICBqY0FwcG9pbnRtZW50cyxcclxuICBzcGxSZWZBcHBvaW50bWVudHMsXHJcbiAgdGFnQXBwb2ludG1lbnRzLFxyXG4gIHRhZ0Fzc2lnbm1lbnRzLFxyXG4gIHZyc0FwcG9pbnRtZW50cyxcclxuICB3ZWNhcmVBcHBvaW50bWVudHNcclxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvb3JnaW5hbC1jYXRlZ29yeS1sb29rdXAtdHlwZXMuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgR2VuZXJhdGVGSUExMTg3QUxldHRlckRpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2dlbmVyYXRlLWZpYTExODctYWxldHRlci1kaWFsb2dib3gvZ2VuZXJhdGUtZmlhMTE4Ny1hbGV0dGVyLWRpYWxvZ2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdXRyZWFjaEhpc3RvcnlHcmlkRGlhbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vb3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveC9vdXRyZWFjaC1oaXN0b3J5LWdyaWQtZGlhbG9nYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlZGVyYWxIb2xpZGF5c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlZGVyYWwtaG9saWRheXMtbW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwcnV0ZWNoLWNvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25jaWxpYXRpb25Db250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgbWVudUl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXSA9IG1lbnVJdGVtcztcclxuICBwYXJhbXM6IEFnR3JpZEFuZ3VsYXI7XHJcbiAgY29uY2lsaWF0aW9uTG9va3VwczogQ29uY2lsaWF0aW9uTG9va3VwcztcclxuICBhY3Rpb25zOiBMb29rdXBbXTtcclxuICB1c2VyOiBVc2VyO1xyXG4gIGlzQ29uY2lsaWF0aW9uV2xDaGVjazogYW55O1xyXG4gIGFwcHRTY2hlZHVsZWREZXRhaWxzOiBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsO1xyXG4gIGhvbGlkYXlMaXN0OkZlZGVyYWxIb2xpZGF5c01vZGVsW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgbG9va3Vwc1NlcnZpY2U6IExvb2t1cHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2U6IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSxcclxuICAgICAgckZpbHRlcigodXNlcjogVXNlcikgPT4gISF1c2VyKSlcclxuICAgICAgLnN1YnNjcmliZSgodXNlcjogVXNlcikgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9va3Vwc1NlcnZpY2UubG9va3Vwcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvb2t1cHM6IENvbmNpbGlhdGlvbkxvb2t1cHMpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMgPSBsb29rdXBzO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmFjdGlvbnMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zOiBMb29rdXBbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnM7XHJcbiAgICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLmdldFVwZGF0ZWRNZW51SXRlbXMoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuaG9saWRheXNMaXN0LnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAuc3Vic2NyaWJlKChkYXRhOkZlZGVyYWxIb2xpZGF5c01vZGVsW10pID0+IHtcclxuICAgICAgdGhpcy5ob2xpZGF5TGlzdCA9IGRhdGE7XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBBZ0dyaWRBbmd1bGFyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIGNvbnN0IGNhblJlc2NoZWR1bGU6IGJvb2xlYW4gPSAhaXNOaWwoZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5zY2hlZHVsZWREYXRlJykpO1xyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzR3JhbnRlZCcpKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzEnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc0dyYW50ZWQnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICcyJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc1NjaGVkdWxlJykgfHwgY2FuUmVzY2hlZHVsZSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09IHRvU3RyaW5nKHNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzUmVTY2hlZHVsZScpIHx8ICFjYW5SZXNjaGVkdWxlKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gdG9TdHJpbmcocmVTY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQpKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc091dHJlYWNoJykpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSAnNicpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzUmVBc3NpZ24nKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICc1JyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAgaWYgKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEuc2hvd09ubHlDYXNlU3VtbWF5JykpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PigoYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzgnKSkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlZE1lbnVJdGVtcygpOiBDb250ZXh0TWVudUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmxhYmVsID09PSBhY3Rpb25zTGFiZWwpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbGFiZWw6IGFjdGlvbnNMYWJlbCxcclxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT5cclxuICAgICAgICAgICAgISFmaW5kKHRoaXMuYWN0aW9ucywgKGFjdGlvbkxvb2t1cDogTG9va3VwKSA9PiB0b1N0cmluZyhhY3Rpb25Mb29rdXAubG9va3VwSWQpID09PSBhY3Rpb25JdGVtLnJvdXRlKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb0FjdGlvbihldmVudDogQ29udGV4dE1lbnVBY3Rpb25JdGVtKTogdm9pZCB7XHJcbiAgICBjb25zdCBjYXNlSWQ6IG51bWJlciA9IGdldCh0aGlzLnBhcmFtcywgJ2RhdGEuY21zQ2FzZUlkJyk7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnJvdXRlKSB7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5Hb29kQ2F1c2VHcmFudGVkRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIC8vIHN1cHBvc2UgZ29vZCBjYXVzZSBncmFudGVkIGxvb2t1cElkIGlzIDJcclxuICAgICAgY2FzZSB0b1N0cmluZyhnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3Blbkdvb2RDYXVzZU5vdEdyYW50ZWREaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3BlblNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuUmVTY2hlZHVsZUNhbGxCYWNrRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcocmVjb3JkT3V0cmVhY2hBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuT3V0cmVhY2hEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZUFzc2lnbkFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5SZUFzc2lnbkRpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHNob3dDYXNlc3VtbWFyeUlkKTpcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlLXN1bW1hcnkvJyArIGNhc2VJZF0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHNob3dPdXRyZWFjaEhpc3RvcnlJZCk6XHJcbiAgICAgIHRoaXMub3Blbk91dHJlYWNoSGlzdG9yeURpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5XYW50ZWRDbGllbnREYWlsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nLm9wZW4oV2FudFRvU2VuZENsaWVudEJhY2tEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBnZXQoaXRlbSwgJ3dsQ29uY2lsaWF0aW9uSWQnKVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBpc1dhbnRUb1NlbmRDbGllbnRCYWNrID0gZ2V0KHJlcywgJ3dhbnR0b3NlbmRjbGllbnRiYWNrJyk7XHJcbiAgICAgICAgaWYgKGlzV2FudFRvU2VuZENsaWVudEJhY2spIHtcclxuICAgICAgICAgIGlmICghZ2V0KGl0ZW0sICdpc0FjdGl2ZUFzc2lnbm1lbnQnKSkge1xyXG4gICAgICAgICAgICBvcGVuQXBwb2ludG1lbnREaWFsb2dib3godGhpcy5kaWFsb2csIGl0ZW0/LmNtc0Nhc2VJZCwgZ2V0KHRoaXMuZW52aXJvbm1lbnQsICdjb25jaWxpYXRpb25Bc3Nlc3NtZW50QXBwb2ludG1lbnRUeXBlSWQnKSwgMCwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwdFNjaGVkdWxlZERldGFpbHMgPSBzY2hlZHVsZURldGFpbHM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2ssXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGdldChpdGVtLCAnd2xDb25jaWxpYXRpb25JZCcpLFxyXG4gICAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBzY2hlZHVsZURldGFpbHMuYXBwb2ludG1lbnRJZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlRGV0YWlscykge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFiU2VydmljZS5kaXNwYXRjaEFkZFRhYih7XHJcbiAgICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgaXRlbT8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgcm91dGU6ICcvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgbGFiZWw6ICdBc3Nlc3NtZW50cycgKyAnIC0gJyArIGl0ZW0/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBjbGllbnROYW1lOiBpdGVtPy5jbGllbnROYW1lIH0gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZUFzc2lnbkRpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2cub3BlbihSZUFzc2lnbkRhaWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU3VibWl0UmVhc3NpZ25Nb2RlbCA9IG5ldyBTdWJtaXRSZWFzc2lnbk1vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVBc3NpZ25BY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVSZWFzc2lnbihwYXlsb2FkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YTogeyAuLi5pdGVtLCBcclxuICAgICAgICBpc1JlU2NoZWR1bGU6IGZhbHNlICwgXHJcbiAgICAgICAgdmFsOnRoaXMuaG9saWRheUxpc3RcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmICghIXJlcykge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCA9IG5ldyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwoe1xyXG4gICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgIGFjdGlvbklkOiBzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQsXHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0RldGFpbERldGFpbHMocGF5bG9hZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlblJlU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihTY2hlZHVsZUNhbGxCYWNrQWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGRhdGE6IHsgLi4uaXRlbSwgaXNSZVNjaGVkdWxlOiB0cnVlIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgPSBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVTY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRGV0YWlsRGV0YWlscyhwYXlsb2FkKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5PdXRyZWFjaERpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UmVjb3JkT3V0cmVhY2hkaWFsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oUmVjb3JkT3V0cmVhY2hkaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IHJlY29yZE91dHJlYWNoZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICAgIGRhdGE6IGl0ZW1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmICghIXJlcykge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVPdXRyZWFjaE1vZGVsID0gbmV3IFNhdmVPdXRyZWFjaE1vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVjb3JkT3V0cmVhY2hBY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVPdXRyZWFjaFdvcmtsaXN0RGV0YWlscyhwYXlsb2FkKVxyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9wZW5PdXRyZWFjaEhpc3RvcnlEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpe1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8T3V0cmVhY2hIaXN0b3J5R3JpZERpYWxvZ2JveENvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihPdXRyZWFjaEhpc3RvcnlHcmlkRGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBmb3JtRGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZGF0YTogaXRlbS53bENvbmNpbGlhdGlvbklkXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5Hb29kQ2F1c2VHcmFudGVkRGlhbG9nKGl0ZW06IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0FwcG9pbnRtZW50cyB8fCBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXNzaWdubWVudHMgfHxcclxuICAgICAgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBcHBvaW50bWVudHMgfHwgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBc3NpZ25tZW50cykge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKEdvb2RDYXVzZUdyYW50ZWRBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICAgICAgZGF0YTogaXRlbVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oR2VuZXJhdGVGSUExMTg3QUxldHRlckRpYWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB3aWR0aDogJzU1dncnLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIGRhdGE6IHt9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsZXR0ZXJUeXBlSWQ6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIGlmIChsZXR0ZXJUeXBlSWQgPT09IDEpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoaXRlbSwgJ2Ntc0Nhc2VJZCcpIH0pO1xyXG4gICAgICAgICAgICAgIC8vIH0gZWxzZSBpZiAobGV0dGVyVHlwZUlkID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGl0ZW0sICdjbXNDYXNlSWQnKSB9KTtcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgaXNXYW50VG9TZW5kQ2xpZW50QmFjazogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBnZXQoaXRlbSwgJ3dsQ29uY2lsaWF0aW9uSWQnKSxcclxuICAgICAgICAgICAgICAgIGFwcG9pbnRtZW50SWQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBjYXNlSWQ6IGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsQ2F0ZWdvcnlJZDogaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkLFxyXG4gICAgICAgICAgICAgICAgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSxcclxuICAgICAgICAgICAgICAgIGxldHRlclR5cGU6IGxldHRlclR5cGVJZCxcclxuICAgICAgICAgICAgICAgIGluZnJhY3Rpb25EYXRlOiBnZXQoaXRlbSwgJ2luZnJhY3Rpb25EYXRlJyksXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIC8vIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLnNhdmVTdGF0dXMocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAvLyAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAvLyAgIGNvbnNvbGUubG9nKHJlcylcclxuICAgICAgLy8gICBpZihyZXMpe1xyXG4gICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSAsIHtxdWVyeVBhcmFtczp7aXNjb25jaWxpYXRpb25XTDp0cnVlfX0pXHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9KTsgXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICAgIGRhdGE6IGl0ZW1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEdlbmVyYXRlRklBMTE4N0FMZXR0ZXJEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgd2lkdGg6ICc1NXZ3JyxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRhOiB7fSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGV0dGVyVHlwZUlkOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAvLyBpZiAobGV0dGVyVHlwZUlkID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGl0ZW0sICdjbXNDYXNlSWQnKSB9KTtcclxuICAgICAgICAgICAgICAvLyB9IGVsc2UgaWYgKGxldHRlclR5cGVJZCA9PT0gMikge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIC8vIGlmIChpdGVtID8ub3V0cmVhY2hJZCAhPSBudWxsIHx8IGl0ZW0gPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHRhZ0Fzc2lnbm1lbnRzKSB7XHJcbiAgICAgICAgICAgICAgLy8gICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgLy8gICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAvLyAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAvLyAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbSA/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIGNhc2VJZDogaXRlbSA/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAvLyAgICAgb3JpZ2luYWxDYXRlZ29yeUlkOiBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkLFxyXG4gICAgICAgICAgICAgIC8vICAgICBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLFxyXG4gICAgICAgICAgICAgIC8vICAgICBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsXHJcbiAgICAgICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gamNBcHBvaW50bWVudHMgfHwgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBzcGxSZWZBcHBvaW50bWVudHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYlNlcnZpY2UuZGlzcGF0Y2hBZGRUYWIoe1xyXG4gICAgICAgICAgICAgICAgICB0YWJOYW1lOiAnZWEtZXAvJyArIGl0ZW0/LmVhZXBBc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgICAgICAgICAgIHJvdXRlOiAnL2VhLWVwLycgKyBpdGVtPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQXNzZXNzbWVudHMnICsgJyAtICcgKyBpdGVtPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICBjYW5DbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgc3RhdGU6IHsgY2xpZW50TmFtZTogaXRlbT8uY2xpZW50TmFtZSB9IH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAvLyBlbHNlIGlmICgoKChpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB3ZWNhcmVBcHBvaW50bWVudHMgfHxcclxuICAgICAgICAgICAgICAvLyAgIGl0ZW0gPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGl2YXBBc3NpZ25tZW50cyB8fFxyXG4gICAgICAgICAgICAgIC8vICAgICBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB2cnNBcHBvaW50bWVudHMpIFxyXG4gICAgICAgICAgICAgIC8vICAgICAmJiBpdGVtID8ubnljd2F5QXBwdENvZGUgIT09IG51bGwpIHx8IGl0ZW0gPy5ueWN3YXlBcHB0Q29kZSA9PT0gJ0NIJykpIHtcclxuICAgICAgICAgICAgICBlbHNlIGlmIChpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHdlY2FyZUFwcG9pbnRtZW50cyB8fFxyXG4gICAgICAgICAgICAgICAgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBpdmFwQXNzaWdubWVudHMgfHxcclxuICAgICAgICAgICAgICAgIGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdnJzQXBwb2ludG1lbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAgICAgY2FzZUlkOiBpdGVtPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQ2F0ZWdvcnlJZDogaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkLFxyXG4gICAgICAgICAgICAgICAgICBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLFxyXG4gICAgICAgICAgICAgICAgICBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGluZnJhY3Rpb25EYXRlOiBnZXQoaXRlbSwgJ2luZnJhY3Rpb25EYXRlJyksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIC8vQmF0Y2ggcG9vbCBsb2dpYyBhZGRlZCB0byBTdWJtaXRHcmFudGVkQ29uY2lsaWF0aW9uIGFwaVxyXG4gICAgICAgICAgICAgICAgLy8gY29uc3QgcGF5bG9hZDogU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCA9IG5ldyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKHtcclxuICAgICAgICAgICAgICAgIC8vICAgY2FzZUlkOiBpdGVtID8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgLy8gICBzaXRlSWQ6IGl0ZW0gPy5zbVNpdGVJZCxcclxuICAgICAgICAgICAgICAgIC8vICAgYXBwb2ludG1lbnRJZDogaXRlbSA/LmFwcG9pbnRBc3NpZ25OYW1lLFxyXG4gICAgICAgICAgICAgICAgLy8gICBlYWVwQXNzZXNzbWVudElkOiBpdGVtID8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgICAgIC8vICAgd2xDb25jaWxpYXRpb25JZDogaXRlbSA/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGFwcG9pbnRtZW50TllDV0FZY29kZTogaXRlbSA/Lm55Y3dheUFwcHRDb2RlLFxyXG4gICAgICAgICAgICAgICAgLy8gICBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsXHJcbiAgICAgICAgICAgICAgICAvLyB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnQocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICBpZiAoZ2V0KGl0ZW0sICdpbmZyYWN0ZWRUeXBlLnZhbHVlLmxvb2t1cElkJykgPT09IEluZnJhY3Rpb25UeXBlRW51bS5GVFJBcHBvaW50bWVudFxyXG4gICAgICAgICAgICAgICAgICAmJiAoKGdldChpdGVtLCAnaW5mcmFjdGVkQXQudmFsdWUubG9va3VwSWQnKSA9PT0gSW5mcmFjdGlvbkF0RW51bS5DYXJlZXJTZXJ2aWNlcyAmJiB0aGlzLnVzZXJcclxuICAgICAgICAgICAgICAgICAgICAmJiAodGhpcy51c2VyLmlzSm9zV29ya2VyIHx8IHRoaXMudXNlci5pc0pvc1N1cGVydmlzb3IgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvbldvcmtlciB8fCB0aGlzLnVzZXIuaXNPdXRTdGF0aW9uU3VwZXJ2aXNvcikpIC8vIGJyIDgsIDlcclxuICAgICAgICAgICAgICAgICAgICB8fCAoZ2V0KGl0ZW0sICdpbmZyYWN0ZWRBdC52YWx1ZS5sb29rdXBJZCcpID09PSBJbmZyYWN0aW9uQXRFbnVtLkNhcmVlckFkdmFuY2UgJiYgdGhpcy51c2VyXHJcbiAgICAgICAgICAgICAgICAgICAgICAmJiAodGhpcy51c2VyLmlzSm9zV29ya2VyIHx8IHRoaXMudXNlci5pc0pvc1N1cGVydmlzb3IgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvbldvcmtlciB8fCB0aGlzLnVzZXIuaXNPdXRTdGF0aW9uU3VwZXJ2aXNvcikpKSkge1xyXG4gICAgICAgICAgICAgICAgICAvLyBiciAxMCwgMTFcclxuICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuWWVzTm9Db25maXJtYXRpb25EaWFsb2cocGF5bG9hZCwgaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAvLyBzZW5kIHRvIEJFXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy9oZXJlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuR29vZENhdXNlTm90R3JhbnRlZERpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCk6IHZvaWQge1xyXG5cclxuICAgIGlmIChpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBc3NpZ25tZW50cykge1xyXG4gICAgICB0aGlzLmlzQ29uY2lsaWF0aW9uV2xDaGVjayA9IHRydWVcclxuICAgIH1cclxuXHJcbiAgICAvL3dlIGRvbid0IG5lZWQgdG8gc2VuZCBvcmlnaW5hbCBhcHB0IElkLiBPcmlnaW5hbCBhcHB0IHR5cGUgSWQgaXMgZGlmZmVyZW50LlxyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R29vZENhdXNlTm90R3JhbnRlZEFjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihHb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBjb25jaWxpYXRpb25Mb29rdXBzOiB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMsXHJcbiAgICAgICAgZGF0YTogeyAuLi5pdGVtLCBhcHBvaW50bWVudElkOiAwLCBpc2NvbmNpbGlhdGlvbldMOiB0aGlzLmlzQ29uY2lsaWF0aW9uV2xDaGVjayB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blblllc05vQ29uZmlybWF0aW9uRGlhbG9nKHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkLCBpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29uZmlybURpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFllc05vQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nLm9wZW4oWWVzTm9Db25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHllc0xhYmVsOiB5ZXNMYWJlbCxcclxuICAgICAgICBub0xhYmVsOiBub0xhYmVsLFxyXG4gICAgICAgIGhlYWRlcjogY29uZmlybUhlYWRlcixcclxuICAgICAgICBtZXNzYWdlOiBnb29kQ2F1c2VDb25maXJtTWVzc2FnZSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbmZpcm1EaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmICghIXJlcykge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICAgIGNvbmZpcm1ZZXNObzogdHJ1ZSxcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAuLi5wYXlsb2FkLFxyXG4gICAgICAgICAgY29uZmlybVllc05vOiBmYWxzZSxcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWZ0ZXJPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvL1xyXG4gIH1cclxufSIsIjxwcnV0ZWNoLWNvbnRleHQtbWVudSBbbWVudUl0ZW1zXT1cIm1lbnVJdGVtc1wiIChtZW51QWN0aW9uKT1cImRvQWN0aW9uKCRldmVudClcIj48L3BydXRlY2gtY29udGV4dC1tZW51PlxyXG4iXX0=