@skyux/forms 10.11.0 → 10.13.0

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.
package/esm2022/index.mjs CHANGED
@@ -8,6 +8,7 @@ export { SkyFormErrorModule } from './lib/modules/form-error/form-error.module';
8
8
  export { SkyInputBoxHostService } from './lib/modules/input-box/input-box-host.service';
9
9
  export { SkyInputBoxModule } from './lib/modules/input-box/input-box.module';
10
10
  export { SkyRadioModule } from './lib/modules/radio/radio.module';
11
+ export { SkyRequiredStateDirective } from './lib/modules/required-state/required-state.directive';
11
12
  export { SkySelectionBoxModule } from './lib/modules/selection-box/selection-box.module';
12
13
  export { SkyToggleSwitchModule } from './lib/modules/toggle-switch/toggle-switch.module';
13
14
  export { SKY_FORM_ERRORS_ENABLED } from './lib/modules/form-error/form-errors-enabled-token';
@@ -39,4 +40,4 @@ export { SkySelectionBoxHeaderComponent as λ16 } from './lib/modules/selection-
39
40
  export { SkySelectionBoxComponent as λ17 } from './lib/modules/selection-box/selection-box.component';
40
41
  export { SkyToggleSwitchLabelComponent as λ18 } from './lib/modules/toggle-switch/toggle-switch-label.component';
41
42
  export { SkyToggleSwitchComponent as λ19 } from './lib/modules/toggle-switch/toggle-switch.component';
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBR3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBSWpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUsvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFJekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFN0YsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFbkgsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUscUNBQXFDLElBQUksRUFBRSxFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDcEksT0FBTyxFQUFFLGlDQUFpQyxJQUFJLEVBQUUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3RILE9BQU8sRUFBRSxtQ0FBbUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNsSSxPQUFPLEVBQUUseUJBQXlCLElBQUksRUFBRSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsSUFBSSxHQUFHLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEcsT0FBTyxFQUFFLCtCQUErQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLElBQUksRUFBRSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLElBQUksR0FBRyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxHQUFHLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLElBQUksR0FBRyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEdBQUcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLElBQUksR0FBRyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdILE9BQU8sRUFBRSw0QkFBNEIsSUFBSSxHQUFHLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLElBQUksR0FBRyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxHQUFHLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUUsd0JBQXdCLElBQUksR0FBRyxFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtY2hhbmdlJztcbmV4cG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5RmllbGRHcm91cEhlYWRpbmdMZXZlbCB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAtaGVhZGluZy1sZXZlbCc7XG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC1oZWFkaW5nLXN0eWxlJztcblxuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRzTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50cy5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0nO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW1FcnJvclR5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0tZXJyb3ItdHlwZSc7XG5leHBvcnQgeyBTa3lGaWxlTGluayB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtbGluayc7XG5leHBvcnQgeyBTa3lGaWxlU2l6ZVBpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLXNpemUucGlwZSc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jaGFuZ2UnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDbGljayB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jbGljayc7XG5leHBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtZHJvcC1jaGFuZ2UnO1xuXG5leHBvcnQgeyBTa3lGb3JtRXJyb3JzTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lGb3JtRXJyb3JNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhvc3Quc2VydmljZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1wb3B1bGF0ZS1hcmdzJztcbmV4cG9ydCB7IFNreUlucHV0Qm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94Lm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVJhZGlvTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby9yYWRpby5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5UmFkaW9DaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLWNoYW5nZSc7XG5leHBvcnQgeyBTa3lSYWRpb1R5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLXR5cGUnO1xuXG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94R3JpZEFsaWduSXRlbXMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvdHlwZXMvc2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRBbGlnbkl0ZW1zVHlwZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC90eXBlcy9zZWxlY3Rpb24tYm94LWdyaWQtYWxpZ24taXRlbXMtdHlwZSc7XG5cbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RvZ2dsZS1zd2l0Y2gvdHlwZXMvdG9nZ2xlLXN3aXRjaC1jaGFuZ2UnO1xuXG5leHBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy1lbmFibGVkLXRva2VuJztcblxuZXhwb3J0IHsgU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zaGFyZWQvZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5cbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbnB1dERpcmVjdGl2ZSBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyU2NyZWVuUmVhZGVyUGlwZSBhcyDOuzIzIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1zY3JlZW4tcmVhZGVyLnBpcGUnO1xuZXhwb3J0IHsgU2t5Q2hlY2tib3hMYWJlbENvbXBvbmVudCBhcyDOuzQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lDaGVja2JveENvbXBvbmVudCBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IGFzIM67MjQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwQ29tcG9uZW50IGFzIM67MjUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50IGFzIM67NiB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnQgYXMgzrs3IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWxlRHJvcENvbXBvbmVudCBhcyDOuzggfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpbGVJdGVtQ29tcG9uZW50IGFzIM67OSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCBhcyDOuzIxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGb3JtRXJyb3JDb21wb25lbnQgYXMgzrsyMiB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJbnB1dEJveENvbnRyb2xEaXJlY3RpdmUgYXMgzrsyMCB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1jb250cm9sLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveENvbXBvbmVudCBhcyDOuzEwIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJbnB1dEJveEhpbnRUZXh0UGlwZSBhcyDOuzI2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhpbnQtdGV4dC5waXBlJztcbmV4cG9ydCB7IFNreVJhZGlvR3JvdXBDb21wb25lbnQgYXMgzrsxMSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvTGFiZWxDb21wb25lbnQgYXMgzrsxMiB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvQ29tcG9uZW50IGFzIM67MTMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkNvbXBvbmVudCBhcyDOuzE0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRDb21wb25lbnQgYXMgzrsxNSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEhlYWRlckNvbXBvbmVudCBhcyDOuzE2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQgYXMgzrsxNyB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hMYWJlbENvbXBvbmVudCBhcyDOuzE4IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaENvbXBvbmVudCBhcyDOuzE5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2guY29tcG9uZW50JztcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBR3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBSWpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUsvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFJekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFN0YsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFbkgsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUscUNBQXFDLElBQUksRUFBRSxFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDcEksT0FBTyxFQUFFLGlDQUFpQyxJQUFJLEVBQUUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3RILE9BQU8sRUFBRSxtQ0FBbUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNsSSxPQUFPLEVBQUUseUJBQXlCLElBQUksRUFBRSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsSUFBSSxHQUFHLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEcsT0FBTyxFQUFFLCtCQUErQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLElBQUksRUFBRSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLElBQUksR0FBRyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxHQUFHLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLElBQUksR0FBRyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEdBQUcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLElBQUksR0FBRyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdILE9BQU8sRUFBRSw0QkFBNEIsSUFBSSxHQUFHLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLElBQUksR0FBRyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxHQUFHLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUUsd0JBQXdCLElBQUksR0FBRyxFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtY2hhbmdlJztcbmV4cG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5RmllbGRHcm91cEhlYWRpbmdMZXZlbCB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAtaGVhZGluZy1sZXZlbCc7XG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC1oZWFkaW5nLXN0eWxlJztcblxuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRzTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50cy5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0nO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW1FcnJvclR5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0tZXJyb3ItdHlwZSc7XG5leHBvcnQgeyBTa3lGaWxlTGluayB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtbGluayc7XG5leHBvcnQgeyBTa3lGaWxlU2l6ZVBpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLXNpemUucGlwZSc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jaGFuZ2UnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDbGljayB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jbGljayc7XG5leHBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtZHJvcC1jaGFuZ2UnO1xuXG5leHBvcnQgeyBTa3lGb3JtRXJyb3JzTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lGb3JtRXJyb3JNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhvc3Quc2VydmljZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1wb3B1bGF0ZS1hcmdzJztcbmV4cG9ydCB7IFNreUlucHV0Qm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94Lm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVJhZGlvTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby9yYWRpby5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5UmFkaW9DaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLWNoYW5nZSc7XG5leHBvcnQgeyBTa3lSYWRpb1R5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLXR5cGUnO1xuXG5leHBvcnQgeyBTa3lSZXF1aXJlZFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yZXF1aXJlZC1zdGF0ZS9yZXF1aXJlZC1zdGF0ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94R3JpZEFsaWduSXRlbXMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvdHlwZXMvc2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRBbGlnbkl0ZW1zVHlwZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC90eXBlcy9zZWxlY3Rpb24tYm94LWdyaWQtYWxpZ24taXRlbXMtdHlwZSc7XG5cbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RvZ2dsZS1zd2l0Y2gvdHlwZXMvdG9nZ2xlLXN3aXRjaC1jaGFuZ2UnO1xuXG5leHBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy1lbmFibGVkLXRva2VuJztcblxuZXhwb3J0IHsgU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zaGFyZWQvZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5cbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbnB1dERpcmVjdGl2ZSBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyU2NyZWVuUmVhZGVyUGlwZSBhcyDOuzIzIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1zY3JlZW4tcmVhZGVyLnBpcGUnO1xuZXhwb3J0IHsgU2t5Q2hlY2tib3hMYWJlbENvbXBvbmVudCBhcyDOuzQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lDaGVja2JveENvbXBvbmVudCBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IGFzIM67MjQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwQ29tcG9uZW50IGFzIM67MjUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50IGFzIM67NiB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnQgYXMgzrs3IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWxlRHJvcENvbXBvbmVudCBhcyDOuzggfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpbGVJdGVtQ29tcG9uZW50IGFzIM67OSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCBhcyDOuzIxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGb3JtRXJyb3JDb21wb25lbnQgYXMgzrsyMiB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJbnB1dEJveENvbnRyb2xEaXJlY3RpdmUgYXMgzrsyMCB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1jb250cm9sLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveENvbXBvbmVudCBhcyDOuzEwIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJbnB1dEJveEhpbnRUZXh0UGlwZSBhcyDOuzI2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhpbnQtdGV4dC5waXBlJztcbmV4cG9ydCB7IFNreVJhZGlvR3JvdXBDb21wb25lbnQgYXMgzrsxMSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvTGFiZWxDb21wb25lbnQgYXMgzrsxMiB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvQ29tcG9uZW50IGFzIM67MTMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkNvbXBvbmVudCBhcyDOuzE0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRDb21wb25lbnQgYXMgzrsxNSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEhlYWRlckNvbXBvbmVudCBhcyDOuzE2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQgYXMgzrsxNyB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hMYWJlbENvbXBvbmVudCBhcyDOuzE4IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaENvbXBvbmVudCBhcyDOuzE5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2guY29tcG9uZW50JztcbiJdfQ==
@@ -26,26 +26,19 @@ export class SkyCheckboxGroupComponent {
26
26
  * @preview
27
27
  */
28
28
  this.required = false;
29
- this.#_stacked = false;
29
+ /**
30
+ * Whether the checkbox group is stacked on another form component. When specified, the appropriate
31
+ * vertical spacing is automatically added to the checkbox group.
32
+ * @preview
33
+ */
34
+ this.stacked = false;
30
35
  this.#idSvc = inject(SkyIdService);
31
36
  this.errorId = this.#idSvc.generateId();
32
37
  this.formErrorsDataId = 'checkbox-group-form-errors';
33
38
  }
34
- /**
35
- * Whether the checkbox group is stacked on another form component. When specified, the appropriate
36
- * vertical spacing is automatically added to the checkbox group.
37
- * @preview
38
- */
39
- set stacked(value) {
40
- this.#_stacked = value;
41
- }
42
- get stacked() {
43
- return this.#_stacked;
44
- }
45
- #_stacked;
46
39
  #idSvc;
47
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyCheckboxGroupComponent, isStandalone: true, selector: "sky-checkbox-group", inputs: { helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", required: ["required", "required", booleanAttribute], stacked: ["stacked", "stacked", booleanAttribute], formGroup: "formGroup" }, host: { properties: { "class.sky-margin-stacked-lg": "this.stacked" } }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], ngImport: i0, template: "<fieldset\n class=\"sky-checkbox-group\"\n [attr.aria-invalid]=\"!!formGroup.errors\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-errormessage]=\"labelText && formGroup.errors ? errorId : undefined\"\n>\n <legend\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-margin-stacked-xs': !!hintText,\n 'sky-margin-stacked-sm': !hintText\n }\"\n >\n <span\n class=\"sky-margin-inline-xs\"\n [ngClass]=\"{\n 'sky-control-label-required': required\n }\"\n >{{ labelText }}</span\n ><span class=\"sky-screen-reader-only\" *ngIf=\"required\">{{\n 'skyux_checkbox_group_required' | skyLibResources\n }}</span\n ><sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </legend>\n <div\n skyId\n [ngClass]=\"{\n 'sky-font-deemphasized sky-margin-stacked-lg sky-checkbox-group-hint-text':\n !!hintText\n }\"\n #hintTextEl=\"skyId\"\n >\n {{ hintText }}\n </div>\n <span class=\"sky-checkbox-group-inline sky-switch-icon-group\">\n <ng-content select=\"sky-checkbox[icon]\" />\n </span>\n <span class=\"sky-checkbox-group-stacked\">\n <ng-content select=\"sky-checkbox\" />\n </span>\n</fieldset>\n<sky-form-errors\n *ngIf=\"labelText && formGroup.errors\"\n [id]=\"errorId\"\n [attr.data-sky-id]=\"formErrorsDataId\"\n [errors]=\"formGroup.errors\"\n [labelText]=\"labelText\"\n [showErrors]=\"formGroup.touched || formGroup.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyFormErrorsModule }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i5.λ2, selector: "[skyId]", exportAs: ["skyId"] }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyCheckboxGroupComponent, isStandalone: true, selector: "sky-checkbox-group", inputs: { helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", required: ["required", "required", booleanAttribute], stacked: ["stacked", "stacked", booleanAttribute], formGroup: "formGroup" }, host: { properties: { "class.sky-margin-stacked-lg": "this.stacked" } }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], ngImport: i0, template: "<fieldset\n class=\"sky-checkbox-group\"\n [attr.aria-invalid]=\"!!formGroup.errors\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-errormessage]=\"labelText && formGroup.errors ? errorId : undefined\"\n>\n <legend\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-margin-stacked-xs': !!hintText,\n 'sky-margin-stacked-sm': !hintText\n }\"\n >\n <span\n class=\"sky-margin-inline-xs\"\n [ngClass]=\"{\n 'sky-control-label-required': required\n }\"\n >{{ labelText }}</span\n ><span class=\"sky-screen-reader-only\" *ngIf=\"required\">{{\n 'skyux_checkbox_group_required' | skyLibResources\n }}</span\n ><sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </legend>\n <div\n skyId\n [ngClass]=\"{\n 'sky-font-deemphasized sky-margin-stacked-lg sky-checkbox-group-hint-text':\n !!hintText\n }\"\n #hintTextEl=\"skyId\"\n >\n {{ hintText }}\n </div>\n <span class=\"sky-checkbox-group-inline sky-switch-icon-group\">\n <ng-content select=\"sky-checkbox[icon]\" />\n </span>\n <span class=\"sky-checkbox-group-stacked\">\n <ng-content select=\"sky-checkbox\" />\n </span>\n</fieldset>\n<sky-form-errors\n *ngIf=\"labelText && formGroup.errors\"\n [id]=\"errorId\"\n [attr.data-sky-id]=\"formErrorsDataId\"\n [errors]=\"formGroup.errors\"\n [labelText]=\"labelText\"\n [showErrors]=\"formGroup.touched || formGroup.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyFormErrorsModule }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle", "helpKey"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i5.λ2, selector: "[skyId]", exportAs: ["skyId"] }] }); }
49
42
  }
50
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCheckboxGroupComponent, decorators: [{
51
44
  type: Component,
@@ -81,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
81
74
  type: Input,
82
75
  args: [{ required: true }]
83
76
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7OztBQUUvRTs7R0FFRztBQXFCSCxNQUFNLE9BQU8seUJBQXlCO0lBcEJ0QztRQTZDRTs7O1dBR0c7UUFFSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVUzQjs7O1dBR0c7UUFFSSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBd0J4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztLQUMzRDtJQTFCQzs7OztPQUlHO0lBQ0gsSUFFVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBU0QsU0FBUyxDQUFTO0lBQ1QsTUFBTSxDQUF3Qjs4R0F0RTVCLHlCQUF5QjtrR0FBekIseUJBQXlCLG9OQTZCaEIsZ0JBQWdCLDREQWVoQixnQkFBZ0IsbUNBUWhCLGdCQUFnQixpSEF0RHpCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLDBCQ3RDbkUsc3NEQXlEQSwrRUR6QkksWUFBWSxnT0FDWixtQkFBbUIsa0tBQ25CLHVCQUF1Qix1R0FDdkIsbUJBQW1CLCtOQUNuQixXQUFXOzsyRkFJRix5QkFBeUI7a0JBcEJyQyxTQUFTOytCQUNFLG9CQUFvQixjQVNsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNaLGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBVTFELGtCQUFrQjtzQkFEeEIsS0FBSztnQkFTQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBUUMsU0FBUztzQkFEZixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRbEIsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTL0IsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVM0IsT0FBTztzQkFGakIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsNkJBQTZCO2dCQWNuQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlkTW9kdWxlLCBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lTW9kdWxlIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMubW9kdWxlJztcbmltcG9ydCB7IFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mb3Jtcy1yZXNvdXJjZXMubW9kdWxlJztcblxuLyoqXG4gKiBPcmdhbml6ZXMgY2hlY2tib3hlcyBpbnRvIGEgZ3JvdXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGVja2JveC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JzTW9kdWxlLFxuICAgIFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQsIHVzZVZhbHVlOiB0cnVlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgY2hlY2tib3ggZ3JvdXAgZmllbGRzZXQgbGVnZW5kLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIGNoZWNrYm94IGdyb3VwJ3MgbGFiZWwuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgbGFiZWxUZXh0ITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBoaWRlIHRoZSBgbGFiZWxUZXh0YC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgbGFiZWxIaWRkZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogW1BlcnNpc3RlbnQgaW5saW5lIGhlbHAgdGV4dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9kZXNpZ24vZ3VpZGVsaW5lcy91c2VyLWFzc2lzdGFuY2UjaW5saW5lLWhlbHApIHRoYXQgcHJvdmlkZXNcbiAgICogYWRkaXRpb25hbCBjb250ZXh0IHRvIHRoZSB1c2VyLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHJlcXVpcmVkLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBncm91cCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBjaGVja2JveCBncm91cC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC1sZycpXG4gIHB1YmxpYyBzZXQgc3RhY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19zdGFja2VkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19zdGFja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBmb3JtIGdyb3VwIHRoYXQgY29udGFpbnMgdGhlIGdyb3VwIG9mIGNoZWNrYm94ZXMuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuXG4gICNfc3RhY2tlZCA9IGZhbHNlO1xuICByZWFkb25seSAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGVycm9ySWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIHByb3RlY3RlZCBmb3JtRXJyb3JzRGF0YUlkID0gJ2NoZWNrYm94LWdyb3VwLWZvcm0tZXJyb3JzJztcbn1cbiIsIjxmaWVsZHNldFxuICBjbGFzcz1cInNreS1jaGVja2JveC1ncm91cFwiXG4gIFthdHRyLmFyaWEtaW52YWxpZF09XCIhIWZvcm1Hcm91cC5lcnJvcnNcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImhpbnRUZXh0ID8gaGludFRleHRFbC5pZCA6IHVuZGVmaW5lZFwiXG4gIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImxhYmVsVGV4dCAmJiBmb3JtR3JvdXAuZXJyb3JzID8gZXJyb3JJZCA6IHVuZGVmaW5lZFwiXG4+XG4gIDxsZWdlbmRcbiAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNjcmVlbi1yZWFkZXItb25seSc6IGxhYmVsSGlkZGVuLFxuICAgICAgJ3NreS1tYXJnaW4tc3RhY2tlZC14cyc6ICEhaGludFRleHQsXG4gICAgICAnc2t5LW1hcmdpbi1zdGFja2VkLXNtJzogIWhpbnRUZXh0XG4gICAgfVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJza3ktbWFyZ2luLWlubGluZS14c1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHJlcXVpcmVkXG4gICAgICB9XCJcbiAgICAgID57eyBsYWJlbFRleHQgfX08L3NwYW5cbiAgICA+PHNwYW4gY2xhc3M9XCJza3ktc2NyZWVuLXJlYWRlci1vbmx5XCIgKm5nSWY9XCJyZXF1aXJlZFwiPnt7XG4gICAgICAnc2t5dXhfY2hlY2tib3hfZ3JvdXBfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgfX08L3NwYW5cbiAgICA+PHNreS1oZWxwLWlubGluZVxuICAgICAgKm5nSWY9XCJoZWxwUG9wb3ZlckNvbnRlbnQgJiYgbGFiZWxUZXh0XCJcbiAgICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICBbcG9wb3ZlckNvbnRlbnRdPVwiaGVscFBvcG92ZXJDb250ZW50XCJcbiAgICAvPlxuICA8L2xlZ2VuZD5cbiAgPGRpdlxuICAgIHNreUlkXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1mb250LWRlZW1waGFzaXplZCBza3ktbWFyZ2luLXN0YWNrZWQtbGcgc2t5LWNoZWNrYm94LWdyb3VwLWhpbnQtdGV4dCc6XG4gICAgICAgICEhaGludFRleHRcbiAgICB9XCJcbiAgICAjaGludFRleHRFbD1cInNreUlkXCJcbiAgPlxuICAgIHt7IGhpbnRUZXh0IH19XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cInNreS1jaGVja2JveC1ncm91cC1pbmxpbmUgc2t5LXN3aXRjaC1pY29uLWdyb3VwXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94W2ljb25dXCIgLz5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInNreS1jaGVja2JveC1ncm91cC1zdGFja2VkXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94XCIgLz5cbiAgPC9zcGFuPlxuPC9maWVsZHNldD5cbjxza3ktZm9ybS1lcnJvcnNcbiAgKm5nSWY9XCJsYWJlbFRleHQgJiYgZm9ybUdyb3VwLmVycm9yc1wiXG4gIFtpZF09XCJlcnJvcklkXCJcbiAgW2F0dHIuZGF0YS1za3ktaWRdPVwiZm9ybUVycm9yc0RhdGFJZFwiXG4gIFtlcnJvcnNdPVwiZm9ybUdyb3VwLmVycm9yc1wiXG4gIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgW3Nob3dFcnJvcnNdPVwiZm9ybUdyb3VwLnRvdWNoZWQgfHwgZm9ybUdyb3VwLmRpcnR5XCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWZvcm0tZXJyb3JcIiAvPlxuPC9za3ktZm9ybS1lcnJvcnM+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7OztBQUUvRTs7R0FFRztBQXFCSCxNQUFNLE9BQU8seUJBQXlCO0lBcEJ0QztRQTZDRTs7O1dBR0c7UUFFSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVUzQjs7O1dBR0c7UUFFSSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXhCOzs7O1dBSUc7UUFHSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBU2QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztLQUMzRDtJQUhVLE1BQU0sQ0FBd0I7OEdBL0Q1Qix5QkFBeUI7a0dBQXpCLHlCQUF5QixvTkE2QmhCLGdCQUFnQiw0REFlaEIsZ0JBQWdCLG1DQVFoQixnQkFBZ0IsaUhBdER6QixDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQywwQkN0Q25FLHNzREF5REEsK0VEekJJLFlBQVksZ09BQ1osbUJBQW1CLGtLQUNuQix1QkFBdUIsdUdBQ3ZCLG1CQUFtQiwwT0FDbkIsV0FBVzs7MkZBSUYseUJBQXlCO2tCQXBCckMsU0FBUzsrQkFDRSxvQkFBb0IsY0FTbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDWixhQUNVLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzhCQVUxRCxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBU0MsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVFDLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBUWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUy9CLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVS9CLE9BQU87c0JBRmIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsNkJBQTZCO2dCQVFuQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlkTW9kdWxlLCBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lTW9kdWxlIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMubW9kdWxlJztcbmltcG9ydCB7IFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mb3Jtcy1yZXNvdXJjZXMubW9kdWxlJztcblxuLyoqXG4gKiBPcmdhbml6ZXMgY2hlY2tib3hlcyBpbnRvIGEgZ3JvdXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGVja2JveC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JzTW9kdWxlLFxuICAgIFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQsIHVzZVZhbHVlOiB0cnVlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgY2hlY2tib3ggZ3JvdXAgZmllbGRzZXQgbGVnZW5kLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIGNoZWNrYm94IGdyb3VwJ3MgbGFiZWwuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgbGFiZWxUZXh0ITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBoaWRlIHRoZSBgbGFiZWxUZXh0YC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgbGFiZWxIaWRkZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogW1BlcnNpc3RlbnQgaW5saW5lIGhlbHAgdGV4dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9kZXNpZ24vZ3VpZGVsaW5lcy91c2VyLWFzc2lzdGFuY2UjaW5saW5lLWhlbHApIHRoYXQgcHJvdmlkZXNcbiAgICogYWRkaXRpb25hbCBjb250ZXh0IHRvIHRoZSB1c2VyLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHJlcXVpcmVkLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBncm91cCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBjaGVja2JveCBncm91cC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC1sZycpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBmb3JtIGdyb3VwIHRoYXQgY29udGFpbnMgdGhlIGdyb3VwIG9mIGNoZWNrYm94ZXMuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuXG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgcHJvdGVjdGVkIGZvcm1FcnJvcnNEYXRhSWQgPSAnY2hlY2tib3gtZ3JvdXAtZm9ybS1lcnJvcnMnO1xufVxuIiwiPGZpZWxkc2V0XG4gIGNsYXNzPVwic2t5LWNoZWNrYm94LWdyb3VwXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhZm9ybUdyb3VwLmVycm9yc1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaGludFRleHQgPyBoaW50VGV4dEVsLmlkIDogdW5kZWZpbmVkXCJcbiAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwibGFiZWxUZXh0ICYmIGZvcm1Hcm91cC5lcnJvcnMgPyBlcnJvcklkIDogdW5kZWZpbmVkXCJcbj5cbiAgPGxlZ2VuZFxuICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2NyZWVuLXJlYWRlci1vbmx5JzogbGFiZWxIaWRkZW4sXG4gICAgICAnc2t5LW1hcmdpbi1zdGFja2VkLXhzJzogISFoaW50VGV4dCxcbiAgICAgICdza3ktbWFyZ2luLXN0YWNrZWQtc20nOiAhaGludFRleHRcbiAgICB9XCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInNreS1tYXJnaW4taW5saW5lLXhzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJzogcmVxdWlyZWRcbiAgICAgIH1cIlxuICAgICAgPnt7IGxhYmVsVGV4dCB9fTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIiAqbmdJZj1cInJlcXVpcmVkXCI+e3tcbiAgICAgICdza3l1eF9jaGVja2JveF9ncm91cF9yZXF1aXJlZCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICB9fTwvc3BhblxuICAgID48c2t5LWhlbHAtaW5saW5lXG4gICAgICAqbmdJZj1cImhlbHBQb3BvdmVyQ29udGVudCAmJiBsYWJlbFRleHRcIlxuICAgICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgIC8+XG4gIDwvbGVnZW5kPlxuICA8ZGl2XG4gICAgc2t5SWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1tYXJnaW4tc3RhY2tlZC1sZyBza3ktY2hlY2tib3gtZ3JvdXAtaGludC10ZXh0JzpcbiAgICAgICAgISFoaW50VGV4dFxuICAgIH1cIlxuICAgICNoaW50VGV4dEVsPVwic2t5SWRcIlxuICA+XG4gICAge3sgaGludFRleHQgfX1cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwic2t5LWNoZWNrYm94LWdyb3VwLWlubGluZSBza3ktc3dpdGNoLWljb24tZ3JvdXBcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktY2hlY2tib3hbaWNvbl1cIiAvPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwic2t5LWNoZWNrYm94LWdyb3VwLXN0YWNrZWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktY2hlY2tib3hcIiAvPlxuICA8L3NwYW4+XG48L2ZpZWxkc2V0PlxuPHNreS1mb3JtLWVycm9yc1xuICAqbmdJZj1cImxhYmVsVGV4dCAmJiBmb3JtR3JvdXAuZXJyb3JzXCJcbiAgW2lkXT1cImVycm9ySWRcIlxuICBbYXR0ci5kYXRhLXNreS1pZF09XCJmb3JtRXJyb3JzRGF0YUlkXCJcbiAgW2Vycm9yc109XCJmb3JtR3JvdXAuZXJyb3JzXCJcbiAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICBbc2hvd0Vycm9yc109XCJmb3JtR3JvdXAudG91Y2hlZCB8fCBmb3JtR3JvdXAuZGlydHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZm9ybS1lcnJvclwiIC8+XG48L3NreS1mb3JtLWVycm9ycz5cbiJdfQ==
@@ -227,6 +227,13 @@ export class SkyCheckboxComponent {
227
227
  * @preview
228
228
  */
229
229
  this.labelHidden = false;
230
+ /**
231
+ * Whether the checkbox is stacked on another form component. When specified, the appropriate
232
+ * vertical spacing is automatically added to the checkbox. If the checkbox is within a checkbox group,
233
+ * set `stacked` on the checkbox group component instead.
234
+ * @preview
235
+ */
236
+ this.stacked = false;
230
237
  this.inputId = '';
231
238
  this.#_checked = false;
232
239
  this.#_checkboxType = 'info';
@@ -266,7 +273,6 @@ export class SkyCheckboxComponent {
266
273
  }
267
274
  ngOnInit() {
268
275
  if (this.ngControl) {
269
- // Backwards compatibility support for anyone still using Validators.Required.
270
276
  this.required =
271
277
  this.required || SkyFormsUtility.hasRequiredValidation(this.ngControl);
272
278
  }
@@ -342,11 +348,11 @@ export class SkyCheckboxComponent {
342
348
  }
343
349
  }
344
350
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
345
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: "disabled", tabindex: "tabindex", name: "name", helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: "required", labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText" }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "style.display": "this.display" } }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-checkbox-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper,.sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin{margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i3.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i5.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i6.SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: ["labelHidden", "labelText"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
351
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: "disabled", tabindex: "tabindex", name: "name", helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: "required", labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", stacked: ["stacked", "stacked", booleanAttribute] }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.sky-margin-stacked-lg": "this.stacked", "style.display": "this.display" } }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-checkbox-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper{display:inline-flex}:host.sky-margin-stacked-lg{display:block}.sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin{margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i3.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle", "helpKey"], outputs: ["actionClick"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i5.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i6.SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: ["labelHidden", "labelText"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
346
352
  }
347
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCheckboxComponent, decorators: [{
348
354
  type: Component,
349
- args: [{ selector: 'sky-checkbox', providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-checkbox-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper,.sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin{margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"] }]
355
+ args: [{ selector: 'sky-checkbox', providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-checkbox-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper{display:inline-flex}:host.sky-margin-stacked-lg{display:block}.sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin{margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"] }]
350
356
  }], ctorParameters: () => [], propDecorators: { label: [{
351
357
  type: Input
352
358
  }], labelledBy: [{
@@ -382,6 +388,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
382
388
  args: [{ transform: booleanAttribute }]
383
389
  }], hintText: [{
384
390
  type: Input
391
+ }], stacked: [{
392
+ type: Input,
393
+ args: [{ transform: booleanAttribute }]
394
+ }, {
395
+ type: HostBinding,
396
+ args: ['class.sky-margin-stacked-lg']
385
397
  }], checkedChange: [{
386
398
  type: Output
387
399
  }], disabledChange: [{
@@ -395,4 +407,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
395
407
  type: HostBinding,
396
408
  args: ['style.display']
397
409
  }] } });
398
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7OztBQUl4Rzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRTtnQkFDcEQsdUJBQXVCLEVBQUUsQ0FBQzthQUMzQixDQUFDLENB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QUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUZvcm1zVXRpbGl0eSwgU2t5SWRTZXJ2aWNlLCBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0tZmllbGQtbGFiZWwtdGV4dC1yZXF1aXJlZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICcuL2NoZWNrYm94LWNoYW5nZSc7XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIEhUTUwgaW5wdXQgZWxlbWVudCB3aXRoIGB0eXBlPVwiY2hlY2tib3hcImAuIFdoZW4gdXNlcnMgc2VsZWN0IGEgY2hlY2tib3gsIGl0cyB2YWx1ZVxuICogaXMgZHJpdmVuIHRocm91Z2ggYW4gYG5nTW9kZWxgIGF0dHJpYnV0ZSB0aGF0IHlvdSBzcGVjaWZ5IG9uIHRoZSBgc2t5LWNoZWNrYm94YCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVELCB1c2VWYWx1ZTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KVxuICAgKiB3aGVuIHRoZSBjaGVja2JveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbC4gWW91IG11c3Qgc2V0IHRoaXMgcHJvcGVydHkgZm9yIGljb25cbiAgICogY2hlY2tib3hlcy4gSWYgdGhlIGNoZWNrYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxhYmVsVGV4dGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19sYWJlbCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWwnLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGVcbiAgICogY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgY2hlY2tib3ggZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxgIGluc3RlYWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbGFiZWxUZXh0YCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbGxlZEJ5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbGFiZWxsZWRCeSA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWxsZWRCeScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2xhYmVsbGVkQnk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElEIGZvciB0aGUgY2hlY2tib3guXG4gICAqIElmIGEgdmFsdWUgaXMgbm90IHByb3ZpZGVkLCBhbiBhdXRvZ2VuZXJhdGVkIElEIGlzIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5wdXRJZCA9IGBza3ktY2hlY2tib3gtJHt2YWx1ZX0taW5wdXRgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0SWQgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfS1pbnB1dGA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgY2hlY2tib3ggb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IFNreUZvcm1zVXRpbGl0eS5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChjb2VyY2VkVmFsdWUgIT09IHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX2Rpc2FibGVkID0gY29lcmNlZFZhbHVlO1xuICAgICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2UubmV4dChjb2VyY2VkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggZm9yIHRoZSBjaGVja2JveC4gSWYgbm90IGRlZmluZWQsIHRoZSBpbmRleCBpcyBzZXQgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZVxuICAgKiBjaGVja2JveCBvbiBsb2FkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNoZWNrYm94LlxuICAgKiBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgYW4gYXV0b2dlbmVyYXRlZCBJRCBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09IHRoaXMuI2RlZmF1bHRJZCkge1xuICAgICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX25hbWUgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgY2hlY2tib3ggbGFiZWwuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgcHVibGljIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5Q2hlY2tib3hDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIGRpc3BsYXkgaW4gcGxhY2Ugb2YgdGhlIGNoZWNrYm94LiBUbyBncm91cCBpY29uIGNoZWNrYm94ZXNcbiAgICogbGlrZSBpbiB0aGUgZGVtbywgcGxhY2UgdGhlIGNoZWNrYm94ZXMgd2l0aGluIGEgYHNreS1jaGVja2JveC1ncm91cGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2dyb3VuZCBjb2xvciB0eXBlIGFmdGVyIHVzZXJzIHNlbGVjdCBhIGNoZWNrYm94IHdoZXJlIHRoZVxuICAgKiBgaWNvbmAgcHJvcGVydHkgZGlzcGxheXMgYW4gaWNvbiBpbiBwbGFjZSBvZiB0aGUgY2hlY2tib3guIFRoZSB2YWxpZCBvcHRpb25zIGNvcnJlc3BvbmQgdG9cbiAgICogW3RoZSBsYWJlbCBjb21wb25lbnQnc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xhYmVsKVxuICAgKiBsYWJlbCB0eXBlcy4gYFwiaW5mb1wiYCBjcmVhdGVzIGEgYmx1ZSBiYWNrZ3JvdW5kLCBgXCJzdWNjZXNzXCJgIGNyZWF0ZXMgYSBncmVlblxuICAgKiBiYWNrZ3JvdW5kLCBgXCJ3YXJuaW5nXCJgIGNyZWF0ZXMgYW4gb3JhbmdlIGJhY2tncm91bmQsIGFuZCBgXCJkYW5nZXJcImAgY3JlYXRlcyBhIHJlZCBiYWNrZ3JvdW5kLlxuICAgKiBAZGVmYXVsdCBcImluZm9cIlxuICAgKiBAZGVwcmVjYXRlZCBjaGVja2JveFR5cGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2JveFR5cGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUNoZWNrYm94Q29tcG9uZW50LmNoZWNrYm94VHlwZScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLiNfY2hlY2tib3hUeXBlID0gdmFsdWUgPyB2YWx1ZS50b0xvd2VyQ2FzZSgpIDogJ2luZm8nO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrYm94VHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNoZWNrZWQgPSAhIXZhbHVlO1xuICAgIGlmIChjaGVja2VkICE9PSB0aGlzLiNfY2hlY2tlZCkge1xuICAgICAgdGhpcy4jX2NoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy4jY2hlY2tlZENoYW5nZS5uZXh0KGNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUuIFRoaXMgaGFzIG5vIHZpc3VhbCBlZmZlY3QgZm9yIGljb24gY2hlY2tib3hlcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGluZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaW5kZXRlcm1pbmF0ZSA9ICEhdmFsdWU7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5uZXh0KHRoaXMuI19pbmRldGVybWluYXRlKTtcbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy4jX2luZGV0ZXJtaW5hdGU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pbmRldGVybWluYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkIGZvciBmb3JtIHZhbGlkYXRpb24uXG4gICAqIFdoZW4geW91IHNldCB0aGlzIHByb3BlcnR5IHRvIGB0cnVlYCwgdGhlIGNvbXBvbmVudCBhZGRzIGBhcmlhLXJlcXVpcmVkYCBhbmQgYHJlcXVpcmVkYFxuICAgKiBhdHRyaWJ1dGVzIHRvIHRoZSBpbnB1dCBlbGVtZW50IHNvIHRoYXQgZm9ybXMgZGlzcGxheSBhbiBpbnZhbGlkIHN0YXRlIHVudGlsIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqIGlzIGNvbXBsZXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19yZXF1aXJlZCA9IFNreUZvcm1zVXRpbGl0eS5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuI3NldFZhbGlkYXRvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19yZXF1aXJlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBjaGVja2JveCdzIGxhYmVsLiBVc2UgdGhpcyBpbnN0ZWFkIG9mIHRoZSBgc2t5LWNoZWNrYm94LWxhYmVsYCB3aGVuIHRoZSBsYWJlbCBpcyB0ZXh0LW9ubHkuXG4gICAqIFNwZWNpZnlpbmcgYGxhYmVsVGV4dGAgYWxzbyBlbmFibGVzIGF1dG9tYXRpYyBlcnJvciBtZXNzYWdlIGhhbmRsaW5nIGZvciBjaGVja2JveC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gaGlkZSB0aGUgYGxhYmVsVGV4dGAuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBvciBkZXNlbGVjdCB0aGUgY2hlY2tib3guXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBjaGVja2VkQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNjaGVja2VkQ2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnM7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dEVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZXQgaW5wdXRFbChlbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbnB1dEVsID0gZWw7XG4gICAgaWYgKGVsICYmIHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgZWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy5pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lucHV0RWw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBwdWJsaWMgZGlzcGxheTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBpbnB1dElkID0gJyc7XG5cbiAgI2NoZWNrZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2NoZWNrZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNkaXNhYmxlZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjZGlzYWJsZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICNfY2hlY2tlZCA9IGZhbHNlO1xuICAjX2NoZWNrYm94VHlwZSA9ICdpbmZvJztcbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgI19pbnB1dEVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAjX25hbWUgPSAnJztcbiAgI19yZXF1aXJlZCA9IGZhbHNlO1xuICAjX2xhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNfbGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuICAjZGVmYXVsdElkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuICAjbG9nZ2VyID0gaW5qZWN0KFNreUxvZ1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2VsZjogdHJ1ZSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgI2xhYmVsVGV4dFJlcXVpcmVkID0gaW5qZWN0KFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkU2VydmljZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuICAgIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuXG4gICAgdGhpcy4jY2hlY2tlZENoYW5nZU9icyA9IHRoaXMuI2NoZWNrZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnMgPSB0aGlzLiNkaXNhYmxlZENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlT2JzID0gdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMuaWQgPSB0aGlzLiNkZWZhdWx0SWQ7XG4gICAgdGhpcy5uYW1lID0gdGhpcy4jZGVmYXVsdElkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3VwcG9ydCBmb3IgYW55b25lIHN0aWxsIHVzaW5nIFZhbGlkYXRvcnMuUmVxdWlyZWQuXG4gICAgICB0aGlzLnJlcXVpcmVkID1cbiAgICAgICAgdGhpcy5yZXF1aXJlZCB8fCBTa3lGb3Jtc1V0aWxpdHkuaGFzUmVxdWlyZWRWYWxpZGF0aW9uKHRoaXMubmdDb250cm9sKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jbGFiZWxUZXh0UmVxdWlyZWQgJiYgIXRoaXMubGFiZWxUZXh0KSB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuICAgIHRoaXMuI2xhYmVsVGV4dFJlcXVpcmVkPy52YWxpZGF0ZUxhYmVsVGV4dCh0aGlzLmxhYmVsVGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNoZWNrYm94IGlucHV0IGVsZW1lbnQuXG4gICAqIFRvZ2dsZXMgY2hlY2tlZCBzdGF0ZSBpZiBlbGVtZW50IGlzIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcbiAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLiN0b2dnbGUoKTtcbiAgICAgIHRoaXMuI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy5jaGVja2VkKTtcbiAgICAgIHRoaXMuI2VtaXRDaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0Qmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLiBOZWVkZWQgdG8gcHJvcGVybHkgaW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7fTtcblxuICAjZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQoeyBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgYGNoZWNrZWRgIHZhbHVlIGJldHdlZW4gdHJ1ZSBhbmQgZmFsc2VcbiAgICovXG4gICN0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgfVxuXG4gICNzZXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZWQgJiZcbiAgICAgICF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKVxuICAgICkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMucmVxdWlyZWQgJiZcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpXG4gICAgKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJza3ktY2hlY2tib3gtb3V0ZXItd3JhcHBlclwiPlxuICA8bGFiZWxcbiAgICBjbGFzcz1cInNreS1jaGVja2JveC13cmFwcGVyIHNreS1zd2l0Y2hcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHJlcXVpcmVkLFxuICAgICAgJ3NreS1zd2l0Y2gtZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktbWFyZ2luLWlubGluZS14cyc6IGxhYmVsVGV4dCAmJiAhaWNvblxuICAgIH1cIlxuICA+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cInNreS1jaGVja2JveC1pbnB1dCBza3ktc3dpdGNoLWlucHV0XCJcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbdGFiSW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFRleHQgfHwgbGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsVGV4dCA/IHVuZGVmaW5lZCA6IGxhYmVsbGVkQnlcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJoaW50VGV4dCA/IGhpbnRUZXh0RWwuaWQgOiB1bmRlZmluZWRcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIhIW5nQ29udHJvbD8uZXJyb3JzXCJcbiAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIlxuICAgICAgICBsYWJlbFRleHQgJiYgbmdDb250cm9sPy5lcnJvcnMgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgICBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1pbnZhbGlkJzpcbiAgICAgICAgICAobmdDb250cm9sPy50b3VjaGVkIHx8IG5nQ29udHJvbD8uZGlydHkpICYmIG5nQ29udHJvbD8uZXJyb3JzXG4gICAgICB9XCJcbiAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKClcIlxuICAgICAgKGNoYW5nZSk9XCJvbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAjaW5wdXRFbFxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic2t5LXN3aXRjaC1jb250cm9sIHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWljb24nOiBpY29uLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nOiBjaGVja2JveFR5cGUgPT09ICdpbmZvJyxcbiAgICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC1zdWNjZXNzJzogY2hlY2tib3hUeXBlID09PSAnc3VjY2VzcycsXG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtd2FybmluZyc6IGNoZWNrYm94VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcic6IGNoZWNrYm94VHlwZSA9PT0gJ2RhbmdlcidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqbmdJZj1cImljb247IGVsc2UgY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlXCJcbiAgICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqbmdJZj1cIiFpbmRldGVybWluYXRlICYmIGNoZWNrZWRcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWNoZWNrZWRcIlxuICAgICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1pbmRldGVybWluYXRlIHNreS1jaGVja2JveC1pY29uLW1vZGVybi1pbmRldGVybWluYXRlXCJcbiAgICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBpY29uPVwic3F1YXJlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dDsgZWxzZSBsYWJlbEVsZW1lbnRcIj5cbiAgICAgIDxza3ktY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbFxuICAgICAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXG4gICAgICAgIFtsYWJlbEhpZGRlbl09XCJsYWJlbEhpZGRlblwiXG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWxFbGVtZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94LWxhYmVsXCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xhYmVsPlxuICA8c2t5LWhlbHAtaW5saW5lXG4gICAgKm5nSWY9XCJoZWxwUG9wb3ZlckNvbnRlbnQgJiYgbGFiZWxUZXh0XCJcbiAgICBjbGFzcz1cInNreS1jaGVja2JveC1oZWxwLWlubGluZVwiXG4gICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gIC8+XG48L3NwYW4+XG48c3BhbiBza3lJZCAjaGludFRleHRFbD1cInNreUlkXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImhpbnRUZXh0XCJcbiAgICBjbGFzcz1cInNreS1mb250LWRlZW1waGFzaXplZCBza3ktY2hlY2tib3gtaGludC10ZXh0IHNreS1jaGVja2JveC1mb3JtLW1hcmdpblwiXG4gID5cbiAgICB7eyBoaW50VGV4dCB9fVxuICA8L2Rpdj5cbjwvc3Bhbj5cbjxza3ktZm9ybS1lcnJvcnNcbiAgY2xhc3M9XCJza3ktY2hlY2tib3gtZm9ybS1tYXJnaW5cIlxuICAqbmdJZj1cImxhYmVsVGV4dCAmJiBuZ0NvbnRyb2w/LmVycm9yc1wiXG4gIFtpZF09XCJlcnJvcklkXCJcbiAgW2Vycm9yc109XCJuZ0NvbnRyb2w/LmVycm9yc1wiXG4gIFtsYWJlbFRleHRdPVwiJ3NreXV4X2NoZWNrYm94X3JlcXVpcmVkX2xhYmVsX3RleHQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgW3Nob3dFcnJvcnNdPVwibmdDb250cm9sPy50b3VjaGVkIHx8IG5nQ29udHJvbD8uZGlydHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZm9ybS1lcnJvclwiIC8+XG48L3NreS1mb3JtLWVycm9ycz5cbiJdfQ==
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7OztBQUl4Rzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRTtnQkFDcEQsdUJBQXVCLEVBQUUsQ0FBQzthQUMzQixDQUFDLENB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QUFNO2dCQVVJLG1CQUFtQjtzQkFEN0IsTUFBTTtnQkFNSSxPQUFPO3NCQURqQixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYW5DLE9BQU87c0JBRGIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUZvcm1zVXRpbGl0eSwgU2t5SWRTZXJ2aWNlLCBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0tZmllbGQtbGFiZWwtdGV4dC1yZXF1aXJlZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICcuL2NoZWNrYm94LWNoYW5nZSc7XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIEhUTUwgaW5wdXQgZWxlbWVudCB3aXRoIGB0eXBlPVwiY2hlY2tib3hcImAuIFdoZW4gdXNlcnMgc2VsZWN0IGEgY2hlY2tib3gsIGl0cyB2YWx1ZVxuICogaXMgZHJpdmVuIHRocm91Z2ggYW4gYG5nTW9kZWxgIGF0dHJpYnV0ZSB0aGF0IHlvdSBzcGVjaWZ5IG9uIHRoZSBgc2t5LWNoZWNrYm94YCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVELCB1c2VWYWx1ZTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KVxuICAgKiB3aGVuIHRoZSBjaGVja2JveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbC4gWW91IG11c3Qgc2V0IHRoaXMgcHJvcGVydHkgZm9yIGljb25cbiAgICogY2hlY2tib3hlcy4gSWYgdGhlIGNoZWNrYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxhYmVsVGV4dGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19sYWJlbCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWwnLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGVcbiAgICogY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgY2hlY2tib3ggZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxgIGluc3RlYWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbGFiZWxUZXh0YCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbGxlZEJ5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbGFiZWxsZWRCeSA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWxsZWRCeScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2xhYmVsbGVkQnk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElEIGZvciB0aGUgY2hlY2tib3guXG4gICAqIElmIGEgdmFsdWUgaXMgbm90IHByb3ZpZGVkLCBhbiBhdXRvZ2VuZXJhdGVkIElEIGlzIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5wdXRJZCA9IGBza3ktY2hlY2tib3gtJHt2YWx1ZX0taW5wdXRgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0SWQgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfS1pbnB1dGA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgY2hlY2tib3ggb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IFNreUZvcm1zVXRpbGl0eS5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChjb2VyY2VkVmFsdWUgIT09IHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX2Rpc2FibGVkID0gY29lcmNlZFZhbHVlO1xuICAgICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2UubmV4dChjb2VyY2VkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggZm9yIHRoZSBjaGVja2JveC4gSWYgbm90IGRlZmluZWQsIHRoZSBpbmRleCBpcyBzZXQgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZVxuICAgKiBjaGVja2JveCBvbiBsb2FkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNoZWNrYm94LlxuICAgKiBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgYW4gYXV0b2dlbmVyYXRlZCBJRCBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09IHRoaXMuI2RlZmF1bHRJZCkge1xuICAgICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX25hbWUgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgY2hlY2tib3ggbGFiZWwuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgcHVibGljIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5Q2hlY2tib3hDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIGRpc3BsYXkgaW4gcGxhY2Ugb2YgdGhlIGNoZWNrYm94LiBUbyBncm91cCBpY29uIGNoZWNrYm94ZXNcbiAgICogbGlrZSBpbiB0aGUgZGVtbywgcGxhY2UgdGhlIGNoZWNrYm94ZXMgd2l0aGluIGEgYHNreS1jaGVja2JveC1ncm91cGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2dyb3VuZCBjb2xvciB0eXBlIGFmdGVyIHVzZXJzIHNlbGVjdCBhIGNoZWNrYm94IHdoZXJlIHRoZVxuICAgKiBgaWNvbmAgcHJvcGVydHkgZGlzcGxheXMgYW4gaWNvbiBpbiBwbGFjZSBvZiB0aGUgY2hlY2tib3guIFRoZSB2YWxpZCBvcHRpb25zIGNvcnJlc3BvbmQgdG9cbiAgICogW3RoZSBsYWJlbCBjb21wb25lbnQnc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xhYmVsKVxuICAgKiBsYWJlbCB0eXBlcy4gYFwiaW5mb1wiYCBjcmVhdGVzIGEgYmx1ZSBiYWNrZ3JvdW5kLCBgXCJzdWNjZXNzXCJgIGNyZWF0ZXMgYSBncmVlblxuICAgKiBiYWNrZ3JvdW5kLCBgXCJ3YXJuaW5nXCJgIGNyZWF0ZXMgYW4gb3JhbmdlIGJhY2tncm91bmQsIGFuZCBgXCJkYW5nZXJcImAgY3JlYXRlcyBhIHJlZCBiYWNrZ3JvdW5kLlxuICAgKiBAZGVmYXVsdCBcImluZm9cIlxuICAgKiBAZGVwcmVjYXRlZCBjaGVja2JveFR5cGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2JveFR5cGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUNoZWNrYm94Q29tcG9uZW50LmNoZWNrYm94VHlwZScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLiNfY2hlY2tib3hUeXBlID0gdmFsdWUgPyB2YWx1ZS50b0xvd2VyQ2FzZSgpIDogJ2luZm8nO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrYm94VHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNoZWNrZWQgPSAhIXZhbHVlO1xuICAgIGlmIChjaGVja2VkICE9PSB0aGlzLiNfY2hlY2tlZCkge1xuICAgICAgdGhpcy4jX2NoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy4jY2hlY2tlZENoYW5nZS5uZXh0KGNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUuIFRoaXMgaGFzIG5vIHZpc3VhbCBlZmZlY3QgZm9yIGljb24gY2hlY2tib3hlcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGluZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaW5kZXRlcm1pbmF0ZSA9ICEhdmFsdWU7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5uZXh0KHRoaXMuI19pbmRldGVybWluYXRlKTtcbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy4jX2luZGV0ZXJtaW5hdGU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pbmRldGVybWluYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkIGZvciBmb3JtIHZhbGlkYXRpb24uXG4gICAqIFdoZW4geW91IHNldCB0aGlzIHByb3BlcnR5IHRvIGB0cnVlYCwgdGhlIGNvbXBvbmVudCBhZGRzIGBhcmlhLXJlcXVpcmVkYCBhbmQgYHJlcXVpcmVkYFxuICAgKiBhdHRyaWJ1dGVzIHRvIHRoZSBpbnB1dCBlbGVtZW50IHNvIHRoYXQgZm9ybXMgZGlzcGxheSBhbiBpbnZhbGlkIHN0YXRlIHVudGlsIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqIGlzIGNvbXBsZXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19yZXF1aXJlZCA9IFNreUZvcm1zVXRpbGl0eS5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuI3NldFZhbGlkYXRvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19yZXF1aXJlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBjaGVja2JveCdzIGxhYmVsLiBVc2UgdGhpcyBpbnN0ZWFkIG9mIHRoZSBgc2t5LWNoZWNrYm94LWxhYmVsYCB3aGVuIHRoZSBsYWJlbCBpcyB0ZXh0LW9ubHkuXG4gICAqIFNwZWNpZnlpbmcgYGxhYmVsVGV4dGAgYWxzbyBlbmFibGVzIGF1dG9tYXRpYyBlcnJvciBtZXNzYWdlIGhhbmRsaW5nIGZvciBjaGVja2JveC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gaGlkZSB0aGUgYGxhYmVsVGV4dGAuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBjaGVja2JveC4gSWYgdGhlIGNoZWNrYm94IGlzIHdpdGhpbiBhIGNoZWNrYm94IGdyb3VwLFxuICAgKiBzZXQgYHN0YWNrZWRgIG9uIHRoZSBjaGVja2JveCBncm91cCBjb21wb25lbnQgaW5zdGVhZC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC1sZycpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IG9yIGRlc2VsZWN0IHRoZSBjaGVja2JveC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGNoZWNrZWRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2NoZWNrZWRDaGFuZ2VPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNkaXNhYmxlZENoYW5nZU9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBpbmRldGVybWluYXRlIHN0YXRlIGNoYW5nZXMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaW5kZXRlcm1pbmF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZU9icztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIHNldCBpbnB1dEVsKGVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lucHV0RWwgPSBlbDtcbiAgICBpZiAoZWwgJiYgdGhpcy5pbmRldGVybWluYXRlKSB7XG4gICAgICBlbC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0aGlzLmluZGV0ZXJtaW5hdGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpbnB1dEVsKCk6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfaW5wdXRFbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIHB1YmxpYyBkaXNwbGF5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIGlucHV0SWQgPSAnJztcblxuICAjY2hlY2tlZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjY2hlY2tlZENoYW5nZU9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgI2Rpc2FibGVkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNkaXNhYmxlZENoYW5nZU9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgI2luZGV0ZXJtaW5hdGVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgI19jaGVja2VkID0gZmFsc2U7XG4gICNfY2hlY2tib3hUeXBlID0gJ2luZm8nO1xuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAjX2lucHV0RWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gICNfbmFtZSA9ICcnO1xuICAjX3JlcXVpcmVkID0gZmFsc2U7XG4gICNfbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19sYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI2lkU3ZjID0gaW5qZWN0KFNreUlkU2VydmljZSk7XG4gICNkZWZhdWx0SWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gICNsb2dnZXIgPSBpbmplY3QoU2t5TG9nU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBzZWxmOiB0cnVlLFxuICB9KTtcblxuICByZWFkb25seSAjbGFiZWxUZXh0UmVxdWlyZWQgPSBpbmplY3QoU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvcklkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hlY2tlZENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLiNkaXNhYmxlZENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5kaXNhYmxlZCk7XG5cbiAgICB0aGlzLiNjaGVja2VkQ2hhbmdlT2JzID0gdGhpcy4jY2hlY2tlZENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNkaXNhYmxlZENoYW5nZU9icyA9IHRoaXMuI2Rpc2FibGVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnMgPSB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgdGhpcy5pZCA9IHRoaXMuI2RlZmF1bHRJZDtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLiNkZWZhdWx0SWQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLnJlcXVpcmVkID1cbiAgICAgICAgdGhpcy5yZXF1aXJlZCB8fCBTa3lGb3Jtc1V0aWxpdHkuaGFzUmVxdWlyZWRWYWxpZGF0aW9uKHRoaXMubmdDb250cm9sKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jbGFiZWxUZXh0UmVxdWlyZWQgJiYgIXRoaXMubGFiZWxUZXh0KSB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgdGhpcy4jbGFiZWxUZXh0UmVxdWlyZWQ/LnZhbGlkYXRlTGFiZWxUZXh0KHRoaXMubGFiZWxUZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3IgY2hlY2tib3ggaW5wdXQgZWxlbWVudC5cbiAgICogVG9nZ2xlcyBjaGVja2VkIHN0YXRlIGlmIGVsZW1lbnQgaXMgbm90IGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIG9uSW50ZXJhY3Rpb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBXZSBhbHdheXMgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIG9uIHRoZSBjaGFuZ2UgZXZlbnQuXG4gICAgLy8gT3RoZXJ3aXNlIHRoZSBjaGFuZ2UgZXZlbnQsIGZyb20gdGhlIGlucHV0IGVsZW1lbnQsIHdpbGwgYnViYmxlIHVwIGFuZFxuICAgIC8vIGVtaXQgaXRzIGV2ZW50IG9iamVjdCB0byB0aGUgYGNoYW5nZWAgb3V0cHV0LlxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuI3RvZ2dsZSgpO1xuICAgICAgdGhpcy4jY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy4jZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGJsdXJyZWQuIE5lZWRlZCB0byBwcm9wZXJseSBpbXBsZW1lbnQgQ29udHJvbFZhbHVlQWNjZXNzb3IuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgcHVibGljIG9uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4ge307XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAodmFsdWUpID0+IHt9O1xuXG4gICNlbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh7IGNoZWNrZWQ6IHRoaXMuY2hlY2tlZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBgY2hlY2tlZGAgdmFsdWUgYmV0d2VlbiB0cnVlIGFuZCBmYWxzZVxuICAgKi9cbiAgI3RvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgI3NldFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5yZXF1aXJlZCAmJlxuICAgICAgIXRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpXG4gICAgKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSk7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAhdGhpcy5yZXF1aXJlZCAmJlxuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSlcbiAgICApIHtcbiAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSk7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cInNreS1jaGVja2JveC1vdXRlci13cmFwcGVyXCI+XG4gIDxsYWJlbFxuICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LXdyYXBwZXIgc2t5LXN3aXRjaFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJzogcmVxdWlyZWQsXG4gICAgICAnc2t5LXN3aXRjaC1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgJ3NreS1tYXJnaW4taW5saW5lLXhzJzogbGFiZWxUZXh0ICYmICFpY29uXG4gICAgfVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWlucHV0IHNreS1zd2l0Y2gtaW5wdXRcIlxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFt0YWJJbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsVGV4dCB8fCBsYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxUZXh0ID8gdW5kZWZpbmVkIDogbGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImhpbnRUZXh0ID8gaGludFRleHRFbC5pZCA6IHVuZGVmaW5lZFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhbmdDb250cm9sPy5lcnJvcnNcIlxuICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICAgIGxhYmVsVGV4dCAmJiBuZ0NvbnRyb2w/LmVycm9ycyA/IGVycm9ySWQgOiB1bmRlZmluZWRcbiAgICAgIFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktc3dpdGNoLWludmFsaWQnOlxuICAgICAgICAgIChuZ0NvbnRyb2w/LnRvdWNoZWQgfHwgbmdDb250cm9sPy5kaXJ0eSkgJiYgbmdDb250cm9sPy5lcnJvcnNcbiAgICAgIH1cIlxuICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoKVwiXG4gICAgICAoY2hhbmdlKT1cIm9uSW50ZXJhY3Rpb25FdmVudCgkZXZlbnQpXCJcbiAgICAgICNpbnB1dEVsXG4gICAgLz5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJza3ktc3dpdGNoLWNvbnRyb2wgc2t5LXJvdW5kZWQtY29ybmVyc1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtaWNvbic6IGljb24sXG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtaW5mbyc6IGNoZWNrYm94VHlwZSA9PT0gJ2luZm8nLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLXN1Y2Nlc3MnOiBjaGVja2JveFR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC13YXJuaW5nJzogY2hlY2tib3hUeXBlID09PSAnd2FybmluZycsXG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtZGFuZ2VyJzogY2hlY2tib3hUeXBlID09PSAnZGFuZ2VyJ1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgICpuZ0lmPVwiaWNvbjsgZWxzZSBjaGVja2VkT3JJbmRldGVybWluYXRlVGVtcGxhdGVcIlxuICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAvPlxuICAgICAgPG5nLXRlbXBsYXRlICNjaGVja2VkT3JJbmRldGVybWluYXRlVGVtcGxhdGU+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpuZ0lmPVwiIWluZGV0ZXJtaW5hdGUgJiYgY2hlY2tlZFwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1tb2Rlcm4tY2hlY2tlZFwiXG4gICAgICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgaWNvbj1cImNoZWNrXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKm5nSWY9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1jaGVja2JveC1pY29uLWluZGV0ZXJtaW5hdGUgc2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIGljb249XCJzcXVhcmVcIlxuICAgICAgICAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxUZXh0OyBlbHNlIGxhYmVsRWxlbWVudFwiPlxuICAgICAgPHNreS1jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsXG4gICAgICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICAgICAgW2xhYmVsSGlkZGVuXT1cImxhYmVsSGlkZGVuXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbEVsZW1lbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktY2hlY2tib3gtbGFiZWxcIiAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGFiZWw+XG4gIDxza3ktaGVscC1pbmxpbmVcbiAgICAqbmdJZj1cImhlbHBQb3BvdmVyQ29udGVudCAmJiBsYWJlbFRleHRcIlxuICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWhlbHAtaW5saW5lXCJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXG4gICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICBbcG9wb3ZlckNvbnRlbnRdPVwiaGVscFBvcG92ZXJDb250ZW50XCJcbiAgLz5cbjwvc3Bhbj5cbjxzcGFuIHNreUlkICNoaW50VGV4dEVsPVwic2t5SWRcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaGludFRleHRcIlxuICAgIGNsYXNzPVwic2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1jaGVja2JveC1oaW50LXRleHQgc2t5LWNoZWNrYm94LWZvcm0tbWFyZ2luXCJcbiAgPlxuICAgIHt7IGhpbnRUZXh0IH19XG4gIDwvZGl2PlxuPC9zcGFuPlxuPHNreS1mb3JtLWVycm9yc1xuICBjbGFzcz1cInNreS1jaGVja2JveC1mb3JtLW1hcmdpblwiXG4gICpuZ0lmPVwibGFiZWxUZXh0ICYmIG5nQ29udHJvbD8uZXJyb3JzXCJcbiAgW2lkXT1cImVycm9ySWRcIlxuICBbZXJyb3JzXT1cIm5nQ29udHJvbD8uZXJyb3JzXCJcbiAgW2xhYmVsVGV4dF09XCInc2t5dXhfY2hlY2tib3hfcmVxdWlyZWRfbGFiZWxfdGV4dCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICBbc2hvd0Vycm9yc109XCJuZ0NvbnRyb2w/LnRvdWNoZWQgfHwgbmdDb250cm9sPy5kaXJ0eVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1mb3JtLWVycm9yXCIgLz5cbjwvc2t5LWZvcm0tZXJyb3JzPlxuIl19
@@ -38,7 +38,7 @@ export class SkyFieldGroupComponent {
38
38
  this.headingClass = `sky-font-heading-${value}`;
39
39
  }
40
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyFieldGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyFieldGroupComponent, isStandalone: true, selector: "sky-field-group", inputs: { labelText: "labelText", hintText: "hintText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], stacked: ["stacked", "stacked", booleanAttribute], headingLevel: ["headingLevel", "headingLevel", numberAttribute], headingStyle: ["headingStyle", "headingStyle", numberAttribute], helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle" }, host: { properties: { "class.sky-margin-stacked-xl": "this.stacked" } }, providers: [SkyFormFieldLabelTextRequiredService], ngImport: i0, template: "<fieldset\n class=\"sky-field-group\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n>\n <span class=\"sky-field-group-legend-wrapper\">\n <legend\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-margin-inline-xs': helpPopoverContent\n }\"\n >\n <h3 *ngIf=\"headingLevel === 3\" [class]=\"headingClass\">\n {{ labelText }}\n </h3>\n <h4 *ngIf=\"headingLevel === 4\" [class]=\"headingClass\">\n {{ labelText }}\n </h4>\n </legend>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-field-group-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n <div skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-field-group-hint-text sky-font-deemphasized\"\n >\n {{ hintText }}\n </div>\n </div>\n <div class=\"sky-field-group-content\">\n <ng-content />\n </div>\n</fieldset>\n", styles: [":host{display:block}.sky-field-group-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-field-group-content{margin-top:var(--sky-margin-stacked-sm)}h3,h4{margin:0}.sky-field-group-legend-wrapper{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i2.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.4", type: SkyFieldGroupComponent, isStandalone: true, selector: "sky-field-group", inputs: { labelText: "labelText", hintText: "hintText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], stacked: ["stacked", "stacked", booleanAttribute], headingLevel: ["headingLevel", "headingLevel", numberAttribute], headingStyle: ["headingStyle", "headingStyle", numberAttribute], helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle" }, host: { properties: { "class.sky-margin-stacked-xl": "this.stacked" } }, providers: [SkyFormFieldLabelTextRequiredService], ngImport: i0, template: "<fieldset\n class=\"sky-field-group\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n>\n <span class=\"sky-field-group-legend-wrapper\">\n <legend\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-margin-inline-xs': helpPopoverContent\n }\"\n >\n <h3 *ngIf=\"headingLevel === 3\" [class]=\"headingClass\">\n {{ labelText }}\n </h3>\n <h4 *ngIf=\"headingLevel === 4\" [class]=\"headingClass\">\n {{ labelText }}\n </h4>\n </legend>\n <sky-help-inline\n *ngIf=\"helpPopoverContent && labelText\"\n class=\"sky-field-group-help-inline\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n <div skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-field-group-hint-text sky-font-deemphasized\"\n >\n {{ hintText }}\n </div>\n </div>\n <div class=\"sky-field-group-content\">\n <ng-content />\n </div>\n</fieldset>\n", styles: [":host{display:block}.sky-field-group-hint-text{margin-top:var(--sky-margin-stacked-xs)}.sky-field-group-content{margin-top:var(--sky-margin-stacked-sm)}h3,h4{margin:0}.sky-field-group-legend-wrapper{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i2.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "labelText", "popoverContent", "popoverTitle", "helpKey"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }] }); }
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyFieldGroupComponent, decorators: [{
44
44
  type: Component,
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
68
68
  }], helpPopoverTitle: [{
69
69
  type: Input
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7QUFLeEc7O0dBRUc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBd0JFOzs7V0FHRztRQUVJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTNCOzs7O1dBSUc7UUFHSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUVJLGlCQUFZLEdBQThCLENBQUMsQ0FBQztRQTRCekMsaUJBQVksR0FBRyxvQkFBb0IsQ0FBQztLQUMvQztJQTNCQzs7O09BR0c7SUFDSCxJQUNXLFlBQVksQ0FBQyxLQUFnQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLG9CQUFvQixLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzhHQTlDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1SkFvQmIsZ0JBQWdCLG1DQVFoQixnQkFBZ0Isa0RBUWhCLGVBQWUsa0RBT2YsZUFBZSx5S0E3Q3hCLENBQUMsb0NBQW9DLENBQUMsMEJDMUJuRCxnakNBc0NBLHNSRGJZLFlBQVksZ09BQUUsbUJBQW1CLCtOQUFFLFdBQVc7OzJGQUc3QyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxhQUM5QyxDQUFDLG9DQUFvQyxDQUFDOzhCQVExQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNsQixRQUFRO3NCQURkLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVL0IsT0FBTztzQkFGYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBUW5DLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVExQixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFZOUIsa0JBQWtCO3NCQUR4QixLQUFLO2dCQVNDLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ0xldmVsIH0gZnJvbSAnLi9maWVsZC1ncm91cC1oZWFkaW5nLWxldmVsJztcbmltcG9ydCB7IFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUgfSBmcm9tICcuL2ZpZWxkLWdyb3VwLWhlYWRpbmctc3R5bGUnO1xuXG4vKipcbiAqIE9yZ2FuaXplcyBmb3JtIGZpZWxkcyBpbnRvIGEgZ3JvdXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWVsZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWVsZC1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNreUhlbHBJbmxpbmVNb2R1bGUsIFNreUlkTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmllbGRHcm91cENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBmaWVsZCBncm91cCdzIGxhYmVsLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGxhYmVsVGV4dCE6IHN0cmluZztcblxuICAvKipcbiAgICogW1BlcnNpc3RlbnQgaW5saW5lIGhlbHAgdGV4dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9kZXNpZ24vZ3VpZGVsaW5lcy91c2VyLWFzc2lzdGFuY2UjaW5saW5lLWhlbHApIHRoYXQgcHJvdmlkZXNcbiAgICogYWRkaXRpb25hbCBjb250ZXh0IHRvIHRoZSB1c2VyLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGhpZGUgdGhlIGBsYWJlbFRleHRgLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBncm91cCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZmllbGQgZ3JvdXAuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBmaWVsZCBncm91cC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC14bCcpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIGxldmVsIGluIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgaGVhZGluZ0xldmVsOiBTa3lGaWVsZEdyb3VwSGVhZGluZ0xldmVsID0gMztcblxuICAvKipcbiAgICogVGhlIGhlYWRpbmcgZm9udCBzdHlsZS5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgaGVhZGluZ1N0eWxlKHZhbHVlOiBTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlKSB7XG4gICAgdGhpcy5oZWFkaW5nQ2xhc3MgPSBgc2t5LWZvbnQtaGVhZGluZy0ke3ZhbHVlfWA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgbGFiZWxUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBmaWVsZCBncm91cCBsYWJlbC4gVGhlIGhlbHAgaW5saW5lIGJ1dHRvbiBkaXNwbGF5cyBhIFtwb3BvdmVyXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcG9wb3ZlcilcbiAgICogd2hlbiBjbGlja2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udGVudCBhbmQgb3B0aW9uYWwgdGl0bGUuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJDb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBoZWxwIHBvcG92ZXIuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlbHBQb3BvdmVyQ29udGVudGAgaXNcbiAgICogYWxzbyBzcGVjaWZpZWQuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBoZWFkaW5nQ2xhc3MgPSAnc2t5LWZvbnQtaGVhZGluZy0zJztcbn1cbiIsIjxmaWVsZHNldFxuICBjbGFzcz1cInNreS1maWVsZC1ncm91cFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaGludFRleHQgPyBoaW50VGV4dEVsLmlkIDogdW5kZWZpbmVkXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtbGVnZW5kLXdyYXBwZXJcIj5cbiAgICA8bGVnZW5kXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktc2NyZWVuLXJlYWRlci1vbmx5JzogbGFiZWxIaWRkZW4sXG4gICAgICAgICdza3ktbWFyZ2luLWlubGluZS14cyc6IGhlbHBQb3BvdmVyQ29udGVudFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGgzICpuZ0lmPVwiaGVhZGluZ0xldmVsID09PSAzXCIgW2NsYXNzXT1cImhlYWRpbmdDbGFzc1wiPlxuICAgICAgICB7eyBsYWJlbFRleHQgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8aDQgKm5nSWY9XCJoZWFkaW5nTGV2ZWwgPT09IDRcIiBbY2xhc3NdPVwiaGVhZGluZ0NsYXNzXCI+XG4gICAgICAgIHt7IGxhYmVsVGV4dCB9fVxuICAgICAgPC9oND5cbiAgICA8L2xlZ2VuZD5cbiAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAqbmdJZj1cImhlbHBQb3BvdmVyQ29udGVudCAmJiBsYWJlbFRleHRcIlxuICAgICAgY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtaGVscC1pbmxpbmVcIlxuICAgICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgIC8+XG4gIDwvc3Bhbj5cbiAgPGRpdiBza3lJZCAjaGludFRleHRFbD1cInNreUlkXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJoaW50VGV4dFwiXG4gICAgICBjbGFzcz1cInNreS1maWVsZC1ncm91cC1oaW50LXRleHQgc2t5LWZvbnQtZGVlbXBoYXNpemVkXCJcbiAgICA+XG4gICAgICB7eyBoaW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1maWVsZC1ncm91cC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9kaXY+XG48L2ZpZWxkc2V0PlxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7QUFLeEc7O0dBRUc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBd0JFOzs7V0FHRztRQUVJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTNCOzs7O1dBSUc7UUFHSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUVJLGlCQUFZLEdBQThCLENBQUMsQ0FBQztRQTRCekMsaUJBQVksR0FBRyxvQkFBb0IsQ0FBQztLQUMvQztJQTNCQzs7O09BR0c7SUFDSCxJQUNXLFlBQVksQ0FBQyxLQUFnQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLG9CQUFvQixLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzhHQTlDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1SkFvQmIsZ0JBQWdCLG1DQVFoQixnQkFBZ0Isa0RBUWhCLGVBQWUsa0RBT2YsZUFBZSx5S0E3Q3hCLENBQUMsb0NBQW9DLENBQUMsMEJDMUJuRCxnakNBc0NBLHNSRGJZLFlBQVksZ09BQUUsbUJBQW1CLDBPQUFFLFdBQVc7OzJGQUc3QyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxhQUM5QyxDQUFDLG9DQUFvQyxDQUFDOzhCQVExQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNsQixRQUFRO3NCQURkLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVL0IsT0FBTztzQkFGYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBUW5DLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVExQixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFZOUIsa0JBQWtCO3NCQUR4QixLQUFLO2dCQVNDLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ0xldmVsIH0gZnJvbSAnLi9maWVsZC1ncm91cC1oZWFkaW5nLWxldmVsJztcbmltcG9ydCB7IFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUgfSBmcm9tICcuL2ZpZWxkLWdyb3VwLWhlYWRpbmctc3R5bGUnO1xuXG4vKipcbiAqIE9yZ2FuaXplcyBmb3JtIGZpZWxkcyBpbnRvIGEgZ3JvdXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWVsZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWVsZC1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNreUhlbHBJbmxpbmVNb2R1bGUsIFNreUlkTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmllbGRHcm91cENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBmaWVsZCBncm91cCdzIGxhYmVsLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGxhYmVsVGV4dCE6IHN0cmluZztcblxuICAvKipcbiAgICogW1BlcnNpc3RlbnQgaW5saW5lIGhlbHAgdGV4dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9kZXNpZ24vZ3VpZGVsaW5lcy91c2VyLWFzc2lzdGFuY2UjaW5saW5lLWhlbHApIHRoYXQgcHJvdmlkZXNcbiAgICogYWRkaXRpb25hbCBjb250ZXh0IHRvIHRoZSB1c2VyLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGhpZGUgdGhlIGBsYWJlbFRleHRgLlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBncm91cCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZmllbGQgZ3JvdXAuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBmaWVsZCBncm91cC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC14bCcpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIGxldmVsIGluIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgaGVhZGluZ0xldmVsOiBTa3lGaWVsZEdyb3VwSGVhZGluZ0xldmVsID0gMztcblxuICAvKipcbiAgICogVGhlIGhlYWRpbmcgZm9udCBzdHlsZS5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgaGVhZGluZ1N0eWxlKHZhbHVlOiBTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlKSB7XG4gICAgdGhpcy5oZWFkaW5nQ2xhc3MgPSBgc2t5LWZvbnQtaGVhZGluZy0ke3ZhbHVlfWA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgbGFiZWxUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBmaWVsZCBncm91cCBsYWJlbC4gVGhlIGhlbHAgaW5saW5lIGJ1dHRvbiBkaXNwbGF5cyBhIFtwb3BvdmVyXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcG9wb3ZlcilcbiAgICogd2hlbiBjbGlja2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udGVudCBhbmQgb3B0aW9uYWwgdGl0bGUuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJDb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBoZWxwIHBvcG92ZXIuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlbHBQb3BvdmVyQ29udGVudGAgaXNcbiAgICogYWxzbyBzcGVjaWZpZWQuXG4gICAqIEBwcmV2aWV3XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBoZWFkaW5nQ2xhc3MgPSAnc2t5LWZvbnQtaGVhZGluZy0zJztcbn1cbiIsIjxmaWVsZHNldFxuICBjbGFzcz1cInNreS1maWVsZC1ncm91cFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaGludFRleHQgPyBoaW50VGV4dEVsLmlkIDogdW5kZWZpbmVkXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtbGVnZW5kLXdyYXBwZXJcIj5cbiAgICA8bGVnZW5kXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktc2NyZWVuLXJlYWRlci1vbmx5JzogbGFiZWxIaWRkZW4sXG4gICAgICAgICdza3ktbWFyZ2luLWlubGluZS14cyc6IGhlbHBQb3BvdmVyQ29udGVudFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGgzICpuZ0lmPVwiaGVhZGluZ0xldmVsID09PSAzXCIgW2NsYXNzXT1cImhlYWRpbmdDbGFzc1wiPlxuICAgICAgICB7eyBsYWJlbFRleHQgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8aDQgKm5nSWY9XCJoZWFkaW5nTGV2ZWwgPT09IDRcIiBbY2xhc3NdPVwiaGVhZGluZ0NsYXNzXCI+XG4gICAgICAgIHt7IGxhYmVsVGV4dCB9fVxuICAgICAgPC9oND5cbiAgICA8L2xlZ2VuZD5cbiAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAqbmdJZj1cImhlbHBQb3BvdmVyQ29udGVudCAmJiBsYWJlbFRleHRcIlxuICAgICAgY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtaGVscC1pbmxpbmVcIlxuICAgICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgIC8+XG4gIDwvc3Bhbj5cbiAgPGRpdiBza3lJZCAjaGludFRleHRFbD1cInNreUlkXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJoaW50VGV4dFwiXG4gICAgICBjbGFzcz1cInNreS1maWVsZC1ncm91cC1oaW50LXRleHQgc2t5LWZvbnQtZGVlbXBoYXNpemVkXCJcbiAgICA+XG4gICAgICB7eyBoaW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1maWVsZC1ncm91cC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9kaXY+XG48L2ZpZWxkc2V0PlxuIl19