igniteui-angular 17.1.0-rc.0 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/badge/badge.component.mjs +2 -2
  3. package/esm2022/lib/banner/banner.component.mjs +1 -1
  4. package/esm2022/lib/calendar/calendar-base.mjs +3 -3
  5. package/esm2022/lib/calendar/calendar.component.mjs +22 -22
  6. package/esm2022/lib/calendar/calendar.mjs +9 -23
  7. package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +2 -3
  8. package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +3 -3
  9. package/esm2022/lib/card/card.component.mjs +3 -3
  10. package/esm2022/lib/carousel/carousel-base.mjs +2 -7
  11. package/esm2022/lib/carousel/carousel.component.mjs +3 -7
  12. package/esm2022/lib/carousel/enums.mjs +11 -0
  13. package/esm2022/lib/carousel/public_api.mjs +3 -2
  14. package/esm2022/lib/carousel/slide.component.mjs +1 -1
  15. package/esm2022/lib/checkbox/checkbox.component.mjs +2 -2
  16. package/esm2022/lib/chips/chip.component.mjs +2 -2
  17. package/esm2022/lib/combo/combo.common.mjs +7 -15
  18. package/esm2022/lib/core/selection.mjs +8 -1
  19. package/esm2022/lib/data-operations/data-util.mjs +2 -2
  20. package/esm2022/lib/date-common/types.mjs +3 -3
  21. package/esm2022/lib/directives/button/button-base.mjs +2 -2
  22. package/esm2022/lib/directives/button/button.directive.mjs +2 -2
  23. package/esm2022/lib/directives/divider/divider.directive.mjs +2 -2
  24. package/esm2022/lib/directives/mask/mask.directive.mjs +1 -1
  25. package/esm2022/lib/drop-down/drop-down.common.mjs +3 -3
  26. package/esm2022/lib/drop-down/drop-down.component.mjs +3 -3
  27. package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +2 -2
  28. package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +2 -2
  29. package/esm2022/lib/grids/common/grid.interface.mjs +1 -1
  30. package/esm2022/lib/grids/grid-base.directive.mjs +2 -2
  31. package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +39 -10
  32. package/esm2022/lib/input-group/input-group.component.mjs +2 -2
  33. package/esm2022/lib/input-group/inputGroupType.mjs +3 -3
  34. package/esm2022/lib/progressbar/progressbar.component.mjs +3 -3
  35. package/esm2022/lib/select/select.component.mjs +1 -9
  36. package/esm2022/lib/services/direction/directionality.mjs +2 -2
  37. package/esm2022/lib/splitter/splitter.component.mjs +3 -3
  38. package/esm2022/lib/stepper/step/step.component.mjs +3 -2
  39. package/esm2022/lib/stepper/stepper.common.mjs +3 -3
  40. package/esm2022/lib/stepper/stepper.component.mjs +1 -1
  41. package/esm2022/lib/tabs/tabs/tabs.component.mjs +11 -18
  42. package/esm2022/lib/tree/common.mjs +4 -4
  43. package/fesm2022/igniteui-angular.mjs +136 -136
  44. package/fesm2022/igniteui-angular.mjs.map +1 -1
  45. package/lib/calendar/calendar.d.ts +1 -1
  46. package/lib/carousel/carousel-base.d.ts +1 -6
  47. package/lib/carousel/carousel.component.d.ts +2 -6
  48. package/lib/carousel/enums.d.ts +11 -0
  49. package/lib/carousel/public_api.d.ts +2 -1
  50. package/lib/combo/combo.common.d.ts +1 -1
  51. package/lib/core/selection.d.ts +5 -0
  52. package/lib/grids/common/grid.interface.d.ts +3 -0
  53. package/lib/grids/hierarchical-grid/row-island.component.d.ts +25 -5
  54. package/lib/select/select.component.d.ts +0 -4
  55. package/lib/splitter/splitter.component.d.ts +1 -1
  56. package/lib/stepper/stepper.common.d.ts +2 -1
  57. package/lib/stepper/stepper.component.d.ts +2 -1
  58. package/package.json +2 -2
@@ -7,7 +7,7 @@ import { DefaultDataCloneStrategy } from '../data-operations/data-clone-strategy
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- export const DataType = mkenum({
10
+ export const DataType = /*@__PURE__*/ mkenum({
11
11
  String: 'string',
12
12
  Number: 'number',
13
13
  Boolean: 'boolean',
@@ -197,4 +197,4 @@ export class DataUtil {
197
197
  return result;
198
198
  }
199
199
  }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWUsZUFBZSxFQUEyQixNQUFNLHFDQUFxQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJOUQsT0FBTyxFQUdILG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsV0FBVyxFQUNkLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLHdCQUF3QixFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBR3RHOztHQUVHO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUM1QixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLE9BQU87Q0FDakIsQ0FBQyxDQUFDO0FBR0g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7QUFHM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUksSUFBUyxFQUFFLFdBQWlDLEVBQUUsVUFBZ0MsSUFBSSxVQUFVLEVBQUUsRUFDaEgsSUFBZTtRQUNmLE9BQU8sT0FB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LElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQTRCLEVBQUUsS0FBVTtRQUM3RCxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLElBQUksUUFBUSxLQUFLLGtCQUFrQixDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQy9ILEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVcsRUFBRSxVQUFlLEVBQUUsWUFBaUIsRUFBRSxJQUFXO1FBQzFGLElBQUksVUFBVSxHQUFVLElBQUksQ0FBQztRQUM3QixJQUFJLE1BQVcsQ0FBQztRQUVoQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixNQUFNLEdBQUcsVUFBVSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDVCxNQUFNO2FBQ1Q7WUFFRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdyb3VwQnlSZXN1bHQgfSBmcm9tICcuL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBJUGFnaW5nU3RhdGUsIFBhZ2luZ0Vycm9yIH0gZnJvbSAnLi9wYWdpbmctc3RhdGUuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgSUdyb3VwQnlLZXkgfSBmcm9tICcuL2dyb3VwYnktZXhwYW5kLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJR3JvdXBCeVJlY29yZCB9IGZyb20gJy4vZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cGluZ1N0YXRlIH0gZnJvbSAnLi9ncm91cGJ5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBtZXJnZU9iamVjdHMsIG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uVHlwZSwgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBnZXRIaWVyYXJjaHksIGlzSGllcmFyY2h5TWF0Y2ggfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuaW1wb3J0IHsgR3JpZFR5cGUgfSBmcm9tICcuLi9ncmlkcy9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVRyZWVHcmlkUmVjb3JkIH0gZnJvbSAnLi4vZ3JpZHMvdHJlZS1ncmlkL3RyZWUtZ3JpZC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IElTb3J0aW5nRXhwcmVzc2lvbiB9IGZyb20gJy4vc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQge1xuICAgIElHcmlkU29ydGluZ1N0cmF0ZWd5LFxuICAgIElHcmlkR3JvdXBpbmdTdHJhdGVneSxcbiAgICBJZ3hEYXRhUmVjb3JkU29ydGluZyxcbiAgICBJZ3hTb3J0aW5nLFxuICAgIElneEdyb3VwaW5nXG59IGZyb20gJy4uL2dyaWRzL2NvbW1vbi9zdHJhdGVneSc7XG5pbXBvcnQgeyBEZWZhdWx0RGF0YUNsb25lU3RyYXRlZ3ksIElEYXRhQ2xvbmVTdHJhdGVneSB9IGZyb20gJy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLWNsb25lLXN0cmF0ZWd5JztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbiBleHBvcnQgY29uc3QgRGF0YVR5cGUgPSBta2VudW0oe1xuICAgIFN0cmluZzogJ3N0cmluZycsXG4gICAgTnVtYmVyOiAnbnVtYmVyJyxcbiAgICBCb29sZWFuOiAnYm9vbGVhbicsXG4gICAgRGF0ZTogJ2RhdGUnLFxuICAgIERhdGVUaW1lOiAnZGF0ZVRpbWUnLFxuICAgIFRpbWU6ICd0aW1lJyxcbiAgICBDdXJyZW5jeTogJ2N1cnJlbmN5JyxcbiAgICBQZXJjZW50OiAncGVyY2VudCcsXG4gICAgSW1hZ2U6ICdpbWFnZSdcbn0pO1xuZXhwb3J0IHR5cGUgRGF0YVR5cGUgPSAodHlwZW9mIERhdGFUeXBlKVtrZXlvZiB0eXBlb2YgRGF0YVR5cGVdO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IEdyaWRDb2x1bW5EYXRhVHlwZSA9IERhdGFUeXBlO1xuZXhwb3J0IHR5cGUgR3JpZENvbHVtbkRhdGFUeXBlID0gKHR5cGVvZiBHcmlkQ29sdW1uRGF0YVR5cGUpW2tleW9mIHR5cGVvZiBHcmlkQ29sdW1uRGF0YVR5cGVdO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIHNvcnQ8VD4oZGF0YTogVFtdLCBleHByZXNzaW9uczogSVNvcnRpbmdFeHByZXNzaW9uW10sIHNvcnRpbmc6IElHcmlkU29ydGluZ1N0cmF0ZWd5ID0gbmV3IElneFNvcnRpbmcoKSxcbiAgICAgICAgZ3JpZD86IEdyaWRUeXBlKTogVFtdIHtcbiAgICAgICAgcmV0dXJuIHNvcnRpbmcuc29ydChkYXRhLCBleHByZXNzaW9ucywgZ3JpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0cmVlR3JpZFNvcnQoaGllcmFyY2hpY2FsRGF0YTogSVRyZWVHcmlkUmVjb3JkW10sXG4gICAgICAgIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSxcbiAgICAgICAgc29ydGluZzogSUdyaWRTb3J0aW5nU3RyYXRlZ3kgPSBuZXcgSWd4RGF0YVJlY29yZFNvcnRpbmcoKSxcbiAgICAgICAgcGFyZW50PzogSVRyZWVHcmlkUmVjb3JkLFxuICAgICAgICBncmlkPzogR3JpZFR5cGUpOiBJVHJlZUdyaWRSZWNvcmRbXSB7XG4gICAgICAgIGxldCByZXM6IElUcmVlR3JpZFJlY29yZFtdID0gW107XG4gICAgICAgIGhpZXJhcmNoaWNhbERhdGEuZm9yRWFjaCgoaHI6IElUcmVlR3JpZFJlY29yZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjOiBJVHJlZUdyaWRSZWNvcmQgPSBEYXRhVXRpbC5jbG9uZVRyZWVHcmlkUmVjb3JkKGhyKTtcbiAgICAgICAgICAgIHJlYy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgICAgICBpZiAocmVjLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgcmVjLmNoaWxkcmVuID0gRGF0YVV0aWwudHJlZUdyaWRTb3J0KHJlYy5jaGlsZHJlbiwgZXhwcmVzc2lvbnMsIHNvcnRpbmcsIHJlYywgZ3JpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMucHVzaChyZWMpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXMgPSBEYXRhVXRpbC5zb3J0KHJlcywgZXhwcmVzc2lvbnMsIHNvcnRpbmcsIGdyaWQpO1xuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjbG9uZVRyZWVHcmlkUmVjb3JkKGhpZXJhcmNoaWNhbFJlY29yZDogSVRyZWVHcmlkUmVjb3JkKSB7XG4gICAgICAgIGNvbnN0IHJlYzogSVRyZWVHcmlkUmVjb3JkID0ge1xuICAgICAgICAgICAga2V5OiBoaWVyYXJjaGljYWxSZWNvcmQua2V5LFxuICAgICAgICAgICAgZGF0YTogaGllcmFyY2hpY2FsUmVjb3JkLmRhdGEsXG4gICAgICAgICAgICBjaGlsZHJlbjogaGllcmFyY2hpY2FsUmVjb3JkLmNoaWxkcmVuLFxuICAgICAgICAgICAgaXNGaWx0ZXJlZE91dFBhcmVudDogaGllcmFyY2hpY2FsUmVjb3JkLmlzRmlsdGVyZWRPdXRQYXJlbnQsXG4gICAgICAgICAgICBsZXZlbDogaGllcmFyY2hpY2FsUmVjb3JkLmxldmVsLFxuICAgICAgICAgICAgZXhwYW5kZWQ6IGhpZXJhcmNoaWNhbFJlY29yZC5leHBhbmRlZFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmVjO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ3JvdXA8VD4oZGF0YTogVFtdLCBzdGF0ZTogSUdyb3VwaW5nU3RhdGUsIGdyb3VwaW5nOiBJR3JpZEdyb3VwaW5nU3RyYXRlZ3kgPSBuZXcgSWd4R3JvdXBpbmcoKSwgZ3JpZDogR3JpZFR5cGUgPSBudWxsLFxuICAgICAgICBncm91cHNSZWNvcmRzOiBhbnlbXSA9IFtdLCBmdWxsUmVzdWx0OiBJR3JvdXBCeVJlc3VsdCA9IHsgZGF0YTogW10sIG1ldGFkYXRhOiBbXSB9KTogSUdyb3VwQnlSZXN1bHQge1xuICAgICAgICBncm91cHNSZWNvcmRzLnNwbGljZSgwLCBncm91cHNSZWNvcmRzLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiBncm91cGluZy5ncm91cEJ5KGRhdGEsIHN0YXRlLCBncmlkLCBncm91cHNSZWNvcmRzLCBmdWxsUmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHBhZ2U8VD4oZGF0YTogVFtdLCBzdGF0ZTogSVBhZ2luZ1N0YXRlLCBkYXRhTGVuZ3RoPzogbnVtYmVyKTogVFtdIHtcbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuID0gZGF0YUxlbmd0aCAhPT0gdW5kZWZpbmVkID8gZGF0YUxlbmd0aCA6IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0YXRlLmluZGV4O1xuICAgICAgICBjb25zdCByZXMgPSBbXTtcbiAgICAgICAgY29uc3QgcmVjb3Jkc1BlclBhZ2UgPSBkYXRhTGVuZ3RoICE9PSB1bmRlZmluZWQgJiYgc3RhdGUucmVjb3Jkc1BlclBhZ2UgPiBkYXRhTGVuZ3RoID8gZGF0YUxlbmd0aCA6IHN0YXRlLnJlY29yZHNQZXJQYWdlO1xuICAgICAgICBzdGF0ZS5tZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIGNvdW50UGFnZXM6IDAsXG4gICAgICAgICAgICBjb3VudFJlY29yZHM6IGxlbixcbiAgICAgICAgICAgIGVycm9yOiBQYWdpbmdFcnJvci5Ob25lXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpbmRleCA8IDAgfHwgaXNOYU4oaW5kZXgpKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFBhZ2VJbmRleDtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlY29yZHNQZXJQYWdlIDw9IDAgfHwgaXNOYU4ocmVjb3Jkc1BlclBhZ2UpKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFJlY29yZHNQZXJQYWdlO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5tZXRhZGF0YS5jb3VudFBhZ2VzID0gTWF0aC5jZWlsKGxlbiAvIHJlY29yZHNQZXJQYWdlKTtcbiAgICAgICAgaWYgKCFsZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA+PSBzdGF0ZS5tZXRhZGF0YS5jb3VudFBhZ2VzKSB7XG4gICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YS5lcnJvciA9IFBhZ2luZ0Vycm9yLkluY29ycmVjdFBhZ2VJbmRleDtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEuc2xpY2UoaW5kZXggKiByZWNvcmRzUGVyUGFnZSwgKGluZGV4ICsgMSkgKiByZWNvcmRzUGVyUGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb3JyZWN0UGFnaW5nU3RhdGUoc3RhdGU6IElQYWdpbmdTdGF0ZSwgbGVuZ3RoOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbWF4UGFnZSA9IE1hdGguY2VpbChsZW5ndGggLyBzdGF0ZS5yZWNvcmRzUGVyUGFnZSkgLSAxO1xuICAgICAgICBpZiAoIWlzTmFOKG1heFBhZ2UpICYmIHN0YXRlLmluZGV4ID4gbWF4UGFnZSkge1xuICAgICAgICAgICAgc3RhdGUuaW5kZXggPSBtYXhQYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRIaWVyYXJjaHkoZ1JvdzogSUdyb3VwQnlSZWNvcmQpOiBBcnJheTxJR3JvdXBCeUtleT4ge1xuICAgICAgICByZXR1cm4gZ2V0SGllcmFyY2h5KGdSb3cpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNIaWVyYXJjaHlNYXRjaChoMTogQXJyYXk8SUdyb3VwQnlLZXk+LCBoMjogQXJyYXk8SUdyb3VwQnlLZXk+LCBleHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc0hpZXJhcmNoeU1hdGNoKGgxLCBoMiwgZXhwcmVzc2lvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBhbGwgY2hhbmdlcyBmcm9tIHByb3ZpZGVkIHRyYW5zYWN0aW9ucyBpbnRvIHByb3ZpZGVkIGRhdGEgY29sbGVjdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgQ29sbGVjdGlvbiB0byBtZXJnZVxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgVHJhbnNhY3Rpb25zIHRvIG1lcmdlIGludG8gZGF0YVxuICAgICAqIEBwYXJhbSBwcmltYXJ5S2V5IFByaW1hcnkga2V5IG9mIHRoZSBjb2xsZWN0aW9uLCBpZiBhbnlcbiAgICAgKiBAcGFyYW0gZGVsZXRlUm93cyBTaG91bGQgZGVsZXRlIHJvd3Mgd2l0aCBERUxFVEUgdHJhbnNhY3Rpb24gdHlwZSBmcm9tIGRhdGFcbiAgICAgKiBAcmV0dXJucyBQcm92aWRlZCBkYXRhIGNvbGxlY3Rpb25zIHVwZGF0ZWQgd2l0aCBhbGwgcHJvdmlkZWQgdHJhbnNhY3Rpb25zXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtZXJnZVRyYW5zYWN0aW9uczxUPihkYXRhOiBUW10sIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSwgcHJpbWFyeUtleT86IGFueSwgY2xvbmVTdHJhdGVneTogSURhdGFDbG9uZVN0cmF0ZWd5ID0gbmV3IERlZmF1bHREYXRhQ2xvbmVTdHJhdGVneSgpLCBkZWxldGVSb3dzID0gZmFsc2UpOiBUW10ge1xuICAgICAgICBkYXRhLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcm93SWQgPSBwcmltYXJ5S2V5ID8gaXRlbVtwcmltYXJ5S2V5XSA6IGl0ZW07XG4gICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9ucy5maW5kKHQgPT4gdC5pZCA9PT0gcm93SWQpO1xuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uICYmIHRyYW5zYWN0aW9uLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VUERBVEUpIHtcbiAgICAgICAgICAgICAgICBkYXRhW2luZGV4XSA9IG1lcmdlT2JqZWN0cyhjbG9uZVN0cmF0ZWd5LmNsb25lKGRhdGFbaW5kZXhdKSwgdHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZGVsZXRlUm93cykge1xuICAgICAgICAgICAgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAgICAgLmZpbHRlcih0ID0+IHQudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkRFTEVURSlcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCh0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwcmltYXJ5S2V5ID8gZGF0YS5maW5kSW5kZXgoZCA9PiBkW3ByaW1hcnlLZXldID09PSB0LmlkKSA6IGRhdGEuZmluZEluZGV4KGQgPT4gZCA9PT0gdC5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICgwIDw9IGluZGV4ICYmIGluZGV4IDwgZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YS5wdXNoKC4uLnRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcih0ID0+IHQudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFERClcbiAgICAgICAgICAgIC5tYXAodCA9PiB0Lm5ld1ZhbHVlKSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGFsbCBjaGFuZ2VzIGZyb20gcHJvdmlkZWQgdHJhbnNhY3Rpb25zIGludG8gcHJvdmlkZWQgaGllcmFyY2hpY2FsIGRhdGEgY29sbGVjdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgQ29sbGVjdGlvbiB0byBtZXJnZVxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgVHJhbnNhY3Rpb25zIHRvIG1lcmdlIGludG8gZGF0YVxuICAgICAqIEBwYXJhbSBjaGlsZERhdGFLZXkgRGF0YSBrZXkgb2YgY2hpbGQgY29sbGVjdGlvbnNcbiAgICAgKiBAcGFyYW0gcHJpbWFyeUtleSBQcmltYXJ5IGtleSBvZiB0aGUgY29sbGVjdGlvbiwgaWYgYW55XG4gICAgICogQHBhcmFtIGRlbGV0ZVJvd3MgU2hvdWxkIGRlbGV0ZSByb3dzIHdpdGggREVMRVRFIHRyYW5zYWN0aW9uIHR5cGUgZnJvbSBkYXRhXG4gICAgICogQHJldHVybnMgUHJvdmlkZWQgZGF0YSBjb2xsZWN0aW9ucyB1cGRhdGVkIHdpdGggYWxsIHByb3ZpZGVkIHRyYW5zYWN0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2VIaWVyYXJjaGljYWxUcmFuc2FjdGlvbnMoXG4gICAgICAgIGRhdGE6IGFueVtdLFxuICAgICAgICB0cmFuc2FjdGlvbnM6IEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uW10sXG4gICAgICAgIGNoaWxkRGF0YUtleTogYW55LFxuICAgICAgICBwcmltYXJ5S2V5PzogYW55LFxuICAgICAgICBjbG9uZVN0cmF0ZWd5OiBJRGF0YUNsb25lU3RyYXRlZ3kgPSBuZXcgRGVmYXVsdERhdGFDbG9uZVN0cmF0ZWd5KCksXG4gICAgICAgIGRlbGV0ZVJvd3MgPSBmYWxzZSk6IGFueVtdIHtcbiAgICAgICAgZm9yIChjb25zdCB0cmFuc2FjdGlvbiBvZiB0cmFuc2FjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5wYXRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5maW5kUGFyZW50RnJvbVBhdGgoZGF0YSwgcHJpbWFyeUtleSwgY2hpbGREYXRhS2V5LCB0cmFuc2FjdGlvbi5wYXRoKTtcbiAgICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvbjogYW55W10gPSBwYXJlbnQgPyBwYXJlbnRbY2hpbGREYXRhS2V5XSA6IGRhdGE7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0cmFuc2FjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFERDpcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICBpZiB0aGVyZSBpcyBubyBwYXJlbnQgdGhpcyBpcyBBREQgcm93IGF0IHJvb3QgbGV2ZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudFtjaGlsZERhdGFLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50W2NoaWxkRGF0YUtleV0gPSBjb2xsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2godHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlVQREFURTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoeCA9PiB4W3ByaW1hcnlLZXldID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblt1cGRhdGVJbmRleF0gPSBtZXJnZU9iamVjdHMoY2xvbmVTdHJhdGVneS5jbG9uZShjb2xsZWN0aW9uW3VwZGF0ZUluZGV4XSksIHRyYW5zYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRlUm93cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbGV0ZUluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgociA9PiByW3ByaW1hcnlLZXldID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0ZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnNwbGljZShkZWxldGVJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyAgaWYgdGhlcmUgaXMgbm8gcGF0aCB0aGlzIGlzIEFERCByb3cgaW4gcm9vdC4gUHVzaCB0aGUgbmV3VmFsdWUgdG8gZGF0YVxuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZVZhbHVlKGRhdGFUeXBlOiBHcmlkQ29sdW1uRGF0YVR5cGUsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5OdW1iZXIgfHwgZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5DdXJyZW5jeSB8fCBkYXRhVHlwZSA9PT0gR3JpZENvbHVtbkRhdGFUeXBlLlBlcmNlbnQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZmluZFBhcmVudEZyb21QYXRoKGRhdGE6IGFueVtdLCBwcmltYXJ5S2V5OiBhbnksIGNoaWxkRGF0YUtleTogYW55LCBwYXRoOiBhbnlbXSk6IGFueSB7XG4gICAgICAgIGxldCBjb2xsZWN0aW9uOiBhbnlbXSA9IGRhdGE7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueTtcblxuICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIHBhdGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbGxlY3Rpb24gJiYgY29sbGVjdGlvbi5maW5kKHggPT4geFtwcmltYXJ5S2V5XSA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29sbGVjdGlvbiA9IHJlc3VsdFtjaGlsZERhdGFLZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWUsZUFBZSxFQUEyQixNQUFNLHFDQUFxQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJOUQsT0FBTyxFQUdILG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsV0FBVyxFQUNkLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLHdCQUF3QixFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBR3RHOztHQUVHO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQSxNQUFNLENBQUM7SUFDekMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0NBQ2pCLENBQUMsQ0FBQztBQUdIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBRzNDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsSUFBSSxDQUFJLElBQVMsRUFBRSxXQUFpQyxFQUFFLFVBQWdDLElBQUksVUFBVSxFQUFFLEVBQ2hILElBQWU7UUFD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LElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ25DO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUE0QixFQUFFLEtBQVU7UUFDN0QsSUFBSSxRQUFRLEtBQUssa0JBQWtCLENBQUMsTUFBTSxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtZQUMvSCxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFXLEVBQUUsVUFBZSxFQUFFLFlBQWlCLEVBQUUsSUFBVztRQUMxRixJQUFJLFVBQVUsR0FBVSxJQUFJLENBQUM7UUFDN0IsSUFBSSxNQUFXLENBQUM7UUFFaEIsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbkIsTUFBTSxHQUFHLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1QsTUFBTTthQUNUO1lBRUQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi9ncm91cGluZy1yZXN1bHQuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgSVBhZ2luZ1N0YXRlLCBQYWdpbmdFcnJvciB9IGZyb20gJy4vcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IElHcm91cEJ5S2V5IH0gZnJvbSAnLi9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdTdGF0ZSB9IGZyb20gJy4vZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgbWVyZ2VPYmplY3RzLCBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblR5cGUsIEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgZ2V0SGllcmFyY2h5LCBpc0hpZXJhcmNoeU1hdGNoIH0gZnJvbSAnLi9vcGVyYXRpb25zJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi4vZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4uL2dyaWRzL3RyZWUtZ3JpZC90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJU29ydGluZ0V4cHJlc3Npb24gfSBmcm9tICcuL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHtcbiAgICBJR3JpZFNvcnRpbmdTdHJhdGVneSxcbiAgICBJR3JpZEdyb3VwaW5nU3RyYXRlZ3ksXG4gICAgSWd4RGF0YVJlY29yZFNvcnRpbmcsXG4gICAgSWd4U29ydGluZyxcbiAgICBJZ3hHcm91cGluZ1xufSBmcm9tICcuLi9ncmlkcy9jb21tb24vc3RyYXRlZ3knO1xuaW1wb3J0IHsgRGVmYXVsdERhdGFDbG9uZVN0cmF0ZWd5LCBJRGF0YUNsb25lU3RyYXRlZ3kgfSBmcm9tICcuLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS1jbG9uZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi9ncm91cGluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG4gZXhwb3J0IGNvbnN0IERhdGFUeXBlID0gLypAX19QVVJFX18qL21rZW51bSh7XG4gICAgU3RyaW5nOiAnc3RyaW5nJyxcbiAgICBOdW1iZXI6ICdudW1iZXInLFxuICAgIEJvb2xlYW46ICdib29sZWFuJyxcbiAgICBEYXRlOiAnZGF0ZScsXG4gICAgRGF0ZVRpbWU6ICdkYXRlVGltZScsXG4gICAgVGltZTogJ3RpbWUnLFxuICAgIEN1cnJlbmN5OiAnY3VycmVuY3knLFxuICAgIFBlcmNlbnQ6ICdwZXJjZW50JyxcbiAgICBJbWFnZTogJ2ltYWdlJ1xufSk7XG5leHBvcnQgdHlwZSBEYXRhVHlwZSA9ICh0eXBlb2YgRGF0YVR5cGUpW2tleW9mIHR5cGVvZiBEYXRhVHlwZV07XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgR3JpZENvbHVtbkRhdGFUeXBlID0gRGF0YVR5cGU7XG5leHBvcnQgdHlwZSBHcmlkQ29sdW1uRGF0YVR5cGUgPSAodHlwZW9mIEdyaWRDb2x1bW5EYXRhVHlwZSlba2V5b2YgdHlwZW9mIEdyaWRDb2x1bW5EYXRhVHlwZV07XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY2xhc3MgRGF0YVV0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgc29ydDxUPihkYXRhOiBUW10sIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSwgc29ydGluZzogSUdyaWRTb3J0aW5nU3RyYXRlZ3kgPSBuZXcgSWd4U29ydGluZygpLFxuICAgICAgICBncmlkPzogR3JpZFR5cGUpOiBUW10ge1xuICAgICAgICByZXR1cm4gc29ydGluZy5zb3J0KGRhdGEsIGV4cHJlc3Npb25zLCBncmlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRyZWVHcmlkU29ydChoaWVyYXJjaGljYWxEYXRhOiBJVHJlZUdyaWRSZWNvcmRbXSxcbiAgICAgICAgZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdLFxuICAgICAgICBzb3J0aW5nOiBJR3JpZFNvcnRpbmdTdHJhdGVneSA9IG5ldyBJZ3hEYXRhUmVjb3JkU29ydGluZygpLFxuICAgICAgICBwYXJlbnQ/OiBJVHJlZUdyaWRSZWNvcmQsXG4gICAgICAgIGdyaWQ/OiBHcmlkVHlwZSk6IElUcmVlR3JpZFJlY29yZFtdIHtcbiAgICAgICAgbGV0IHJlczogSVRyZWVHcmlkUmVjb3JkW10gPSBbXTtcbiAgICAgICAgaGllcmFyY2hpY2FsRGF0YS5mb3JFYWNoKChocjogSVRyZWVHcmlkUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWM6IElUcmVlR3JpZFJlY29yZCA9IERhdGFVdGlsLmNsb25lVHJlZUdyaWRSZWNvcmQoaHIpO1xuICAgICAgICAgICAgcmVjLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIGlmIChyZWMuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICByZWMuY2hpbGRyZW4gPSBEYXRhVXRpbC50cmVlR3JpZFNvcnQocmVjLmNoaWxkcmVuLCBleHByZXNzaW9ucywgc29ydGluZywgcmVjLCBncmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcy5wdXNoKHJlYyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcyA9IERhdGFVdGlsLnNvcnQocmVzLCBleHByZXNzaW9ucywgc29ydGluZywgZ3JpZCk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNsb25lVHJlZUdyaWRSZWNvcmQoaGllcmFyY2hpY2FsUmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQpIHtcbiAgICAgICAgY29uc3QgcmVjOiBJVHJlZUdyaWRSZWNvcmQgPSB7XG4gICAgICAgICAgICBrZXk6IGhpZXJhcmNoaWNhbFJlY29yZC5rZXksXG4gICAgICAgICAgICBkYXRhOiBoaWVyYXJjaGljYWxSZWNvcmQuZGF0YSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBoaWVyYXJjaGljYWxSZWNvcmQuY2hpbGRyZW4sXG4gICAgICAgICAgICBpc0ZpbHRlcmVkT3V0UGFyZW50OiBoaWVyYXJjaGljYWxSZWNvcmQuaXNGaWx0ZXJlZE91dFBhcmVudCxcbiAgICAgICAgICAgIGxldmVsOiBoaWVyYXJjaGljYWxSZWNvcmQubGV2ZWwsXG4gICAgICAgICAgICBleHBhbmRlZDogaGllcmFyY2hpY2FsUmVjb3JkLmV4cGFuZGVkXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZWM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBncm91cDxUPihkYXRhOiBUW10sIHN0YXRlOiBJR3JvdXBpbmdTdGF0ZSwgZ3JvdXBpbmc6IElHcmlkR3JvdXBpbmdTdHJhdGVneSA9IG5ldyBJZ3hHcm91cGluZygpLCBncmlkOiBHcmlkVHlwZSA9IG51bGwsXG4gICAgICAgIGdyb3Vwc1JlY29yZHM6IGFueVtdID0gW10sIGZ1bGxSZXN1bHQ6IElHcm91cEJ5UmVzdWx0ID0geyBkYXRhOiBbXSwgbWV0YWRhdGE6IFtdIH0pOiBJR3JvdXBCeVJlc3VsdCB7XG4gICAgICAgIGdyb3Vwc1JlY29yZHMuc3BsaWNlKDAsIGdyb3Vwc1JlY29yZHMubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGdyb3VwaW5nLmdyb3VwQnkoZGF0YSwgc3RhdGUsIGdyaWQsIGdyb3Vwc1JlY29yZHMsIGZ1bGxSZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcGFnZTxUPihkYXRhOiBUW10sIHN0YXRlOiBJUGFnaW5nU3RhdGUsIGRhdGFMZW5ndGg/OiBudW1iZXIpOiBUW10ge1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW4gPSBkYXRhTGVuZ3RoICE9PSB1bmRlZmluZWQgPyBkYXRhTGVuZ3RoIDogZGF0YS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuaW5kZXg7XG4gICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICBjb25zdCByZWNvcmRzUGVyUGFnZSA9IGRhdGFMZW5ndGggIT09IHVuZGVmaW5lZCAmJiBzdGF0ZS5yZWNvcmRzUGVyUGFnZSA+IGRhdGFMZW5ndGggPyBkYXRhTGVuZ3RoIDogc3RhdGUucmVjb3Jkc1BlclBhZ2U7XG4gICAgICAgIHN0YXRlLm1ldGFkYXRhID0ge1xuICAgICAgICAgICAgY291bnRQYWdlczogMCxcbiAgICAgICAgICAgIGNvdW50UmVjb3JkczogbGVuLFxuICAgICAgICAgICAgZXJyb3I6IFBhZ2luZ0Vycm9yLk5vbmVcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpc05hTihpbmRleCkpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UGFnZUluZGV4O1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVjb3Jkc1BlclBhZ2UgPD0gMCB8fCBpc05hTihyZWNvcmRzUGVyUGFnZSkpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UmVjb3Jkc1BlclBhZ2U7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLm1ldGFkYXRhLmNvdW50UGFnZXMgPSBNYXRoLmNlaWwobGVuIC8gcmVjb3Jkc1BlclBhZ2UpO1xuICAgICAgICBpZiAoIWxlbikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID49IHN0YXRlLm1ldGFkYXRhLmNvdW50UGFnZXMpIHtcbiAgICAgICAgICAgIHN0YXRlLm1ldGFkYXRhLmVycm9yID0gUGFnaW5nRXJyb3IuSW5jb3JyZWN0UGFnZUluZGV4O1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YS5zbGljZShpbmRleCAqIHJlY29yZHNQZXJQYWdlLCAoaW5kZXggKyAxKSAqIHJlY29yZHNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNvcnJlY3RQYWdpbmdTdGF0ZShzdGF0ZTogSVBhZ2luZ1N0YXRlLCBsZW5ndGg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBtYXhQYWdlID0gTWF0aC5jZWlsKGxlbmd0aCAvIHN0YXRlLnJlY29yZHNQZXJQYWdlKSAtIDE7XG4gICAgICAgIGlmICghaXNOYU4obWF4UGFnZSkgJiYgc3RhdGUuaW5kZXggPiBtYXhQYWdlKSB7XG4gICAgICAgICAgICBzdGF0ZS5pbmRleCA9IG1heFBhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEhpZXJhcmNoeShnUm93OiBJR3JvdXBCeVJlY29yZCk6IEFycmF5PElHcm91cEJ5S2V5PiB7XG4gICAgICAgIHJldHVybiBnZXRIaWVyYXJjaHkoZ1Jvdyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0hpZXJhcmNoeU1hdGNoKGgxOiBBcnJheTxJR3JvdXBCeUtleT4sIGgyOiBBcnJheTxJR3JvdXBCeUtleT4sIGV4cHJlc3Npb25zOiBJR3JvdXBpbmdFeHByZXNzaW9uW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzSGllcmFyY2h5TWF0Y2goaDEsIGgyLCBleHByZXNzaW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGFsbCBjaGFuZ2VzIGZyb20gcHJvdmlkZWQgdHJhbnNhY3Rpb25zIGludG8gcHJvdmlkZWQgZGF0YSBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBDb2xsZWN0aW9uIHRvIG1lcmdlXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBUcmFuc2FjdGlvbnMgdG8gbWVyZ2UgaW50byBkYXRhXG4gICAgICogQHBhcmFtIHByaW1hcnlLZXkgUHJpbWFyeSBrZXkgb2YgdGhlIGNvbGxlY3Rpb24sIGlmIGFueVxuICAgICAqIEBwYXJhbSBkZWxldGVSb3dzIFNob3VsZCBkZWxldGUgcm93cyB3aXRoIERFTEVURSB0cmFuc2FjdGlvbiB0eXBlIGZyb20gZGF0YVxuICAgICAqIEByZXR1cm5zIFByb3ZpZGVkIGRhdGEgY29sbGVjdGlvbnMgdXBkYXRlZCB3aXRoIGFsbCBwcm92aWRlZCB0cmFuc2FjdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1lcmdlVHJhbnNhY3Rpb25zPFQ+KGRhdGE6IFRbXSwgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdLCBwcmltYXJ5S2V5PzogYW55LCBjbG9uZVN0cmF0ZWd5OiBJRGF0YUNsb25lU3RyYXRlZ3kgPSBuZXcgRGVmYXVsdERhdGFDbG9uZVN0cmF0ZWd5KCksIGRlbGV0ZVJvd3MgPSBmYWxzZSk6IFRbXSB7XG4gICAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dJZCA9IHByaW1hcnlLZXkgPyBpdGVtW3ByaW1hcnlLZXldIDogaXRlbTtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb25zLmZpbmQodCA9PiB0LmlkID09PSByb3dJZCk7XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24gJiYgdHJhbnNhY3Rpb24udHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlVQREFURSkge1xuICAgICAgICAgICAgICAgIGRhdGFbaW5kZXhdID0gbWVyZ2VPYmplY3RzKGNsb25lU3RyYXRlZ3kuY2xvbmUoZGF0YVtpbmRleF0pLCB0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkZWxldGVSb3dzKSB7XG4gICAgICAgICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHQgPT4gdC50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHByaW1hcnlLZXkgPyBkYXRhLmZpbmRJbmRleChkID0+IGRbcHJpbWFyeUtleV0gPT09IHQuaWQpIDogZGF0YS5maW5kSW5kZXgoZCA9PiBkID09PSB0LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKDAgPD0gaW5kZXggJiYgaW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhLnB1c2goLi4udHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKHQgPT4gdC50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQUREKVxuICAgICAgICAgICAgLm1hcCh0ID0+IHQubmV3VmFsdWUpKTtcblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgYWxsIGNoYW5nZXMgZnJvbSBwcm92aWRlZCB0cmFuc2FjdGlvbnMgaW50byBwcm92aWRlZCBoaWVyYXJjaGljYWwgZGF0YSBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBDb2xsZWN0aW9uIHRvIG1lcmdlXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBUcmFuc2FjdGlvbnMgdG8gbWVyZ2UgaW50byBkYXRhXG4gICAgICogQHBhcmFtIGNoaWxkRGF0YUtleSBEYXRhIGtleSBvZiBjaGlsZCBjb2xsZWN0aW9uc1xuICAgICAqIEBwYXJhbSBwcmltYXJ5S2V5IFByaW1hcnkga2V5IG9mIHRoZSBjb2xsZWN0aW9uLCBpZiBhbnlcbiAgICAgKiBAcGFyYW0gZGVsZXRlUm93cyBTaG91bGQgZGVsZXRlIHJvd3Mgd2l0aCBERUxFVEUgdHJhbnNhY3Rpb24gdHlwZSBmcm9tIGRhdGFcbiAgICAgKiBAcmV0dXJucyBQcm92aWRlZCBkYXRhIGNvbGxlY3Rpb25zIHVwZGF0ZWQgd2l0aCBhbGwgcHJvdmlkZWQgdHJhbnNhY3Rpb25zXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtZXJnZUhpZXJhcmNoaWNhbFRyYW5zYWN0aW9ucyhcbiAgICAgICAgZGF0YTogYW55W10sXG4gICAgICAgIHRyYW5zYWN0aW9uczogSGllcmFyY2hpY2FsVHJhbnNhY3Rpb25bXSxcbiAgICAgICAgY2hpbGREYXRhS2V5OiBhbnksXG4gICAgICAgIHByaW1hcnlLZXk/OiBhbnksXG4gICAgICAgIGNsb25lU3RyYXRlZ3k6IElEYXRhQ2xvbmVTdHJhdGVneSA9IG5ldyBEZWZhdWx0RGF0YUNsb25lU3RyYXRlZ3koKSxcbiAgICAgICAgZGVsZXRlUm93cyA9IGZhbHNlKTogYW55W10ge1xuICAgICAgICBmb3IgKGNvbnN0IHRyYW5zYWN0aW9uIG9mIHRyYW5zYWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnBhdGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmZpbmRQYXJlbnRGcm9tUGF0aChkYXRhLCBwcmltYXJ5S2V5LCBjaGlsZERhdGFLZXksIHRyYW5zYWN0aW9uLnBhdGgpO1xuICAgICAgICAgICAgICAgIGxldCBjb2xsZWN0aW9uOiBhbnlbXSA9IHBhcmVudCA/IHBhcmVudFtjaGlsZERhdGFLZXldIDogZGF0YTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHRyYW5zYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQUREOlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gIGlmIHRoZXJlIGlzIG5vIHBhcmVudCB0aGlzIGlzIEFERCByb3cgYXQgcm9vdCBsZXZlbFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudCAmJiAhcGFyZW50W2NoaWxkRGF0YUtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRbY2hpbGREYXRhS2V5XSA9IGNvbGxlY3Rpb24gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24ucHVzaCh0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleCh4ID0+IHhbcHJpbWFyeUtleV0gPT09IHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cGRhdGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uW3VwZGF0ZUluZGV4XSA9IG1lcmdlT2JqZWN0cyhjbG9uZVN0cmF0ZWd5LmNsb25lKGNvbGxlY3Rpb25bdXBkYXRlSW5kZXhdKSwgdHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkRFTEVURTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWxldGVSb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleChyID0+IHJbcHJpbWFyeUtleV0gPT09IHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRlSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24uc3BsaWNlKGRlbGV0ZUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vICBpZiB0aGVyZSBpcyBubyBwYXRoIHRoaXMgaXMgQUREIHJvdyBpbiByb290LiBQdXNoIHRoZSBuZXdWYWx1ZSB0byBkYXRhXG4gICAgICAgICAgICAgICAgZGF0YS5wdXNoKHRyYW5zYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHBhcnNlVmFsdWUoZGF0YVR5cGU6IEdyaWRDb2x1bW5EYXRhVHlwZSwgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChkYXRhVHlwZSA9PT0gR3JpZENvbHVtbkRhdGFUeXBlLk51bWJlciB8fCBkYXRhVHlwZSA9PT0gR3JpZENvbHVtbkRhdGFUeXBlLkN1cnJlbmN5IHx8IGRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuUGVyY2VudCkge1xuICAgICAgICAgICAgdmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmaW5kUGFyZW50RnJvbVBhdGgoZGF0YTogYW55W10sIHByaW1hcnlLZXk6IGFueSwgY2hpbGREYXRhS2V5OiBhbnksIHBhdGg6IGFueVtdKTogYW55IHtcbiAgICAgICAgbGV0IGNvbGxlY3Rpb246IGFueVtdID0gZGF0YTtcbiAgICAgICAgbGV0IHJlc3VsdDogYW55O1xuXG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgcGF0aCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gY29sbGVjdGlvbiAmJiBjb2xsZWN0aW9uLmZpbmQoeCA9PiB4W3ByaW1hcnlLZXldID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gcmVzdWx0W2NoaWxkRGF0YUtleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { mkenum } from '../core/utils';
2
2
  /** Header orientation in `dialog` mode. */
3
- export const PickerHeaderOrientation = mkenum({
3
+ export const PickerHeaderOrientation = /*@__PURE__*/ mkenum({
4
4
  Horizontal: 'horizontal',
5
5
  Vertical: 'vertical'
6
6
  });
@@ -8,8 +8,8 @@ export const PickerHeaderOrientation = mkenum({
8
8
  * This enumeration is used to configure whether the date/time picker has an editable input with drop down
9
9
  * or is readonly - the date/time is selected only through a dialog.
10
10
  */
11
- export const PickerInteractionMode = mkenum({
11
+ export const PickerInteractionMode = /*@__PURE__*/ mkenum({
12
12
  DropDown: 'dropdown',
13
13
  Dialog: 'dialog'
14
14
  });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGF0ZS1jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QywyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDO0lBQzFDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFFBQVEsRUFBRSxVQUFVO0NBQ3ZCLENBQUMsQ0FBQztBQUdIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztJQUN4QyxRQUFRLEVBQUUsVUFBVTtJQUNwQixNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbi8qKiBIZWFkZXIgb3JpZW50YXRpb24gaW4gYGRpYWxvZ2AgbW9kZS4gKi9cbmV4cG9ydCBjb25zdCBQaWNrZXJIZWFkZXJPcmllbnRhdGlvbiA9IG1rZW51bSh7XG4gICAgSG9yaXpvbnRhbDogJ2hvcml6b250YWwnLFxuICAgIFZlcnRpY2FsOiAndmVydGljYWwnXG59KTtcbmV4cG9ydCB0eXBlIFBpY2tlckhlYWRlck9yaWVudGF0aW9uID0gKHR5cGVvZiBQaWNrZXJIZWFkZXJPcmllbnRhdGlvbilba2V5b2YgdHlwZW9mIFBpY2tlckhlYWRlck9yaWVudGF0aW9uXTtcblxuLyoqXG4gKiBUaGlzIGVudW1lcmF0aW9uIGlzIHVzZWQgdG8gY29uZmlndXJlIHdoZXRoZXIgdGhlIGRhdGUvdGltZSBwaWNrZXIgaGFzIGFuIGVkaXRhYmxlIGlucHV0IHdpdGggZHJvcCBkb3duXG4gKiBvciBpcyByZWFkb25seSAtIHRoZSBkYXRlL3RpbWUgaXMgc2VsZWN0ZWQgb25seSB0aHJvdWdoIGEgZGlhbG9nLlxuICovXG5leHBvcnQgY29uc3QgUGlja2VySW50ZXJhY3Rpb25Nb2RlID0gbWtlbnVtKHtcbiAgICBEcm9wRG93bjogJ2Ryb3Bkb3duJyxcbiAgICBEaWFsb2c6ICdkaWFsb2cnXG59KTtcbmV4cG9ydCB0eXBlIFBpY2tlckludGVyYWN0aW9uTW9kZSA9ICh0eXBlb2YgUGlja2VySW50ZXJhY3Rpb25Nb2RlKVtrZXlvZiB0eXBlb2YgUGlja2VySW50ZXJhY3Rpb25Nb2RlXTtcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGF0ZS1jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QywyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsYUFBYSxDQUFBLE1BQU0sQ0FBQztJQUN2RCxVQUFVLEVBQUUsWUFBWTtJQUN4QixRQUFRLEVBQUUsVUFBVTtDQUN2QixDQUFDLENBQUM7QUFHSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUEsTUFBTSxDQUFDO0lBQ3JELFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0NBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuLyoqIEhlYWRlciBvcmllbnRhdGlvbiBpbiBgZGlhbG9nYCBtb2RlLiAqL1xuZXhwb3J0IGNvbnN0IFBpY2tlckhlYWRlck9yaWVudGF0aW9uID0gLypAX19QVVJFX18qL21rZW51bSh7XG4gICAgSG9yaXpvbnRhbDogJ2hvcml6b250YWwnLFxuICAgIFZlcnRpY2FsOiAndmVydGljYWwnXG59KTtcbmV4cG9ydCB0eXBlIFBpY2tlckhlYWRlck9yaWVudGF0aW9uID0gKHR5cGVvZiBQaWNrZXJIZWFkZXJPcmllbnRhdGlvbilba2V5b2YgdHlwZW9mIFBpY2tlckhlYWRlck9yaWVudGF0aW9uXTtcblxuLyoqXG4gKiBUaGlzIGVudW1lcmF0aW9uIGlzIHVzZWQgdG8gY29uZmlndXJlIHdoZXRoZXIgdGhlIGRhdGUvdGltZSBwaWNrZXIgaGFzIGFuIGVkaXRhYmxlIGlucHV0IHdpdGggZHJvcCBkb3duXG4gKiBvciBpcyByZWFkb25seSAtIHRoZSBkYXRlL3RpbWUgaXMgc2VsZWN0ZWQgb25seSB0aHJvdWdoIGEgZGlhbG9nLlxuICovXG5leHBvcnQgY29uc3QgUGlja2VySW50ZXJhY3Rpb25Nb2RlID0gLypAX19QVVJFX18qL21rZW51bSh7XG4gICAgRHJvcERvd246ICdkcm9wZG93bicsXG4gICAgRGlhbG9nOiAnZGlhbG9nJ1xufSk7XG5leHBvcnQgdHlwZSBQaWNrZXJJbnRlcmFjdGlvbk1vZGUgPSAodHlwZW9mIFBpY2tlckludGVyYWN0aW9uTW9kZSlba2V5b2YgdHlwZW9mIFBpY2tlckludGVyYWN0aW9uTW9kZV07XG4iXX0=
@@ -2,7 +2,7 @@ import { Directive, EventEmitter, HostBinding, HostListener, Inject, Input, Opti
2
2
  import { DisplayDensityBase, DisplayDensityToken } from '../../core/density';
3
3
  import { mkenum } from '../../core/utils';
4
4
  import * as i0 from "@angular/core";
5
- export const IgxBaseButtonType = mkenum({
5
+ export const IgxBaseButtonType = /*@__PURE__*/ mkenum({
6
6
  Flat: 'flat',
7
7
  Contained: 'contained',
8
8
  Outlined: 'outlined'
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
84
84
  type: HostBinding,
85
85
  args: ['attr.disabled']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLElBQUksRUFBRSxNQUFNO0lBQ1osU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFVBQVU7Q0FDdkIsQ0FBQyxDQUFDO0FBR0gsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxrQkFBa0I7SUFtQm5FOzs7T0FHRztJQUVJLE9BQU8sQ0FBQyxFQUFjO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFjRDs7O09BR0c7SUFDSCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUNXLE9BQW1CLEVBRWhCLHNCQUE4QztRQUV4RCxLQUFLLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFKaEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUVoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBbkQ1RDs7V0FFRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3Qzs7Ozs7Ozs7V0FRRztRQUVJLFNBQUksR0FBRyxRQUFRLENBQUM7UUFXdkI7Ozs7Ozs7WUFPSTtRQUdHLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFpQnhCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7OEdBOURpQixzQkFBc0IsNENBbURoQixtQkFBbUI7a0dBbkR6QixzQkFBc0IsK0NBb0NwQixnQkFBZ0I7OzJGQXBDbEIsc0JBQXNCO2tCQUQzQyxTQUFTOzswQkFvREQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7eUNBOUNwQyxXQUFXO3NCQURqQixNQUFNO2dCQWFBLElBQUk7c0JBRFYsV0FBVzt1QkFBQyxXQUFXO2dCQVFqQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWUxQixRQUFRO3NCQUZkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7O3NCQUNyQyxXQUFXO3VCQUFDLDRCQUE0QjtnQkFROUIsaUJBQWlCO3NCQUQzQixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlCYXNlLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgSWd4QmFzZUJ1dHRvblR5cGUgPSBta2VudW0oe1xuICAgIEZsYXQ6ICdmbGF0JyxcbiAgICBDb250YWluZWQ6ICdjb250YWluZWQnLFxuICAgIE91dGxpbmVkOiAnb3V0bGluZWQnXG59KTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWd4QnV0dG9uQmFzZURpcmVjdGl2ZSBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSB7XG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuYnV0dG9uLnJvbGUgPSAnbmF2YnV0dG9uJztcbiAgICAgKiBsZXQgYnV0dG9uUm9sZSA9IHRoaXMuYnV0dG9uLnJvbGU7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHB1YmxpYyByb2xlID0gJ2J1dHRvbic7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkNsaWNrKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdChldik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIGJ1dHRvbi5cbiAgICAgICpcbiAgICAgICogQGV4YW1wbGVcbiAgICAgICogYGBgaHRtbFxuICAgICAgKiA8YnV0dG9uIGlneEJ1dHRvbj1cImZhYlwiIGRpc2FibGVkPjwvYnV0dG9uPlxuICAgICAgKiBgYGBcbiAgICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtYnV0dG9uLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkQXR0cmlidXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKVxuICAgICAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9uc1xuICAgICkgeyBcbiAgICAgICAgc3VwZXIoX2Rpc3BsYXlEZW5zaXR5T3B0aW9ucywgZWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgdW5kZXJseWluZyBET00gZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFBLE1BQU0sQ0FBQztJQUNqRCxJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFFBQVEsRUFBRSxVQUFVO0NBQ3ZCLENBQUMsQ0FBQztBQUdILE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsa0JBQWtCO0lBbUJuRTs7O09BR0c7SUFFSSxPQUFPLENBQUMsRUFBYztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBY0Q7OztPQUdHO0lBQ0gsSUFDVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFDVyxPQUFtQixFQUVoQixzQkFBOEM7UUFFeEQsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSmhDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFFaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQW5ENUQ7O1dBRUc7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFN0M7Ozs7Ozs7O1dBUUc7UUFFSSxTQUFJLEdBQUcsUUFBUSxDQUFDO1FBV3ZCOzs7Ozs7O1lBT0k7UUFHRyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBaUJ4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDOzhHQTlEaUIsc0JBQXNCLDRDQW1EaEIsbUJBQW1CO2tHQW5EekIsc0JBQXNCLCtDQW9DcEIsZ0JBQWdCOzsyRkFwQ2xCLHNCQUFzQjtrQkFEM0MsU0FBUzs7MEJBb0RELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1CO3lDQTlDcEMsV0FBVztzQkFEakIsTUFBTTtnQkFhQSxJQUFJO3NCQURWLFdBQVc7dUJBQUMsV0FBVztnQkFRakIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFlMUIsUUFBUTtzQkFGZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUTlCLGlCQUFpQjtzQkFEM0IsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5QmFzZSwgRGlzcGxheURlbnNpdHlUb2tlbiwgSURpc3BsYXlEZW5zaXR5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IElneEJhc2VCdXR0b25UeXBlID0gLypAX19QVVJFX18qL21rZW51bSh7XG4gICAgRmxhdDogJ2ZsYXQnLFxuICAgIENvbnRhaW5lZDogJ2NvbnRhaW5lZCcsXG4gICAgT3V0bGluZWQ6ICdvdXRsaW5lZCdcbn0pO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJZ3hCdXR0b25CYXNlRGlyZWN0aXZlIGV4dGVuZHMgRGlzcGxheURlbnNpdHlCYXNlIHtcbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgcm9sZWAgYXR0cmlidXRlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5idXR0b24ucm9sZSA9ICduYXZidXR0b24nO1xuICAgICAqIGxldCBidXR0b25Sb2xlID0gdGhpcy5idXR0b24ucm9sZTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHVibGljIHJvbGUgPSAnYnV0dG9uJztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uQ2xpY2soZXY6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5idXR0b25DbGljay5lbWl0KGV2KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgYnV0dG9uLlxuICAgICAgKlxuICAgICAgKiBAZXhhbXBsZVxuICAgICAgKiBgYGBodG1sXG4gICAgICAqIDxidXR0b24gaWd4QnV0dG9uPVwiZmFiXCIgZGlzYWJsZWQ+PC9idXR0b24+XG4gICAgICAqIGBgYFxuICAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1idXR0b24tLWRpc2FibGVkJylcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWRBdHRyaWJ1dGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pXG4gICAgICAgIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMsIGVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHVuZGVybHlpbmcgRE9NIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxufVxuIl19
@@ -3,7 +3,7 @@ import { DisplayDensityToken } from '../../core/density';
3
3
  import { mkenum } from '../../core/utils';
4
4
  import { IgxBaseButtonType, IgxButtonBaseDirective } from './button-base';
5
5
  import * as i0 from "@angular/core";
6
- const IgxButtonType = mkenum({
6
+ const IgxButtonType = /*@__PURE__*/ mkenum({
7
7
  ...IgxBaseButtonType,
8
8
  FAB: 'fab'
9
9
  });
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
223
223
  type: HostBinding,
224
224
  args: ['style.--component-size']
225
225
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEVBQ04sZ0JBQWdCLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDekIsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyxFQUFFLEtBQUs7Q0FDYixDQUFDLENBQUM7QUFPSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBS0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQThDMUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdEY7SUFDTCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUNvQixPQUFtQixFQUVoQixzQkFBOEMsRUFDekQsU0FBb0I7UUFFNUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBTHZCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFFaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN6RCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBcEVoQzs7V0FFRztRQUVJLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFN0Q7OztXQUdHO1FBRUksY0FBUyxHQUFHLFlBQVksQ0FBQztRQTBCaEM7OztXQUdHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztJQThCMUIsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQ1csSUFBSSxDQUFDLElBQW1CO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUNXLEtBQUssQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLEdBQUc7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7OEdBM01RLGtCQUFrQiw0Q0FxRUgsbUJBQW1CO2tHQXJFbEMsa0JBQWtCLDRGQXVEUCxnQkFBZ0I7OzJGQXZEM0Isa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQXNFUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjtpRUE5RHBDLGNBQWM7c0JBRHBCLE1BQU07Z0JBUUEsU0FBUztzQkFEZixXQUFXO3VCQUFDLGtCQUFrQjtnQkEyQ3BCLFFBQVE7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBc0MzQixJQUFJO3NCQURkLEtBQUs7dUJBQUMsV0FBVztnQkFrQlAsS0FBSztzQkFEZixLQUFLO3VCQUFDLGdCQUFnQjtnQkFnQlosVUFBVTtzQkFEcEIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBZWpCLEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxVQUFVO2dCQVdOLElBQUk7c0JBRGQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBVTFCLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsNkJBQTZCO2dCQVUvQixRQUFRO3NCQURsQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFVOUIsR0FBRztzQkFEYixXQUFXO3VCQUFDLHVCQUF1QjtnQkFVekIsYUFBYTtzQkFEdkIsV0FBVzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIEFmdGVyQ29udGVudEluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSUJhc2VFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElneEJhc2VCdXR0b25UeXBlLCBJZ3hCdXR0b25CYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9idXR0b24tYmFzZSc7XG5cbmNvbnN0IElneEJ1dHRvblR5cGUgPSBta2VudW0oe1xuICAgIC4uLklneEJhc2VCdXR0b25UeXBlLFxuICAgIEZBQjogJ2ZhYidcbn0pO1xuXG4vKipcbiAqIERldGVybWluZXMgdGhlIEJ1dHRvbiB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBJZ3hCdXR0b25UeXBlID0gdHlwZW9mIElneEJ1dHRvblR5cGVba2V5b2YgdHlwZW9mIElneEJ1dHRvblR5cGVdO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gZGlyZWN0aXZlIHByb3ZpZGVzIHRoZSBJZ25pdGUgVUkgQnV0dG9uIGZ1bmN0aW9uYWxpdHkgdG8gZXZlcnkgY29tcG9uZW50IHRoYXQncyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgYnV0dG9uLlxuICpcbiAqIEBpZ3hNb2R1bGUgSWd4QnV0dG9uTW9kdWxlXG4gKlxuICogQGlneFBhcmVudCBEYXRhIEVudHJ5ICYgRGlzcGxheVxuICpcbiAqIEBpZ3hUaGVtZSBpZ3gtYnV0dG9uLXRoZW1lXG4gKlxuICogQGlneEtleXdvcmRzIGJ1dHRvbiwgc3BhbiwgZGl2LCBjbGlja1xuICpcbiAqIEByZW1hcmtzXG4gKiBUaGUgSWduaXRlIFVJIEJ1dHRvbiBkaXJlY3RpdmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBhbnkgYnV0dG9uLCBzcGFuIG9yIGRpdiBhbmQgdHVybiBpdCBpbnRvIGEgZnVsbHkgZnVuY3Rpb25hbCBidXR0b24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbj1cIm91dGxpbmVkXCI+QSBCdXR0b248L2J1dHRvbj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hCdXR0b25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIElneEJ1dHRvbkJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBwcml2YXRlIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV90eXBlOiBJZ3hCdXR0b25UeXBlIHwgJyc7XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBidXR0b25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUJ1dHRvbkV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1idXR0b24nKVxuICAgIHB1YmxpYyBfY3NzQ2xhc3MgPSAnaWd4LWJ1dHRvbic7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHlwZTogSWd4QnV0dG9uVHlwZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb2xvcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgX2xhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgb3Igc2V0cyB3aGV0aGVyIHRoZSBidXR0b24gaXMgc2VsZWN0ZWQuXG4gICAgICogTWFpbmx5IHVzZWQgaW4gdGhlIElneEJ1dHRvbkdyb3VwIGNvbXBvbmVudCBhbmQgaXQgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBzZXQgc2VwYXJhdGVseS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbj1cImZsYXRcIiBbc2VsZWN0ZWRdPVwiYnV0dG9uLnNlbGVjdGVkXCI+PC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2RhdGEtc2VsZWN0ZWQnLCB2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRGlzcGxheURlbnNpdHlUb2tlbilcbiAgICAgICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9kaXNwbGF5RGVuc2l0eU9wdGlvbnM6IElEaXNwbGF5RGVuc2l0eU9wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uU2VsZWN0ZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgYnV0dG9uOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgdHlwZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uPVwib3V0bGluZWRcIj48L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2lneEJ1dHRvbicpXG4gICAgcHVibGljIHNldCB0eXBlKHR5cGU6IElneEJ1dHRvblR5cGUpIHtcbiAgICAgICAgY29uc3QgdCA9IHR5cGUgPyB0eXBlIDogSWd4QnV0dG9uVHlwZS5GbGF0O1xuICAgICAgICBpZiAodGhpcy5fdHlwZSAhPT0gdCkge1xuICAgICAgICAgICAgdGhpcy5fdHlwZSA9IHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDE3LjEuMC5cbiAgICAgKiBTZXRzIHRoZSBidXR0b24gdGV4dCBjb2xvci5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbiBpZ3hCdXR0b25Db2xvcj1cIm9yYW5nZVwiPjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QnV0dG9uQ29sb3InKVxuICAgIHB1YmxpYyBzZXQgY29sb3IodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jb2xvciA9IHZhbHVlIHx8IHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS5jb2xvcjtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5uYXRpdmVFbGVtZW50LCAnY29sb3InLCB0aGlzLl9jb2xvcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgaW4gdmVyc2lvbiAxNy4xLjAuXG4gICAgICogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAgYGBgaHRtbFxuICAgICAqIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbiBpZ3hCdXR0b25CYWNrZ3JvdW5kPVwicmVkXCI+PC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KCdpZ3hCdXR0b25CYWNrZ3JvdW5kJylcbiAgICBwdWJsaWMgc2V0IGJhY2tncm91bmQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9iYWNrZ3JvdW5kQ29sb3IgPSB2YWx1ZSB8fCB0aGlzLl9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQnLCB0aGlzLl9iYWNrZ3JvdW5kQ29sb3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqICBgYGBodG1sXG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uPVwiZmxhdFwiIGlneExhYmVsPVwiTGFiZWxcIj48L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2lneExhYmVsJylcbiAgICBwdWJsaWMgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbGFiZWwgPSB2YWx1ZSB8fCB0aGlzLl9sYWJlbDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FyaWEtbGFiZWwnLCB0aGlzLl9sYWJlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWJ1dHRvbi0tZmxhdCcpXG4gICAgcHVibGljIGdldCBmbGF0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gSWd4QnV0dG9uVHlwZS5GbGF0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1idXR0b24tLWNvbnRhaW5lZCcpXG4gICAgcHVibGljIGdldCBjb250YWluZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlID09PSBJZ3hCdXR0b25UeXBlLkNvbnRhaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtYnV0dG9uLS1vdXRsaW5lZCcpXG4gICAgcHVibGljIGdldCBvdXRsaW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IElneEJ1dHRvblR5cGUuT3V0bGluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWJ1dHRvbi0tZmFiJylcbiAgICBwdWJsaWMgZ2V0IGZhYigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IElneEJ1dHRvblR5cGUuRkFCO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29tcG9uZW50LXNpemUnKVxuICAgIHB1YmxpYyBnZXQgY29tcG9uZW50U2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcG9uZW50U2l6ZVN0eWxlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGRlc2VsZWN0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25FdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgYnV0dG9uOiBJZ3hCdXR0b25EaXJlY3RpdmU7XG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEVBQ04sZ0JBQWdCLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRSxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUEsTUFBTSxDQUFDO0lBQ3RDLEdBQUcsaUJBQWlCO0lBQ3BCLEdBQUcsRUFBRSxLQUFLO0NBQ2IsQ0FBQyxDQUFDO0FBT0g7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUtILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUE4QzFEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO0lBQ0wsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFDb0Is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ekIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzhHQTNNUSxrQkFBa0IsNENBcUVILG1CQUFtQjtrR0FyRWxDLGtCQUFrQiw0RkF1RFAsZ0JBQWdCOzsyRkF2RDNCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFzRVEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7aUVBOURwQyxjQUFjO3NCQURwQixNQUFNO2dCQVFBLFNBQVM7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBMkNwQixRQUFRO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQXNDM0IsSUFBSTtzQkFEZCxLQUFLO3VCQUFDLFdBQVc7Z0JBa0JQLEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBZ0JaLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMscUJBQXFCO2dCQWVqQixLQUFLO3NCQURmLEtBQUs7dUJBQUMsVUFBVTtnQkFXTixJQUFJO3NCQURkLFdBQVc7dUJBQUMsd0JBQXdCO2dCQVUxQixTQUFTO3NCQURuQixXQUFXO3VCQUFDLDZCQUE2QjtnQkFVL0IsUUFBUTtzQkFEbEIsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBVTlCLEdBQUc7c0JBRGIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBVXpCLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBBZnRlckNvbnRlbnRJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlUb2tlbiwgSURpc3BsYXlEZW5zaXR5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hCYXNlQnV0dG9uVHlwZSwgSWd4QnV0dG9uQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYnV0dG9uLWJhc2UnO1xuXG5jb25zdCBJZ3hCdXR0b25UeXBlID0gLypAX19QVVJFX18qL21rZW51bSh7XG4gICAgLi4uSWd4QmFzZUJ1dHRvblR5cGUsXG4gICAgRkFCOiAnZmFiJ1xufSk7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgQnV0dG9uIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIElneEJ1dHRvblR5cGUgPSB0eXBlb2YgSWd4QnV0dG9uVHlwZVtrZXlvZiB0eXBlb2YgSWd4QnV0dG9uVHlwZV07XG5cbi8qKlxuICogVGhlIEJ1dHRvbiBkaXJlY3RpdmUgcHJvdmlkZXMgdGhlIElnbml0ZSBVSSBCdXR0b24gZnVuY3Rpb25hbGl0eSB0byBldmVyeSBjb21wb25lbnQgdGhhdCdzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBidXR0b24uXG4gKlxuICogQGlneE1vZHVsZSBJZ3hCdXR0b25Nb2R1bGVcbiAqXG4gKiBAaWd4UGFyZW50IERhdGEgRW50cnkgJiBEaXNwbGF5XG4gKlxuICogQGlneFRoZW1lIGlneC1idXR0b24tdGhlbWVcbiAqXG4gKiBAaWd4S2V5d29yZHMgYnV0dG9uLCBzcGFuLCBkaXYsIGNsaWNrXG4gKlxuICogQHJlbWFya3NcbiAqIFRoZSBJZ25pdGUgVUkgQnV0dG9uIGRpcmVjdGl2ZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IGFueSBidXR0b24sIHNwYW4gb3IgZGl2IGFuZCB0dXJuIGl0IGludG8gYSBmdWxseSBmdW5jdGlvbmFsIGJ1dHRvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uPVwib3V0bGluZWRcIj5BIEJ1dHRvbjwvYnV0dG9uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEJ1dHRvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4QnV0dG9uRGlyZWN0aXZlIGV4dGVuZHMgSWd4QnV0dG9uQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3R5cGU6IElneEJ1dHRvblR5cGUgfCAnJztcblxuICAgIC8qKlxuICAgICAqIENhbGxlZCB3aGVuIHRoZSBidXR0b24gaXMgc2VsZWN0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGJ1dHRvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJQnV0dG9uRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWJ1dHRvbicpXG4gICAgcHVibGljIF9jc3NDbGFzcyA9ICdpZ3gtYnV0dG9uJztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF90eXBlOiBJZ3hCdXR0b25UeXBlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9iYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBvciBzZXRzIHdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBzZWxlY3RlZC5cbiAgICAgKiBNYWlubHkgdXNlZCBpbiB0aGUgSWd4QnV0dG9uR3JvdXAgY29tcG9uZW50IGFuZCBpdCB3aWxsIGhhdmUgbm8gZWZmZWN0IGlmIHNldCBzZXBhcmF0ZWx5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uPVwiZmxhdFwiIFtzZWxlY3RlZF09XCJidXR0b24uc2VsZWN0ZWRcIj48L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAnZGF0YS1zZWxlY3RlZCcsIHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKVxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudCwgX2Rpc3BsYXlEZW5zaXR5T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25TZWxlY3RlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBidXR0b246IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB0eXBlIG9mIHRoZSBidXR0b24uXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b249XCJvdXRsaW5lZFwiPjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4QnV0dG9uJylcbiAgICBwdWJsaWMgc2V0IHR5cGUodHlwZTogSWd4QnV0dG9uVHlwZSkge1xuICAgICAgICBjb25zdCB0ID0gdHlwZSA/IHR5cGUgOiBJZ3hCdXR0b25UeXBlLkZsYXQ7XG4gICAgICAgIGlmICh0aGlzLl90eXBlICE9PSB0KSB7XG4gICAgICAgICAgICB0aGlzLl90eXBlID0gdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTcuMS4wLlxuICAgICAqIFNldHMgdGhlIGJ1dHRvbiB0ZXh0IGNvbG9yLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uIGlneEJ1dHRvbkNvbG9yPVwib3JhbmdlXCI+PC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KCdpZ3hCdXR0b25Db2xvcicpXG4gICAgcHVibGljIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdmFsdWUgfHwgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLmNvbG9yO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdjb2xvcicsIHRoaXMuX2NvbG9yKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDE3LjEuMC5cbiAgICAgKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqICBgYGBodG1sXG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uIGlneEJ1dHRvbkJhY2tncm91bmQ9XCJyZWRcIj48L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2lneEJ1dHRvbkJhY2tncm91bmQnKVxuICAgIHB1YmxpYyBzZXQgYmFja2dyb3VuZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2JhY2tncm91bmRDb2xvciA9IHZhbHVlIHx8IHRoaXMuX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZCcsIHRoaXMuX2JhY2tncm91bmRDb2xvcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogIGBgYGh0bWxcbiAgICAgKiA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b249XCJmbGF0XCIgaWd4TGFiZWw9XCJMYWJlbFwiPjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgnaWd4TGFiZWwnKVxuICAgIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sYWJlbCA9IHZhbHVlIHx8IHRoaXMuX2xhYmVsO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAnYXJpYS1sYWJlbCcsIHRoaXMuX2xhYmVsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtYnV0dG9uLS1mbGF0JylcbiAgICBwdWJsaWMgZ2V0IGZsYXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlID09PSBJZ3hCdXR0b25UeXBlLkZsYXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWJ1dHRvbi0tY29udGFpbmVkJylcbiAgICBwdWJsaWMgZ2V0IGNvbnRhaW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IElneEJ1dHRvblR5cGUuQ29udGFpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1idXR0b24tLW91dGxpbmVkJylcbiAgICBwdWJsaWMgZ2V0IG91dGxpbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gSWd4QnV0dG9uVHlwZS5PdXRsaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtYnV0dG9uLS1mYWInKVxuICAgIHB1YmxpYyBnZXQgZmFiKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gSWd4QnV0dG9uVHlwZS5GQUI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1jb21wb25lbnQtc2l6ZScpXG4gICAgcHVibGljIGdldCBjb21wb25lbnRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb21wb25lbnRTaXplU3R5bGVzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3QoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzZWxlY3QoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvbkV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICBidXR0b246IElneEJ1dHRvbkRpcmVjdGl2ZTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';
2
2
  import { mkenum } from '../../core/utils';
3
3
  import * as i0 from "@angular/core";
4
- export const IgxDividerType = mkenum({
4
+ export const IgxDividerType = /*@__PURE__*/ mkenum({
5
5
  SOLID: 'solid',
6
6
  DASHED: 'dashed'
7
7
  });
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
137
137
  type: Input,
138
138
  args: ['inset']
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9kaXZpZGVyL2RpdmlkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDLENBQUM7QUFHSCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFPaEIsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1JOzs7Ozs7Ozs7V0FTRztRQUdJLE9BQUUsR0FBRyxlQUFlLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFFdkM7OztXQUdHO1FBR0ksU0FBSSxHQUFHLFdBQVcsQ0FBQztRQUUxQjs7Ozs7O1dBTUc7UUFHSSxTQUFJLEdBQTRCLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFPNUQ7Ozs7Ozs7V0FPRztRQUdJLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdEI7Ozs7O1dBS0c7UUFHSSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBMEJ4Qjs7Ozs7O1dBTUc7UUFFSyxXQUFNLEdBQUcsR0FBRyxDQUFDO0tBWXhCO0lBdkVHLElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUF3QkQ7Ozs7Ozs7T0FPRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBWUQ7Ozs7O09BS0c7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDOzhHQXZHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0SEFnRFIsZ0JBQWdCLHNDQVVoQixnQkFBZ0I7OzJGQTFEM0IsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFjVSxFQUFFO3NCQUZSLFdBQVc7dUJBQUMsU0FBUzs7c0JBQ3JCLEtBQUs7Z0JBU0MsSUFBSTtzQkFGVixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLO2dCQVlDLElBQUk7c0JBRlYsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQUlLLFFBQVE7c0JBRGxCLFdBQVc7dUJBQUMsMkJBQTJCO2dCQWVqQyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsMEJBQTBCOztzQkFDdEMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFXL0IsUUFBUTtzQkFGZCxXQUFXO3VCQUFDLDZCQUE2Qjs7c0JBQ3pDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBWTNCLEtBQUs7c0JBRGYsV0FBVzt1QkFBQyxlQUFlO2dCQXdCcEIsTUFBTTtzQkFEYixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWtlbnVtIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBJZ3hEaXZpZGVyVHlwZSA9IG1rZW51bSh7XG4gICAgU09MSUQ6ICdzb2xpZCcsXG4gICAgREFTSEVEOiAnZGFzaGVkJ1xufSk7XG5leHBvcnQgdHlwZSBJZ3hEaXZpZGVyVHlwZSA9ICh0eXBlb2YgSWd4RGl2aWRlclR5cGUpW2tleW9mIHR5cGVvZiBJZ3hEaXZpZGVyVHlwZV07XG5cbmxldCBORVhUX0lEID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1kaXZpZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneERpdmlkZXJEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgZGl2aWRlci5cbiAgICAgKiBJZiBub3Qgc2V0LCBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtZGl2aWRlci0wXCJgO1xuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRpdmlkZXIgaWQ9XCJteS1kaXZpZGVyXCI+PC9pZ3gtZGl2aWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGRpdmlkZXJJZCA9ICB0aGlzLmRpdmlkZXIuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtZGl2aWRlci0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmFsdWUgb2YgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKiBJZiBub3QgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYHNlcGFyYXRvcmAgd2lsbCBiZSB1c2VkLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ3NlcGFyYXRvcic7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB0eXBlIG9mIHRoZSBkaXZpZGVyLiBUaGUgZGVmYXVsdCB2YWx1ZVxuICAgICAqIGlzIGBkZWZhdWx0YC4gVGhlIGRpdmlkZXIgY2FuIGFsc28gYmUgYGRhc2hlZGA7XG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGl2aWRlciB0eXBlPVwiZGFzaGVkXCI+PC9pZ3gtZGl2aWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kaXZpZGVyJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBJZ3hEaXZpZGVyVHlwZSB8IHN0cmluZyA9IElneERpdmlkZXJUeXBlLlNPTElEO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZGl2aWRlci0tZGFzaGVkJylcbiAgICBwdWJsaWMgZ2V0IGlzRGFzaGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBJZ3hEaXZpZGVyVHlwZS5EQVNIRUQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHRoYXQgc2V0cyB0aGUgYG1pZGRsZWAgYXR0cmlidXRlIG9mIHRoZSBkaXZpZGVyLlxuICAgICAqIElmIHNldCB0byBgdHJ1ZWAgYW5kIGFuIGBpbnNldGAgdmFsdWUgaGFzIGJlZW4gcHJvdmlkZWQsXG4gICAgICogdGhlIGRpdmlkZXIgd2lsbCBzdGFydCBzaHJpbmtpbmcgZnJvbSBib3RoIGVuZHMuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGl2aWRlciBbbWlkZGxlXT1cInRydWVcIj48L2lneC1kaXZpZGVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRpdmlkZXItLWluc2V0JylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgbWlkZGxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgdGhhdCBzZXRzIHRoZSB2ZXJ0aWNhbCBhdHRyaWJ1dGUgb2YgdGhlIGRpdmlkZXIuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiPjwvaWd4LWRpdmlkZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZGl2aWRlci0tdmVydGljYWwnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgaW5zZXQgb2YgdGhlIGRpdmlkZXIgZnJvbSB0aGUgc2lkZShzKS5cbiAgICAgKiBJZiB0aGUgZGl2aWRlciBhdHRyaWJ1dGUgYG1pZGRsZWAgaXMgc2V0IHRvIGB0cnVlYCxcbiAgICAgKiBpdCB3aWxsIGluc2V0IHRoZSBkaXZpZGVyIG9uIGJvdGggc2lkZXMuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZGl2aWRlci5pbnNldCA9ICczMnB4JztcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0taW5zZXQnKVxuICAgIHB1YmxpYyBzZXQgaW5zZXQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pbnNldCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgZGl2aWRlciBpbnNldCBpbiB0ZXJtcyBvZlxuICAgICAqIGluc2V0LWlubGluZS1zdGFydCByZXByZXNlbnRhdGlvbiBhcyBhcHBsaWVkIHRvIHRoZSBkaXZpZGVyLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBpbnNldCA9IHRoaXMuZGl2aWRlci5pbnNldDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGluc2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5zZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmFsdWUgb2YgdGhlIGBpbnNldGAgYXR0cmlidXRlLlxuICAgICAqIElmIG5vdCBwcm92aWRlZCBpdCB3aWxsIGJlIHNldCB0byBgJzAnYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kaXZpZGVyIGluc2V0PVwiMTZweFwiPjwvaWd4LWRpdmlkZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KCdpbnNldCcpXG4gICAgcHJpdmF0ZSBfaW5zZXQgPSAnMCc7XG5cbiAgICAvKipcbiAgICAgKiBBIGdldHRlciB0aGF0IHJldHVybnMgYHRydWVgIGlmIHRoZSB0eXBlIG9mIHRoZSBkaXZpZGVyIGlzIGBkZWZhdWx0YDtcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgaXNEZWZhdWx0ID0gdGhpcy5kaXZpZGVyLmlzRGVmYXVsdDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzU29saWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IElneERpdmlkZXJUeXBlLlNPTElEO1xuICAgIH1cblxufVxuXG5cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9kaXZpZGVyL2RpdmlkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUEsTUFBTSxDQUFDO0lBQzlDLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7Q0FDbkIsQ0FBQyxDQUFDO0FBR0gsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBT2hCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNSTs7Ozs7Ozs7O1dBU0c7UUFHSSxPQUFFLEdBQUcsZUFBZSxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBRXZDOzs7V0FHRztRQUdJLFNBQUksR0FBRyxXQUFXLENBQUM7UUFFMUI7Ozs7OztXQU1HO1FBR0ksU0FBSSxHQUE0QixjQUFjLENBQUMsS0FBSyxDQUFDO1FBTzVEOzs7Ozs7O1dBT0c7UUFHSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXRCOzs7OztXQUtHO1FBR0ksYUFBUSxHQUFHLEtBQUssQ0FBQztRQTBCeEI7Ozs7OztXQU1HO1FBRUssV0FBTSxHQUFHLEdBQUcsQ0FBQztLQVl4QjtJQXZFRyxJQUNXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBd0JEOzs7Ozs7O09BT0c7SUFDSCxJQUNXLEtBQUssQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQVlEOzs7OztPQUtHO0lBQ0gsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQzs4R0F2R1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsNEhBZ0RSLGdCQUFnQixzQ0FVaEIsZ0JBQWdCOzsyRkExRDNCLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBY1UsRUFBRTtzQkFGUixXQUFXO3VCQUFDLFNBQVM7O3NCQUNyQixLQUFLO2dCQVNDLElBQUk7c0JBRlYsV0FBVzt1QkFBQyxXQUFXOztzQkFDdkIsS0FBSztnQkFZQyxJQUFJO3NCQUZWLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSztnQkFJSyxRQUFRO3NCQURsQixXQUFXO3VCQUFDLDJCQUEyQjtnQkFlakMsTUFBTTtzQkFGWixXQUFXO3VCQUFDLDBCQUEwQjs7c0JBQ3RDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVy9CLFFBQVE7c0JBRmQsV0FBVzt1QkFBQyw2QkFBNkI7O3NCQUN6QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVkzQixLQUFLO3NCQURmLFdBQVc7dUJBQUMsZUFBZTtnQkF3QnBCLE1BQU07c0JBRGIsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgSWd4RGl2aWRlclR5cGUgPSAvKkBfX1BVUkVfXyovbWtlbnVtKHtcbiAgICBTT0xJRDogJ3NvbGlkJyxcbiAgICBEQVNIRUQ6ICdkYXNoZWQnXG59KTtcbmV4cG9ydCB0eXBlIElneERpdmlkZXJUeXBlID0gKHR5cGVvZiBJZ3hEaXZpZGVyVHlwZSlba2V5b2YgdHlwZW9mIElneERpdmlkZXJUeXBlXTtcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaWd4LWRpdmlkZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RGl2aWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSBkaXZpZGVyLlxuICAgICAqIElmIG5vdCBzZXQsIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC1kaXZpZGVyLTBcImA7XG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGl2aWRlciBpZD1cIm15LWRpdmlkZXJcIj48L2lneC1kaXZpZGVyPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgZGl2aWRlcklkID0gIHRoaXMuZGl2aWRlci5pZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYGlneC1kaXZpZGVyLSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiBgcm9sZWAgYXR0cmlidXRlLlxuICAgICAqIElmIG5vdCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBgc2VwYXJhdG9yYCB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvbGUgPSAnc2VwYXJhdG9yJztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHR5cGUgb2YgdGhlIGRpdmlkZXIuIFRoZSBkZWZhdWx0IHZhbHVlXG4gICAgICogaXMgYGRlZmF1bHRgLiBUaGUgZGl2aWRlciBjYW4gYWxzbyBiZSBgZGFzaGVkYDtcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kaXZpZGVyIHR5cGU9XCJkYXNoZWRcIj48L2lneC1kaXZpZGVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRpdmlkZXInKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGU6IElneERpdmlkZXJUeXBlIHwgc3RyaW5nID0gSWd4RGl2aWRlclR5cGUuU09MSUQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kaXZpZGVyLS1kYXNoZWQnKVxuICAgIHB1YmxpYyBnZXQgaXNEYXNoZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IElneERpdmlkZXJUeXBlLkRBU0hFRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgdGhhdCBzZXRzIHRoZSBgbWlkZGxlYCBhdHRyaWJ1dGUgb2YgdGhlIGRpdmlkZXIuXG4gICAgICogSWYgc2V0IHRvIGB0cnVlYCBhbmQgYW4gYGluc2V0YCB2YWx1ZSBoYXMgYmVlbiBwcm92aWRlZCxcbiAgICAgKiB0aGUgZGl2aWRlciB3aWxsIHN0YXJ0IHNocmlua2luZyBmcm9tIGJvdGggZW5kcy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kaXZpZGVyIFttaWRkbGVdPVwidHJ1ZVwiPjwvaWd4LWRpdmlkZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZGl2aWRlci0taW5zZXQnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBtaWRkbGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCB0aGF0IHNldHMgdGhlIHZlcnRpY2FsIGF0dHJpYnV0ZSBvZiB0aGUgZGl2aWRlci5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCI+PC9pZ3gtZGl2aWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kaXZpZGVyLS12ZXJ0aWNhbCcpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBpbnNldCBvZiB0aGUgZGl2aWRlciBmcm9tIHRoZSBzaWRlKHMpLlxuICAgICAqIElmIHRoZSBkaXZpZGVyIGF0dHJpYnV0ZSBgbWlkZGxlYCBpcyBzZXQgdG8gYHRydWVgLFxuICAgICAqIGl0IHdpbGwgaW5zZXQgdGhlIGRpdmlkZXIgb24gYm90aCBzaWRlcy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5kaXZpZGVyLmluc2V0ID0gJzMycHgnO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1pbnNldCcpXG4gICAgcHVibGljIHNldCBpbnNldCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2luc2V0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3VycmVudCBkaXZpZGVyIGluc2V0IGluIHRlcm1zIG9mXG4gICAgICogaW5zZXQtaW5saW5lLXN0YXJ0IHJlcHJlc2VudGF0aW9uIGFzIGFwcGxpZWQgdG8gdGhlIGRpdmlkZXIuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGluc2V0ID0gdGhpcy5kaXZpZGVyLmluc2V0O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaW5zZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNldDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYGluc2V0YCBhdHRyaWJ1dGUuXG4gICAgICogSWYgbm90IHByb3ZpZGVkIGl0IHdpbGwgYmUgc2V0IHRvIGAnMCdgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRpdmlkZXIgaW5zZXQ9XCIxNnB4XCI+PC9pZ3gtZGl2aWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2luc2V0JylcbiAgICBwcml2YXRlIF9pbnNldCA9ICcwJztcblxuICAgIC8qKlxuICAgICAqIEEgZ2V0dGVyIHRoYXQgcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHR5cGUgb2YgdGhlIGRpdmlkZXIgaXMgYGRlZmF1bHRgO1xuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBpc0RlZmF1bHQgPSB0aGlzLmRpdmlkZXIuaXNEZWZhdWx0O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNTb2xpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSWd4RGl2aWRlclR5cGUuU09MSUQ7XG4gICAgfVxuXG59XG5cblxuIl19
@@ -365,4 +365,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
365
365
  type: HostListener,
366
366
  args: ['drop', ['$event']]
367
367
  }] } });
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFDakQsTUFBTSxFQUNOLEtBQUssRUFBNEIsZ0JBQWdCLEdBQ3BELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFRNUIsTUFBTSxPQUFPLGdCQUFnQjtJQUN6Qjs7Ozs7T0FLRztJQUNILElBQ1csSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxHQUFXO1FBQ3ZCLDJCQUEyQjtRQUMzQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBaURELGNBQWM7SUFDZCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FB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QVM7Z0JBdUJULFVBQVU7c0JBRGhCLEtBQUs7Z0JBVUMsZUFBZTtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVL0IsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVVDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFXQyxZQUFZO3NCQURsQixNQUFNO2dCQTBFQSxTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWtCNUIsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLGtCQUFrQjtnQkFVekIsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGdCQUFnQjtnQkFZdkIsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUUxQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTztnQkFRZCxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTztnQkFXZCxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBU3RDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVztnQkFTbEIsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXO2dCQVNsQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCwgUGlwZVRyYW5zZm9ybSwgUmVuZGVyZXIyLFxuICAgIElucHV0LCBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWFza1BhcnNpbmdTZXJ2aWNlLCBNYXNrT3B0aW9ucywgcGFyc2VNYXNrIH0gZnJvbSAnLi9tYXNrLXBhcnNpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJQmFzZUV2ZW50QXJncywgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJZ3hNYXNrRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzZWxlY3RvcjogJ1tpZ3hNYXNrXScsXG4gICAgZXhwb3J0QXM6ICdpZ3hNYXNrJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneE1hc2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBpbnB1dCBtYXNrLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW2lneE1hc2tdID0gXCInMDAvMDAvMDAwMCdcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2lneE1hc2snKVxuICAgIHB1YmxpYyBnZXQgbWFzaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWFzayB8fCB0aGlzLmRlZmF1bHRNYXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbWFzayh2YWw6IHN0cmluZykge1xuICAgICAgICAvLyBCLlAuIDl0aCBKdW5lIDIwMjEgIzc0OTBcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5fbWFzaykge1xuICAgICAgICAgICAgY29uc3QgY2xlYW5JbnB1dFZhbHVlID0gdGhpcy5tYXNrUGFyc2VyLnBhcnNlVmFsdWVGcm9tTWFzayh0aGlzLmlucHV0VmFsdWUsIHRoaXMubWFza09wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlcih2YWwpO1xuICAgICAgICAgICAgdGhpcy5fbWFzayA9IHZhbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZShjbGVhbklucHV0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2hhcmFjdGVyIHJlcHJlc2VudGluZyBhIGZpbGxhYmxlIHNwb3QgaW4gdGhlIGlucHV0IG1hc2suXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBcIidfJ1wiLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW3Byb21wdENoYXJdID0gXCInLydcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcm9tcHRDaGFyID0gJ18nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGlmIHRoZSBib3VuZCB2YWx1ZSBpbmNsdWRlcyB0aGUgZm9ybWF0dGluZyBzeW1ib2xzLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW2luY2x1ZGVMaXRlcmFsc10gPSBcInRydWVcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgaW5jbHVkZUxpdGVyYWxzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGEgcGlwZSB0byBiZSB1c2VkIG9uIGJsdXIuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCBbZGlzcGxheVZhbHVlUGlwZV0gPSBcImRpc3BsYXlGb3JtYXRQaXBlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzcGxheVZhbHVlUGlwZTogUGlwZVRyYW5zZm9ybTtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyBhIHBpcGUgdG8gYmUgdXNlZCBvbiBmb2N1cy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlucHV0IFtmb2N1c2VkVmFsdWVQaXBlXSA9IFwiaW5wdXRGb3JtYXRQaXBlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNlZFZhbHVlUGlwZTogUGlwZVRyYW5zZm9ybTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgKiBQcm92aWRlcyBgcmF3VmFsdWU6IHN0cmluZ2AgYW5kIGBmb3JtYXR0ZWRWYWx1ZTogc3RyaW5nYCBhcyBldmVudCBhcmd1bWVudHMuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCAodmFsdWVDaGFuZ2VkKSA9IFwidmFsdWVDaGFuZ2VkKHJhd1ZhbHVlOiBzdHJpbmcsIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmcpXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SU1hc2tFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbDsgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGlucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwcm90ZWN0ZWQgc2V0IGlucHV0VmFsdWUodmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBtYXNrT3B0aW9ucygpOiBNYXNrT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMubWFzayB8fCB0aGlzLmRlZmF1bHRNYXNrO1xuICAgICAgICBjb25zdCBwcm9tcHRDaGFyID0gdGhpcy5wcm9tcHRDaGFyICYmIHRoaXMucHJvbXB0Q2hhci5zdWJzdHJpbmcoMCwgMSk7XG4gICAgICAgIHJldHVybiB7IGZvcm1hdCwgcHJvbXB0Q2hhciB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBzZWxlY3Rpb25TdGFydCgpOiBudW1iZXIge1xuICAgICAgICAvLyBFZGdlKGNsYXNzaWMpIGFuZCBGRiBkb24ndCBzZWxlY3QgdGV4dCBvbiBkcm9wXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgJiYgdGhpcy5faGFzRHJvcEFjdGlvbiA/XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kIC0gdGhpcy5fZHJvcHBlZERhdGEubGVuZ3RoIDpcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBnZXQgc2VsZWN0aW9uRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBzdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGVuZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5kO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY29tcG9zaW5nOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfY29tcG9zaXRpb25TdGFydEluZGV4OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29tcG9zaXRpb25WYWx1ZTogc3RyaW5nO1xuICAgIHByaXZhdGUgX2VuZCA9IDA7XG4gICAgcHJpdmF0ZSBfc3RhcnQgPSAwO1xuICAgIHByaXZhdGUgX2tleTogc3RyaW5nO1xuICAgIHByaXZhdGUgX21hc2s6IHN0cmluZztcbiAgICBwcml2YXRlIF9vbGRUZXh0ID0gJyc7XG4gICAgcHJpdmF0ZSBfZGF0YVZhbHVlID0gJyc7XG4gICAgcHJpdmF0ZSBfZm9jdXNlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2Ryb3BwZWREYXRhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfaGFzRHJvcEFjdGlvbjogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE1hc2sgPSAnQ0NDQ0NDQ0NDQyc7XG5cbiAgICBwcml2YXRlIF9vblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XG4gICAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIHByb3RlY3RlZCBtYXNrUGFyc2VyOiBNYXNrUGFyc2luZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkgeyB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChldmVudC5jdHJsS2V5ICYmIChrZXkgPT09IHRoaXMucGxhdGZvcm0uS0VZTUFQLlogfHwga2V5ID09PSB0aGlzLnBsYXRmb3JtLktFWU1BUC5ZKSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XG4gICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgdGhpcy5fZW5kID0gdGhpcy5zZWxlY3Rpb25FbmQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcpXG4gICAgcHVibGljIG9uQ29tcG9zaXRpb25TdGFydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW9uU3RhcnRJbmRleCA9IHRoaXMuX3N0YXJ0O1xuICAgICAgICAgICAgdGhpcy5fY29tcG9zaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJylcbiAgICBwdWJsaWMgb25Db21wb3NpdGlvbkVuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLl9jb21wb3NpdGlvblN0YXJ0SW5kZXg7XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICBjb25zdCB2YWx1ZVRvUGFyc2UgPSB0aGlzLmlucHV0VmFsdWUuc3Vic3RyaW5nKHRoaXMuX3N0YXJ0LCBlbmQpO1xuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0KHZhbHVlVG9QYXJzZSk7XG4gICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICB0aGlzLl9jb21wb3NpdGlvblZhbHVlID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZWQoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqICchdGhpcy5fZm9jdXNlZCcgaXMgYSBmaXggZm9yICM4MTY1XG4gICAgICAgICAqIE9uIHBhZ2UgbG9hZCBJRSB0cmlnZ2VycyBpbnB1dCBldmVudHMgYmVmb3JlIGZvY3VzIGV2ZW50cyBhbmRcbiAgICAgICAgICogaXQgZG9lcyBzbyBmb3IgZXZlcnkgc2luZ2xlIGlucHV0IG9uIHRoZSBwYWdlLlxuICAgICAgICAgKiBUaGUgbWFzayBuZWVkcyB0byBiZSBwcmV2ZW50ZWQgZnJvbSBkb2luZyBhbnl0aGluZyB3aGlsZSB0aGlzIGlzIGhhcHBlbmluZyBiZWNhdXNlXG4gICAgICAgICAqIHRoZSBlbmQgdXNlciB3aWxsIGJlIHVuYWJsZSB0byBibHVyIHRoZSBpbnB1dC5cbiAgICAgICAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjE0MDYxMzgvaW5wdXQtZXZlbnQtdHJpZ2dlcmVkLW9uLWludGVybmV0LWV4cGxvcmVyLXdoZW4tcGxhY2Vob2xkZXItY2hhbmdlZFxuICAgICAgICAgKi9cblxuICAgICAgICBpZiAodGhpcy5fY29tcG9zaW5nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCA8IHRoaXMuX29sZFRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gc29mdHdhcmUga2V5Ym9hcmQgaW5wdXQgZGVsZXRlXG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5ID0gdGhpcy5wbGF0Zm9ybS5LRVlNQVAuQkFDS1NQQUNFO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IENocm9taXVtIHRyaWdnZXJzIGlucHV0IGV2ZW50cyBvZiB0eXBlICdkZWxldGVDb250ZW50QmFja3dhcmQnIGFuZFxuICAgICAgICAvLyB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgc3RhcnQgYW5kIGVuZCBpbmRleGVzIHRvIGluY2x1ZGUgbWFzayBsaXRlcmFsc1xuICAgICAgICBpZiAoZXZlbnQuaW5wdXRUeXBlID09PSAnZGVsZXRlQ29udGVudEJhY2t3YXJkJyAmJiB0aGlzLl9rZXkgIT09IHRoaXMucGxhdGZvcm0uS0VZTUFQLkJBQ0tTUEFDRSkge1xuICAgICAgICAgICAgY29uc3QgaXNJbnB1dENvbXBsZXRlID0gdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4ID09PSAwICYmIHRoaXMuX2VuZCA9PT0gdGhpcy5tYXNrLmxlbmd0aDtcbiAgICAgICAgICAgIGxldCBudW1iZXJPZk1hc2tMaXRlcmFscyA9IDA7XG4gICAgICAgICAgICBjb25zdCBsaXRlcmFsUG9zID0gcGFyc2VNYXNrKHRoaXMubWFza09wdGlvbnMuZm9ybWF0KS5saXRlcmFscy5rZXlzKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGxpdGVyYWxQb3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4ICYmIGluZGV4IDw9IHRoaXMuX2VuZCkge1xuICAgICAgICAgICAgICAgICAgICBudW1iZXJPZk1hc2tMaXRlcmFscysrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGlzSW5wdXRDb21wbGV0ZSA/XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlLnN1YnN0cmluZygwLCB0aGlzLnNlbGVjdGlvbkVuZCAtIG51bWJlck9mTWFza0xpdGVyYWxzKSArIHRoaXMuaW5wdXRWYWx1ZS5zdWJzdHJpbmcodGhpcy5zZWxlY3Rpb25FbmQpXG4gICAgICAgICAgICAgICAgOiB0aGlzLl9jb21wb3NpdGlvblZhbHVlPy5zdWJzdHJpbmcoMCwgdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4KSB8fCB0aGlzLmlucHV0VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGlvblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IGlzSW5wdXRDb21wbGV0ZSA/IHRoaXMuX3N0YXJ0IC0gbnVtYmVyT2ZNYXNrTGl0ZXJhbHMgOiB0aGlzLl9jb21wb3NpdGlvblN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHRoaXMuX2VuZCAtIG51bWJlck9mTWFza0xpdGVyYWxzO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPSB0aGlzLl9lbmQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2hhc0Ryb3BBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB2YWx1ZVRvUGFyc2UgPSAnJztcbiAgICAgICAgc3dpdGNoICh0aGlzLl9rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5wbGF0Zm9ybS5LRVlNQVAuREVMRVRFOlxuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuX3N0YXJ0ID09PSB0aGlzLl9lbmQgPyArK3RoaXMuX2VuZCA6IHRoaXMuX2VuZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgdGhpcy5wbGF0Zm9ybS5LRVlNQVAuQkFDS1NQQUNFOlxuICAgICAgICAgICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdmFsdWVUb1BhcnNlID0gdGhpcy5pbnB1dFZhbHVlLnN1YnN0cmluZyh0aGlzLl9zdGFydCwgdGhpcy5zZWxlY3Rpb25FbmQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dCh2YWx1ZVRvUGFyc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigncGFzdGUnKVxuICAgIHB1YmxpYyBvblBhc3RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbGRUZXh0ID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgICAgICB0aGlzLl9zdGFydCA9IHRoaXMuc2VsZWN0aW9uU3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFzayh0aGlzLmlucHV0VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICAgIHB1YmxpYyBvbkJsdXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2hvd0Rpc3BsYXlWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInKVxuICAgIHB1YmxpYyBvbkRyYWdFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9mb2N1c2VkICYmICF0aGlzLl9kYXRhVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd01hc2sodGhpcy5fZGF0YVZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJylcbiAgICBwdWJsaWMgb25EcmFnTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGlzcGxheVZhbHVlKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oYXNEcm9wQWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZHJvcHBlZERhdGEgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dCcpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHRoaXMubWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPOiBSZW1vdmUgYWZ0ZXIgZGF0ZS90aW1lIHBpY2tlciBpbnRlZ3JhdGlvbiByZWZhY3RvclxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vbGRUZXh0ID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcm9tcHRDaGFyICYmIHRoaXMucHJvbXB0Q2hhci5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLm1hc2tPcHRpb25zLnByb21wdENoYXIgPSB0aGlzLnByb21wdENoYXIuc3Vic3RyaW5nKDAsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWUgPyB0aGlzLm1hc2tQYXJzZXIuYXBwbHlNYXNrKHZhbHVlLCB0aGlzLm1hc2tPcHRpb25zKSA6ICcnO1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWVQaXBlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmRpc3BsYXlWYWx1ZVBpcGUudHJhbnNmb3JtKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kYXRhVmFsdWUgPSB0aGlzLmluY2x1ZGVMaXRlcmFscyA/IHRoaXMuaW5wdXRWYWx1ZSA6IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQoeyByYXdWYWx1ZTogdmFsdWUsIGZvcm1hdHRlZFZhbHVlOiB0aGlzLmlucHV0VmFsdWUgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBzaG93TWFzayh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRWYWx1ZVBpcGUpIHtcbiAgICAgICAgICAgIC8vIFRPRE8oRC5QLik6IGZvY3VzZWRWYWx1ZVBpcGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWQgb3IgZm9yY2UtY2hlY2tlZCB0byBtYXRjaCBtYXNrIGZvcm1hdFxuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb2N1c2VkVmFsdWVQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLm1hc2tQYXJzZXIuYXBwbHlNYXNrKHZhbHVlLCB0aGlzLm1hc2tPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29sZFRleHQgPSB0aGlzLmlucHV0VmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgPSBzdGFydCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgYWZ0ZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb2xkVGV4dCA9IHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgdGhpcy5faGFzRHJvcEFjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9zdGFydCA9IDA7XG4gICAgICAgIHRoaXMuX2VuZCA9IDA7XG4gICAgICAgIHRoaXMuX2tleSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbXBvc2luZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHNldFBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXI7XG4gICAgICAgIGlmICghcGxhY2Vob2xkZXIgfHwgcGxhY2Vob2xkZXIgPT09IHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAncGxhY2Vob2xkZXInLCBwYXJzZU1hc2sodmFsdWUgPz8gJycpLm1hc2sgfHwgdGhpcy5kZWZhdWx0TWFzayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUlucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93TWFzayh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzcGxheVZhbHVlUGlwZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5pbnB1dFZhbHVlID8gdGhpcy5tYXNrUGFyc2VyLmFwcGx5TWFzayh2YWx1ZSwgdGhpcy5tYXNrT3B0aW9ucykgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5wdXQodmFsdWVUb1BhcnNlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVwbGFjZWREYXRhID0gdGhpcy5tYXNrUGFyc2VyLnJlcGxhY2VJbk1hc2sodGhpcy5fb2xkVGV4dCwgdmFsdWVUb1BhcnNlLCB0aGlzLm1hc2tPcHRpb25zLCB0aGlzLl9zdGFydCwgdGhpcy5fZW5kKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gcmVwbGFjZWREYXRhLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fa2V5ID09PSB0aGlzLnBsYXRmb3JtLktFWU1BUC5CQUNLU1BBQ0UpIHtcbiAgICAgICAgICAgIHJlcGxhY2VkRGF0YS5lbmQgPSB0aGlzLl9zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0U2VsZWN0aW9uUmFuZ2UocmVwbGFjZWREYXRhLmVuZCk7XG5cbiAgICAgICAgY29uc3QgcmF3VmFsID0gdGhpcy5tYXNrUGFyc2VyLnBhcnNlVmFsdWVGcm9tTWFzayh0aGlzLmlucHV0VmFsdWUsIHRoaXMubWFza09wdGlvbnMpO1xuICAgICAgICB0aGlzLl9kYXRhVmFsdWUgPSB0aGlzLmluY2x1ZGVMaXRlcmFscyA/IHRoaXMuaW5wdXRWYWx1ZSA6IHJhd1ZhbDtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh0aGlzLl9kYXRhVmFsdWUpO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQoeyByYXdWYWx1ZTogcmF3VmFsLCBmb3JtYXR0ZWRWYWx1ZTogdGhpcy5pbnB1dFZhbHVlIH0pO1xuICAgICAgICB0aGlzLmFmdGVySW5wdXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dEaXNwbGF5VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWVQaXBlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmRpc3BsYXlWYWx1ZVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdGhpcy5tYXNrUGFyc2VyLmFwcGx5TWFzayhudWxsLCB0aGlzLm1hc2tPcHRpb25zKSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIElneE1hc2tNb2R1bGUgcHJvdmlkZXMgdGhlIHtAbGluayBJZ3hNYXNrRGlyZWN0aXZlfSBpbnNpZGUgeW91ciBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWFza0V2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICByYXdWYWx1ZTogc3RyaW5nO1xuICAgIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBAaGlkZGVuICovXG5cbiJdfQ==
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFDakQsTUFBTSxFQUNOLEtBQUssRUFBNEIsZ0JBQWdCLEdBQ3BELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFRNUIsTUFBTSxPQUFPLGdCQUFnQjtJQUN6Qjs7Ozs7T0FLRztJQUNILElBQ1csSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxHQUFXO1FBQ3ZCLDJCQUEyQjtRQUMzQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBaURELGNBQWM7SUFDZCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FB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QVM7Z0JBdUJULFVBQVU7c0JBRGhCLEtBQUs7Z0JBVUMsZUFBZTtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVL0IsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVVDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFXQyxZQUFZO3NCQURsQixNQUFNO2dCQTBFQSxTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWtCNUIsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLGtCQUFrQjtnQkFVekIsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGdCQUFnQjtnQkFZdkIsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUUxQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTztnQkFRZCxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTztnQkFXZCxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBU3RDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVztnQkFTbEIsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXO2dCQVNsQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCwgUGlwZVRyYW5zZm9ybSwgUmVuZGVyZXIyLFxuICAgIElucHV0LCBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWFza1BhcnNpbmdTZXJ2aWNlLCBNYXNrT3B0aW9ucywgcGFyc2VNYXNrIH0gZnJvbSAnLi9tYXNrLXBhcnNpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJQmFzZUV2ZW50QXJncywgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJZ3hNYXNrRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzZWxlY3RvcjogJ1tpZ3hNYXNrXScsXG4gICAgZXhwb3J0QXM6ICdpZ3hNYXNrJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneE1hc2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBpbnB1dCBtYXNrLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW2lneE1hc2tdID0gXCInMDAvMDAvMDAwMCdcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoJ2lneE1hc2snKVxuICAgIHB1YmxpYyBnZXQgbWFzaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWFzayB8fCB0aGlzLmRlZmF1bHRNYXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbWFzayh2YWw6IHN0cmluZykge1xuICAgICAgICAvLyBCLlAuIDl0aCBKdW5lIDIwMjEgIzc0OTBcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5fbWFzaykge1xuICAgICAgICAgICAgY29uc3QgY2xlYW5JbnB1dFZhbHVlID0gdGhpcy5tYXNrUGFyc2VyLnBhcnNlVmFsdWVGcm9tTWFzayh0aGlzLmlucHV0VmFsdWUsIHRoaXMubWFza09wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlcih2YWwpO1xuICAgICAgICAgICAgdGhpcy5fbWFzayA9IHZhbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZShjbGVhbklucHV0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2hhcmFjdGVyIHJlcHJlc2VudGluZyBhIGZpbGxhYmxlIHNwb3QgaW4gdGhlIGlucHV0IG1hc2suXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBcIidfJ1wiLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW3Byb21wdENoYXJdID0gXCInLydcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcm9tcHRDaGFyID0gJ18nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGlmIHRoZSBib3VuZCB2YWx1ZSBpbmNsdWRlcyB0aGUgZm9ybWF0dGluZyBzeW1ib2xzLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aW5wdXQgW2luY2x1ZGVMaXRlcmFsc10gPSBcInRydWVcIj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgaW5jbHVkZUxpdGVyYWxzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGEgcGlwZSB0byBiZSB1c2VkIG9uIGJsdXIuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCBbZGlzcGxheVZhbHVlUGlwZV0gPSBcImRpc3BsYXlGb3JtYXRQaXBlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzcGxheVZhbHVlUGlwZTogUGlwZVRyYW5zZm9ybTtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyBhIHBpcGUgdG8gYmUgdXNlZCBvbiBmb2N1cy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlucHV0IFtmb2N1c2VkVmFsdWVQaXBlXSA9IFwiaW5wdXRGb3JtYXRQaXBlXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNlZFZhbHVlUGlwZTogUGlwZVRyYW5zZm9ybTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgKiBQcm92aWRlcyBgcmF3VmFsdWU6IHN0cmluZ2AgYW5kIGBmb3JtYXR0ZWRWYWx1ZTogc3RyaW5nYCBhcyBldmVudCBhcmd1bWVudHMuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpbnB1dCAodmFsdWVDaGFuZ2VkKSA9IFwidmFsdWVDaGFuZ2VkKHJhd1ZhbHVlOiBzdHJpbmcsIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmcpXCI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SU1hc2tFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbDsgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGlucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwcm90ZWN0ZWQgc2V0IGlucHV0VmFsdWUodmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBtYXNrT3B0aW9ucygpOiBNYXNrT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMubWFzayB8fCB0aGlzLmRlZmF1bHRNYXNrO1xuICAgICAgICBjb25zdCBwcm9tcHRDaGFyID0gdGhpcy5wcm9tcHRDaGFyICYmIHRoaXMucHJvbXB0Q2hhci5zdWJzdHJpbmcoMCwgMSk7XG4gICAgICAgIHJldHVybiB7IGZvcm1hdCwgcHJvbXB0Q2hhciB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBzZWxlY3Rpb25TdGFydCgpOiBudW1iZXIge1xuICAgICAgICAvLyBFZGdlKGNsYXNzaWMpIGFuZCBGRiBkb24ndCBzZWxlY3QgdGV4dCBvbiBkcm9wXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgJiYgdGhpcy5faGFzRHJvcEFjdGlvbiA/XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kIC0gdGhpcy5fZHJvcHBlZERhdGEubGVuZ3RoIDpcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBnZXQgc2VsZWN0aW9uRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGdldCBzdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGVuZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5kO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY29tcG9zaW5nOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfY29tcG9zaXRpb25TdGFydEluZGV4OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29tcG9zaXRpb25WYWx1ZTogc3RyaW5nO1xuICAgIHByaXZhdGUgX2VuZCA9IDA7XG4gICAgcHJpdmF0ZSBfc3RhcnQgPSAwO1xuICAgIHByaXZhdGUgX2tleTogc3RyaW5nO1xuICAgIHByaXZhdGUgX21hc2s6IHN0cmluZztcbiAgICBwcml2YXRlIF9vbGRUZXh0ID0gJyc7XG4gICAgcHJpdmF0ZSBfZGF0YVZhbHVlID0gJyc7XG4gICAgcHJpdmF0ZSBfZm9jdXNlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2Ryb3BwZWREYXRhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfaGFzRHJvcEFjdGlvbjogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE1hc2sgPSAnQ0NDQ0NDQ0NDQyc7XG5cbiAgICBwcml2YXRlIF9vblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XG4gICAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIHByb3RlY3RlZCBtYXNrUGFyc2VyOiBNYXNrUGFyc2luZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkgeyB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChldmVudC5jdHJsS2V5ICYmIChrZXkgPT09IHRoaXMucGxhdGZvcm0uS0VZTUFQLlogfHwga2V5ID09PSB0aGlzLnBsYXRmb3JtLktFWU1BUC5ZKSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XG4gICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgdGhpcy5fZW5kID0gdGhpcy5zZWxlY3Rpb25FbmQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcpXG4gICAgcHVibGljIG9uQ29tcG9zaXRpb25TdGFydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW9uU3RhcnRJbmRleCA9IHRoaXMuX3N0YXJ0O1xuICAgICAgICAgICAgdGhpcy5fY29tcG9zaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJylcbiAgICBwdWJsaWMgb25Db21wb3NpdGlvbkVuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLl9jb21wb3NpdGlvblN0YXJ0SW5kZXg7XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICBjb25zdCB2YWx1ZVRvUGFyc2UgPSB0aGlzLmlucHV0VmFsdWUuc3Vic3RyaW5nKHRoaXMuX3N0YXJ0LCBlbmQpO1xuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0KHZhbHVlVG9QYXJzZSk7XG4gICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICB0aGlzLl9jb21wb3NpdGlvblZhbHVlID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZWQoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqICchdGhpcy5fZm9jdXNlZCcgaXMgYSBmaXggZm9yICM4MTY1XG4gICAgICAgICAqIE9uIHBhZ2UgbG9hZCBJRSB0cmlnZ2VycyBpbnB1dCBldmVudHMgYmVmb3JlIGZvY3VzIGV2ZW50cyBhbmRcbiAgICAgICAgICogaXQgZG9lcyBzbyBmb3IgZXZlcnkgc2luZ2xlIGlucHV0IG9uIHRoZSBwYWdlLlxuICAgICAgICAgKiBUaGUgbWFzayBuZWVkcyB0byBiZSBwcmV2ZW50ZWQgZnJvbSBkb2luZyBhbnl0aGluZyB3aGlsZSB0aGlzIGlzIGhhcHBlbmluZyBiZWNhdXNlXG4gICAgICAgICAqIHRoZSBlbmQgdXNlciB3aWxsIGJlIHVuYWJsZSB0byBibHVyIHRoZSBpbnB1dC5cbiAgICAgICAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjE0MDYxMzgvaW5wdXQtZXZlbnQtdHJpZ2dlcmVkLW9uLWludGVybmV0LWV4cGxvcmVyLXdoZW4tcGxhY2Vob2xkZXItY2hhbmdlZFxuICAgICAgICAgKi9cblxuICAgICAgICBpZiAodGhpcy5fY29tcG9zaW5nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCA8IHRoaXMuX29sZFRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gc29mdHdhcmUga2V5Ym9hcmQgaW5wdXQgZGVsZXRlXG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5ID0gdGhpcy5wbGF0Zm9ybS5LRVlNQVAuQkFDS1NQQUNFO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IENocm9taXVtIHRyaWdnZXJzIGlucHV0IGV2ZW50cyBvZiB0eXBlICdkZWxldGVDb250ZW50QmFja3dhcmQnIGFuZFxuICAgICAgICAvLyB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgc3RhcnQgYW5kIGVuZCBpbmRleGVzIHRvIGluY2x1ZGUgbWFzayBsaXRlcmFsc1xuICAgICAgICBpZiAoZXZlbnQuaW5wdXRUeXBlID09PSAnZGVsZXRlQ29udGVudEJhY2t3YXJkJyAmJiB0aGlzLl9rZXkgIT09IHRoaXMucGxhdGZvcm0uS0VZTUFQLkJBQ0tTUEFDRSkge1xuICAgICAgICAgICAgY29uc3QgaXNJbnB1dENvbXBsZXRlID0gdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4ID09PSAwICYmIHRoaXMuX2VuZCA9PT0gdGhpcy5tYXNrLmxlbmd0aDtcbiAgICAgICAgICAgIGxldCBudW1iZXJPZk1hc2tMaXRlcmFscyA9IDA7XG4gICAgICAgICAgICBjb25zdCBsaXRlcmFsUG9zID0gcGFyc2VNYXNrKHRoaXMubWFza09wdGlvbnMuZm9ybWF0KS5saXRlcmFscy5rZXlzKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGxpdGVyYWxQb3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4ICYmIGluZGV4IDw9IHRoaXMuX2VuZCkge1xuICAgICAgICAgICAgICAgICAgICBudW1iZXJPZk1hc2tMaXRlcmFscysrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGlzSW5wdXRDb21wbGV0ZSA/XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlLnN1YnN0cmluZygwLCB0aGlzLnNlbGVjdGlvbkVuZCAtIG51bWJlck9mTWFza0xpdGVyYWxzKSArIHRoaXMuaW5wdXRWYWx1ZS5zdWJzdHJpbmcodGhpcy5zZWxlY3Rpb25FbmQpXG4gICAgICAgICAgICAgICAgOiB0aGlzLl9jb21wb3NpdGlvblZhbHVlPy5zdWJzdHJpbmcoMCwgdGhpcy5fY29tcG9zaXRpb25TdGFydEluZGV4KSB8fCB0aGlzLmlucHV0VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGlvblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IGlzSW5wdXRDb21wbGV0ZSA/IHRoaXMuX3N0YXJ0IC0gbnVtYmVyT2ZNYXNrTGl0ZXJhbHMgOiB0aGlzLl9jb21wb3NpdGlvblN0YXJ0SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHRoaXMuX2VuZCAtIG51bWJlck9mTWFza0xpdGVyYWxzO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPSB0aGlzLl9lbmQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhcnQgPSB0aGlzLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2hhc0Ryb3BBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB2YWx1ZVRvUGFyc2UgPSAnJztcbiAgICAgICAgc3dpdGNoICh0aGlzLl9rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5wbGF0Zm9ybS5LRVlNQVAuREVMRVRFOlxuICAgICAgICAgICAgICAgIHRoaXMuX2VuZCA9IHRoaXMuX3N0YXJ0ID09PSB0aGlzLl9lbmQgPyArK3RoaXMuX2VuZCA6IHRoaXMuX2VuZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgdGhpcy5wbGF0Zm9ybS5LRVlNQVAuQkFDS1NQQUNFOlxuICAgICAgICAgICAgICAgIHRoaXMuX3N0YXJ0ID0gdGhpcy5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdmFsdWVUb1BhcnNlID0gdGhpcy5pbnB1dFZhbHVlLnN1YnN0cmluZyh0aGlzLl9zdGFydCwgdGhpcy5zZWxlY3Rpb25FbmQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dCh2YWx1ZVRvUGFyc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigncGFzdGUnKVxuICAgIHB1YmxpYyBvblBhc3RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbGRUZXh0ID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgICAgICB0aGlzLl9zdGFydCA9IHRoaXMuc2VsZWN0aW9uU3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFzayh0aGlzLmlucHV0VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICAgIHB1YmxpYyBvbkJsdXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2hvd0Rpc3BsYXlWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInKVxuICAgIHB1YmxpYyBvbkRyYWdFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9mb2N1c2VkICYmICF0aGlzLl9kYXRhVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd01hc2sodGhpcy5fZGF0YVZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJylcbiAgICBwdWJsaWMgb25EcmFnTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGlzcGxheVZhbHVlKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oYXNEcm9wQWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZHJvcHBlZERhdGEgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dCcpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHRoaXMubWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPOiBSZW1vdmUgYWZ0ZXIgZGF0ZS90aW1lIHBpY2tlciBpbnRlZ3JhdGlvbiByZWZhY3RvclxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vbGRUZXh0ID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcm9tcHRDaGFyICYmIHRoaXMucHJvbXB0Q2hhci5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLm1hc2tPcHRpb25zLnByb21wdENoYXIgPSB0aGlzLnByb21wdENoYXIuc3Vic3RyaW5nKDAsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWUgPyB0aGlzLm1hc2tQYXJzZXIuYXBwbHlNYXNrKHZhbHVlLCB0aGlzLm1hc2tPcHRpb25zKSA6ICcnO1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWVQaXBlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmRpc3BsYXlWYWx1ZVBpcGUudHJhbnNmb3JtKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kYXRhVmFsdWUgPSB0aGlzLmluY2x1ZGVMaXRlcmFscyA/IHRoaXMuaW5wdXRWYWx1ZSA6IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQoeyByYXdWYWx1ZTogdmFsdWUsIGZvcm1hdHRlZFZhbHVlOiB0aGlzLmlucHV0VmFsdWUgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBzaG93TWFzayh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRWYWx1ZVBpcGUpIHtcbiAgICAgICAgICAgIC8vIFRPRE8oRC5QLik6IGZvY3VzZWRWYWx1ZVBpcGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWQgb3IgZm9yY2UtY2hlY2tlZCB0byBtYXRjaCBtYXNrIGZvcm1hdFxuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb2N1c2VkVmFsdWVQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLm1hc2tQYXJzZXIuYXBwbHlNYXNrKHZhbHVlLCB0aGlzLm1hc2tPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29sZFRleHQgPSB0aGlzLmlucHV0VmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgPSBzdGFydCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgYWZ0ZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb2xkVGV4dCA9IHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgdGhpcy5faGFzRHJvcEFjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9zdGFydCA9IDA7XG4gICAgICAgIHRoaXMuX2VuZCA9IDA7XG4gICAgICAgIHRoaXMuX2tleSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbXBvc2luZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHNldFBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXI7XG4gICAgICAgIGlmICghcGxhY2Vob2xkZXIgfHwgcGxhY2Vob2xkZXIgPT09IHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAncGxhY2Vob2xkZXInLCBwYXJzZU1hc2sodmFsdWUgPz8gJycpLm1hc2sgfHwgdGhpcy5kZWZhdWx0TWFzayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUlucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93TWFzayh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzcGxheVZhbHVlUGlwZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5pbnB1dFZhbHVlID8gdGhpcy5tYXNrUGFyc2VyLmFwcGx5TWFzayh2YWx1ZSwgdGhpcy5tYXNrT3B0aW9ucykgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5wdXQodmFsdWVUb1BhcnNlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVwbGFjZWREYXRhID0gdGhpcy5tYXNrUGFyc2VyLnJlcGxhY2VJbk1hc2sodGhpcy5fb2xkVGV4dCwgdmFsdWVUb1BhcnNlLCB0aGlzLm1hc2tPcHRpb25zLCB0aGlzLl9zdGFydCwgdGhpcy5fZW5kKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gcmVwbGFjZWREYXRhLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fa2V5ID09PSB0aGlzLnBsYXRmb3JtLktFWU1BUC5CQUNLU1BBQ0UpIHtcbiAgICAgICAgICAgIHJlcGxhY2VkRGF0YS5lbmQgPSB0aGlzLl9zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0U2VsZWN0aW9uUmFuZ2UocmVwbGFjZWREYXRhLmVuZCk7XG5cbiAgICAgICAgY29uc3QgcmF3VmFsID0gdGhpcy5tYXNrUGFyc2VyLnBhcnNlVmFsdWVGcm9tTWFzayh0aGlzLmlucHV0VmFsdWUsIHRoaXMubWFza09wdGlvbnMpO1xuICAgICAgICB0aGlzLl9kYXRhVmFsdWUgPSB0aGlzLmluY2x1ZGVMaXRlcmFscyA/IHRoaXMuaW5wdXRWYWx1ZSA6IHJhd1ZhbDtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh0aGlzLl9kYXRhVmFsdWUpO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQoeyByYXdWYWx1ZTogcmF3VmFsLCBmb3JtYXR0ZWRWYWx1ZTogdGhpcy5pbnB1dFZhbHVlIH0pO1xuICAgICAgICB0aGlzLmFmdGVySW5wdXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dEaXNwbGF5VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWVQaXBlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmRpc3BsYXlWYWx1ZVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdGhpcy5tYXNrUGFyc2VyLmFwcGx5TWFzayhudWxsLCB0aGlzLm1hc2tPcHRpb25zKSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIElneE1hc2tNb2R1bGUgcHJvdmlkZXMgdGhlIHtAbGluayBJZ3hNYXNrRGlyZWN0aXZlfSBpbnNpZGUgeW91ciBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWFza0V2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICByYXdWYWx1ZTogc3RyaW5nO1xuICAgIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmc7XG59XG5cbiJdfQ==
@@ -7,10 +7,10 @@ export var Navigate;
7
7
  Navigate[Navigate["Down"] = 1] = "Down";
8
8
  })(Navigate || (Navigate = {}));
9
9
  /** Key actions that have designated handlers in IgxDropDownComponent */
10
- export const DropDownActionKey = mkenum({
10
+ export const DropDownActionKey = /*@__PURE__*/ mkenum({
11
11
  ESCAPE: 'escape',
12
12
  ENTER: 'enter',
13
13
  SPACE: 'space'
14
14
  });
15
- export const IGX_DROPDOWN_BASE = new InjectionToken('IgxDropDownBaseToken');
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1FLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxjQUFjO0FBQ2QsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQixvQ0FBTyxDQUFBO0lBQ1AsdUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQUVELHdFQUF3RTtBQUN4RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFDcEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztDQUNqQixDQUFDLENBQUM7QUEyQkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWdCLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3MsIG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcC1kb3duLWl0ZW0uYmFzZSc7XG5pbXBvcnQgeyBJVG9nZ2xlVmlldyB9IGZyb20gJy4uL2NvcmUvbmF2aWdhdGlvbi9JVG9nZ2xlVmlldyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNwbGF5RGVuc2l0eUJhc2UgfSBmcm9tICcuLi9jb3JlL2RlbnNpdHknO1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGVudW0gTmF2aWdhdGUge1xuICAgIFVwID0gLTEsXG4gICAgRG93biA9IDFcbn1cblxuLyoqIEtleSBhY3Rpb25zIHRoYXQgaGF2ZSBkZXNpZ25hdGVkIGhhbmRsZXJzIGluIElneERyb3BEb3duQ29tcG9uZW50ICovXG5leHBvcnQgY29uc3QgRHJvcERvd25BY3Rpb25LZXkgPSBta2VudW0oe1xuICAgIEVTQ0FQRTogJ2VzY2FwZScsXG4gICAgRU5URVI6ICdlbnRlcicsXG4gICAgU1BBQ0U6ICdzcGFjZSdcbn0pO1xuZXhwb3J0IHR5cGUgRHJvcERvd25BY3Rpb25LZXkgPSAodHlwZW9mIERyb3BEb3duQWN0aW9uS2V5KVtrZXlvZiB0eXBlb2YgRHJvcERvd25BY3Rpb25LZXldO1xuXG4vKipcbiAqIEludGVyZmFjZSB0aGF0IGVuY2Fwc3VsYXRlcyBzZWxlY3Rpb25DaGFuZ2luZyBldmVudCBhcmd1bWVudHMgLSBvbGQgc2VsZWN0aW9uLCBuZXcgc2VsZWN0aW9uIGFuZCBjYW5jZWwgc2VsZWN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0aW9uRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIG9sZFNlbGVjdGlvbjogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZTtcbiAgICBuZXdTZWxlY3Rpb246IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhbiBpbnN0YW5jZSBvZiBJZ3hEcm9wRG93bk5hdmlnYXRpb25EaXJlY3RpdmVcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURyb3BEb3duTmF2aWdhdGlvbkRpcmVjdGl2ZSB7XG4gICAgdGFyZ2V0OiBhbnk7XG4gICAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgb25BcnJvd0Rvd25LZXlEb3duKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgb25BcnJvd1VwS2V5RG93bihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIG9uRW5kS2V5RG93bihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIG9uSG9tZUtleURvd24oZXZlbnQ/OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IElHWF9EUk9QRE9XTl9CQVNFID0gbmV3IEluamVjdGlvblRva2VuPElEcm9wRG93bkJhc2U+KCdJZ3hEcm9wRG93bkJhc2VUb2tlbicpO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRHJvcERvd25MaXN0IGV4dGVuZHMgRGlzcGxheURlbnNpdHlCYXNlIHtcbiAgICBzZWxlY3Rpb25DaGFuZ2luZzogRXZlbnRFbWl0dGVyPElTZWxlY3Rpb25FdmVudEFyZ3M+O1xuICAgIHdpZHRoOiBzdHJpbmc7XG4gICAgaGVpZ2h0OiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICBtYXhIZWlnaHQ6IHN0cmluZztcbiAgICBjb2xsYXBzZWQ6IGJvb2xlYW47XG4gICAgaXRlbXM6IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmVbXTtcbiAgICBoZWFkZXJzOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW107XG4gICAgZm9jdXNlZEl0ZW06IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgbmF2aWdhdGVGaXJzdCgpOiB2b2lkO1xuICAgIG5hdmlnYXRlTGFzdCgpOiB2b2lkO1xuICAgIG5hdmlnYXRlTmV4dCgpOiB2b2lkO1xuICAgIG5hdmlnYXRlUHJldigpOiB2b2lkO1xuICAgIG5hdmlnYXRlSXRlbShuZXdJbmRleDogbnVtYmVyLCBkaXJlY3Rpb24/OiBOYXZpZ2F0ZSk6IHZvaWQ7XG4gICAgb25JdGVtQWN0aW9uS2V5KGtleTogRHJvcERvd25BY3Rpb25LZXksIGV2ZW50PzogRXZlbnQpOiB2b2lkO1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRHJvcERvd25CYXNlIGV4dGVuZHMgSURyb3BEb3duTGlzdCwgSVRvZ2dsZVZpZXcge1xuICAgIHNlbGVjdGVkSXRlbTogYW55O1xuICAgIG9wZW5pbmc6IEV2ZW50RW1pdHRlcjxDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncz47XG4gICAgb3BlbmVkOiBFdmVudEVtaXR0ZXI8SUJhc2VFdmVudEFyZ3M+O1xuICAgIGNsb3Npbmc6IEV2ZW50RW1pdHRlcjxDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncz47XG4gICAgY2xvc2VkOiBFdmVudEVtaXR0ZXI8SUJhc2VFdmVudEFyZ3M+O1xuICAgIGFsbG93SXRlbXNGb2N1cz86IGJvb2xlYW47XG4gICAgc2V0U2VsZWN0ZWRJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICAgIHNlbGVjdEl0ZW0oaXRlbTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSwgZXZlbnQ/OiBFdmVudCk6IHZvaWQ7XG59XG5cbiJdfQ==
15
+ export const IGX_DROPDOWN_BASE = /*@__PURE__*/ new InjectionToken('IgxDropDownBaseToken');
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1FLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxjQUFjO0FBQ2QsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQixvQ0FBTyxDQUFBO0lBQ1AsdUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQUVELHdFQUF3RTtBQUN4RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUEsTUFBTSxDQUFDO0lBQ2pELE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87Q0FDakIsQ0FBQyxDQUFDO0FBMkJILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBZ0Isc0JBQXNCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbmNlbGFibGVFdmVudEFyZ3MsIENhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzLCBJQmFzZUV2ZW50QXJncywgbWtlbnVtIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wLWRvd24taXRlbS5iYXNlJztcbmltcG9ydCB7IElUb2dnbGVWaWV3IH0gZnJvbSAnLi4vY29yZS9uYXZpZ2F0aW9uL0lUb2dnbGVWaWV3JztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5QmFzZSB9IGZyb20gJy4uL2NvcmUvZGVuc2l0eSc7XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgZW51bSBOYXZpZ2F0ZSB7XG4gICAgVXAgPSAtMSxcbiAgICBEb3duID0gMVxufVxuXG4vKiogS2V5IGFjdGlvbnMgdGhhdCBoYXZlIGRlc2lnbmF0ZWQgaGFuZGxlcnMgaW4gSWd4RHJvcERvd25Db21wb25lbnQgKi9cbmV4cG9ydCBjb25zdCBEcm9wRG93bkFjdGlvbktleSA9IC8qQF9fUFVSRV9fKi9ta2VudW0oe1xuICAgIEVTQ0FQRTogJ2VzY2FwZScsXG4gICAgRU5URVI6ICdlbnRlcicsXG4gICAgU1BBQ0U6ICdzcGFjZSdcbn0pO1xuZXhwb3J0IHR5cGUgRHJvcERvd25BY3Rpb25LZXkgPSAodHlwZW9mIERyb3BEb3duQWN0aW9uS2V5KVtrZXlvZiB0eXBlb2YgRHJvcERvd25BY3Rpb25LZXldO1xuXG4vKipcbiAqIEludGVyZmFjZSB0aGF0IGVuY2Fwc3VsYXRlcyBzZWxlY3Rpb25DaGFuZ2luZyBldmVudCBhcmd1bWVudHMgLSBvbGQgc2VsZWN0aW9uLCBuZXcgc2VsZWN0aW9uIGFuZCBjYW5jZWwgc2VsZWN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0aW9uRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIG9sZFNlbGVjdGlvbjogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZTtcbiAgICBuZXdTZWxlY3Rpb246IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhbiBpbnN0YW5jZSBvZiBJZ3hEcm9wRG93bk5hdmlnYXRpb25EaXJlY3RpdmVcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURyb3BEb3duTmF2aWdhdGlvbkRpcmVjdGl2ZSB7XG4gICAgdGFyZ2V0OiBhbnk7XG4gICAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgb25BcnJvd0Rvd25LZXlEb3duKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgb25BcnJvd1VwS2V5RG93bihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIG9uRW5kS2V5RG93bihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIG9uSG9tZUtleURvd24oZXZlbnQ/OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IElHWF9EUk9QRE9XTl9CQVNFID0gLypAX19QVVJFX18qL25ldyBJbmplY3Rpb25Ub2tlbjxJRHJvcERvd25CYXNlPignSWd4RHJvcERvd25CYXNlVG9rZW4nKTtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURyb3BEb3duTGlzdCBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSB7XG4gICAgc2VsZWN0aW9uQ2hhbmdpbmc6IEV2ZW50RW1pdHRlcjxJU2VsZWN0aW9uRXZlbnRBcmdzPjtcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIGhlaWdodDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbWF4SGVpZ2h0OiBzdHJpbmc7XG4gICAgY29sbGFwc2VkOiBib29sZWFuO1xuICAgIGl0ZW1zOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW107XG4gICAgaGVhZGVyczogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZVtdO1xuICAgIGZvY3VzZWRJdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlO1xuICAgIG5hdmlnYXRlRmlyc3QoKTogdm9pZDtcbiAgICBuYXZpZ2F0ZUxhc3QoKTogdm9pZDtcbiAgICBuYXZpZ2F0ZU5leHQoKTogdm9pZDtcbiAgICBuYXZpZ2F0ZVByZXYoKTogdm9pZDtcbiAgICBuYXZpZ2F0ZUl0ZW0obmV3SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uPzogTmF2aWdhdGUpOiB2b2lkO1xuICAgIG9uSXRlbUFjdGlvbktleShrZXk6IERyb3BEb3duQWN0aW9uS2V5LCBldmVudD86IEV2ZW50KTogdm9pZDtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURyb3BEb3duQmFzZSBleHRlbmRzIElEcm9wRG93bkxpc3QsIElUb2dnbGVWaWV3IHtcbiAgICBzZWxlY3RlZEl0ZW06IGFueTtcbiAgICBvcGVuaW5nOiBFdmVudEVtaXR0ZXI8Q2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3M+O1xuICAgIG9wZW5lZDogRXZlbnRFbWl0dGVyPElCYXNlRXZlbnRBcmdzPjtcbiAgICBjbG9zaW5nOiBFdmVudEVtaXR0ZXI8Q2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3M+O1xuICAgIGNsb3NlZDogRXZlbnRFbWl0dGVyPElCYXNlRXZlbnRBcmdzPjtcbiAgICBhbGxvd0l0ZW1zRm9jdXM/OiBib29sZWFuO1xuICAgIHNldFNlbGVjdGVkSXRlbShpbmRleDogbnVtYmVyKTogdm9pZDtcbiAgICBzZWxlY3RJdGVtKGl0ZW06IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUsIGV2ZW50PzogRXZlbnQpOiB2b2lkO1xufVxuXG4iXX0=