@angular/material 12.1.3 → 12.2.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 (194) hide show
  1. package/bundles/material-autocomplete-testing.umd.js +10 -4
  2. package/bundles/material-autocomplete-testing.umd.js.map +1 -1
  3. package/bundles/material-autocomplete.umd.js +10 -4
  4. package/bundles/material-autocomplete.umd.js.map +1 -1
  5. package/bundles/material-badge-testing.umd.js +10 -4
  6. package/bundles/material-badge-testing.umd.js.map +1 -1
  7. package/bundles/material-badge.umd.js +10 -4
  8. package/bundles/material-badge.umd.js.map +1 -1
  9. package/bundles/material-bottom-sheet-testing.umd.js +10 -4
  10. package/bundles/material-bottom-sheet-testing.umd.js.map +1 -1
  11. package/bundles/material-bottom-sheet.umd.js +10 -4
  12. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  13. package/bundles/material-button-testing.umd.js +10 -4
  14. package/bundles/material-button-testing.umd.js.map +1 -1
  15. package/bundles/material-button-toggle-testing.umd.js +10 -4
  16. package/bundles/material-button-toggle-testing.umd.js.map +1 -1
  17. package/bundles/material-button-toggle.umd.js +10 -4
  18. package/bundles/material-button-toggle.umd.js.map +1 -1
  19. package/bundles/material-button.umd.js +10 -4
  20. package/bundles/material-button.umd.js.map +1 -1
  21. package/bundles/material-card-testing.umd.js +10 -4
  22. package/bundles/material-card-testing.umd.js.map +1 -1
  23. package/bundles/material-checkbox-testing.umd.js +10 -4
  24. package/bundles/material-checkbox-testing.umd.js.map +1 -1
  25. package/bundles/material-checkbox.umd.js +10 -4
  26. package/bundles/material-checkbox.umd.js.map +1 -1
  27. package/bundles/material-chips-testing.umd.js +44 -6
  28. package/bundles/material-chips-testing.umd.js.map +1 -1
  29. package/bundles/material-chips.umd.js +10 -4
  30. package/bundles/material-chips.umd.js.map +1 -1
  31. package/bundles/material-core-testing.umd.js +10 -4
  32. package/bundles/material-core-testing.umd.js.map +1 -1
  33. package/bundles/material-core.umd.js +25 -18
  34. package/bundles/material-core.umd.js.map +1 -1
  35. package/bundles/material-datepicker-testing.umd.js +10 -4
  36. package/bundles/material-datepicker-testing.umd.js.map +1 -1
  37. package/bundles/material-datepicker.umd.js +10 -4
  38. package/bundles/material-datepicker.umd.js.map +1 -1
  39. package/bundles/material-dialog-testing.umd.js +10 -4
  40. package/bundles/material-dialog-testing.umd.js.map +1 -1
  41. package/bundles/material-dialog.umd.js +10 -4
  42. package/bundles/material-dialog.umd.js.map +1 -1
  43. package/bundles/material-divider-testing.umd.js +10 -4
  44. package/bundles/material-divider-testing.umd.js.map +1 -1
  45. package/bundles/material-expansion-testing.umd.js +10 -4
  46. package/bundles/material-expansion-testing.umd.js.map +1 -1
  47. package/bundles/material-expansion.umd.js +10 -4
  48. package/bundles/material-expansion.umd.js.map +1 -1
  49. package/bundles/material-form-field-testing-control.umd.js +10 -4
  50. package/bundles/material-form-field-testing-control.umd.js.map +1 -1
  51. package/bundles/material-form-field-testing.umd.js +10 -4
  52. package/bundles/material-form-field-testing.umd.js.map +1 -1
  53. package/bundles/material-form-field.umd.js +10 -4
  54. package/bundles/material-form-field.umd.js.map +1 -1
  55. package/bundles/material-grid-list-testing.umd.js +10 -4
  56. package/bundles/material-grid-list-testing.umd.js.map +1 -1
  57. package/bundles/material-grid-list.umd.js +10 -4
  58. package/bundles/material-grid-list.umd.js.map +1 -1
  59. package/bundles/material-icon-testing.umd.js +10 -4
  60. package/bundles/material-icon-testing.umd.js.map +1 -1
  61. package/bundles/material-icon.umd.js +10 -4
  62. package/bundles/material-icon.umd.js.map +1 -1
  63. package/bundles/material-input-testing.umd.js +10 -4
  64. package/bundles/material-input-testing.umd.js.map +1 -1
  65. package/bundles/material-input.umd.js +10 -4
  66. package/bundles/material-input.umd.js.map +1 -1
  67. package/bundles/material-list-testing.umd.js +10 -4
  68. package/bundles/material-list-testing.umd.js.map +1 -1
  69. package/bundles/material-list.umd.js +18 -4
  70. package/bundles/material-list.umd.js.map +1 -1
  71. package/bundles/material-menu-testing.umd.js +10 -4
  72. package/bundles/material-menu-testing.umd.js.map +1 -1
  73. package/bundles/material-menu.umd.js +31 -9
  74. package/bundles/material-menu.umd.js.map +1 -1
  75. package/bundles/material-paginator-testing.umd.js +10 -4
  76. package/bundles/material-paginator-testing.umd.js.map +1 -1
  77. package/bundles/material-paginator.umd.js +10 -4
  78. package/bundles/material-paginator.umd.js.map +1 -1
  79. package/bundles/material-progress-bar-testing.umd.js +10 -4
  80. package/bundles/material-progress-bar-testing.umd.js.map +1 -1
  81. package/bundles/material-progress-bar.umd.js +10 -4
  82. package/bundles/material-progress-bar.umd.js.map +1 -1
  83. package/bundles/material-progress-spinner-testing.umd.js +10 -4
  84. package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
  85. package/bundles/material-progress-spinner.umd.js +10 -4
  86. package/bundles/material-progress-spinner.umd.js.map +1 -1
  87. package/bundles/material-radio-testing.umd.js +10 -4
  88. package/bundles/material-radio-testing.umd.js.map +1 -1
  89. package/bundles/material-radio.umd.js +10 -4
  90. package/bundles/material-radio.umd.js.map +1 -1
  91. package/bundles/material-select-testing.umd.js +10 -4
  92. package/bundles/material-select-testing.umd.js.map +1 -1
  93. package/bundles/material-select.umd.js +10 -4
  94. package/bundles/material-select.umd.js.map +1 -1
  95. package/bundles/material-sidenav-testing.umd.js +10 -4
  96. package/bundles/material-sidenav-testing.umd.js.map +1 -1
  97. package/bundles/material-sidenav.umd.js +10 -4
  98. package/bundles/material-sidenav.umd.js.map +1 -1
  99. package/bundles/material-slide-toggle-testing.umd.js +10 -4
  100. package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
  101. package/bundles/material-slide-toggle.umd.js +12 -5
  102. package/bundles/material-slide-toggle.umd.js.map +1 -1
  103. package/bundles/material-slider-testing.umd.js +10 -4
  104. package/bundles/material-slider-testing.umd.js.map +1 -1
  105. package/bundles/material-slider.umd.js +10 -4
  106. package/bundles/material-slider.umd.js.map +1 -1
  107. package/bundles/material-snack-bar-testing.umd.js +10 -4
  108. package/bundles/material-snack-bar-testing.umd.js.map +1 -1
  109. package/bundles/material-snack-bar.umd.js +10 -4
  110. package/bundles/material-snack-bar.umd.js.map +1 -1
  111. package/bundles/material-sort-testing.umd.js +10 -4
  112. package/bundles/material-sort-testing.umd.js.map +1 -1
  113. package/bundles/material-sort.umd.js +10 -4
  114. package/bundles/material-sort.umd.js.map +1 -1
  115. package/bundles/material-stepper-testing.umd.js +10 -4
  116. package/bundles/material-stepper-testing.umd.js.map +1 -1
  117. package/bundles/material-stepper.umd.js +10 -4
  118. package/bundles/material-stepper.umd.js.map +1 -1
  119. package/bundles/material-table-testing.umd.js +10 -4
  120. package/bundles/material-table-testing.umd.js.map +1 -1
  121. package/bundles/material-table.umd.js +10 -4
  122. package/bundles/material-table.umd.js.map +1 -1
  123. package/bundles/material-tabs-testing.umd.js +10 -4
  124. package/bundles/material-tabs-testing.umd.js.map +1 -1
  125. package/bundles/material-tabs.umd.js +16 -6
  126. package/bundles/material-tabs.umd.js.map +1 -1
  127. package/bundles/material-toolbar-testing.umd.js +10 -4
  128. package/bundles/material-toolbar-testing.umd.js.map +1 -1
  129. package/bundles/material-toolbar.umd.js +10 -4
  130. package/bundles/material-toolbar.umd.js.map +1 -1
  131. package/bundles/material-tooltip-testing.umd.js +10 -4
  132. package/bundles/material-tooltip-testing.umd.js.map +1 -1
  133. package/bundles/material-tooltip.umd.js +10 -4
  134. package/bundles/material-tooltip.umd.js.map +1 -1
  135. package/bundles/material-tree-testing.umd.js +10 -4
  136. package/bundles/material-tree-testing.umd.js.map +1 -1
  137. package/bundles/material-tree.umd.js +10 -4
  138. package/bundles/material-tree.umd.js.map +1 -1
  139. package/chips/testing/chip-avatar-harness.d.ts +20 -0
  140. package/chips/testing/chip-harness-filters.d.ts +3 -0
  141. package/chips/testing/chip-harness.d.ts +10 -4
  142. package/core/common-behaviors/common-module.d.ts +2 -2
  143. package/core/index.metadata.json +1 -1
  144. package/core/style/_menu-common.scss +22 -24
  145. package/core/theming/_theming.scss +3 -1
  146. package/core/typography/_typography-deprecated.scss +1 -1
  147. package/core/typography/_typography-utils.scss +7 -0
  148. package/esm2015/chips/testing/chip-avatar-harness.js +22 -0
  149. package/esm2015/chips/testing/chip-harness-filters.js +1 -1
  150. package/esm2015/chips/testing/chip-harness.js +14 -4
  151. package/esm2015/core/common-behaviors/common-module.js +15 -14
  152. package/esm2015/core/version.js +1 -1
  153. package/esm2015/list/selection-list.js +9 -1
  154. package/esm2015/menu/menu-item.js +21 -5
  155. package/esm2015/menu/menu-trigger.js +2 -2
  156. package/esm2015/menu/menu.js +1 -1
  157. package/esm2015/slide-toggle/slide-toggle.js +3 -2
  158. package/esm2015/tabs/tab-group.js +7 -3
  159. package/fesm2015/chips/testing.js +33 -3
  160. package/fesm2015/chips/testing.js.map +1 -1
  161. package/fesm2015/core.js +15 -14
  162. package/fesm2015/core.js.map +1 -1
  163. package/fesm2015/list.js +9 -1
  164. package/fesm2015/list.js.map +1 -1
  165. package/fesm2015/menu.js +21 -5
  166. package/fesm2015/menu.js.map +1 -1
  167. package/fesm2015/slide-toggle.js +2 -1
  168. package/fesm2015/slide-toggle.js.map +1 -1
  169. package/fesm2015/tabs.js +6 -2
  170. package/fesm2015/tabs.js.map +1 -1
  171. package/form-field/_form-field-fill-theme.scss +2 -1
  172. package/form-field/_form-field-legacy-theme.scss +3 -1
  173. package/form-field/_form-field-outline-theme.scss +2 -1
  174. package/form-field/_form-field-theme.scss +4 -2
  175. package/input/_input-theme.scss +1 -1
  176. package/list/index.metadata.json +1 -1
  177. package/list/selection-list.d.ts +6 -0
  178. package/menu/_menu-theme.scss +2 -2
  179. package/menu/index.metadata.json +1 -1
  180. package/menu/menu-item.d.ts +13 -2
  181. package/package.json +5 -7
  182. package/prebuilt-themes/deeppurple-amber.css +1 -1
  183. package/prebuilt-themes/indigo-pink.css +1 -1
  184. package/prebuilt-themes/pink-bluegrey.css +1 -1
  185. package/prebuilt-themes/purple-green.css +1 -1
  186. package/schematics/ng-add/index.js +1 -1
  187. package/schematics/ng-add/index.mjs +1 -1
  188. package/schematics/ng-update/migrations/theming-api-v12/migration.d.ts +2 -2
  189. package/schematics/ng-update/migrations/theming-api-v12/migration.js +63 -14
  190. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +63 -14
  191. package/select/_select-theme.scss +1 -1
  192. package/slide-toggle/index.metadata.json +1 -1
  193. package/slide-toggle/slide-toggle.d.ts +2 -0
  194. package/tabs/index.metadata.json +1 -1
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":11,"character":27},"arguments":["12.1.3"]},"AnimationCurves":{"__symbolic":"class","members":{},"statics":{"STANDARD_CURVE":"cubic-bezier(0.4,0.0,0.2,1)","DECELERATION_CURVE":"cubic-bezier(0.0,0.0,0.2,1)","ACCELERATION_CURVE":"cubic-bezier(0.4,0.0,1,1)","SHARP_CURVE":"cubic-bezier(0.4,0.0,0.6,1)"}},"AnimationDurations":{"__symbolic":"class","members":{},"statics":{"COMPLEX":"375ms","ENTERING":"225ms","EXITING":"195ms"}},"ɵangular_material_src_material_core_core_a":{"__symbolic":"function","parameters":[],"value":true},"MatCommonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":50,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":51,"character":12}],"exports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":52,"character":12}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":66,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":66,"character":19},"arguments":[{"__symbolic":"reference","name":"MATERIAL_SANITY_CHECKS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":67,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":67,"character":14}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"HighContrastModeDetector","line":65,"character":32},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"}]}],"_getWindow":[{"__symbolic":"method"}],"_checksAreEnabled":[{"__symbolic":"method"}],"_isTestEnv":[{"__symbolic":"method"}],"_checkDoctypeIsDefined":[{"__symbolic":"method"}],"_checkThemeIsPresent":[{"__symbolic":"method"}],"_checkCdkVersionMatch":[{"__symbolic":"method"}]}},"MATERIAL_SANITY_CHECKS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":26,"character":42},"arguments":["mat-sanity-checks",{"providedIn":"root","factory":{"__symbolic":"reference","name":"ɵangular_material_src_material_core_core_a"}}]},"SanityChecks":{"__symbolic":"interface"},"GranularSanityChecks":{"__symbolic":"interface"},"CanDisable":{"__symbolic":"interface"},"CanDisableCtor":{"__symbolic":"interface"},"mixinDisabled":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"CanColor":{"__symbolic":"interface"},"CanColorCtor":{"__symbolic":"interface"},"mixinColor":{"__symbolic":"function","parameters":["base","defaultColor"],"value":{"__symbolic":"class"}},"ThemePalette":{"__symbolic":"interface"},"CanDisableRipple":{"__symbolic":"interface"},"CanDisableRippleCtor":{"__symbolic":"interface"},"mixinDisableRipple":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"HasTabIndex":{"__symbolic":"interface"},"HasTabIndexCtor":{"__symbolic":"interface"},"mixinTabIndex":{"__symbolic":"function","parameters":["base","defaultTabIndex"],"defaults":[null,0],"value":{"__symbolic":"class"}},"CanUpdateErrorState":{"__symbolic":"interface"},"CanUpdateErrorStateCtor":{"__symbolic":"interface"},"mixinErrorState":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"HasInitialized":{"__symbolic":"interface"},"HasInitializedCtor":{"__symbolic":"interface"},"mixinInitialized":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"NativeDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":22,"character":12}],"providers":[{"provide":{"__symbolic":"reference","name":"DateAdapter"},"useClass":{"__symbolic":"reference","name":"NativeDateAdapter"}}]}]}],"members":{}},"MatNativeDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"NativeDateModule"}],"providers":[{"provide":{"__symbolic":"reference","name":"MAT_DATE_FORMATS"},"useValue":{"__symbolic":"reference","name":"MAT_NATIVE_DATE_FORMATS"}}]}]}],"members":{}},"MAT_DATE_LOCALE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":35},"arguments":["MAT_DATE_LOCALE",{"providedIn":"root","factory":{"__symbolic":"reference","name":"MAT_DATE_LOCALE_FACTORY"}}]},"MAT_DATE_LOCALE_FACTORY":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"inject","line":19,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":19,"character":16}]}},"DateAdapter":{"__symbolic":"class","arity":1,"members":{"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"getValidDateOrNull":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"setLocale":[{"__symbolic":"method"}],"compareDate":[{"__symbolic":"method"}],"sameDate":[{"__symbolic":"method"}],"clampDate":[{"__symbolic":"method"}]}},"MatDateFormats":{"__symbolic":"interface"},"MAT_DATE_FORMATS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":36},"arguments":["mat-date-formats"]},"NativeDateAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DateAdapter"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":69,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":27},"arguments":[{"__symbolic":"reference","name":"MAT_DATE_LOCALE"}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":87,"character":84}]}],"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"_createDateWithOverflow":[{"__symbolic":"method"}],"_2digit":[{"__symbolic":"method"}],"_stripDirectionalityCharacters":[{"__symbolic":"method"}],"_format":[{"__symbolic":"method"}]}},"MAT_NATIVE_DATE_FORMATS":{"parse":{"dateInput":null},"display":{"dateInput":{"year":"numeric","month":"numeric","day":"numeric"},"monthYearLabel":{"year":"numeric","month":"short"},"dateA11yLabel":{"year":"numeric","month":"long","day":"numeric"},"monthYearA11yLabel":{"year":"numeric","month":"long"}}},"ShowOnDirtyErrorStateMatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"isErrorState":[{"__symbolic":"method"}]}},"ErrorStateMatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"isErrorState":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"MatLine":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"[mat-line], [matLine]","host":{"class":"mat-line","$quoted$":["class"]}}]}],"members":{}},"setLines":{"__symbolic":"function"},"MatLineModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":56,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"}],"exports":[{"__symbolic":"reference","name":"MatLine"},{"__symbolic":"reference","name":"MatCommonModule"}],"declarations":[{"__symbolic":"reference","name":"MatLine"}]}]}],"members":{}},"MatOptionModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatRippleModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":29},{"__symbolic":"reference","name":"MatCommonModule"},{"__symbolic":"reference","name":"MatPseudoCheckboxModule"}],"exports":[{"__symbolic":"reference","name":"MatOption"},{"__symbolic":"reference","name":"MatOptgroup"}],"declarations":[{"__symbolic":"reference","name":"MatOption"},{"__symbolic":"reference","name":"MatOptgroup"}]}]}],"members":{}},"MatOptionSelectionChange":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"_MatOptionBase"},null]}]}},"_MatOptionBase":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":46,"character":1}}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"onSelectionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":260,"character":24,"context":{"typeName":"HTMLElement"},"module":"./option/option"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":32},{"__symbolic":"reference","name":"MatOptionParentComponent"},{"__symbolic":"reference","name":"_MatOptgroupBase"}]}],"select":[{"__symbolic":"method"}],"deselect":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"setActiveStyles":[{"__symbolic":"method"}],"setInactiveStyles":[{"__symbolic":"method"}],"getLabel":[{"__symbolic":"method"}],"_handleKeydown":[{"__symbolic":"method"}],"_selectViaInteraction":[{"__symbolic":"method"}],"_getAriaSelected":[{"__symbolic":"method"}],"_getTabIndex":[{"__symbolic":"method"}],"_getHostElement":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_emitSelectionChangeEvent":[{"__symbolic":"method"}]}},"MatOption":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"_MatOptionBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":236,"character":1},"arguments":[{"selector":"mat-option","exportAs":"matOption","host":{"role":"option","[attr.tabindex]":"_getTabIndex()","[class.mat-selected]":"selected","[class.mat-option-multiple]":"multiple","[class.mat-active]":"active","[id]":"id","[attr.aria-selected]":"_getAriaSelected()","[attr.aria-disabled]":"disabled.toString()","[class.mat-option-disabled]":"disabled","(click)":"_selectViaInteraction()","(keydown)":"_handleKeydown($event)","class":"mat-option mat-focus-indicator","$quoted$":["role","[attr.tabindex]","[class.mat-selected]","[class.mat-option-multiple]","[class.mat-active]","[id]","[attr.aria-selected]","[attr.aria-disabled]","[class.mat-option-disabled]","(click)","(keydown)","class"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":255,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":256,"character":19},"member":"OnPush"},"template":"<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n","styles":[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":262,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":262,"character":17},"arguments":[{"__symbolic":"reference","name":"MAT_OPTION_PARENT_COMPONENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":263,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":263,"character":17},"arguments":[{"__symbolic":"reference","name":"MAT_OPTGROUP"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":260,"character":24,"context":{"typeName":"HTMLElement"},"module":"./option/option"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":32},{"__symbolic":"reference","name":"MatOptionParentComponent"},{"__symbolic":"reference","name":"MatOptgroup"}]}]}},"_countGroupLabelsBeforeOption":{"__symbolic":"function"},"_getOptionScrollPosition":{"__symbolic":"function"},"_MatOptgroupBase":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":48,"character":38,"module":"./option/optgroup"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":47,"character":1}}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":15},"arguments":[{"__symbolic":"reference","name":"MAT_OPTION_PARENT_COMPONENT"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":52}}]],"parameters":[{"__symbolic":"reference","name":"MatOptionParentComponent"}]}]}},"MAT_OPTGROUP":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":71,"character":32},"arguments":["MatOptgroup"]},"MatOptgroup":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"_MatOptgroupBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":76,"character":1},"arguments":[{"selector":"mat-optgroup","exportAs":"matOptgroup","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":80,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":81,"character":19},"member":"OnPush"},"inputs":["disabled"],"host":{"class":"mat-optgroup","[attr.role]":"_inert ? null : \"group\"","[attr.aria-disabled]":"_inert ? null : disabled.toString()","[attr.aria-labelledby]":"_inert ? null : _labelId","[class.mat-optgroup-disabled]":"disabled","$quoted$":["class","[attr.role]","[attr.aria-disabled]","[attr.aria-labelledby]","[class.mat-optgroup-disabled]"]},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_OPTGROUP"},"useExisting":{"__symbolic":"reference","name":"MatOptgroup"}}],"template":"<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n","styles":[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"]}]}],"members":{}},"MatOptionParentComponent":{"__symbolic":"interface"},"MAT_OPTION_PARENT_COMPONENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":8},"arguments":["MAT_OPTION_PARENT_COMPONENT"]},"MatRippleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":18,"character":29}],"exports":[{"__symbolic":"reference","name":"MatRipple"},{"__symbolic":"reference","name":"MatCommonModule"}],"declarations":[{"__symbolic":"reference","name":"MatRipple"}]}]}],"members":{}},"RippleGlobalOptions":{"__symbolic":"interface"},"MAT_RIPPLE_GLOBAL_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":48,"character":8},"arguments":["mat-ripple-global-options"]},"MatRipple":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":50,"character":1},"arguments":[{"selector":"[mat-ripple], [matRipple]","exportAs":"matRipple","host":{"class":"mat-ripple","[class.mat-ripple-unbounded]":"unbounded","$quoted$":["class","[class.mat-ripple-unbounded]"]}}]}],"members":{"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["matRippleColor"]}]}],"unbounded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3},"arguments":["matRippleUnbounded"]}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["matRippleCentered"]}]}],"radius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3},"arguments":["matRippleRadius"]}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3},"arguments":["matRippleAnimation"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3},"arguments":["matRippleDisabled"]}]}],"trigger":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3},"arguments":["matRippleTrigger"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":125,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":125,"character":27},"arguments":[{"__symbolic":"reference","name":"MAT_RIPPLE_GLOBAL_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":126,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":126,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":126,"character":34}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":122,"character":46,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":123,"character":22},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":124,"character":24},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"fadeOutAll":[{"__symbolic":"method"}],"fadeOutAllNonPersistent":[{"__symbolic":"method"}],"_setupTriggerEventsIfEnabled":[{"__symbolic":"method"}],"launch":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}]}},"RippleState":{"FADING_IN":0,"VISIBLE":1,"FADING_OUT":2,"HIDDEN":3},"RippleConfig":{"__symbolic":"interface"},"RippleAnimationConfig":{"__symbolic":"interface"},"RippleRef":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":42,"character":23,"module":"./ripple/ripple-ref"},{"__symbolic":"error","message":"Could not resolve type","line":44,"character":20,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple-ref"},{"__symbolic":"error","message":"Could not resolve type","line":46,"character":19,"context":{"typeName":"RippleConfig"},"module":"./ripple/ripple-ref"}]}],"fadeOut":[{"__symbolic":"method"}]}},"RippleTarget":{"__symbolic":"interface"},"defaultRippleAnimationConfig":{"enterDuration":225,"exitDuration":150},"RippleRenderer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":87,"character":31},{"__symbolic":"error","message":"Could not resolve type","line":88,"character":35,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple-renderer"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":89,"character":24}]}],"fadeInRipple":[{"__symbolic":"method"}],"fadeOutRipple":[{"__symbolic":"method"}],"fadeOutAll":[{"__symbolic":"method"}],"fadeOutAllNonPersistent":[{"__symbolic":"method"}],"setupTriggerEvents":[{"__symbolic":"method"}],"handleEvent":[{"__symbolic":"method"}],"_onMousedown":[{"__symbolic":"method"}],"_onTouchStart":[{"__symbolic":"method"}],"_onPointerUp":[{"__symbolic":"method"}],"_runTimeoutOutsideZone":[{"__symbolic":"method"}],"_registerEvents":[{"__symbolic":"method"}],"_removeTriggerEvents":[{"__symbolic":"method"}]}},"MatPseudoCheckboxModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"}],"exports":[{"__symbolic":"reference","name":"MatPseudoCheckbox"}],"declarations":[{"__symbolic":"reference","name":"MatPseudoCheckbox"}]}]}],"members":{}},"MatPseudoCheckboxState":{"__symbolic":"interface"},"MatPseudoCheckbox":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":38,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":19},"member":"OnPush"},"selector":"mat-pseudo-checkbox","template":"","host":{"class":"mat-pseudo-checkbox","[class.mat-pseudo-checkbox-indeterminate]":"state === \"indeterminate\"","[class.mat-pseudo-checkbox-checked]":"state === \"checked\"","[class.mat-pseudo-checkbox-disabled]":"disabled","[class._mat-animation-noopable]":"_animationMode === \"NoopAnimations\"","$quoted$":["class","[class.mat-pseudo-checkbox-indeterminate]","[class.mat-pseudo-checkbox-checked]","[class.mat-pseudo-checkbox-disabled]","[class._mat-animation-noopable]"]},"styles":[".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"]}]}],"members":{"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":58,"character":34}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]}}},"origins":{"VERSION":"./version","AnimationCurves":"./animation/animation","AnimationDurations":"./animation/animation","ɵangular_material_src_material_core_core_a":"./common-behaviors/common-module","MatCommonModule":"./common-behaviors/common-module","MATERIAL_SANITY_CHECKS":"./common-behaviors/common-module","SanityChecks":"./common-behaviors/common-module","GranularSanityChecks":"./common-behaviors/common-module","CanDisable":"./common-behaviors/disabled","CanDisableCtor":"./common-behaviors/disabled","mixinDisabled":"./common-behaviors/disabled","CanColor":"./common-behaviors/color","CanColorCtor":"./common-behaviors/color","mixinColor":"./common-behaviors/color","ThemePalette":"./common-behaviors/color","CanDisableRipple":"./common-behaviors/disable-ripple","CanDisableRippleCtor":"./common-behaviors/disable-ripple","mixinDisableRipple":"./common-behaviors/disable-ripple","HasTabIndex":"./common-behaviors/tabindex","HasTabIndexCtor":"./common-behaviors/tabindex","mixinTabIndex":"./common-behaviors/tabindex","CanUpdateErrorState":"./common-behaviors/error-state","CanUpdateErrorStateCtor":"./common-behaviors/error-state","mixinErrorState":"./common-behaviors/error-state","HasInitialized":"./common-behaviors/initialized","HasInitializedCtor":"./common-behaviors/initialized","mixinInitialized":"./common-behaviors/initialized","NativeDateModule":"./datetime/index","MatNativeDateModule":"./datetime/index","MAT_DATE_LOCALE":"./datetime/date-adapter","MAT_DATE_LOCALE_FACTORY":"./datetime/date-adapter","DateAdapter":"./datetime/date-adapter","MatDateFormats":"./datetime/date-formats","MAT_DATE_FORMATS":"./datetime/date-formats","NativeDateAdapter":"./datetime/native-date-adapter","MAT_NATIVE_DATE_FORMATS":"./datetime/native-date-formats","ShowOnDirtyErrorStateMatcher":"./error/error-options","ErrorStateMatcher":"./error/error-options","MatLine":"./line/line","setLines":"./line/line","MatLineModule":"./line/line","MatOptionModule":"./option/index","MatOptionSelectionChange":"./option/option","_MatOptionBase":"./option/option","MatOption":"./option/option","_countGroupLabelsBeforeOption":"./option/option","_getOptionScrollPosition":"./option/option","_MatOptgroupBase":"./option/optgroup","MAT_OPTGROUP":"./option/optgroup","MatOptgroup":"./option/optgroup","MatOptionParentComponent":"./option/option-parent","MAT_OPTION_PARENT_COMPONENT":"./option/option-parent","MatRippleModule":"./ripple/index","RippleGlobalOptions":"./ripple/ripple","MAT_RIPPLE_GLOBAL_OPTIONS":"./ripple/ripple","MatRipple":"./ripple/ripple","RippleState":"./ripple/ripple-ref","RippleConfig":"./ripple/ripple-ref","RippleAnimationConfig":"./ripple/ripple-ref","RippleRef":"./ripple/ripple-ref","RippleTarget":"./ripple/ripple-renderer","defaultRippleAnimationConfig":"./ripple/ripple-renderer","RippleRenderer":"./ripple/ripple-renderer","MatPseudoCheckboxModule":"./selection/index","MatPseudoCheckboxState":"./selection/pseudo-checkbox/pseudo-checkbox","MatPseudoCheckbox":"./selection/pseudo-checkbox/pseudo-checkbox"},"importAs":"@angular/material/core"}
1
+ {"__symbolic":"module","version":4,"metadata":{"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":11,"character":27},"arguments":["12.2.1"]},"AnimationCurves":{"__symbolic":"class","members":{},"statics":{"STANDARD_CURVE":"cubic-bezier(0.4,0.0,0.2,1)","DECELERATION_CURVE":"cubic-bezier(0.0,0.0,0.2,1)","ACCELERATION_CURVE":"cubic-bezier(0.4,0.0,1,1)","SHARP_CURVE":"cubic-bezier(0.4,0.0,0.6,1)"}},"AnimationDurations":{"__symbolic":"class","members":{},"statics":{"COMPLEX":"375ms","ENTERING":"225ms","EXITING":"195ms"}},"ɵangular_material_src_material_core_core_a":{"__symbolic":"function","parameters":[],"value":true},"MatCommonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":50,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":51,"character":12}],"exports":[{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"BidiModule","line":52,"character":12}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":66,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":66,"character":19},"arguments":[{"__symbolic":"reference","name":"MATERIAL_SANITY_CHECKS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":67,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":67,"character":14}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"HighContrastModeDetector","line":65,"character":32},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"}]}],"_getWindow":[{"__symbolic":"method"}],"_checkIsEnabled":[{"__symbolic":"method"}],"_isTestEnv":[{"__symbolic":"method"}],"_checkDoctypeIsDefined":[{"__symbolic":"method"}],"_checkThemeIsPresent":[{"__symbolic":"method"}],"_checkCdkVersionMatch":[{"__symbolic":"method"}]}},"MATERIAL_SANITY_CHECKS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":26,"character":42},"arguments":["mat-sanity-checks",{"providedIn":"root","factory":{"__symbolic":"reference","name":"ɵangular_material_src_material_core_core_a"}}]},"SanityChecks":{"__symbolic":"interface"},"GranularSanityChecks":{"__symbolic":"interface"},"CanDisable":{"__symbolic":"interface"},"CanDisableCtor":{"__symbolic":"interface"},"mixinDisabled":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"CanColor":{"__symbolic":"interface"},"CanColorCtor":{"__symbolic":"interface"},"mixinColor":{"__symbolic":"function","parameters":["base","defaultColor"],"value":{"__symbolic":"class"}},"ThemePalette":{"__symbolic":"interface"},"CanDisableRipple":{"__symbolic":"interface"},"CanDisableRippleCtor":{"__symbolic":"interface"},"mixinDisableRipple":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"HasTabIndex":{"__symbolic":"interface"},"HasTabIndexCtor":{"__symbolic":"interface"},"mixinTabIndex":{"__symbolic":"function","parameters":["base","defaultTabIndex"],"defaults":[null,0],"value":{"__symbolic":"class"}},"CanUpdateErrorState":{"__symbolic":"interface"},"CanUpdateErrorStateCtor":{"__symbolic":"interface"},"mixinErrorState":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"HasInitialized":{"__symbolic":"interface"},"HasInitializedCtor":{"__symbolic":"interface"},"mixinInitialized":{"__symbolic":"function","parameters":["base"],"value":{"__symbolic":"class"}},"NativeDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":22,"character":12}],"providers":[{"provide":{"__symbolic":"reference","name":"DateAdapter"},"useClass":{"__symbolic":"reference","name":"NativeDateAdapter"}}]}]}],"members":{}},"MatNativeDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"NativeDateModule"}],"providers":[{"provide":{"__symbolic":"reference","name":"MAT_DATE_FORMATS"},"useValue":{"__symbolic":"reference","name":"MAT_NATIVE_DATE_FORMATS"}}]}]}],"members":{}},"MAT_DATE_LOCALE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":35},"arguments":["MAT_DATE_LOCALE",{"providedIn":"root","factory":{"__symbolic":"reference","name":"MAT_DATE_LOCALE_FACTORY"}}]},"MAT_DATE_LOCALE_FACTORY":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"inject","line":19,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":19,"character":16}]}},"DateAdapter":{"__symbolic":"class","arity":1,"members":{"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"getValidDateOrNull":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"setLocale":[{"__symbolic":"method"}],"compareDate":[{"__symbolic":"method"}],"sameDate":[{"__symbolic":"method"}],"clampDate":[{"__symbolic":"method"}]}},"MatDateFormats":{"__symbolic":"interface"},"MAT_DATE_FORMATS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":36},"arguments":["mat-date-formats"]},"NativeDateAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DateAdapter"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":69,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":27},"arguments":[{"__symbolic":"reference","name":"MAT_DATE_LOCALE"}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":87,"character":84}]}],"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"_createDateWithOverflow":[{"__symbolic":"method"}],"_2digit":[{"__symbolic":"method"}],"_stripDirectionalityCharacters":[{"__symbolic":"method"}],"_format":[{"__symbolic":"method"}]}},"MAT_NATIVE_DATE_FORMATS":{"parse":{"dateInput":null},"display":{"dateInput":{"year":"numeric","month":"numeric","day":"numeric"},"monthYearLabel":{"year":"numeric","month":"short"},"dateA11yLabel":{"year":"numeric","month":"long","day":"numeric"},"monthYearA11yLabel":{"year":"numeric","month":"long"}}},"ShowOnDirtyErrorStateMatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"isErrorState":[{"__symbolic":"method"}]}},"ErrorStateMatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"isErrorState":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"MatLine":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"[mat-line], [matLine]","host":{"class":"mat-line","$quoted$":["class"]}}]}],"members":{}},"setLines":{"__symbolic":"function"},"MatLineModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":56,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"}],"exports":[{"__symbolic":"reference","name":"MatLine"},{"__symbolic":"reference","name":"MatCommonModule"}],"declarations":[{"__symbolic":"reference","name":"MatLine"}]}]}],"members":{}},"MatOptionModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatRippleModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":29},{"__symbolic":"reference","name":"MatCommonModule"},{"__symbolic":"reference","name":"MatPseudoCheckboxModule"}],"exports":[{"__symbolic":"reference","name":"MatOption"},{"__symbolic":"reference","name":"MatOptgroup"}],"declarations":[{"__symbolic":"reference","name":"MatOption"},{"__symbolic":"reference","name":"MatOptgroup"}]}]}],"members":{}},"MatOptionSelectionChange":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"_MatOptionBase"},null]}]}},"_MatOptionBase":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":46,"character":1}}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"onSelectionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":260,"character":24,"context":{"typeName":"HTMLElement"},"module":"./option/option"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":32},{"__symbolic":"reference","name":"MatOptionParentComponent"},{"__symbolic":"reference","name":"_MatOptgroupBase"}]}],"select":[{"__symbolic":"method"}],"deselect":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"setActiveStyles":[{"__symbolic":"method"}],"setInactiveStyles":[{"__symbolic":"method"}],"getLabel":[{"__symbolic":"method"}],"_handleKeydown":[{"__symbolic":"method"}],"_selectViaInteraction":[{"__symbolic":"method"}],"_getAriaSelected":[{"__symbolic":"method"}],"_getTabIndex":[{"__symbolic":"method"}],"_getHostElement":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_emitSelectionChangeEvent":[{"__symbolic":"method"}]}},"MatOption":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"_MatOptionBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":236,"character":1},"arguments":[{"selector":"mat-option","exportAs":"matOption","host":{"role":"option","[attr.tabindex]":"_getTabIndex()","[class.mat-selected]":"selected","[class.mat-option-multiple]":"multiple","[class.mat-active]":"active","[id]":"id","[attr.aria-selected]":"_getAriaSelected()","[attr.aria-disabled]":"disabled.toString()","[class.mat-option-disabled]":"disabled","(click)":"_selectViaInteraction()","(keydown)":"_handleKeydown($event)","class":"mat-option mat-focus-indicator","$quoted$":["role","[attr.tabindex]","[class.mat-selected]","[class.mat-option-multiple]","[class.mat-active]","[id]","[attr.aria-selected]","[attr.aria-disabled]","[class.mat-option-disabled]","(click)","(keydown)","class"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":255,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":256,"character":19},"member":"OnPush"},"template":"<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n","styles":[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":262,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":262,"character":17},"arguments":[{"__symbolic":"reference","name":"MAT_OPTION_PARENT_COMPONENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":263,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":263,"character":17},"arguments":[{"__symbolic":"reference","name":"MAT_OPTGROUP"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":260,"character":24,"context":{"typeName":"HTMLElement"},"module":"./option/option"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":32},{"__symbolic":"reference","name":"MatOptionParentComponent"},{"__symbolic":"reference","name":"MatOptgroup"}]}]}},"_countGroupLabelsBeforeOption":{"__symbolic":"function"},"_getOptionScrollPosition":{"__symbolic":"function"},"_MatOptgroupBase":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":48,"character":38,"module":"./option/optgroup"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":47,"character":1}}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":15},"arguments":[{"__symbolic":"reference","name":"MAT_OPTION_PARENT_COMPONENT"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":52}}]],"parameters":[{"__symbolic":"reference","name":"MatOptionParentComponent"}]}]}},"MAT_OPTGROUP":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":71,"character":32},"arguments":["MatOptgroup"]},"MatOptgroup":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"_MatOptgroupBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":76,"character":1},"arguments":[{"selector":"mat-optgroup","exportAs":"matOptgroup","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":80,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":81,"character":19},"member":"OnPush"},"inputs":["disabled"],"host":{"class":"mat-optgroup","[attr.role]":"_inert ? null : \"group\"","[attr.aria-disabled]":"_inert ? null : disabled.toString()","[attr.aria-labelledby]":"_inert ? null : _labelId","[class.mat-optgroup-disabled]":"disabled","$quoted$":["class","[attr.role]","[attr.aria-disabled]","[attr.aria-labelledby]","[class.mat-optgroup-disabled]"]},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_OPTGROUP"},"useExisting":{"__symbolic":"reference","name":"MatOptgroup"}}],"template":"<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n","styles":[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"]}]}],"members":{}},"MatOptionParentComponent":{"__symbolic":"interface"},"MAT_OPTION_PARENT_COMPONENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":8},"arguments":["MAT_OPTION_PARENT_COMPONENT"]},"MatRippleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":18,"character":29}],"exports":[{"__symbolic":"reference","name":"MatRipple"},{"__symbolic":"reference","name":"MatCommonModule"}],"declarations":[{"__symbolic":"reference","name":"MatRipple"}]}]}],"members":{}},"RippleGlobalOptions":{"__symbolic":"interface"},"MAT_RIPPLE_GLOBAL_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":48,"character":8},"arguments":["mat-ripple-global-options"]},"MatRipple":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":50,"character":1},"arguments":[{"selector":"[mat-ripple], [matRipple]","exportAs":"matRipple","host":{"class":"mat-ripple","[class.mat-ripple-unbounded]":"unbounded","$quoted$":["class","[class.mat-ripple-unbounded]"]}}]}],"members":{"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["matRippleColor"]}]}],"unbounded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3},"arguments":["matRippleUnbounded"]}]}],"centered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["matRippleCentered"]}]}],"radius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3},"arguments":["matRippleRadius"]}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3},"arguments":["matRippleAnimation"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3},"arguments":["matRippleDisabled"]}]}],"trigger":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3},"arguments":["matRippleTrigger"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":125,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":125,"character":27},"arguments":[{"__symbolic":"reference","name":"MAT_RIPPLE_GLOBAL_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":126,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":126,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":126,"character":34}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":122,"character":46,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":123,"character":22},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":124,"character":24},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"fadeOutAll":[{"__symbolic":"method"}],"fadeOutAllNonPersistent":[{"__symbolic":"method"}],"_setupTriggerEventsIfEnabled":[{"__symbolic":"method"}],"launch":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}]}},"RippleState":{"FADING_IN":0,"VISIBLE":1,"FADING_OUT":2,"HIDDEN":3},"RippleConfig":{"__symbolic":"interface"},"RippleAnimationConfig":{"__symbolic":"interface"},"RippleRef":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":42,"character":23,"module":"./ripple/ripple-ref"},{"__symbolic":"error","message":"Could not resolve type","line":44,"character":20,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple-ref"},{"__symbolic":"error","message":"Could not resolve type","line":46,"character":19,"context":{"typeName":"RippleConfig"},"module":"./ripple/ripple-ref"}]}],"fadeOut":[{"__symbolic":"method"}]}},"RippleTarget":{"__symbolic":"interface"},"defaultRippleAnimationConfig":{"enterDuration":225,"exitDuration":150},"RippleRenderer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":87,"character":31},{"__symbolic":"error","message":"Could not resolve type","line":88,"character":35,"context":{"typeName":"HTMLElement"},"module":"./ripple/ripple-renderer"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":89,"character":24}]}],"fadeInRipple":[{"__symbolic":"method"}],"fadeOutRipple":[{"__symbolic":"method"}],"fadeOutAll":[{"__symbolic":"method"}],"fadeOutAllNonPersistent":[{"__symbolic":"method"}],"setupTriggerEvents":[{"__symbolic":"method"}],"handleEvent":[{"__symbolic":"method"}],"_onMousedown":[{"__symbolic":"method"}],"_onTouchStart":[{"__symbolic":"method"}],"_onPointerUp":[{"__symbolic":"method"}],"_runTimeoutOutsideZone":[{"__symbolic":"method"}],"_registerEvents":[{"__symbolic":"method"}],"_removeTriggerEvents":[{"__symbolic":"method"}]}},"MatPseudoCheckboxModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"MatCommonModule"}],"exports":[{"__symbolic":"reference","name":"MatPseudoCheckbox"}],"declarations":[{"__symbolic":"reference","name":"MatPseudoCheckbox"}]}]}],"members":{}},"MatPseudoCheckboxState":{"__symbolic":"interface"},"MatPseudoCheckbox":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":38,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":19},"member":"OnPush"},"selector":"mat-pseudo-checkbox","template":"","host":{"class":"mat-pseudo-checkbox","[class.mat-pseudo-checkbox-indeterminate]":"state === \"indeterminate\"","[class.mat-pseudo-checkbox-checked]":"state === \"checked\"","[class.mat-pseudo-checkbox-disabled]":"disabled","[class._mat-animation-noopable]":"_animationMode === \"NoopAnimations\"","$quoted$":["class","[class.mat-pseudo-checkbox-indeterminate]","[class.mat-pseudo-checkbox-checked]","[class.mat-pseudo-checkbox-disabled]","[class._mat-animation-noopable]"]},"styles":[".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"]}]}],"members":{"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":27},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":58,"character":34}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]}}},"origins":{"VERSION":"./version","AnimationCurves":"./animation/animation","AnimationDurations":"./animation/animation","ɵangular_material_src_material_core_core_a":"./common-behaviors/common-module","MatCommonModule":"./common-behaviors/common-module","MATERIAL_SANITY_CHECKS":"./common-behaviors/common-module","SanityChecks":"./common-behaviors/common-module","GranularSanityChecks":"./common-behaviors/common-module","CanDisable":"./common-behaviors/disabled","CanDisableCtor":"./common-behaviors/disabled","mixinDisabled":"./common-behaviors/disabled","CanColor":"./common-behaviors/color","CanColorCtor":"./common-behaviors/color","mixinColor":"./common-behaviors/color","ThemePalette":"./common-behaviors/color","CanDisableRipple":"./common-behaviors/disable-ripple","CanDisableRippleCtor":"./common-behaviors/disable-ripple","mixinDisableRipple":"./common-behaviors/disable-ripple","HasTabIndex":"./common-behaviors/tabindex","HasTabIndexCtor":"./common-behaviors/tabindex","mixinTabIndex":"./common-behaviors/tabindex","CanUpdateErrorState":"./common-behaviors/error-state","CanUpdateErrorStateCtor":"./common-behaviors/error-state","mixinErrorState":"./common-behaviors/error-state","HasInitialized":"./common-behaviors/initialized","HasInitializedCtor":"./common-behaviors/initialized","mixinInitialized":"./common-behaviors/initialized","NativeDateModule":"./datetime/index","MatNativeDateModule":"./datetime/index","MAT_DATE_LOCALE":"./datetime/date-adapter","MAT_DATE_LOCALE_FACTORY":"./datetime/date-adapter","DateAdapter":"./datetime/date-adapter","MatDateFormats":"./datetime/date-formats","MAT_DATE_FORMATS":"./datetime/date-formats","NativeDateAdapter":"./datetime/native-date-adapter","MAT_NATIVE_DATE_FORMATS":"./datetime/native-date-formats","ShowOnDirtyErrorStateMatcher":"./error/error-options","ErrorStateMatcher":"./error/error-options","MatLine":"./line/line","setLines":"./line/line","MatLineModule":"./line/line","MatOptionModule":"./option/index","MatOptionSelectionChange":"./option/option","_MatOptionBase":"./option/option","MatOption":"./option/option","_countGroupLabelsBeforeOption":"./option/option","_getOptionScrollPosition":"./option/option","_MatOptgroupBase":"./option/optgroup","MAT_OPTGROUP":"./option/optgroup","MatOptgroup":"./option/optgroup","MatOptionParentComponent":"./option/option-parent","MAT_OPTION_PARENT_COMPONENT":"./option/option-parent","MatRippleModule":"./ripple/index","RippleGlobalOptions":"./ripple/ripple","MAT_RIPPLE_GLOBAL_OPTIONS":"./ripple/ripple","MatRipple":"./ripple/ripple","RippleState":"./ripple/ripple-ref","RippleConfig":"./ripple/ripple-ref","RippleAnimationConfig":"./ripple/ripple-ref","RippleRef":"./ripple/ripple-ref","RippleTarget":"./ripple/ripple-renderer","defaultRippleAnimationConfig":"./ripple/ripple-renderer","RippleRenderer":"./ripple/ripple-renderer","MatPseudoCheckboxModule":"./selection/index","MatPseudoCheckboxState":"./selection/pseudo-checkbox/pseudo-checkbox","MatPseudoCheckbox":"./selection/pseudo-checkbox/pseudo-checkbox"},"importAs":"@angular/material/core"}
@@ -1,4 +1,4 @@
1
- @use './private';
1
+ @use '../../../cdk/a11y';
2
2
  @use './list-common';
3
3
  @use './layout-common';
4
4
 
@@ -58,36 +58,34 @@ $icon-margin: 16px !default;
58
58
  }
59
59
  }
60
60
 
61
- @mixin item-submenu-trigger($side-padding, $triangle-height: 10px) {
61
+ @mixin item-submenu-trigger($side-padding) {
62
62
  // Increase the side padding to prevent the indicator from overlapping the text.
63
63
  padding-right: $side-padding * 2;
64
64
 
65
- // Renders a triangle to indicate that the menu item will open a sub-menu.
66
- &::after {
67
- $size: private.private-div($triangle-height, 2);
68
-
69
- width: 0;
70
- height: 0;
71
- border-style: solid;
72
- border-width: $size 0 $size $size;
73
- border-color: transparent transparent transparent currentColor;
74
- content: '';
75
- display: inline-block;
76
- position: absolute;
77
- top: 50%;
78
- right: $side-padding;
79
- transform: translateY(-50%);
80
- }
81
-
82
65
  [dir='rtl'] & {
83
66
  padding-right: $side-padding;
84
67
  padding-left: $side-padding * 2;
68
+ }
69
+ }
85
70
 
86
- &::after {
87
- right: auto;
88
- left: $side-padding;
89
- transform: rotateY(180deg) translateY(-50%);
90
- }
71
+ @mixin item-submenu-icon($side-padding) {
72
+ position: absolute;
73
+ top: 50%;
74
+ right: $side-padding;
75
+ transform: translateY(-50%);
76
+ width: 5px;
77
+ height: 10px;
78
+ fill: currentColor;
79
+
80
+ [dir='rtl'] & {
81
+ right: auto;
82
+ left: $side-padding;
83
+ transform: translateY(-50%) scaleX(-1);
84
+ }
85
+
86
+ // Fix for Chromium-based browsers blending in the `currentColor` with the background.
87
+ @include a11y.high-contrast(active, off) {
88
+ fill: CanvasText;
91
89
  }
92
90
  }
93
91
 
@@ -77,7 +77,9 @@ $_emitted-density: () !default;
77
77
  @return get-color-from-palette($palette, default, $hue);
78
78
  }
79
79
 
80
- $color: map.get($palette, $hue);
80
+ // We cast the $hue to a string, because some hues starting with a number, like `700-contrast`,
81
+ // might be inferred as numbers by Sass. Casting them to string fixes the map lookup.
82
+ $color: if(map.has-key($palette, $hue), map.get($palette, $hue), map.get($palette, $hue + ''));
81
83
 
82
84
  @if (meta.type-of($color) != color) {
83
85
  // If the $color resolved to something different from a color (e.g. a CSS variable),
@@ -35,5 +35,5 @@
35
35
  ) {
36
36
  @return typography.define-typography-config($font-family, $display-4, $display-3, $display-2,
37
37
  $display-1, $headline, $title, $subheading-2, $subheading-1, $body-2,
38
- $body-1, $caption, $button);
38
+ $body-1, $caption, $button, $input);
39
39
  }
@@ -1,5 +1,6 @@
1
1
  @use 'sass:list';
2
2
  @use 'sass:map';
3
+ @use 'sass:math';
3
4
  @use 'sass:meta';
4
5
  @use 'sass:string';
5
6
  @use '../style/private';
@@ -96,3 +97,9 @@
96
97
  @include font-shorthand($font-size, $font-weight, $line-height, $font-family);
97
98
  letter-spacing: letter-spacing($config, $level);
98
99
  }
100
+
101
+ /// Coerce a value to `em` if it is a unitless number, otherwise returns
102
+ /// the value provided.
103
+ @function private-coerce-unitless-to-em($value) {
104
+ @return if(math.is-unitless($value), 1em * $value, $value);
105
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { HarnessPredicate, ComponentHarness } from '@angular/cdk/testing';
9
+ /** Harness for interacting with a standard Material chip avatar in tests. */
10
+ export class MatChipAvatarHarness extends ComponentHarness {
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a `MatChipAvatarHarness` that meets
13
+ * certain criteria.
14
+ * @param options Options for filtering which input instances are considered a match.
15
+ * @return a `HarnessPredicate` configured with the given options.
16
+ */
17
+ static with(options = {}) {
18
+ return new HarnessPredicate(MatChipAvatarHarness, options);
19
+ }
20
+ }
21
+ MatChipAvatarHarness.hostSelector = '.mat-chip-avatar';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1hdmF0YXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9jaGlwcy90ZXN0aW5nL2NoaXAtYXZhdGFyLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHeEUsNkVBQTZFO0FBQzdFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFHeEQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQW9DLEVBQUU7UUFDaEQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7O0FBVk0saUNBQVksR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0hhcm5lc3NQcmVkaWNhdGUsIENvbXBvbmVudEhhcm5lc3N9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7Q2hpcEF2YXRhckhhcm5lc3NGaWx0ZXJzfSBmcm9tICcuL2NoaXAtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBzdGFuZGFyZCBNYXRlcmlhbCBjaGlwIGF2YXRhciBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjbGFzcyBNYXRDaGlwQXZhdGFySGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5tYXQtY2hpcC1hdmF0YXInO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBNYXRDaGlwQXZhdGFySGFybmVzc2AgdGhhdCBtZWV0c1xuICAgKiBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIHdpdGgob3B0aW9uczogQ2hpcEF2YXRhckhhcm5lc3NGaWx0ZXJzID0ge30pOiBIYXJuZXNzUHJlZGljYXRlPE1hdENoaXBBdmF0YXJIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKE1hdENoaXBBdmF0YXJIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvY2hpcHMvdGVzdGluZy9jaGlwLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0Jhc2VIYXJuZXNzRmlsdGVyc30gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGNoaXAgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge1xuICAvKiogT25seSBmaW5kIGluc3RhbmNlcyB3aG9zZSB0ZXh0IG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICB0ZXh0Pzogc3RyaW5nIHwgUmVnRXhwO1xuICAvKipcbiAgICogT25seSBmaW5kIGNoaXAgaW5zdGFuY2VzIHdob3NlIHNlbGVjdGVkIHN0YXRlIG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdENoaXBPcHRpb25IYXJuZXNzYCB0b2dldGhlciB3aXRoIGBDaGlwT3B0aW9uSGFybmVzc0ZpbHRlcnNgLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIHNlbGVjdGFibGUgY2hpcCBpbnN0YW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENoaXBPcHRpb25IYXJuZXNzRmlsdGVycyBleHRlbmRzIENoaXBIYXJuZXNzRmlsdGVycyB7XG4gIC8qKiBPbmx5IGZpbmQgY2hpcCBpbnN0YW5jZXMgd2hvc2Ugc2VsZWN0ZWQgc3RhdGUgbWF0Y2hlcyB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGNoaXAgbGlzdCBpbnN0YW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENoaXBMaXN0SGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIHNlbGVjdGFibGUgY2hpcCBsaXN0IGluc3RhbmNlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpcExpc3Rib3hIYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7fVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBNYXRDaGlwTGlzdElucHV0SGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwSW5wdXRIYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIC8qKiBGaWx0ZXJzIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQuICovXG4gIHZhbHVlPzogc3RyaW5nIHwgUmVnRXhwO1xuICAvKiogRmlsdGVycyBiYXNlZCBvbiB0aGUgcGxhY2Vob2xkZXIgdGV4dCBvZiB0aGUgaW5wdXQuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nIHwgUmVnRXhwO1xufVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBNYXRDaGlwUmVtb3ZlSGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwUmVtb3ZlSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvY2hpcHMvdGVzdGluZy9jaGlwLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0Jhc2VIYXJuZXNzRmlsdGVyc30gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGNoaXAgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge1xuICAvKiogT25seSBmaW5kIGluc3RhbmNlcyB3aG9zZSB0ZXh0IG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICB0ZXh0Pzogc3RyaW5nIHwgUmVnRXhwO1xuICAvKipcbiAgICogT25seSBmaW5kIGNoaXAgaW5zdGFuY2VzIHdob3NlIHNlbGVjdGVkIHN0YXRlIG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdENoaXBPcHRpb25IYXJuZXNzYCB0b2dldGhlciB3aXRoIGBDaGlwT3B0aW9uSGFybmVzc0ZpbHRlcnNgLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIHNlbGVjdGFibGUgY2hpcCBpbnN0YW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENoaXBPcHRpb25IYXJuZXNzRmlsdGVycyBleHRlbmRzIENoaXBIYXJuZXNzRmlsdGVycyB7XG4gIC8qKiBPbmx5IGZpbmQgY2hpcCBpbnN0YW5jZXMgd2hvc2Ugc2VsZWN0ZWQgc3RhdGUgbWF0Y2hlcyB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGNoaXAgbGlzdCBpbnN0YW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENoaXBMaXN0SGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIHNlbGVjdGFibGUgY2hpcCBsaXN0IGluc3RhbmNlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpcExpc3Rib3hIYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7fVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBNYXRDaGlwTGlzdElucHV0SGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwSW5wdXRIYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIC8qKiBGaWx0ZXJzIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQuICovXG4gIHZhbHVlPzogc3RyaW5nIHwgUmVnRXhwO1xuICAvKiogRmlsdGVycyBiYXNlZCBvbiB0aGUgcGxhY2Vob2xkZXIgdGV4dCBvZiB0aGUgaW5wdXQuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nIHwgUmVnRXhwO1xufVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBNYXRDaGlwUmVtb3ZlSGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlwUmVtb3ZlSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgTWF0Q2hpcEF2YXRhckhhcm5lc3NgIGluc3RhbmNlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpcEF2YXRhckhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgQmFzZUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -6,10 +6,11 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { __awaiter } from "tslib";
9
- import { ComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testing';
9
+ import { ContentContainerComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testing';
10
+ import { MatChipAvatarHarness } from './chip-avatar-harness';
10
11
  import { MatChipRemoveHarness } from './chip-remove-harness';
11
12
  /** Harness for interacting with a standard selectable Angular Material chip in tests. */
12
- export class MatChipHarness extends ComponentHarness {
13
+ export class MatChipHarness extends ContentContainerComponentHarness {
13
14
  /**
14
15
  * Gets a `HarnessPredicate` that can be used to search for a `MatChipHarness` that meets
15
16
  * certain criteria.
@@ -87,14 +88,23 @@ export class MatChipHarness extends ComponentHarness {
87
88
  }
88
89
  /**
89
90
  * Gets the remove button inside of a chip.
90
- * @param filter Optionally filters which chips are included.
91
+ * @param filter Optionally filters which remove buttons are included.
91
92
  */
92
93
  getRemoveButton(filter = {}) {
93
94
  return __awaiter(this, void 0, void 0, function* () {
94
95
  return this.locatorFor(MatChipRemoveHarness.with(filter))();
95
96
  });
96
97
  }
98
+ /**
99
+ * Gets the avatar inside a chip.
100
+ * @param filter Optionally filters which avatars are included.
101
+ */
102
+ getAvatar(filter = {}) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ return this.locatorForOptional(MatChipAvatarHarness.with(filter))();
105
+ });
106
+ }
97
107
  }
98
108
  /** The selector for the host element of a `MatChip` instance. */
99
109
  MatChipHarness.hostSelector = '.mat-chip';
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2NoaXBzL3Rlc3RpbmcvY2hpcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFakYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QseUZBQXlGO0FBQ3pGLE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBSWxEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUE4QixFQUFFO1FBQzFDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFDM0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2hGLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFDbkMsQ0FBTyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsZ0RBQUMsT0FBQSxDQUFDLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFBLEdBQUEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxpQ0FBaUM7SUFDM0IsT0FBTzs7WUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLE9BQU8sRUFBRSxzREFBc0Q7YUFDaEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNHLFVBQVU7O1lBQ2QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUQsb0NBQW9DO0lBQzlCLFVBQVU7O1lBQ2QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNHLE1BQU07O1lBQ1YsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7OztPQUlHO0lBQ0csUUFBUTs7WUFDWixJQUFJLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUM7S0FBQTtJQUVEOzs7O09BSUc7SUFDRyxNQUFNOztZQUNWLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxDQUFDO0tBQUE7SUFFRCw4REFBOEQ7SUFDeEQsTUFBTTs7WUFDVixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELENBQUM7S0FBQTtJQUVEOzs7T0FHRztJQUNHLGVBQWUsQ0FBQyxTQUFtQyxFQUFFOztZQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxDQUFDO0tBQUE7O0FBaEZELGlFQUFpRTtBQUMxRCwyQkFBWSxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUsIFRlc3RLZXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7Q2hpcEhhcm5lc3NGaWx0ZXJzLCBDaGlwUmVtb3ZlSGFybmVzc0ZpbHRlcnN9IGZyb20gJy4vY2hpcC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHtNYXRDaGlwUmVtb3ZlSGFybmVzc30gZnJvbSAnLi9jaGlwLXJlbW92ZS1oYXJuZXNzJztcblxuLyoqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBzdGFuZGFyZCBzZWxlY3RhYmxlIEFuZ3VsYXIgTWF0ZXJpYWwgY2hpcCBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjbGFzcyBNYXRDaGlwSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKiogVGhlIHNlbGVjdG9yIGZvciB0aGUgaG9zdCBlbGVtZW50IG9mIGEgYE1hdENoaXBgIGluc3RhbmNlLiAqL1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5tYXQtY2hpcCc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGEgYE1hdENoaXBIYXJuZXNzYCB0aGF0IG1lZXRzXG4gICAqIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGZpbHRlcmluZyB3aGljaCBjaGlwIGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHN0YXRpYyB3aXRoKG9wdGlvbnM6IENoaXBIYXJuZXNzRmlsdGVycyA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxNYXRDaGlwSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShNYXRDaGlwSGFybmVzcywgb3B0aW9ucylcbiAgICAgICAgLmFkZE9wdGlvbigndGV4dCcsIG9wdGlvbnMudGV4dCxcbiAgICAgICAgICAgIChoYXJuZXNzLCBsYWJlbCkgPT4gSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0VGV4dCgpLCBsYWJlbCkpXG4gICAgICAgIC5hZGRPcHRpb24oJ3NlbGVjdGVkJywgb3B0aW9ucy5zZWxlY3RlZCxcbiAgICAgICAgICAgIGFzeW5jIChoYXJuZXNzLCBzZWxlY3RlZCkgPT4gKGF3YWl0IGhhcm5lc3MuaXNTZWxlY3RlZCgpKSA9PT0gc2VsZWN0ZWQpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIHRleHQgb2YgdGhlIGNoaXAuICovXG4gIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KHtcbiAgICAgIGV4Y2x1ZGU6ICcubWF0LWNoaXAtYXZhdGFyLCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbiwgLm1hdC1pY29uJ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoaXAgaXMgc2VsZWN0ZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0Q2hpcE9wdGlvbkhhcm5lc3MuaXNTZWxlY3RlZGAgaW5zdGVhZC5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxMi4wLjBcbiAgICovXG4gIGFzeW5jIGlzU2VsZWN0ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ21hdC1jaGlwLXNlbGVjdGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY2hpcCBpcyBkaXNhYmxlZC4gKi9cbiAgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5oYXNDbGFzcygnbWF0LWNoaXAtZGlzYWJsZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBnaXZlbiBjaGlwLiBPbmx5IGFwcGxpZXMgaWYgaXQncyBzZWxlY3RhYmxlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdENoaXBPcHRpb25IYXJuZXNzLnNlbGVjdGAgaW5zdGVhZC5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxMi4wLjBcbiAgICovXG4gIGFzeW5jIHNlbGVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzU2VsZWN0ZWQoKSkpIHtcbiAgICAgIGF3YWl0IHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyB0aGUgZ2l2ZW4gY2hpcC4gT25seSBhcHBsaWVzIGlmIGl0J3Mgc2VsZWN0YWJsZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNYXRDaGlwT3B0aW9uSGFybmVzcy5kZXNlbGVjdGAgaW5zdGVhZC5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxMi4wLjBcbiAgICovXG4gIGFzeW5jIGRlc2VsZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgYXdhaXQgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgc2VsZWN0ZWQgc3RhdGUgb2YgdGhlIGdpdmVuIGNoaXAuIE9ubHkgYXBwbGllcyBpZiBpdCdzIHNlbGVjdGFibGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0Q2hpcE9wdGlvbkhhcm5lc3MudG9nZ2xlYCBpbnN0ZWFkLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgYXN5bmMgdG9nZ2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnNlbmRLZXlzKCcgJyk7XG4gIH1cblxuICAvKiogUmVtb3ZlcyB0aGUgZ2l2ZW4gY2hpcC4gT25seSBhcHBsaWVzIGlmIGl0J3MgcmVtb3ZhYmxlLiAqL1xuICBhc3luYyByZW1vdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5zZW5kS2V5cyhUZXN0S2V5LkRFTEVURSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmVtb3ZlIGJ1dHRvbiBpbnNpZGUgb2YgYSBjaGlwLlxuICAgKiBAcGFyYW0gZmlsdGVyIE9wdGlvbmFsbHkgZmlsdGVycyB3aGljaCBjaGlwcyBhcmUgaW5jbHVkZWQuXG4gICAqL1xuICBhc3luYyBnZXRSZW1vdmVCdXR0b24oZmlsdGVyOiBDaGlwUmVtb3ZlSGFybmVzc0ZpbHRlcnMgPSB7fSk6IFByb21pc2U8TWF0Q2hpcFJlbW92ZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdG9yRm9yKE1hdENoaXBSZW1vdmVIYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2NoaXBzL3Rlc3RpbmcvY2hpcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFNM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QseUZBQXlGO0FBQ3pGLE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0NBQWdDO0lBSWxFOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUE4QixFQUFFO1FBQzFDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFDM0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2hGLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFDbkMsQ0FBTyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsZ0RBQUMsT0FBQSxDQUFDLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFBLEdBQUEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxpQ0FBaUM7SUFDM0IsT0FBTzs7WUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLE9BQU8sRUFBRSxzREFBc0Q7YUFDaEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNHLFVBQVU7O1lBQ2QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUQsb0NBQW9DO0lBQzlCLFVBQVU7O1lBQ2QsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNHLE1BQU07O1lBQ1YsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7OztPQUlHO0lBQ0csUUFBUTs7WUFDWixJQUFJLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUM7S0FBQTtJQUVEOzs7O09BSUc7SUFDRyxNQUFNOztZQUNWLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxDQUFDO0tBQUE7SUFFRCw4REFBOEQ7SUFDeEQsTUFBTTs7WUFDVixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELENBQUM7S0FBQTtJQUVEOzs7T0FHRztJQUNHLGVBQWUsQ0FBQyxTQUFtQyxFQUFFOztZQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxDQUFDO0tBQUE7SUFFRDs7O09BR0c7SUFDRyxTQUFTLENBQUMsU0FBbUMsRUFBRTs7WUFDbkQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxDQUFDO0tBQUE7O0FBeEZELGlFQUFpRTtBQUMxRCwyQkFBWSxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0NvbnRlbnRDb250YWluZXJDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlLCBUZXN0S2V5fSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQge01hdENoaXBBdmF0YXJIYXJuZXNzfSBmcm9tICcuL2NoaXAtYXZhdGFyLWhhcm5lc3MnO1xuaW1wb3J0IHtcbiAgQ2hpcEF2YXRhckhhcm5lc3NGaWx0ZXJzLFxuICBDaGlwSGFybmVzc0ZpbHRlcnMsXG4gIENoaXBSZW1vdmVIYXJuZXNzRmlsdGVyc1xufSBmcm9tICcuL2NoaXAtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7TWF0Q2hpcFJlbW92ZUhhcm5lc3N9IGZyb20gJy4vY2hpcC1yZW1vdmUtaGFybmVzcyc7XG5cbi8qKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgc3RhbmRhcmQgc2VsZWN0YWJsZSBBbmd1bGFyIE1hdGVyaWFsIGNoaXAgaW4gdGVzdHMuICovXG5leHBvcnQgY2xhc3MgTWF0Q2hpcEhhcm5lc3MgZXh0ZW5kcyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKiBUaGUgc2VsZWN0b3IgZm9yIHRoZSBob3N0IGVsZW1lbnQgb2YgYSBgTWF0Q2hpcGAgaW5zdGFuY2UuICovXG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLm1hdC1jaGlwJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYSBgTWF0Q2hpcEhhcm5lc3NgIHRoYXQgbWVldHNcbiAgICogY2VydGFpbiBjcml0ZXJpYS5cbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIGNoaXAgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIHdpdGgob3B0aW9uczogQ2hpcEhhcm5lc3NGaWx0ZXJzID0ge30pOiBIYXJuZXNzUHJlZGljYXRlPE1hdENoaXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKE1hdENoaXBIYXJuZXNzLCBvcHRpb25zKVxuICAgICAgICAuYWRkT3B0aW9uKCd0ZXh0Jywgb3B0aW9ucy50ZXh0LFxuICAgICAgICAgICAgKGhhcm5lc3MsIGxhYmVsKSA9PiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRUZXh0KCksIGxhYmVsKSlcbiAgICAgICAgLmFkZE9wdGlvbignc2VsZWN0ZWQnLCBvcHRpb25zLnNlbGVjdGVkLFxuICAgICAgICAgICAgYXN5bmMgKGhhcm5lc3MsIHNlbGVjdGVkKSA9PiAoYXdhaXQgaGFybmVzcy5pc1NlbGVjdGVkKCkpID09PSBzZWxlY3RlZCk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgdGV4dCBvZiB0aGUgY2hpcC4gKi9cbiAgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoe1xuICAgICAgZXhjbHVkZTogJy5tYXQtY2hpcC1hdmF0YXIsIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLCAubWF0LWljb24nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hpcCBpcyBzZWxlY3RlZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNYXRDaGlwT3B0aW9uSGFybmVzcy5pc1NlbGVjdGVkYCBpbnN0ZWFkLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgYXN5bmMgaXNTZWxlY3RlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5oYXNDbGFzcygnbWF0LWNoaXAtc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGlzIGRpc2FibGVkLiAqL1xuICBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKCdtYXQtY2hpcC1kaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGdpdmVuIGNoaXAuIE9ubHkgYXBwbGllcyBpZiBpdCdzIHNlbGVjdGFibGUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0Q2hpcE9wdGlvbkhhcm5lc3Muc2VsZWN0YCBpbnN0ZWFkLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgYXN5bmMgc2VsZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNTZWxlY3RlZCgpKSkge1xuICAgICAgYXdhaXQgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIHRoZSBnaXZlbiBjaGlwLiBPbmx5IGFwcGxpZXMgaWYgaXQncyBzZWxlY3RhYmxlLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdENoaXBPcHRpb25IYXJuZXNzLmRlc2VsZWN0YCBpbnN0ZWFkLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEyLjAuMFxuICAgKi9cbiAgYXN5bmMgZGVzZWxlY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNTZWxlY3RlZCgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBzZWxlY3RlZCBzdGF0ZSBvZiB0aGUgZ2l2ZW4gY2hpcC4gT25seSBhcHBsaWVzIGlmIGl0J3Mgc2VsZWN0YWJsZS5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNYXRDaGlwT3B0aW9uSGFybmVzcy50b2dnbGVgIGluc3RlYWQuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTIuMC4wXG4gICAqL1xuICBhc3luYyB0b2dnbGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuc2VuZEtleXMoJyAnKTtcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRoZSBnaXZlbiBjaGlwLiBPbmx5IGFwcGxpZXMgaWYgaXQncyByZW1vdmFibGUuICovXG4gIGFzeW5jIHJlbW92ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLnNlbmRLZXlzKFRlc3RLZXkuREVMRVRFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZW1vdmUgYnV0dG9uIGluc2lkZSBvZiBhIGNoaXAuXG4gICAqIEBwYXJhbSBmaWx0ZXIgT3B0aW9uYWxseSBmaWx0ZXJzIHdoaWNoIHJlbW92ZSBidXR0b25zIGFyZSBpbmNsdWRlZC5cbiAgICovXG4gIGFzeW5jIGdldFJlbW92ZUJ1dHRvbihmaWx0ZXI6IENoaXBSZW1vdmVIYXJuZXNzRmlsdGVycyA9IHt9KTogUHJvbWlzZTxNYXRDaGlwUmVtb3ZlSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0b3JGb3IoTWF0Q2hpcFJlbW92ZUhhcm5lc3Mud2l0aChmaWx0ZXIpKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGF2YXRhciBpbnNpZGUgYSBjaGlwLlxuICAgKiBAcGFyYW0gZmlsdGVyIE9wdGlvbmFsbHkgZmlsdGVycyB3aGljaCBhdmF0YXJzIGFyZSBpbmNsdWRlZC5cbiAgICovXG4gIGFzeW5jIGdldEF2YXRhcihmaWx0ZXI6IENoaXBBdmF0YXJIYXJuZXNzRmlsdGVycyA9IHt9KTogUHJvbWlzZTxNYXRDaGlwQXZhdGFySGFybmVzcyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoTWF0Q2hpcEF2YXRhckhhcm5lc3Mud2l0aChmaWx0ZXIpKSgpO1xuICB9XG59XG4iXX0=
@@ -14,7 +14,7 @@ import { DOCUMENT } from '@angular/common';
14
14
  // i.e. avoid core to depend on the @angular/material primary entry-point
15
15
  // Can be removed once the Material primary entry-point no longer
16
16
  // re-exports all secondary entry-points
17
- const VERSION = new Version('12.1.3');
17
+ const VERSION = new Version('12.2.1');
18
18
  /** @docs-private */
19
19
  export function MATERIAL_SANITY_CHECKS_FACTORY() {
20
20
  return true;
@@ -53,13 +53,19 @@ export class MatCommonModule {
53
53
  const win = this._document.defaultView || window;
54
54
  return typeof win === 'object' && win ? win : null;
55
55
  }
56
- /** Whether any sanity checks are enabled. */
57
- _checksAreEnabled() {
56
+ /** Gets whether a specific sanity check is enabled. */
57
+ _checkIsEnabled(name) {
58
58
  // TODO(crisbeto): we can't use `ngDevMode` here yet, because ViewEngine apps might not support
59
59
  // it. Since these checks can have performance implications and they aren't tree shakeable
60
60
  // in their current form, we can leave the `isDevMode` check in for now.
61
61
  // tslint:disable-next-line:ban
62
- return isDevMode() && !this._isTestEnv();
62
+ if (!isDevMode() || this._isTestEnv()) {
63
+ return false;
64
+ }
65
+ if (typeof this._sanityChecks === 'boolean') {
66
+ return this._sanityChecks;
67
+ }
68
+ return !!this._sanityChecks[name];
63
69
  }
64
70
  /** Whether the code is running in tests. */
65
71
  _isTestEnv() {
@@ -67,9 +73,7 @@ export class MatCommonModule {
67
73
  return window && (window.__karma__ || window.jasmine);
68
74
  }
69
75
  _checkDoctypeIsDefined() {
70
- const isEnabled = this._checksAreEnabled() &&
71
- (this._sanityChecks === true || this._sanityChecks.doctype);
72
- if (isEnabled && !this._document.doctype) {
76
+ if (this._checkIsEnabled('doctype') && !this._document.doctype) {
73
77
  console.warn('Current document does not have a doctype. This may cause ' +
74
78
  'some Angular Material components not to behave as expected.');
75
79
  }
@@ -77,9 +81,8 @@ export class MatCommonModule {
77
81
  _checkThemeIsPresent() {
78
82
  // We need to assert that the `body` is defined, because these checks run very early
79
83
  // and the `body` won't be defined if the consumer put their scripts in the `head`.
80
- const isDisabled = !this._checksAreEnabled() ||
81
- (this._sanityChecks === false || !this._sanityChecks.theme);
82
- if (isDisabled || !this._document.body || typeof getComputedStyle !== 'function') {
84
+ if (!this._checkIsEnabled('theme') || !this._document.body ||
85
+ typeof getComputedStyle !== 'function') {
83
86
  return;
84
87
  }
85
88
  const testElement = this._document.createElement('div');
@@ -98,9 +101,7 @@ export class MatCommonModule {
98
101
  }
99
102
  /** Checks whether the material version matches the cdk version */
100
103
  _checkCdkVersionMatch() {
101
- const isEnabled = this._checksAreEnabled() &&
102
- (this._sanityChecks === true || this._sanityChecks.version);
103
- if (isEnabled && VERSION.full !== CDK_VERSION.full) {
104
+ if (this._checkIsEnabled('version') && VERSION.full !== CDK_VERSION.full) {
104
105
  console.warn('The Angular Material version (' + VERSION.full + ') does not match ' +
105
106
  'the Angular CDK version (' + CDK_VERSION.full + ').\n' +
106
107
  'Please ensure the versions of these two packages exactly match.');
@@ -118,4 +119,4 @@ MatCommonModule.ctorParameters = () => [
118
119
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MATERIAL_SANITY_CHECKS,] }] },
119
120
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
120
121
  ];
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9jb3JlL2NvbW1vbi1iZWhhdmlvcnMvY29tbW9uLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBQyxPQUFPLElBQUksV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qyw0REFBNEQ7QUFDNUQseUVBQXlFO0FBQ3pFLGlFQUFpRTtBQUNqRSx3Q0FBd0M7QUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVqRCxvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDhCQUE4QjtJQUM1QyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWUsbUJBQW1CLEVBQUU7SUFDMUYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLDhCQUE4QjtDQUN4QyxDQUFDLENBQUM7QUFlSDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQ0ksd0JBQWtELEVBQ04sWUFBaUIsRUFDM0MsUUFBYTtRQVpuQyxnR0FBZ0c7UUFDeEYseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBWW5DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBRTFCLG1GQUFtRjtRQUNuRixzQkFBc0I7UUFDdEIsd0JBQXdCLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztRQUVoRSwyREFBMkQ7UUFDM0QsOERBQThEO1FBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCwrRkFBK0Y7SUFDdkYsVUFBVTtRQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDakQsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsNkNBQTZDO0lBQ3JDLGlCQUFpQjtRQUN2QiwrRkFBK0Y7UUFDL0YsMEZBQTBGO1FBQzFGLHdFQUF3RTtRQUN4RSwrQkFBK0I7UUFDL0IsT0FBTyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsNENBQTRDO0lBQ3BDLFVBQVU7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBUyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEMsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksSUFBSyxJQUFJLENBQUMsYUFBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsMkRBQTJEO2dCQUMzRCw2REFBNkQsQ0FDOUQsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixvRkFBb0Y7UUFDcEYsbUZBQW1GO1FBQ25GLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFDLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLElBQUksQ0FBRSxJQUFJLENBQUMsYUFBc0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RixJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxFQUFFO1lBQ2hGLE9BQU87U0FDUjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXBELHdGQUF3RjtRQUN4Riw4RkFBOEY7UUFDOUYsMkRBQTJEO1FBQzNELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQ1YsNERBQTREO2dCQUM1RCwyREFBMkQ7Z0JBQzNELGlFQUFpRSxDQUNsRSxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGtFQUFrRTtJQUMxRCxxQkFBcUI7UUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hDLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUssSUFBSSxDQUFDLGFBQXNDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEYsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQ1IsZ0NBQWdDLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxtQkFBbUI7Z0JBQ3JFLDJCQUEyQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsTUFBTTtnQkFDdkQsaUVBQWlFLENBQ3BFLENBQUM7U0FDSDtJQUNILENBQUM7OztZQWhIRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDdEI7OztZQTdDTyx3QkFBd0I7NENBMER6QixRQUFRLFlBQUksTUFBTSxTQUFDLHNCQUFzQjs0Q0FDekMsTUFBTSxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtIaWdoQ29udHJhc3RNb2RlRGV0ZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7QmlkaU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGlvblRva2VuLCBpc0Rldk1vZGUsIE5nTW9kdWxlLCBPcHRpb25hbCwgVmVyc2lvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ZFUlNJT04gYXMgQ0RLX1ZFUlNJT059IGZyb20gJ0Bhbmd1bGFyL2Nkayc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBQcml2YXRlIHZlcnNpb24gY29uc3RhbnQgdG8gY2lyY3VtdmVudCB0ZXN0L2J1aWxkIGlzc3Vlcyxcbi8vIGkuZS4gYXZvaWQgY29yZSB0byBkZXBlbmQgb24gdGhlIEBhbmd1bGFyL21hdGVyaWFsIHByaW1hcnkgZW50cnktcG9pbnRcbi8vIENhbiBiZSByZW1vdmVkIG9uY2UgdGhlIE1hdGVyaWFsIHByaW1hcnkgZW50cnktcG9pbnQgbm8gbG9uZ2VyXG4vLyByZS1leHBvcnRzIGFsbCBzZWNvbmRhcnkgZW50cnktcG9pbnRzXG5jb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgZnVuY3Rpb24gTUFURVJJQUxfU0FOSVRZX0NIRUNLU19GQUNUT1JZKCk6IFNhbml0eUNoZWNrcyB7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY29uZmlndXJlcyB3aGV0aGVyIHRoZSBNYXRlcmlhbCBzYW5pdHkgY2hlY2tzIGFyZSBlbmFibGVkLiAqL1xuZXhwb3J0IGNvbnN0IE1BVEVSSUFMX1NBTklUWV9DSEVDS1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2FuaXR5Q2hlY2tzPignbWF0LXNhbml0eS1jaGVja3MnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogTUFURVJJQUxfU0FOSVRZX0NIRUNLU19GQUNUT1JZLFxufSk7XG5cbi8qKlxuICogUG9zc2libGUgc2FuaXR5IGNoZWNrcyB0aGF0IGNhbiBiZSBlbmFibGVkLiBJZiBzZXQgdG9cbiAqIHRydWUvZmFsc2UsIGFsbCBjaGVja3Mgd2lsbCBiZSBlbmFibGVkL2Rpc2FibGVkLlxuICovXG5leHBvcnQgdHlwZSBTYW5pdHlDaGVja3MgPSBib29sZWFuIHwgR3JhbnVsYXJTYW5pdHlDaGVja3M7XG5cbi8qKiBPYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25maWd1cmUgdGhlIHNhbml0eSBjaGVja3MgZ3JhbnVsYXJseS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnVsYXJTYW5pdHlDaGVja3Mge1xuICBkb2N0eXBlOiBib29sZWFuO1xuICB0aGVtZTogYm9vbGVhbjtcbiAgdmVyc2lvbjogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNb2R1bGUgdGhhdCBjYXB0dXJlcyBhbnl0aGluZyB0aGF0IHNob3VsZCBiZSBsb2FkZWQgYW5kL29yIHJ1biBmb3IgKmFsbCogQW5ndWxhciBNYXRlcmlhbFxuICogY29tcG9uZW50cy4gVGhpcyBpbmNsdWRlcyBCaWRpLCBldGMuXG4gKlxuICogVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGltcG9ydGVkIHRvIGVhY2ggdG9wLWxldmVsIGNvbXBvbmVudCBtb2R1bGUgKGUuZy4sIE1hdFRhYnNNb2R1bGUpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQmlkaU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtCaWRpTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q29tbW9uTW9kdWxlIHtcbiAgLyoqIFdoZXRoZXIgd2UndmUgZG9uZSB0aGUgZ2xvYmFsIHNhbml0eSBjaGVja3MgKGUuZy4gYSB0aGVtZSBpcyBsb2FkZWQsIHRoZXJlIGlzIGEgZG9jdHlwZSkuICovXG4gIHByaXZhdGUgX2hhc0RvbmVHbG9iYWxDaGVja3MgPSBmYWxzZTtcblxuICAvKiogQ29uZmlndXJlZCBzYW5pdHkgY2hlY2tzLiAqL1xuICBwcml2YXRlIF9zYW5pdHlDaGVja3M6IFNhbml0eUNoZWNrcztcblxuICAvKiogVXNlZCB0byByZWZlcmVuY2UgY29ycmVjdCBkb2N1bWVudC93aW5kb3cgKi9cbiAgcHJvdGVjdGVkIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBoaWdoQ29udHJhc3RNb2RlRGV0ZWN0b3I6IEhpZ2hDb250cmFzdE1vZGVEZXRlY3RvcixcbiAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFURVJJQUxfU0FOSVRZX0NIRUNLUykgc2FuaXR5Q2hlY2tzOiBhbnksXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5fZG9jdW1lbnQgPSBkb2N1bWVudDtcblxuICAgIC8vIFdoaWxlIEExMXlNb2R1bGUgYWxzbyBkb2VzIHRoaXMsIHdlIHJlcGVhdCBpdCBoZXJlIHRvIGF2b2lkIGltcG9ydGluZyBBMTF5TW9kdWxlXG4gICAgLy8gaW4gTWF0Q29tbW9uTW9kdWxlLlxuICAgIGhpZ2hDb250cmFzdE1vZGVEZXRlY3Rvci5fYXBwbHlCb2R5SGlnaENvbnRyYXN0TW9kZUNzc0NsYXNzZXMoKTtcblxuICAgIC8vIE5vdGUgdGhhdCBgX3Nhbml0eUNoZWNrc2AgaXMgdHlwZWQgdG8gYGFueWAsIGJlY2F1c2UgQW9UXG4gICAgLy8gdGhyb3dzIGFuIGVycm9yIGlmIHdlIHVzZSB0aGUgYFNhbml0eUNoZWNrc2AgdHlwZSBkaXJlY3RseS5cbiAgICB0aGlzLl9zYW5pdHlDaGVja3MgPSBzYW5pdHlDaGVja3M7XG5cbiAgICBpZiAoIXRoaXMuX2hhc0RvbmVHbG9iYWxDaGVja3MpIHtcbiAgICAgIHRoaXMuX2NoZWNrRG9jdHlwZUlzRGVmaW5lZCgpO1xuICAgICAgdGhpcy5fY2hlY2tUaGVtZUlzUHJlc2VudCgpO1xuICAgICAgdGhpcy5fY2hlY2tDZGtWZXJzaW9uTWF0Y2goKTtcbiAgICAgIHRoaXMuX2hhc0RvbmVHbG9iYWxDaGVja3MgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBVc2UgZGVmYXVsdFZpZXcgb2YgaW5qZWN0ZWQgZG9jdW1lbnQgaWYgYXZhaWxhYmxlIG9yIGZhbGxiYWNrIHRvIGdsb2JhbCB3aW5kb3cgcmVmZXJlbmNlICovXG4gIHByaXZhdGUgX2dldFdpbmRvdygpOiBXaW5kb3cgfCBudWxsIHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLl9kb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gICAgcmV0dXJuIHR5cGVvZiB3aW4gPT09ICdvYmplY3QnICYmIHdpbiA/IHdpbiA6IG51bGw7XG4gIH1cblxuICAvKiogV2hldGhlciBhbnkgc2FuaXR5IGNoZWNrcyBhcmUgZW5hYmxlZC4gKi9cbiAgcHJpdmF0ZSBfY2hlY2tzQXJlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPKGNyaXNiZXRvKTogd2UgY2FuJ3QgdXNlIGBuZ0Rldk1vZGVgIGhlcmUgeWV0LCBiZWNhdXNlIFZpZXdFbmdpbmUgYXBwcyBtaWdodCBub3Qgc3VwcG9ydFxuICAgIC8vIGl0LiBTaW5jZSB0aGVzZSBjaGVja3MgY2FuIGhhdmUgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zIGFuZCB0aGV5IGFyZW4ndCB0cmVlIHNoYWtlYWJsZVxuICAgIC8vIGluIHRoZWlyIGN1cnJlbnQgZm9ybSwgd2UgY2FuIGxlYXZlIHRoZSBgaXNEZXZNb2RlYCBjaGVjayBpbiBmb3Igbm93LlxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW5cbiAgICByZXR1cm4gaXNEZXZNb2RlKCkgJiYgIXRoaXMuX2lzVGVzdEVudigpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvZGUgaXMgcnVubmluZyBpbiB0ZXN0cy4gKi9cbiAgcHJpdmF0ZSBfaXNUZXN0RW52KCkge1xuICAgIGNvbnN0IHdpbmRvdyA9IHRoaXMuX2dldFdpbmRvdygpIGFzIGFueTtcbiAgICByZXR1cm4gd2luZG93ICYmICh3aW5kb3cuX19rYXJtYV9fIHx8IHdpbmRvdy5qYXNtaW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrRG9jdHlwZUlzRGVmaW5lZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0VuYWJsZWQgPSB0aGlzLl9jaGVja3NBcmVFbmFibGVkKCkgJiZcbiAgICAgICh0aGlzLl9zYW5pdHlDaGVja3MgPT09IHRydWUgfHwgKHRoaXMuX3Nhbml0eUNoZWNrcyBhcyBHcmFudWxhclNhbml0eUNoZWNrcykuZG9jdHlwZSk7XG5cbiAgICBpZiAoaXNFbmFibGVkICYmICF0aGlzLl9kb2N1bWVudC5kb2N0eXBlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdDdXJyZW50IGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYSBkb2N0eXBlLiBUaGlzIG1heSBjYXVzZSAnICtcbiAgICAgICAgJ3NvbWUgQW5ndWxhciBNYXRlcmlhbCBjb21wb25lbnRzIG5vdCB0byBiZWhhdmUgYXMgZXhwZWN0ZWQuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja1RoZW1lSXNQcmVzZW50KCk6IHZvaWQge1xuICAgIC8vIFdlIG5lZWQgdG8gYXNzZXJ0IHRoYXQgdGhlIGBib2R5YCBpcyBkZWZpbmVkLCBiZWNhdXNlIHRoZXNlIGNoZWNrcyBydW4gdmVyeSBlYXJseVxuICAgIC8vIGFuZCB0aGUgYGJvZHlgIHdvbid0IGJlIGRlZmluZWQgaWYgdGhlIGNvbnN1bWVyIHB1dCB0aGVpciBzY3JpcHRzIGluIHRoZSBgaGVhZGAuXG4gICAgY29uc3QgaXNEaXNhYmxlZCA9ICF0aGlzLl9jaGVja3NBcmVFbmFibGVkKCkgfHxcbiAgICAgICh0aGlzLl9zYW5pdHlDaGVja3MgPT09IGZhbHNlIHx8ICEodGhpcy5fc2FuaXR5Q2hlY2tzIGFzIEdyYW51bGFyU2FuaXR5Q2hlY2tzKS50aGVtZSk7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCB8fCAhdGhpcy5fZG9jdW1lbnQuYm9keSB8fCB0eXBlb2YgZ2V0Q29tcHV0ZWRTdHlsZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlc3RFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICB0ZXN0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtdGhlbWUtbG9hZGVkLW1hcmtlcicpO1xuICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdEVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGVzdEVsZW1lbnQpO1xuXG4gICAgLy8gSW4gc29tZSBzaXR1YXRpb25zIHRoZSBjb21wdXRlZCBzdHlsZSBvZiB0aGUgdGVzdCBlbGVtZW50IGNhbiBiZSBudWxsLiBGb3IgZXhhbXBsZSBpblxuICAgIC8vIEZpcmVmb3gsIHRoZSBjb21wdXRlZCBzdHlsZSBpcyBudWxsIGlmIGFuIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgaW5zaWRlIG9mIGEgaGlkZGVuIGlmcmFtZS5cbiAgICAvLyBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODM5N1xuICAgIGlmIChjb21wdXRlZFN0eWxlICYmIGNvbXB1dGVkU3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdDb3VsZCBub3QgZmluZCBBbmd1bGFyIE1hdGVyaWFsIGNvcmUgdGhlbWUuIE1vc3QgTWF0ZXJpYWwgJyArXG4gICAgICAgICdjb21wb25lbnRzIG1heSBub3Qgd29yayBhcyBleHBlY3RlZC4gRm9yIG1vcmUgaW5mbyByZWZlciAnICtcbiAgICAgICAgJ3RvIHRoZSB0aGVtaW5nIGd1aWRlOiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvdGhlbWluZydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIG1hdGVyaWFsIHZlcnNpb24gbWF0Y2hlcyB0aGUgY2RrIHZlcnNpb24gKi9cbiAgcHJpdmF0ZSBfY2hlY2tDZGtWZXJzaW9uTWF0Y2goKTogdm9pZCB7XG4gICAgY29uc3QgaXNFbmFibGVkID0gdGhpcy5fY2hlY2tzQXJlRW5hYmxlZCgpICYmXG4gICAgICAodGhpcy5fc2FuaXR5Q2hlY2tzID09PSB0cnVlIHx8ICh0aGlzLl9zYW5pdHlDaGVja3MgYXMgR3JhbnVsYXJTYW5pdHlDaGVja3MpLnZlcnNpb24pO1xuXG4gICAgaWYgKGlzRW5hYmxlZCAmJiBWRVJTSU9OLmZ1bGwgIT09IENES19WRVJTSU9OLmZ1bGwpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnVGhlIEFuZ3VsYXIgTWF0ZXJpYWwgdmVyc2lvbiAoJyArIFZFUlNJT04uZnVsbCArICcpIGRvZXMgbm90IG1hdGNoICcgK1xuICAgICAgICAgICd0aGUgQW5ndWxhciBDREsgdmVyc2lvbiAoJyArIENES19WRVJTSU9OLmZ1bGwgKyAnKS5cXG4nICtcbiAgICAgICAgICAnUGxlYXNlIGVuc3VyZSB0aGUgdmVyc2lvbnMgb2YgdGhlc2UgdHdvIHBhY2thZ2VzIGV4YWN0bHkgbWF0Y2guJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9jb3JlL2NvbW1vbi1iZWhhdmlvcnMvY29tbW9uLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBQyxPQUFPLElBQUksV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qyw0REFBNEQ7QUFDNUQseUVBQXlFO0FBQ3pFLGlFQUFpRTtBQUNqRSx3Q0FBd0M7QUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVqRCxvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDhCQUE4QjtJQUM1QyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWUsbUJBQW1CLEVBQUU7SUFDMUYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLDhCQUE4QjtDQUN4QyxDQUFDLENBQUM7QUFlSDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQ0ksd0JBQWtELEVBQ04sWUFBaUIsRUFDM0MsUUFBYTtRQVpuQyxnR0FBZ0c7UUFDeEYseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBWW5DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBRTFCLG1GQUFtRjtRQUNuRixzQkFBc0I7UUFDdEIsd0JBQXdCLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztRQUVoRSwyREFBMkQ7UUFDM0QsOERBQThEO1FBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCwrRkFBK0Y7SUFDdkYsVUFBVTtRQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDakQsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsdURBQXVEO0lBQy9DLGVBQWUsQ0FBQyxJQUFnQztRQUN0RCwrRkFBK0Y7UUFDL0YsMEZBQTBGO1FBQzFGLHdFQUF3RTtRQUN4RSwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELDRDQUE0QztJQUNwQyxVQUFVO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQVMsQ0FBQztRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDOUQsT0FBTyxDQUFDLElBQUksQ0FDViwyREFBMkQ7Z0JBQzNELDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLG9GQUFvRjtRQUNwRixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDdEQsT0FBTyxnQkFBZ0IsS0FBSyxVQUFVLEVBQUU7WUFDMUMsT0FBTztTQUNSO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFN0MsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEQsd0ZBQXdGO1FBQ3hGLDhGQUE4RjtRQUM5RiwyREFBMkQ7UUFDM0QsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7WUFDckQsT0FBTyxDQUFDLElBQUksQ0FDViw0REFBNEQ7Z0JBQzVELDJEQUEyRDtnQkFDM0QsaUVBQWlFLENBQ2xFLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsa0VBQWtFO0lBQzFELHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3hFLE9BQU8sQ0FBQyxJQUFJLENBQ1IsZ0NBQWdDLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxtQkFBbUI7Z0JBQ3JFLDJCQUEyQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsTUFBTTtnQkFDdkQsaUVBQWlFLENBQ3BFLENBQUM7U0FDSDtJQUNILENBQUM7OztZQWhIRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDdEI7OztZQTdDTyx3QkFBd0I7NENBMER6QixRQUFRLFlBQUksTUFBTSxTQUFDLHNCQUFzQjs0Q0FDekMsTUFBTSxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtIaWdoQ29udHJhc3RNb2RlRGV0ZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7QmlkaU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGlvblRva2VuLCBpc0Rldk1vZGUsIE5nTW9kdWxlLCBPcHRpb25hbCwgVmVyc2lvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ZFUlNJT04gYXMgQ0RLX1ZFUlNJT059IGZyb20gJ0Bhbmd1bGFyL2Nkayc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBQcml2YXRlIHZlcnNpb24gY29uc3RhbnQgdG8gY2lyY3VtdmVudCB0ZXN0L2J1aWxkIGlzc3Vlcyxcbi8vIGkuZS4gYXZvaWQgY29yZSB0byBkZXBlbmQgb24gdGhlIEBhbmd1bGFyL21hdGVyaWFsIHByaW1hcnkgZW50cnktcG9pbnRcbi8vIENhbiBiZSByZW1vdmVkIG9uY2UgdGhlIE1hdGVyaWFsIHByaW1hcnkgZW50cnktcG9pbnQgbm8gbG9uZ2VyXG4vLyByZS1leHBvcnRzIGFsbCBzZWNvbmRhcnkgZW50cnktcG9pbnRzXG5jb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgZnVuY3Rpb24gTUFURVJJQUxfU0FOSVRZX0NIRUNLU19GQUNUT1JZKCk6IFNhbml0eUNoZWNrcyB7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY29uZmlndXJlcyB3aGV0aGVyIHRoZSBNYXRlcmlhbCBzYW5pdHkgY2hlY2tzIGFyZSBlbmFibGVkLiAqL1xuZXhwb3J0IGNvbnN0IE1BVEVSSUFMX1NBTklUWV9DSEVDS1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2FuaXR5Q2hlY2tzPignbWF0LXNhbml0eS1jaGVja3MnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogTUFURVJJQUxfU0FOSVRZX0NIRUNLU19GQUNUT1JZLFxufSk7XG5cbi8qKlxuICogUG9zc2libGUgc2FuaXR5IGNoZWNrcyB0aGF0IGNhbiBiZSBlbmFibGVkLiBJZiBzZXQgdG9cbiAqIHRydWUvZmFsc2UsIGFsbCBjaGVja3Mgd2lsbCBiZSBlbmFibGVkL2Rpc2FibGVkLlxuICovXG5leHBvcnQgdHlwZSBTYW5pdHlDaGVja3MgPSBib29sZWFuIHwgR3JhbnVsYXJTYW5pdHlDaGVja3M7XG5cbi8qKiBPYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25maWd1cmUgdGhlIHNhbml0eSBjaGVja3MgZ3JhbnVsYXJseS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnVsYXJTYW5pdHlDaGVja3Mge1xuICBkb2N0eXBlOiBib29sZWFuO1xuICB0aGVtZTogYm9vbGVhbjtcbiAgdmVyc2lvbjogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNb2R1bGUgdGhhdCBjYXB0dXJlcyBhbnl0aGluZyB0aGF0IHNob3VsZCBiZSBsb2FkZWQgYW5kL29yIHJ1biBmb3IgKmFsbCogQW5ndWxhciBNYXRlcmlhbFxuICogY29tcG9uZW50cy4gVGhpcyBpbmNsdWRlcyBCaWRpLCBldGMuXG4gKlxuICogVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGltcG9ydGVkIHRvIGVhY2ggdG9wLWxldmVsIGNvbXBvbmVudCBtb2R1bGUgKGUuZy4sIE1hdFRhYnNNb2R1bGUpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQmlkaU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtCaWRpTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q29tbW9uTW9kdWxlIHtcbiAgLyoqIFdoZXRoZXIgd2UndmUgZG9uZSB0aGUgZ2xvYmFsIHNhbml0eSBjaGVja3MgKGUuZy4gYSB0aGVtZSBpcyBsb2FkZWQsIHRoZXJlIGlzIGEgZG9jdHlwZSkuICovXG4gIHByaXZhdGUgX2hhc0RvbmVHbG9iYWxDaGVja3MgPSBmYWxzZTtcblxuICAvKiogQ29uZmlndXJlZCBzYW5pdHkgY2hlY2tzLiAqL1xuICBwcml2YXRlIF9zYW5pdHlDaGVja3M6IFNhbml0eUNoZWNrcztcblxuICAvKiogVXNlZCB0byByZWZlcmVuY2UgY29ycmVjdCBkb2N1bWVudC93aW5kb3cgKi9cbiAgcHJvdGVjdGVkIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBoaWdoQ29udHJhc3RNb2RlRGV0ZWN0b3I6IEhpZ2hDb250cmFzdE1vZGVEZXRlY3RvcixcbiAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFURVJJQUxfU0FOSVRZX0NIRUNLUykgc2FuaXR5Q2hlY2tzOiBhbnksXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5fZG9jdW1lbnQgPSBkb2N1bWVudDtcblxuICAgIC8vIFdoaWxlIEExMXlNb2R1bGUgYWxzbyBkb2VzIHRoaXMsIHdlIHJlcGVhdCBpdCBoZXJlIHRvIGF2b2lkIGltcG9ydGluZyBBMTF5TW9kdWxlXG4gICAgLy8gaW4gTWF0Q29tbW9uTW9kdWxlLlxuICAgIGhpZ2hDb250cmFzdE1vZGVEZXRlY3Rvci5fYXBwbHlCb2R5SGlnaENvbnRyYXN0TW9kZUNzc0NsYXNzZXMoKTtcblxuICAgIC8vIE5vdGUgdGhhdCBgX3Nhbml0eUNoZWNrc2AgaXMgdHlwZWQgdG8gYGFueWAsIGJlY2F1c2UgQW9UXG4gICAgLy8gdGhyb3dzIGFuIGVycm9yIGlmIHdlIHVzZSB0aGUgYFNhbml0eUNoZWNrc2AgdHlwZSBkaXJlY3RseS5cbiAgICB0aGlzLl9zYW5pdHlDaGVja3MgPSBzYW5pdHlDaGVja3M7XG5cbiAgICBpZiAoIXRoaXMuX2hhc0RvbmVHbG9iYWxDaGVja3MpIHtcbiAgICAgIHRoaXMuX2NoZWNrRG9jdHlwZUlzRGVmaW5lZCgpO1xuICAgICAgdGhpcy5fY2hlY2tUaGVtZUlzUHJlc2VudCgpO1xuICAgICAgdGhpcy5fY2hlY2tDZGtWZXJzaW9uTWF0Y2goKTtcbiAgICAgIHRoaXMuX2hhc0RvbmVHbG9iYWxDaGVja3MgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBVc2UgZGVmYXVsdFZpZXcgb2YgaW5qZWN0ZWQgZG9jdW1lbnQgaWYgYXZhaWxhYmxlIG9yIGZhbGxiYWNrIHRvIGdsb2JhbCB3aW5kb3cgcmVmZXJlbmNlICovXG4gIHByaXZhdGUgX2dldFdpbmRvdygpOiBXaW5kb3cgfCBudWxsIHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLl9kb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gICAgcmV0dXJuIHR5cGVvZiB3aW4gPT09ICdvYmplY3QnICYmIHdpbiA/IHdpbiA6IG51bGw7XG4gIH1cblxuICAvKiogR2V0cyB3aGV0aGVyIGEgc3BlY2lmaWMgc2FuaXR5IGNoZWNrIGlzIGVuYWJsZWQuICovXG4gIHByaXZhdGUgX2NoZWNrSXNFbmFibGVkKG5hbWU6IGtleW9mIEdyYW51bGFyU2FuaXR5Q2hlY2tzKTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETyhjcmlzYmV0byk6IHdlIGNhbid0IHVzZSBgbmdEZXZNb2RlYCBoZXJlIHlldCwgYmVjYXVzZSBWaWV3RW5naW5lIGFwcHMgbWlnaHQgbm90IHN1cHBvcnRcbiAgICAvLyBpdC4gU2luY2UgdGhlc2UgY2hlY2tzIGNhbiBoYXZlIHBlcmZvcm1hbmNlIGltcGxpY2F0aW9ucyBhbmQgdGhleSBhcmVuJ3QgdHJlZSBzaGFrZWFibGVcbiAgICAvLyBpbiB0aGVpciBjdXJyZW50IGZvcm0sIHdlIGNhbiBsZWF2ZSB0aGUgYGlzRGV2TW9kZWAgY2hlY2sgaW4gZm9yIG5vdy5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuXG4gICAgaWYgKCFpc0Rldk1vZGUoKSB8fCB0aGlzLl9pc1Rlc3RFbnYoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy5fc2FuaXR5Q2hlY2tzID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zYW5pdHlDaGVja3M7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhdGhpcy5fc2FuaXR5Q2hlY2tzW25hbWVdO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvZGUgaXMgcnVubmluZyBpbiB0ZXN0cy4gKi9cbiAgcHJpdmF0ZSBfaXNUZXN0RW52KCkge1xuICAgIGNvbnN0IHdpbmRvdyA9IHRoaXMuX2dldFdpbmRvdygpIGFzIGFueTtcbiAgICByZXR1cm4gd2luZG93ICYmICh3aW5kb3cuX19rYXJtYV9fIHx8IHdpbmRvdy5qYXNtaW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrRG9jdHlwZUlzRGVmaW5lZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2hlY2tJc0VuYWJsZWQoJ2RvY3R5cGUnKSAmJiAhdGhpcy5fZG9jdW1lbnQuZG9jdHlwZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnQ3VycmVudCBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGEgZG9jdHlwZS4gVGhpcyBtYXkgY2F1c2UgJyArXG4gICAgICAgICdzb21lIEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBub3QgdG8gYmVoYXZlIGFzIGV4cGVjdGVkLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tUaGVtZUlzUHJlc2VudCgpOiB2b2lkIHtcbiAgICAvLyBXZSBuZWVkIHRvIGFzc2VydCB0aGF0IHRoZSBgYm9keWAgaXMgZGVmaW5lZCwgYmVjYXVzZSB0aGVzZSBjaGVja3MgcnVuIHZlcnkgZWFybHlcbiAgICAvLyBhbmQgdGhlIGBib2R5YCB3b24ndCBiZSBkZWZpbmVkIGlmIHRoZSBjb25zdW1lciBwdXQgdGhlaXIgc2NyaXB0cyBpbiB0aGUgYGhlYWRgLlxuICAgIGlmICghdGhpcy5fY2hlY2tJc0VuYWJsZWQoJ3RoZW1lJykgfHwgIXRoaXMuX2RvY3VtZW50LmJvZHkgfHxcbiAgICAgICAgdHlwZW9mIGdldENvbXB1dGVkU3R5bGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXN0RWxlbWVudCA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgdGVzdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbWF0LXRoZW1lLWxvYWRlZC1tYXJrZXInKTtcbiAgICB0aGlzLl9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RFbGVtZW50KTtcblxuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRlc3RFbGVtZW50KTtcblxuICAgIC8vIEluIHNvbWUgc2l0dWF0aW9ucyB0aGUgY29tcHV0ZWQgc3R5bGUgb2YgdGhlIHRlc3QgZWxlbWVudCBjYW4gYmUgbnVsbC4gRm9yIGV4YW1wbGUgaW5cbiAgICAvLyBGaXJlZm94LCB0aGUgY29tcHV0ZWQgc3R5bGUgaXMgbnVsbCBpZiBhbiBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIGluc2lkZSBvZiBhIGhpZGRlbiBpZnJhbWUuXG4gICAgLy8gU2VlOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01NDgzOTdcbiAgICBpZiAoY29tcHV0ZWRTdHlsZSAmJiBjb21wdXRlZFN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnQ291bGQgbm90IGZpbmQgQW5ndWxhciBNYXRlcmlhbCBjb3JlIHRoZW1lLiBNb3N0IE1hdGVyaWFsICcgK1xuICAgICAgICAnY29tcG9uZW50cyBtYXkgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEZvciBtb3JlIGluZm8gcmVmZXIgJyArXG4gICAgICAgICd0byB0aGUgdGhlbWluZyBndWlkZTogaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL3RoZW1pbmcnXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBtYXRlcmlhbCB2ZXJzaW9uIG1hdGNoZXMgdGhlIGNkayB2ZXJzaW9uICovXG4gIHByaXZhdGUgX2NoZWNrQ2RrVmVyc2lvbk1hdGNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jaGVja0lzRW5hYmxlZCgndmVyc2lvbicpICYmIFZFUlNJT04uZnVsbCAhPT0gQ0RLX1ZFUlNJT04uZnVsbCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdUaGUgQW5ndWxhciBNYXRlcmlhbCB2ZXJzaW9uICgnICsgVkVSU0lPTi5mdWxsICsgJykgZG9lcyBub3QgbWF0Y2ggJyArXG4gICAgICAgICAgJ3RoZSBBbmd1bGFyIENESyB2ZXJzaW9uICgnICsgQ0RLX1ZFUlNJT04uZnVsbCArICcpLlxcbicgK1xuICAgICAgICAgICdQbGVhc2UgZW5zdXJlIHRoZSB2ZXJzaW9ucyBvZiB0aGVzZSB0d28gcGFja2FnZXMgZXhhY3RseSBtYXRjaC4nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19