valtech-components 4.0.1005 → 4.0.1006

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.
@@ -267,7 +267,6 @@ export class FieldSchemaEditorComponent {
267
267
  [props]="{
268
268
  control: requiredControl,
269
269
  label: t('requiredLabel'),
270
- justify: 'space-between',
271
270
  state: state(),
272
271
  }"
273
272
  />
@@ -340,7 +339,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
340
339
  [props]="{
341
340
  control: requiredControl,
342
341
  label: t('requiredLabel'),
343
- justify: 'space-between',
344
342
  state: state(),
345
343
  }"
346
344
  />
@@ -361,4 +359,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
361
359
  }], changed: [{
362
360
  type: Output
363
361
  }] } });
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLXNjaGVtYS1lZGl0b3IvZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFpQixTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FB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QUMsQ0FBQztJQUNwRCxDQUFDOytHQW5NVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw4SkF6SDNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQsNHZDQXJFQyxZQUFZLDhCQUNaLG1CQUFtQiwrQkFDbkIsa0JBQWtCLDhFQUNsQixrQkFBa0Isd0ZBQ2xCLHNCQUFzQiw0RkFDdEIsdUJBQXVCLDBGQUN2QixvQkFBb0IsMEZBQ3BCLDJCQUEyQjs7NEZBMkhsQiwwQkFBMEI7a0JBdEl0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7cUJBQzVCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDt3REE4RFEsS0FBSztzQkFBYixLQUFLO2dCQUNhLElBQUk7c0JBQXRCLE1BQU07Z0JBT1ksT0FBTztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvdHlwZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHRhcmVhLWlucHV0L3RleHRhcmVhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90b2dnbGUtaW5wdXQvdG9nZ2xlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZE9wdGlvbnNFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZmllbGQtb3B0aW9ucy1lZGl0b3IvZmllbGQtb3B0aW9ucy1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRhYmxlRmllbGREZWYsIEZpZWxkU2NoZW1hRWRpdG9yTWV0YWRhdGEsIEZpZWxkU2NoZW1hRWRpdG9yUHJlc2V0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGSUVMRF9TQ0hFTUFfRURJVE9SX0kxOE4gfSBmcm9tICcuL2ZpZWxkLXNjaGVtYS1lZGl0b3IuaTE4bic7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdGaWVsZFNjaGVtYUVkaXRvcic7XG5cbi8qKlxuICogVGlwb3MgY3V5byB2YWxvciBzYWxlIGRlIHVuYSBsaXN0YSBjZXJyYWRhIHF1ZSBkZWZpbmUgcXVpZW4gYXJtYSBlbFxuICogZm9ybXVsYXJpbyDigJQgc2luIGFsIG1lbm9zIHVuYSBvcGNpw7NuLCBlbCBjYW1wbyBubyBzZSBwdWVkZSByZXNwb25kZXIuXG4gKiBFc3Blam8gZGUgYGZpZWxkUmVxdWlyZXNPcHRpb25zYCBxdWUgdml2w61hIGR1cGxpY2FkbyBlbiBiaW5nby5cbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX1RZUEVTX1dJVEhfT1BUSU9OUyA9IFsnU0VMRUNUJywgJ1JBRElPJywgJ01VTFRJX1NFTEVDVCddO1xuXG5sZXQgZmllbGRVaWQgPSAwO1xuXG4vKipcbiAqIHZhbC1maWVsZC1zY2hlbWEtZWRpdG9yXG4gKlxuICogRWRpdGEgVU4gY2FtcG8gZGUgdW4gZm9ybXVsYXJpbyBkaW7DoW1pY286IHRleHRvLCB0aXBvLCBwbGFjZWhvbGRlciwgbm90YSxcbiAqIG9ibGlnYXRvcmllZGFkIHkgb3BjaW9uZXMuIEVzIGxhIHBpZXphIHF1ZSBmYWx0YWJhIGVuIGxhIGxpYiDigJQgaGFzdGEgYWhvcmFcbiAqIGVsIMO6bmljbyBlZGl0b3IgZGUgY2FtcG9zIGNvbiBlc3RlIG5pdmVsIHZpdsOtYSBkZW50cm8gZGUgYmluZ29cbiAqIChgY2hlY2tvdXQtZmllbGQtbW9kYWwuY29tcG9uZW50LnRzYCksIGludmlzaWJsZSBwYXJhIGVsIHJlc3RvIGRlbCBmYWN0b3J5LFxuICogeSBgdmFsLXN1cnZleS1idWlsZGVyYCBoYWLDrWEgdGVybWluYWRvIGNvbiB1bmEgdmVyc2nDs24gcG9icmUgZGUgbG8gbWlzbW9cbiAqIChkb3MgdGlwb3MgZmlqb3MsIHNpbiBwbGFjZWhvbGRlciBuaSBvcGNpb25lcykuXG4gKlxuICogRXMgYWduw7NzdGljbyBkZSBkb21pbmlvIGEgcHJvcMOzc2l0bzpcbiAqIC0gZWwgKipjYXTDoWxvZ28gZGUgdGlwb3MqKiAoYGFsbG93ZWRUeXBlc2ApIGxvIGRlY2lkZSBlbCBjb25zdW1lciwgcG9ycXVlIGVzXG4gKiAgIMOpbCBxdWllbiBzYWJlIHF1w6kgc2FiZSByZW5kZXJpemFyIHN1IGZvcm11bGFyaW87XG4gKiAtIGxvcyAqKnByZXNldHMqKiBsb3MgcGFzYSBlbCBjb25zdW1lciwgcG9ycXVlIFwiY29ycmVvIGRlbCBjb21wcmFkb3JcIiBlcyBkZVxuICogICBjaGVja291dCB5IG5vIHNpZ25pZmljYSBuYWRhIGVuIHVuYSBlbmN1ZXN0YS5cbiAqXG4gKiBObyB0cmFlIGPDoXNjYXJhIGRlIG1vZGFsOiBlbCBjb25zdW1lciBsbyBlbnZ1ZWx2ZSBlbiBgdmFsLW1vZGFsLWxheW91dGAgKG9cbiAqIGVuIGxvIHF1ZSBxdWllcmEpIHkgZGlzcGFyYSBgc3VibWl0KClgIGRlc2RlIHN1IHByb3BpbyBib3TDs24sIGlndWFsIHF1ZSBoYWNlXG4gKiBgc3VydmV5LWNyZWF0ZS1tb2RhbGAgY29uIGB2YWwtc3VydmV5LWJ1aWxkZXJgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmllbGQtc2NoZW1hLWVkaXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVG9nZ2xlSW5wdXRDb21wb25lbnQsXG4gICAgRmllbGRPcHRpb25zRWRpdG9yQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yXCI+XG4gICAgICBAaWYgKHNob3dQcmVzZXRzKCkpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXRzXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19zZWN0aW9uLWxhYmVsXCI+e3sgcHJvcHMucHJlc2V0c1RpdGxlIHx8IHQoJ3ByZXNldHNUaXRsZScpIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQtZ3JpZFwiPlxuICAgICAgICAgICAgQGZvciAocHJlc2V0IG9mIHByb3BzLnByZXNldHM7IHRyYWNrIHByZXNldC5pZCkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQtLXNlbGVjdGVkXT1cInNlbGVjdGVkUHJlc2V0SWQoKSA9PT0gcHJlc2V0LmlkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UHJlc2V0KHByZXNldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBwcmVzZXQubGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICBAaWYgKHByZXNldC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcHJlc2V0LmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCdsYWJlbExhYmVsJylcIj5cbiAgICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IGxhYmVsQ29udHJvbCwgcGxhY2Vob2xkZXI6IHQoJ2xhYmVsUGxhY2Vob2xkZXInKSwgc3RhdGU6IHN0YXRlKCkgfVwiIC8+XG4gICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuXG4gICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ3R5cGVMYWJlbCcpXCI+XG4gICAgICAgIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ0eXBlU2VsZWN0UHJvcHMoKVwiIC8+XG4gICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuXG4gICAgICBAaWYgKHByb3BzLnNob3dQbGFjZWhvbGRlciAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCdwbGFjZWhvbGRlckxhYmVsJylcIj5cbiAgICAgICAgICA8dmFsLXRleHRhcmVhLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IHBsYWNlaG9sZGVyQ29udHJvbCwgYXV0b0dyb3c6IHRydWUsIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLnNob3dIaW50ICE9PSBmYWxzZSkge1xuICAgICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ2hpbnRMYWJlbCcpXCI+XG4gICAgICAgICAgPHZhbC10ZXh0YXJlYS1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBoaW50Q29udHJvbCwgYXV0b0dyb3c6IHRydWUsIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuICAgICAgfVxuXG4gICAgICA8dmFsLXRvZ2dsZS1pbnB1dFxuICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgIGNvbnRyb2w6IHJlcXVpcmVkQ29udHJvbCxcbiAgICAgICAgICBsYWJlbDogdCgncmVxdWlyZWRMYWJlbCcpLFxuICAgICAgICAgIGp1c3RpZnk6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBzdGF0ZTogc3RhdGUoKSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuXG4gICAgICBAaWYgKG5lZWRzT3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8dmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yIFtwcm9wc109XCJvcHRpb25zRWRpdG9yUHJvcHMoKVwiIChvcHRpb25zQ2hhbmdlKT1cInNldE9wdGlvbnMoJGV2ZW50KVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAodmFsaWRhdGlvbkVycm9yKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19lcnJvclwiPnt7IHZhbGlkYXRpb25FcnJvcigpIH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3NlY3Rpb24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQgc3Ryb25nLFxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0IHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4xNCk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZFNjaGVtYUVkaXRvck1ldGFkYXRhID0geyBhbGxvd2VkVHlwZXM6IFsnVEVYVCddIH07XG4gIEBPdXRwdXQoKSByZWFkb25seSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuICAvKipcbiAgICogRW1pdGUgZW4gY2FkYSB0ZWNsYSwgc2luIHZhbGlkYXIuIEV4aXN0ZSBwb3JxdWUgZWwgY29uc3VtZXIgbmVjZXNpdGEgZWxcbiAgICogYm9ycmFkb3IgZW4gdml2bzogc2kgc29sbyB0dXZpZXJhIGBzYXZlYCwgbG8gZXNjcml0byBhY8OhIG5vIGV4aXN0aXLDrWEgcGFyYVxuICAgKiDDqWwgaGFzdGEgcXVlIGFsZ3VpZW4gdG9xdWUgc3UgYm90w7NuIOKAlCB5IGxvIGVzY3JpdG8gRVMgbGEgaW50ZW5jacOzbiBkZWxcbiAgICogdXN1YXJpbywgbm8gdW4gYm9ycmFkb3IgcXVlIGhheWEgcXVlIGNvbmZpcm1hci5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBsYWJlbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgaGludENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSB0eXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnVEVYVCcsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxGaWVsZE9wdGlvbltdPihbXSk7XG4gIHJlYWRvbmx5IHZhbGlkYXRpb25FcnJvciA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0SWQgPSBzaWduYWwoJycpO1xuICAvKiogU2UgcmVmcmVzY2EgY29uIGNhZGEgY2FtYmlvIGRlIHRpcG8g4oCUIGBuZWVkc09wdGlvbnNgIG5vIHB1ZWRlIGxlZXIgZWwgY29udHJvbCBkaXJlY3RvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRUeXBlID0gc2lnbmFsKCdURVhUJyk7XG4gIC8qKiBVbmEgdmV6IHF1ZSBzZSB0b2NhIGVsIHRva2VuIGEgbWFubyAobyBzZSBlZGl0YSB1biBjYW1wbyB5YSBndWFyZGFkbykgZGVqYSBkZSBkZXJpdmFyc2UgZGVsIGxhYmVsLiAqL1xuICBwcml2YXRlIG5hbWVMb2NrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBuYW1lID0gJyc7XG4gIHByaXZhdGUgZmllbGRJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShOQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhOQU1FU1BBQ0UsIEZJRUxEX1NDSEVNQV9FRElUT1JfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMudHlwZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRUeXBlLnNldCh2YWx1ZSB8fCAnVEVYVCcpO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5sYWJlbENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmFtZUxvY2tlZCkgdGhpcy5uYW1lID0gdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHZhbHVlIHx8ICcnKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Q2hhbmdlKCkpO1xuICAgIHRoaXMuaGludENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gICAgdGhpcy5yZXF1aXJlZENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0aWFsID0gdGhpcy5wcm9wcy5maWVsZDtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5maWVsZElkID0gaW5pdGlhbC5pZDtcbiAgICAgIHRoaXMubmFtZUxvY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm5hbWUgPSBpbml0aWFsLm5hbWU7XG4gICAgICB0aGlzLmxhYmVsQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsLmxhYmVsID8/ICcnKTtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnNldFZhbHVlKGluaXRpYWwucGxhY2Vob2xkZXJUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbC5oaW50VGV4dCA/PyAnJyk7XG4gICAgICB0aGlzLnJlcXVpcmVkQ29udHJvbC5zZXRWYWx1ZSghIWluaXRpYWwucmVxdWlyZWQpO1xuICAgICAgdGhpcy50eXBlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvZXJjZVR5cGUoaW5pdGlhbC50eXBlKSk7XG4gICAgICB0aGlzLm9wdGlvbnMuc2V0KGluaXRpYWwub3B0aW9ucyA/PyBbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZElkID0gYGZpZWxkLSR7KytmaWVsZFVpZH1gO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHRoaXMudHlwZUNvbnRyb2wudmFsdWUpKTtcbiAgICBjb25zdCBmaXJzdCA9IHRoaXMucHJvcHMucHJlc2V0cz8uWzBdO1xuICAgIGlmIChmaXJzdCkgdGhpcy5zZWxlY3RQcmVzZXQoZmlyc3QpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBOQU1FU1BBQ0UpO1xuICB9XG5cbiAgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuc3RhdGUgPz8gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQ7XG4gIH1cblxuICBzaG93UHJlc2V0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlICE9PSAnZWRpdCcgJiYgISF0aGlzLnByb3BzLnByZXNldHM/Lmxlbmd0aDtcbiAgfVxuXG4gIG5lZWRzT3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRklFTERfVFlQRVNfV0lUSF9PUFRJT05TLmluY2x1ZGVzKHRoaXMuY3VycmVudFR5cGUoKSk7XG4gIH1cblxuICB0eXBlTGFiZWwodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50eXBlTGFiZWxzPy5bdHlwZV0gfHwgdGhpcy50KGB0eXBlJHt0eXBlfWApO1xuICB9XG5cbiAgcmVhZG9ubHkgdHlwZVNlbGVjdFByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxJbnB1dE1ldGFkYXRhPj4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2w6IHRoaXMudHlwZUNvbnRyb2wsXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuU0VMRUNULFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ3R5cGVMYWJlbCcpLFxuICAgICAgLy8gYWN0aW9uLXNoZWV0IHkgbm8gZWwgcG9wb3ZlciBkZWZhdWx0IGRlIElvbmljOiBlbCBwb3BvdmVyIHNlIGFuY2xhIGFsXG4gICAgICAvLyBjYW1wbywgeSBjb24gZWwgY2FtcG8gY2VyY2EgZGVsIGJvcmRlIGluZmVyaW9yIHkgdW4gY2F0w6Fsb2dvIGxhcmdvXG4gICAgICAvLyBJb25pYyBsbyByZWNvcnRhIGFycmliYSBZIGFiYWpvIOKAlCBxdWVkYWJhbiB0aXBvcyBpbXBvc2libGVzIGRlIGVsZWdpci5cbiAgICAgIC8vIExhIGhvamEgdXNhIGVsIGFsdG8gY29tcGxldG8geSBzY3JvbGxlYSBzb2xhLlxuICAgICAgc2VsZWN0SW50ZXJmYWNlOiAnYWN0aW9uLXNoZWV0JyxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYWxsb3dlZFR5cGVzKCkubWFwKCh0eXBlLCBvcmRlcikgPT4gKHsgaWQ6IHR5cGUsIG5hbWU6IHRoaXMudHlwZUxhYmVsKHR5cGUpLCBvcmRlciB9KSksXG4gICAgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9uc0VkaXRvclByb3BzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnQoJ29wdGlvbnNUaXRsZScpLFxuICAgICAgaGludDogdGhpcy50KCdvcHRpb25zSGludCcpLFxuICAgICAgYWRkTGFiZWw6IHRoaXMudCgnb3B0aW9uc0FkZCcpLFxuICAgICAgb3B0aW9uc0xhYmVsOiB0aGlzLnQoJ29wdGlvbnNMaXN0JyksXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdvcHRpb25zUGxhY2Vob2xkZXInKSxcbiAgICAgIGVtcHR5VGV4dDogdGhpcy50KCdvcHRpb25zRW1wdHknKSxcbiAgICAgIHJlbW92ZU9wdGlvbkxhYmVsOiB0aGlzLnQoJ29wdGlvbnNSZW1vdmUnKSxcbiAgICAgIHJlb3JkZXJPcHRpb25MYWJlbDogdGhpcy50KCdvcHRpb25zUmVvcmRlcicpLFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucygpLFxuICAgIH07XG4gIH0pO1xuXG4gIHNldE9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucy5zZXQob3B0aW9ucyk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gQW50ZXMgZGUgbmdPbkluaXQgbm8gaGF5IGlkOiBlbWl0aXIgYWjDrSBkYXLDrWEgdW4gY2FtcG8gc2luIGlkZW50aWRhZCwgcXVlXG4gICAgLy8gZWwgY29uc3VtZXIgbm8gc2FicsOtYSBhIHF1w6kgZmlsYSBhcGxpY2FyLlxuICAgIGlmICh0aGlzLmZpZWxkSWQpIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICBzZWxlY3RQcmVzZXQocHJlc2V0OiBGaWVsZFNjaGVtYUVkaXRvclByZXNldCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXRJZC5zZXQocHJlc2V0LmlkKTtcbiAgICBjb25zdCB2YWx1ZSA9IHByZXNldC5maWVsZDtcbiAgICAvLyBFbCBwcmVzZXQgZmlqYSBlbCB0b2tlbjogXCJjb3JyZW8gZGVsIGNvbXByYWRvclwiIHRpZW5lIHF1ZSBsbGFtYXJzZVxuICAgIC8vIGBlbWFpbGAgYXVucXVlIGRlc3B1w6lzIGxlIGNhbWJpZW4gZWwgdGV4dG8gdmlzaWJsZS5cbiAgICB0aGlzLm5hbWVMb2NrZWQgPSAhIXZhbHVlLm5hbWU7XG4gICAgdGhpcy5uYW1lID0gdmFsdWUubmFtZSB8fCB0aGlzLmZvcm1TY2hlbWFzLnRvVG9rZW4odmFsdWUubGFiZWwgfHwgJycpO1xuICAgIHRoaXMubGFiZWxDb250cm9sLnNldFZhbHVlKHZhbHVlLmxhYmVsID8/ICcnKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5wbGFjZWhvbGRlclRleHQgPz8gJycpO1xuICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUodmFsdWUuaGludFRleHQgPz8gJycpO1xuICAgIHRoaXMucmVxdWlyZWRDb250cm9sLnNldFZhbHVlKCEhdmFsdWUucmVxdWlyZWQpO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHZhbHVlLnR5cGUpKTtcbiAgICB0aGlzLm9wdGlvbnMuc2V0KHZhbHVlLm9wdGlvbnMgPz8gW10pO1xuICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSB5IGVtaXRlLiBQw7pibGljbyBhIHByb3DDs3NpdG86IGxvIGxsYW1hIGVsIGNvbnN1bWVyIGRlc2RlIGVsIGJvdMOzblxuICAgKiBkZSBzdSBwcm9waWEgY8Ohc2NhcmEgKG1vZGFsLCBww6FnaW5hIG8gYWNvcmRlw7NuKS5cbiAgICovXG4gIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIWZpZWxkLmxhYmVsIHx8ICFmaWVsZC5uYW1lIHx8ICFmaWVsZC50eXBlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvckluY29tcGxldGUnKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzT3B0aW9ucygpICYmICEoZmllbGQub3B0aW9ucz8ubGVuZ3RoID8/IDApKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvck9wdGlvbnNSZXF1aXJlZCcpKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3Iuc2V0KCcnKTtcbiAgICB0aGlzLnNhdmUuZW1pdChmaWVsZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogRWwgY2FtcG8gdGFsIGNvbW8gZXN0w6EgZW4gcGFudGFsbGEsIHNpbiB2YWxpZGFyLiAqL1xuICB2YWx1ZSgpOiBFZGl0YWJsZUZpZWxkRGVmIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmxhYmVsQ29udHJvbC52YWx1ZSB8fCAnJykudHJpbSgpO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5maWVsZElkLFxuICAgICAgbmFtZTogdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHRoaXMubmFtZSB8fCBsYWJlbCksXG4gICAgICBsYWJlbCxcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogKHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlIHx8ICcnKS50cmltKCksXG4gICAgICBoaW50VGV4dDogKHRoaXMuaGludENvbnRyb2wudmFsdWUgfHwgJycpLnRyaW0oKSxcbiAgICAgIHR5cGU6IHRoaXMuY29lcmNlVHlwZSh0aGlzLnR5cGVDb250cm9sLnZhbHVlKSxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkQ29udHJvbC52YWx1ZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMubmVlZHNPcHRpb25zKCkgPyB0aGlzLm9wdGlvbnMoKS5tYXAoKG9wdGlvbiwgaW5kZXgpID0+ICh7IC4uLm9wdGlvbiwgb3JkZXI6IGluZGV4IH0pKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFsbG93ZWRUeXBlcz8ubGVuZ3RoID8gdGhpcy5wcm9wcy5hbGxvd2VkVHlwZXMgOiBbJ1RFWFQnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbiB0aXBvIGZ1ZXJhIGRlbCBjYXTDoWxvZ28gZGVsIGNvbnN1bWVyIGNhZSBhbCBwcmltZXJvIHBlcm1pdGlkby4gUGFzYSBhbFxuICAgKiBlZGl0YXIgdW4gY2FtcG8gZ3VhcmRhZG8gY29uIHVuIHRpcG8gcXVlIGxhIGFwcCB5YSBubyBvZnJlY2UgKGJpbmdvIGxvXG4gICAqIGhhY8OtYSBjb24gQVRUQUNITUVOVCBjdWFuZG8gZWwgbWVkaW8gZGUgcGFnbyBubyBsbyBhZG1pdGUpOiBzaW4gZXN0bywgZWxcbiAgICogc2VsZWN0IHF1ZWRhIGVuIHVuIHZhbG9yIHF1ZSBubyBlc3TDoSBlbiBzdSBsaXN0YSB5IHNlIHZlIHZhY8Otby5cbiAgICovXG4gIHByaXZhdGUgY29lcmNlVHlwZSh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWQgPSB0aGlzLmFsbG93ZWRUeXBlcygpO1xuICAgIHJldHVybiBhbGxvd2VkLmluY2x1ZGVzKHR5cGUpID8gdHlwZSA6IGFsbG93ZWRbMF07XG4gIH1cbn1cbiJdfQ==
362
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLXNjaGVtYS1lZGl0b3IvZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFpQixTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FB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QUMsQ0FBQztJQUNwRCxDQUFDOytHQW5NVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw4SkF4SDNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJEVCw0dkNBcEVDLFlBQVksOEJBQ1osbUJBQW1CLCtCQUNuQixrQkFBa0IsOEVBQ2xCLGtCQUFrQix3RkFDbEIsc0JBQXNCLDRGQUN0Qix1QkFBdUIsMEZBQ3ZCLG9CQUFvQiwwRkFDcEIsMkJBQTJCOzs0RkEwSGxCLDBCQUEwQjtrQkFySXRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLDJCQUEyQjtxQkFDNUIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQ7d0RBOERRLEtBQUs7c0JBQWIsS0FBSztnQkFDYSxJQUFJO3NCQUF0QixNQUFNO2dCQU9ZLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm1zL2Zvcm0tc2NoZW1hLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm1zL3R5cGVzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcywgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdG9nZ2xlLWlucHV0L3RvZ2dsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRPcHRpb25zRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ZpZWxkLW9wdGlvbnMtZWRpdG9yL2ZpZWxkLW9wdGlvbnMtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0YWJsZUZpZWxkRGVmLCBGaWVsZFNjaGVtYUVkaXRvck1ldGFkYXRhLCBGaWVsZFNjaGVtYUVkaXRvclByZXNldCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRklFTERfU0NIRU1BX0VESVRPUl9JMThOIH0gZnJvbSAnLi9maWVsZC1zY2hlbWEtZWRpdG9yLmkxOG4nO1xuXG5jb25zdCBOQU1FU1BBQ0UgPSAnRmllbGRTY2hlbWFFZGl0b3InO1xuXG4vKipcbiAqIFRpcG9zIGN1eW8gdmFsb3Igc2FsZSBkZSB1bmEgbGlzdGEgY2VycmFkYSBxdWUgZGVmaW5lIHF1aWVuIGFybWEgZWxcbiAqIGZvcm11bGFyaW8g4oCUIHNpbiBhbCBtZW5vcyB1bmEgb3BjacOzbiwgZWwgY2FtcG8gbm8gc2UgcHVlZGUgcmVzcG9uZGVyLlxuICogRXNwZWpvIGRlIGBmaWVsZFJlcXVpcmVzT3B0aW9uc2AgcXVlIHZpdsOtYSBkdXBsaWNhZG8gZW4gYmluZ28uXG4gKi9cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19XSVRIX09QVElPTlMgPSBbJ1NFTEVDVCcsICdSQURJTycsICdNVUxUSV9TRUxFQ1QnXTtcblxubGV0IGZpZWxkVWlkID0gMDtcblxuLyoqXG4gKiB2YWwtZmllbGQtc2NoZW1hLWVkaXRvclxuICpcbiAqIEVkaXRhIFVOIGNhbXBvIGRlIHVuIGZvcm11bGFyaW8gZGluw6FtaWNvOiB0ZXh0bywgdGlwbywgcGxhY2Vob2xkZXIsIG5vdGEsXG4gKiBvYmxpZ2F0b3JpZWRhZCB5IG9wY2lvbmVzLiBFcyBsYSBwaWV6YSBxdWUgZmFsdGFiYSBlbiBsYSBsaWIg4oCUIGhhc3RhIGFob3JhXG4gKiBlbCDDum5pY28gZWRpdG9yIGRlIGNhbXBvcyBjb24gZXN0ZSBuaXZlbCB2aXbDrWEgZGVudHJvIGRlIGJpbmdvXG4gKiAoYGNoZWNrb3V0LWZpZWxkLW1vZGFsLmNvbXBvbmVudC50c2ApLCBpbnZpc2libGUgcGFyYSBlbCByZXN0byBkZWwgZmFjdG9yeSxcbiAqIHkgYHZhbC1zdXJ2ZXktYnVpbGRlcmAgaGFiw61hIHRlcm1pbmFkbyBjb24gdW5hIHZlcnNpw7NuIHBvYnJlIGRlIGxvIG1pc21vXG4gKiAoZG9zIHRpcG9zIGZpam9zLCBzaW4gcGxhY2Vob2xkZXIgbmkgb3BjaW9uZXMpLlxuICpcbiAqIEVzIGFnbsOzc3RpY28gZGUgZG9taW5pbyBhIHByb3DDs3NpdG86XG4gKiAtIGVsICoqY2F0w6Fsb2dvIGRlIHRpcG9zKiogKGBhbGxvd2VkVHlwZXNgKSBsbyBkZWNpZGUgZWwgY29uc3VtZXIsIHBvcnF1ZSBlc1xuICogICDDqWwgcXVpZW4gc2FiZSBxdcOpIHNhYmUgcmVuZGVyaXphciBzdSBmb3JtdWxhcmlvO1xuICogLSBsb3MgKipwcmVzZXRzKiogbG9zIHBhc2EgZWwgY29uc3VtZXIsIHBvcnF1ZSBcImNvcnJlbyBkZWwgY29tcHJhZG9yXCIgZXMgZGVcbiAqICAgY2hlY2tvdXQgeSBubyBzaWduaWZpY2EgbmFkYSBlbiB1bmEgZW5jdWVzdGEuXG4gKlxuICogTm8gdHJhZSBjw6FzY2FyYSBkZSBtb2RhbDogZWwgY29uc3VtZXIgbG8gZW52dWVsdmUgZW4gYHZhbC1tb2RhbC1sYXlvdXRgIChvXG4gKiBlbiBsbyBxdWUgcXVpZXJhKSB5IGRpc3BhcmEgYHN1Ym1pdCgpYCBkZXNkZSBzdSBwcm9waW8gYm90w7NuLCBpZ3VhbCBxdWUgaGFjZVxuICogYHN1cnZleS1jcmVhdGUtbW9kYWxgIGNvbiBgdmFsLXN1cnZleS1idWlsZGVyYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZpZWxkLXNjaGVtYS1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUlucHV0Q29tcG9uZW50LFxuICAgIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRvZ2dsZUlucHV0Q29tcG9uZW50LFxuICAgIEZpZWxkT3B0aW9uc0VkaXRvckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtc2NoZW1hLWVkaXRvclwiPlxuICAgICAgQGlmIChzaG93UHJlc2V0cygpKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0c1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmllbGQtc2NoZW1hLWVkaXRvcl9fc2VjdGlvbi1sYWJlbFwiPnt7IHByb3BzLnByZXNldHNUaXRsZSB8fCB0KCdwcmVzZXRzVGl0bGUnKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LWdyaWRcIj5cbiAgICAgICAgICAgIEBmb3IgKHByZXNldCBvZiBwcm9wcy5wcmVzZXRzOyB0cmFjayBwcmVzZXQuaWQpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LS1zZWxlY3RlZF09XCJzZWxlY3RlZFByZXNldElkKCkgPT09IHByZXNldC5pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFByZXNldChwcmVzZXQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcHJlc2V0LmxhYmVsIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgQGlmIChwcmVzZXQuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHByZXNldC5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIDx2YWwtZm9ybS1maWVsZCBbbGFiZWxdPVwidCgnbGFiZWxMYWJlbCcpXCI+XG4gICAgICAgIDx2YWwtdGV4dC1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBsYWJlbENvbnRyb2wsIHBsYWNlaG9sZGVyOiB0KCdsYWJlbFBsYWNlaG9sZGVyJyksIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgPC92YWwtZm9ybS1maWVsZD5cblxuICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCd0eXBlTGFiZWwnKVwiPlxuICAgICAgICA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwidHlwZVNlbGVjdFByb3BzKClcIiAvPlxuICAgICAgPC92YWwtZm9ybS1maWVsZD5cblxuICAgICAgQGlmIChwcm9wcy5zaG93UGxhY2Vob2xkZXIgIT09IGZhbHNlKSB7XG4gICAgICAgIDx2YWwtZm9ybS1maWVsZCBbbGFiZWxdPVwidCgncGxhY2Vob2xkZXJMYWJlbCcpXCI+XG4gICAgICAgICAgPHZhbC10ZXh0YXJlYS1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBwbGFjZWhvbGRlckNvbnRyb2wsIGF1dG9Hcm93OiB0cnVlLCBzdGF0ZTogc3RhdGUoKSB9XCIgLz5cbiAgICAgICAgPC92YWwtZm9ybS1maWVsZD5cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5zaG93SGludCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCdoaW50TGFiZWwnKVwiPlxuICAgICAgICAgIDx2YWwtdGV4dGFyZWEtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogaGludENvbnRyb2wsIGF1dG9Hcm93OiB0cnVlLCBzdGF0ZTogc3RhdGUoKSB9XCIgLz5cbiAgICAgICAgPC92YWwtZm9ybS1maWVsZD5cbiAgICAgIH1cblxuICAgICAgPHZhbC10b2dnbGUtaW5wdXRcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICBjb250cm9sOiByZXF1aXJlZENvbnRyb2wsXG4gICAgICAgICAgbGFiZWw6IHQoJ3JlcXVpcmVkTGFiZWwnKSxcbiAgICAgICAgICBzdGF0ZTogc3RhdGUoKSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuXG4gICAgICBAaWYgKG5lZWRzT3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8dmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yIFtwcm9wc109XCJvcHRpb25zRWRpdG9yUHJvcHMoKVwiIChvcHRpb25zQ2hhbmdlKT1cInNldE9wdGlvbnMoJGV2ZW50KVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAodmFsaWRhdGlvbkVycm9yKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19lcnJvclwiPnt7IHZhbGlkYXRpb25FcnJvcigpIH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3NlY3Rpb24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQgc3Ryb25nLFxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0IHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4xNCk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZFNjaGVtYUVkaXRvck1ldGFkYXRhID0geyBhbGxvd2VkVHlwZXM6IFsnVEVYVCddIH07XG4gIEBPdXRwdXQoKSByZWFkb25seSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuICAvKipcbiAgICogRW1pdGUgZW4gY2FkYSB0ZWNsYSwgc2luIHZhbGlkYXIuIEV4aXN0ZSBwb3JxdWUgZWwgY29uc3VtZXIgbmVjZXNpdGEgZWxcbiAgICogYm9ycmFkb3IgZW4gdml2bzogc2kgc29sbyB0dXZpZXJhIGBzYXZlYCwgbG8gZXNjcml0byBhY8OhIG5vIGV4aXN0aXLDrWEgcGFyYVxuICAgKiDDqWwgaGFzdGEgcXVlIGFsZ3VpZW4gdG9xdWUgc3UgYm90w7NuIOKAlCB5IGxvIGVzY3JpdG8gRVMgbGEgaW50ZW5jacOzbiBkZWxcbiAgICogdXN1YXJpbywgbm8gdW4gYm9ycmFkb3IgcXVlIGhheWEgcXVlIGNvbmZpcm1hci5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBsYWJlbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgaGludENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSB0eXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnVEVYVCcsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxGaWVsZE9wdGlvbltdPihbXSk7XG4gIHJlYWRvbmx5IHZhbGlkYXRpb25FcnJvciA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0SWQgPSBzaWduYWwoJycpO1xuICAvKiogU2UgcmVmcmVzY2EgY29uIGNhZGEgY2FtYmlvIGRlIHRpcG8g4oCUIGBuZWVkc09wdGlvbnNgIG5vIHB1ZWRlIGxlZXIgZWwgY29udHJvbCBkaXJlY3RvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRUeXBlID0gc2lnbmFsKCdURVhUJyk7XG4gIC8qKiBVbmEgdmV6IHF1ZSBzZSB0b2NhIGVsIHRva2VuIGEgbWFubyAobyBzZSBlZGl0YSB1biBjYW1wbyB5YSBndWFyZGFkbykgZGVqYSBkZSBkZXJpdmFyc2UgZGVsIGxhYmVsLiAqL1xuICBwcml2YXRlIG5hbWVMb2NrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBuYW1lID0gJyc7XG4gIHByaXZhdGUgZmllbGRJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShOQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhOQU1FU1BBQ0UsIEZJRUxEX1NDSEVNQV9FRElUT1JfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMudHlwZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRUeXBlLnNldCh2YWx1ZSB8fCAnVEVYVCcpO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5sYWJlbENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmFtZUxvY2tlZCkgdGhpcy5uYW1lID0gdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHZhbHVlIHx8ICcnKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Q2hhbmdlKCkpO1xuICAgIHRoaXMuaGludENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gICAgdGhpcy5yZXF1aXJlZENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0aWFsID0gdGhpcy5wcm9wcy5maWVsZDtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5maWVsZElkID0gaW5pdGlhbC5pZDtcbiAgICAgIHRoaXMubmFtZUxvY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm5hbWUgPSBpbml0aWFsLm5hbWU7XG4gICAgICB0aGlzLmxhYmVsQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsLmxhYmVsID8/ICcnKTtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnNldFZhbHVlKGluaXRpYWwucGxhY2Vob2xkZXJUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbC5oaW50VGV4dCA/PyAnJyk7XG4gICAgICB0aGlzLnJlcXVpcmVkQ29udHJvbC5zZXRWYWx1ZSghIWluaXRpYWwucmVxdWlyZWQpO1xuICAgICAgdGhpcy50eXBlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvZXJjZVR5cGUoaW5pdGlhbC50eXBlKSk7XG4gICAgICB0aGlzLm9wdGlvbnMuc2V0KGluaXRpYWwub3B0aW9ucyA/PyBbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZElkID0gYGZpZWxkLSR7KytmaWVsZFVpZH1gO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHRoaXMudHlwZUNvbnRyb2wudmFsdWUpKTtcbiAgICBjb25zdCBmaXJzdCA9IHRoaXMucHJvcHMucHJlc2V0cz8uWzBdO1xuICAgIGlmIChmaXJzdCkgdGhpcy5zZWxlY3RQcmVzZXQoZmlyc3QpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBOQU1FU1BBQ0UpO1xuICB9XG5cbiAgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuc3RhdGUgPz8gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQ7XG4gIH1cblxuICBzaG93UHJlc2V0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlICE9PSAnZWRpdCcgJiYgISF0aGlzLnByb3BzLnByZXNldHM/Lmxlbmd0aDtcbiAgfVxuXG4gIG5lZWRzT3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRklFTERfVFlQRVNfV0lUSF9PUFRJT05TLmluY2x1ZGVzKHRoaXMuY3VycmVudFR5cGUoKSk7XG4gIH1cblxuICB0eXBlTGFiZWwodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50eXBlTGFiZWxzPy5bdHlwZV0gfHwgdGhpcy50KGB0eXBlJHt0eXBlfWApO1xuICB9XG5cbiAgcmVhZG9ubHkgdHlwZVNlbGVjdFByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxJbnB1dE1ldGFkYXRhPj4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2w6IHRoaXMudHlwZUNvbnRyb2wsXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuU0VMRUNULFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ3R5cGVMYWJlbCcpLFxuICAgICAgLy8gYWN0aW9uLXNoZWV0IHkgbm8gZWwgcG9wb3ZlciBkZWZhdWx0IGRlIElvbmljOiBlbCBwb3BvdmVyIHNlIGFuY2xhIGFsXG4gICAgICAvLyBjYW1wbywgeSBjb24gZWwgY2FtcG8gY2VyY2EgZGVsIGJvcmRlIGluZmVyaW9yIHkgdW4gY2F0w6Fsb2dvIGxhcmdvXG4gICAgICAvLyBJb25pYyBsbyByZWNvcnRhIGFycmliYSBZIGFiYWpvIOKAlCBxdWVkYWJhbiB0aXBvcyBpbXBvc2libGVzIGRlIGVsZWdpci5cbiAgICAgIC8vIExhIGhvamEgdXNhIGVsIGFsdG8gY29tcGxldG8geSBzY3JvbGxlYSBzb2xhLlxuICAgICAgc2VsZWN0SW50ZXJmYWNlOiAnYWN0aW9uLXNoZWV0JyxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYWxsb3dlZFR5cGVzKCkubWFwKCh0eXBlLCBvcmRlcikgPT4gKHsgaWQ6IHR5cGUsIG5hbWU6IHRoaXMudHlwZUxhYmVsKHR5cGUpLCBvcmRlciB9KSksXG4gICAgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9uc0VkaXRvclByb3BzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnQoJ29wdGlvbnNUaXRsZScpLFxuICAgICAgaGludDogdGhpcy50KCdvcHRpb25zSGludCcpLFxuICAgICAgYWRkTGFiZWw6IHRoaXMudCgnb3B0aW9uc0FkZCcpLFxuICAgICAgb3B0aW9uc0xhYmVsOiB0aGlzLnQoJ29wdGlvbnNMaXN0JyksXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdvcHRpb25zUGxhY2Vob2xkZXInKSxcbiAgICAgIGVtcHR5VGV4dDogdGhpcy50KCdvcHRpb25zRW1wdHknKSxcbiAgICAgIHJlbW92ZU9wdGlvbkxhYmVsOiB0aGlzLnQoJ29wdGlvbnNSZW1vdmUnKSxcbiAgICAgIHJlb3JkZXJPcHRpb25MYWJlbDogdGhpcy50KCdvcHRpb25zUmVvcmRlcicpLFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucygpLFxuICAgIH07XG4gIH0pO1xuXG4gIHNldE9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucy5zZXQob3B0aW9ucyk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gQW50ZXMgZGUgbmdPbkluaXQgbm8gaGF5IGlkOiBlbWl0aXIgYWjDrSBkYXLDrWEgdW4gY2FtcG8gc2luIGlkZW50aWRhZCwgcXVlXG4gICAgLy8gZWwgY29uc3VtZXIgbm8gc2FicsOtYSBhIHF1w6kgZmlsYSBhcGxpY2FyLlxuICAgIGlmICh0aGlzLmZpZWxkSWQpIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICBzZWxlY3RQcmVzZXQocHJlc2V0OiBGaWVsZFNjaGVtYUVkaXRvclByZXNldCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXRJZC5zZXQocHJlc2V0LmlkKTtcbiAgICBjb25zdCB2YWx1ZSA9IHByZXNldC5maWVsZDtcbiAgICAvLyBFbCBwcmVzZXQgZmlqYSBlbCB0b2tlbjogXCJjb3JyZW8gZGVsIGNvbXByYWRvclwiIHRpZW5lIHF1ZSBsbGFtYXJzZVxuICAgIC8vIGBlbWFpbGAgYXVucXVlIGRlc3B1w6lzIGxlIGNhbWJpZW4gZWwgdGV4dG8gdmlzaWJsZS5cbiAgICB0aGlzLm5hbWVMb2NrZWQgPSAhIXZhbHVlLm5hbWU7XG4gICAgdGhpcy5uYW1lID0gdmFsdWUubmFtZSB8fCB0aGlzLmZvcm1TY2hlbWFzLnRvVG9rZW4odmFsdWUubGFiZWwgfHwgJycpO1xuICAgIHRoaXMubGFiZWxDb250cm9sLnNldFZhbHVlKHZhbHVlLmxhYmVsID8/ICcnKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5wbGFjZWhvbGRlclRleHQgPz8gJycpO1xuICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUodmFsdWUuaGludFRleHQgPz8gJycpO1xuICAgIHRoaXMucmVxdWlyZWRDb250cm9sLnNldFZhbHVlKCEhdmFsdWUucmVxdWlyZWQpO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHZhbHVlLnR5cGUpKTtcbiAgICB0aGlzLm9wdGlvbnMuc2V0KHZhbHVlLm9wdGlvbnMgPz8gW10pO1xuICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSB5IGVtaXRlLiBQw7pibGljbyBhIHByb3DDs3NpdG86IGxvIGxsYW1hIGVsIGNvbnN1bWVyIGRlc2RlIGVsIGJvdMOzblxuICAgKiBkZSBzdSBwcm9waWEgY8Ohc2NhcmEgKG1vZGFsLCBww6FnaW5hIG8gYWNvcmRlw7NuKS5cbiAgICovXG4gIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIWZpZWxkLmxhYmVsIHx8ICFmaWVsZC5uYW1lIHx8ICFmaWVsZC50eXBlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvckluY29tcGxldGUnKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzT3B0aW9ucygpICYmICEoZmllbGQub3B0aW9ucz8ubGVuZ3RoID8/IDApKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvck9wdGlvbnNSZXF1aXJlZCcpKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3Iuc2V0KCcnKTtcbiAgICB0aGlzLnNhdmUuZW1pdChmaWVsZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogRWwgY2FtcG8gdGFsIGNvbW8gZXN0w6EgZW4gcGFudGFsbGEsIHNpbiB2YWxpZGFyLiAqL1xuICB2YWx1ZSgpOiBFZGl0YWJsZUZpZWxkRGVmIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmxhYmVsQ29udHJvbC52YWx1ZSB8fCAnJykudHJpbSgpO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5maWVsZElkLFxuICAgICAgbmFtZTogdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHRoaXMubmFtZSB8fCBsYWJlbCksXG4gICAgICBsYWJlbCxcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogKHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlIHx8ICcnKS50cmltKCksXG4gICAgICBoaW50VGV4dDogKHRoaXMuaGludENvbnRyb2wudmFsdWUgfHwgJycpLnRyaW0oKSxcbiAgICAgIHR5cGU6IHRoaXMuY29lcmNlVHlwZSh0aGlzLnR5cGVDb250cm9sLnZhbHVlKSxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkQ29udHJvbC52YWx1ZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMubmVlZHNPcHRpb25zKCkgPyB0aGlzLm9wdGlvbnMoKS5tYXAoKG9wdGlvbiwgaW5kZXgpID0+ICh7IC4uLm9wdGlvbiwgb3JkZXI6IGluZGV4IH0pKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFsbG93ZWRUeXBlcz8ubGVuZ3RoID8gdGhpcy5wcm9wcy5hbGxvd2VkVHlwZXMgOiBbJ1RFWFQnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbiB0aXBvIGZ1ZXJhIGRlbCBjYXTDoWxvZ28gZGVsIGNvbnN1bWVyIGNhZSBhbCBwcmltZXJvIHBlcm1pdGlkby4gUGFzYSBhbFxuICAgKiBlZGl0YXIgdW4gY2FtcG8gZ3VhcmRhZG8gY29uIHVuIHRpcG8gcXVlIGxhIGFwcCB5YSBubyBvZnJlY2UgKGJpbmdvIGxvXG4gICAqIGhhY8OtYSBjb24gQVRUQUNITUVOVCBjdWFuZG8gZWwgbWVkaW8gZGUgcGFnbyBubyBsbyBhZG1pdGUpOiBzaW4gZXN0bywgZWxcbiAgICogc2VsZWN0IHF1ZWRhIGVuIHVuIHZhbG9yIHF1ZSBubyBlc3TDoSBlbiBzdSBsaXN0YSB5IHNlIHZlIHZhY8Otby5cbiAgICovXG4gIHByaXZhdGUgY29lcmNlVHlwZSh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWQgPSB0aGlzLmFsbG93ZWRUeXBlcygpO1xuICAgIHJldHVybiBhbGxvd2VkLmluY2x1ZGVzKHR5cGUpID8gdHlwZSA6IGFsbG93ZWRbMF07XG4gIH1cbn1cbiJdfQ==