UNPKG

@junte/ui

Version:

Quality Angular UI components kit

72 lines 51.3 kB
/** * @fileoverview This file was generated by the Angular template compiler. Do not edit. * * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire} * tslint:disable */ import * as i0 from "@angular/core"; import * as i1 from "./date-picker.module"; import * as i2 from "../../elements/icon/icon.component.ngfactory"; import * as i3 from "../../layout/stack/stack.component.ngfactory"; import * as i4 from "../../layout/grid/container/container.component.ngfactory"; import * as i5 from "../../layout/grid/row/row.component.ngfactory"; import * as i6 from "../../layout/grid/col/col.component.ngfactory"; import * as i7 from "../checkbox/checkbox.component.ngfactory"; import * as i8 from "../checkbox/checkbox-group/checkbox-group.component.ngfactory"; import * as i9 from "../../elements/dot/dot.component.ngfactory"; import * as i10 from "../../elements/label/label.component.ngfactory"; import * as i11 from "../../../../node_modules/@angular/router/router.ngfactory"; import * as i12 from "../radio/radio.component.ngfactory"; import * as i13 from "../radio/radio-group/radio-group.component.ngfactory"; import * as i14 from "../../layout/spinner/spinner.component.ngfactory"; import * as i15 from "../input/input.component.ngfactory"; import * as i16 from "../../layout/skeleton/skeleton.component.ngfactory"; import * as i17 from "../../elements/badge/badge.component.ngfactory"; import * as i18 from "../button/button.component.ngfactory"; import * as i19 from "../button/group/button-group.component.ngfactory"; import * as i20 from "../select/select.component.ngfactory"; import * as i21 from "../switch/switch.component.ngfactory"; import * as i22 from "../form/form.component.ngfactory"; import * as i23 from "../form/control/form-control.component.ngfactory"; import * as i24 from "../form/label/form-label.component.ngfactory"; import * as i25 from "../form/message/form-message.component.ngfactory"; import * as i26 from "../form/item/form-item.component.ngfactory"; import * as i27 from "../calendar/calendar.component.ngfactory"; import * as i28 from "../calendar/week/week-metric.component.ngfactory"; import * as i29 from "../../overlays/popover/popover.component.ngfactory"; import * as i30 from "../../layout/block/block.component.ngfactory"; import * as i31 from "./date-picker.component.ngfactory"; import * as i32 from "@angular/common"; import * as i33 from "@angular/forms"; import * as i34 from "@angular/common/http"; import * as i35 from "ngx-logger"; import * as i36 from "../../layout/responsive/breakpoint.service"; import * as i37 from "../../layout/responsive/device.service"; import * as i38 from "../../elements/icon/icon.module"; import * as i39 from "../../layout/stack/stack.module"; import * as i40 from "../../layout/grid/grid.module"; import * as i41 from "../../core/pipes/array-pipes.module"; import * as i42 from "../../core/pipes/math-pipes.module"; import * as i43 from "../checkbox/checkbox.module"; import * as i44 from "../../core/pipes/color-pipes.module"; import * as i45 from "../../elements/dot/dot.module"; import * as i46 from "../../elements/label/label.module"; import * as i47 from "@angular/router"; import * as i48 from "../radio/radio.module"; import * as i49 from "../../layout/spinner/spinner.module"; import * as i50 from "../input/input.module"; import * as i51 from "../../layout/skeleton/skeleton.module"; import * as i52 from "../../elements/badge/badge.module"; import * as i53 from "../button/button.module"; import * as i54 from "../../layout/responsive/responsive.module"; import * as i55 from "../select/select.module"; import * as i56 from "../switch/switch.module"; import * as i57 from "../form/form.module"; import * as i58 from "@ngx-translate/core"; import * as i59 from "../../core/pipes/date-pipes.module"; import * as i60 from "../calendar/calendar.module"; import * as i61 from "../../overlays/popover/popover.module"; import * as i62 from "../../layout/block/block.module"; var DatePickerModuleNgFactory = i0.ɵcmf(i1.DatePickerModule, [], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, [i2.IconComponentNgFactory, i3.StackComponentNgFactory, i4.ContainerComponentNgFactory, i5.RowComponentNgFactory, i6.ColComponentNgFactory, i7.CheckboxComponentNgFactory, i8.CheckboxGroupComponentNgFactory, i9.DotComponentNgFactory, i10.LabelComponentNgFactory, i11.ɵangular_packages_router_router_lNgFactory, i12.RadioComponentNgFactory, i13.RadioGroupComponentNgFactory, i14.SpinnerComponentNgFactory, i15.InputComponentNgFactory, i16.SkeletonComponentNgFactory, i17.BadgeComponentNgFactory, i18.ButtonComponentNgFactory, i19.ButtonGroupComponentNgFactory, i20.SelectComponentNgFactory, i20.SelectOptionComponentNgFactory, i21.SwitchComponentNgFactory, i22.FormComponentNgFactory, i23.FormControlComponentNgFactory, i24.FormLabelComponentNgFactory, i25.FormMessageComponentNgFactory, i26.FormItemComponentNgFactory, i27.CalendarComponentNgFactory, i28.WeekMetricComponentNgFactory, i29.PopoverComponentNgFactory, i30.BlockComponentNgFactory, i31.DatePickerComponentNgFactory]], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(4608, i32.NgLocalization, i32.NgLocaleLocalization, [i0.LOCALE_ID]), i0.ɵmpd(4608, i33.FormBuilder, i33.FormBuilder, []), i0.ɵmpd(4608, i33.ɵangular_packages_forms_forms_n, i33.ɵangular_packages_forms_forms_n, []), i0.ɵmpd(4608, i34.HttpXsrfTokenExtractor, i34.ɵangular_packages_common_http_http_g, [i32.DOCUMENT, i0.PLATFORM_ID, i34.ɵangular_packages_common_http_http_e]), i0.ɵmpd(4608, i34.ɵangular_packages_common_http_http_h, i34.ɵangular_packages_common_http_http_h, [i34.HttpXsrfTokenExtractor, i34.ɵangular_packages_common_http_http_f]), i0.ɵmpd(5120, i34.HTTP_INTERCEPTORS, function (p0_0) { return [p0_0]; }, [i34.ɵangular_packages_common_http_http_h]), i0.ɵmpd(4608, i34.ɵangular_packages_common_http_http_d, i34.ɵangular_packages_common_http_http_d, []), i0.ɵmpd(6144, i34.XhrFactory, null, [i34.ɵangular_packages_common_http_http_d]), i0.ɵmpd(4608, i34.HttpXhrBackend, i34.HttpXhrBackend, [i34.XhrFactory]), i0.ɵmpd(6144, i34.HttpBackend, null, [i34.HttpXhrBackend]), i0.ɵmpd(4608, i34.HttpHandler, i34.ɵHttpInterceptingHandler, [i34.HttpBackend, i0.Injector]), i0.ɵmpd(4608, i34.HttpClient, i34.HttpClient, [i34.HttpHandler]), i0.ɵmpd(4608, i35.NGXMapperService, i35.NGXMapperService, [i34.HttpBackend]), i0.ɵmpd(4608, i35.NGXLoggerHttpService, i35.NGXLoggerHttpService, [i34.HttpBackend]), i0.ɵmpd(4608, i32.DatePipe, i32.DatePipe, [i0.LOCALE_ID]), i0.ɵmpd(4608, i35.NGXLogger, i35.NGXLogger, [i35.NGXMapperService, i35.NGXLoggerHttpService, i35.LoggerConfig, i0.PLATFORM_ID, i32.DatePipe]), i0.ɵmpd(4608, i35.CustomNGXLoggerService, i35.CustomNGXLoggerService, [i35.NGXMapperService, i35.NGXLoggerHttpService, i0.PLATFORM_ID, i32.DatePipe]), i0.ɵmpd(4608, i36.BreakpointService, i36.BreakpointService, [i0.NgZone]), i0.ɵmpd(4608, i37.DeviceService, i37.DeviceService, []), i0.ɵmpd(1073742336, i32.CommonModule, i32.CommonModule, []), i0.ɵmpd(1073742336, i33.ɵangular_packages_forms_forms_d, i33.ɵangular_packages_forms_forms_d, []), i0.ɵmpd(1073742336, i33.ReactiveFormsModule, i33.ReactiveFormsModule, []), i0.ɵmpd(1073742336, i33.FormsModule, i33.FormsModule, []), i0.ɵmpd(1073742336, i34.HttpClientXsrfModule, i34.HttpClientXsrfModule, []), i0.ɵmpd(1073742336, i34.HttpClientModule, i34.HttpClientModule, []), i0.ɵmpd(1073742336, i38.IconModule, i38.IconModule, []), i0.ɵmpd(1073742336, i39.StackModule, i39.StackModule, []), i0.ɵmpd(1073742336, i40.GridModule, i40.GridModule, []), i0.ɵmpd(1073742336, i41.ArrayPipesModule, i41.ArrayPipesModule, []), i0.ɵmpd(1073742336, i42.MathPipesModule, i42.MathPipesModule, []), i0.ɵmpd(1073742336, i43.CheckboxModule, i43.CheckboxModule, []), i0.ɵmpd(1073742336, i44.ColorPipesModule, i44.ColorPipesModule, []), i0.ɵmpd(1073742336, i45.DotModule, i45.DotModule, []), i0.ɵmpd(1073742336, i46.LabelModule, i46.LabelModule, []), i0.ɵmpd(1073742336, i47.RouterModule, i47.RouterModule, [[2, i47.ɵangular_packages_router_router_a], [2, i47.Router]]), i0.ɵmpd(1073742336, i48.RadioModule, i48.RadioModule, []), i0.ɵmpd(1073742336, i49.SpinnerModule, i49.SpinnerModule, []), i0.ɵmpd(1073742336, i50.InputModule, i50.InputModule, []), i0.ɵmpd(1073742336, i51.SkeletonModule, i51.SkeletonModule, []), i0.ɵmpd(1073742336, i52.BadgeModule, i52.BadgeModule, []), i0.ɵmpd(1073742336, i53.ButtonModule, i53.ButtonModule, []), i0.ɵmpd(1073742336, i35.LoggerModule, i35.LoggerModule, []), i0.ɵmpd(1073742336, i54.ResponsiveModule, i54.ResponsiveModule, []), i0.ɵmpd(1073742336, i55.SelectModule, i55.SelectModule, []), i0.ɵmpd(1073742336, i56.SwitchModule, i56.SwitchModule, []), i0.ɵmpd(1073742336, i57.FormModule, i57.FormModule, []), i0.ɵmpd(1073742336, i58.TranslateModule, i58.TranslateModule, []), i0.ɵmpd(1073742336, i59.DatePipesModule, i59.DatePipesModule, []), i0.ɵmpd(1073742336, i60.CalendarModule, i60.CalendarModule, []), i0.ɵmpd(1073742336, i61.PopoverModule, i61.PopoverModule, []), i0.ɵmpd(1073742336, i62.BlockModule, i62.BlockModule, []), i0.ɵmpd(1073742336, i1.DatePickerModule, i1.DatePickerModule, []), i0.ɵmpd(256, i34.ɵangular_packages_common_http_http_e, "XSRF-TOKEN", []), i0.ɵmpd(256, i34.ɵangular_packages_common_http_http_f, "X-XSRF-TOKEN", [])]); }); export { DatePickerModuleNgFactory as DatePickerModuleNgFactory }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9mb3Jtcy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vZGF0ZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1IGZyb20gJy4uL2Zvcm0vY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4uL2Zvcm0vaXRlbS9mb3JtLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4uL2Zvcm0vbGFiZWwvZm9ybS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi4vZm9ybS9tZXNzYWdlL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTkgZnJvbSAnLi4vaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uL2NhbGVuZGFyL3dlZWsvd2Vlay1tZXRyaWMuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi8uLi9sYXlvdXQvYmxvY2svYmxvY2suY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxMyBmcm9tICcuLi8uLi9vdmVybGF5cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi8uLi9vdmVybGF5cy9wb3BvdmVyL3BvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGkxNSBmcm9tICcuLi8uLi9sYXlvdXQvcmVzcG9uc2l2ZS9yZXNwb25zaXZlLmRpcmVjdGl2ZXMnO1xuaW1wb3J0ICogYXMgaTE2IGZyb20gJy4uLy4uL2xheW91dC9yZXNwb25zaXZlL2RldmljZS5kaXJlY3RpdmVzJztcbmltcG9ydCAqIGFzIGkxNyBmcm9tICcuLi8uLi9sYXlvdXQvc3RhY2svc3RhY2suY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxOCBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTkgZnJvbSAnLi4vYnV0dG9uL2dyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIwIGZyb20gJy4uLy4uL2VsZW1lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIxIGZyb20gJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMiBmcm9tICcuLi9mb3JtL3BpcGVzJztcbmltcG9ydCAqIGFzIGkyMyBmcm9tICcuLi8uLi9jb3JlL3BpcGVzL2FycmF5L21vY2stYXJyYXkucGlwZSc7XG5pbXBvcnQgKiBhcyBpMjQgZnJvbSAnLi4vLi4vY29yZS9waXBlcy9hcnJheS9qb2luLnBpcGUnO1xuaW1wb3J0ICogYXMgaTI1IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMvYXJyYXkvaW5jbHVkZXMucGlwZSc7XG5pbXBvcnQgKiBhcyBpMjYgZnJvbSAnLi4vLi4vY29yZS9waXBlcy9hcnJheS9wb3AucGlwZSc7XG5pbXBvcnQgKiBhcyBpMjcgZnJvbSAnLi4vLi4vY29yZS9waXBlcy9hcnJheS9maWx0ZXItZW1wdHkucGlwZSc7XG5pbXBvcnQgKiBhcyBpMjggZnJvbSAnLi9kYXRlLXBpY2tlci5waXBlcyc7XG5pbXBvcnQgKiBhcyBpMjkgZnJvbSAnLi4vZm9ybS9mb3JtLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMzAgZnJvbSAnLi4vaW5wdXQvaW5wdXQubW9kdWxlJztcbmltcG9ydCAqIGFzIGkzMSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTMyIGZyb20gJy4uLy4uL2xheW91dC9ibG9jay9ibG9jay5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTMzIGZyb20gJy4uLy4uL292ZXJsYXlzL3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTM0IGZyb20gJy4uLy4uL2xheW91dC9yZXNwb25zaXZlL3Jlc3BvbnNpdmUubW9kdWxlJztcbmltcG9ydCAqIGFzIGkzNSBmcm9tICcuLi8uLi9sYXlvdXQvc3RhY2svc3RhY2subW9kdWxlJztcbmltcG9ydCAqIGFzIGkzNiBmcm9tICcuLi8uLi9jb3JlL3BpcGVzL2FycmF5LXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMzcgZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTM4IGZyb20gJy4uLy4uL2VsZW1lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXJNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLkRhdGVQaWNrZXJNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy7JtWFuZ3VsYXJfcGFja2FnZXNfZm9ybXNfZm9ybXNfeSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjppMy5OZ1NlbGVjdE9wdGlvbiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzppMy7JtWFuZ3VsYXJfcGFja2FnZXNfZm9ybXNfZm9ybXNfeCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppMy5EZWZhdWx0VmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTppMy5OdW1iZXJWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2OmkzLlJhbmdlVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNzppMy5DaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkzLlNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkzLlNlbGVjdE11bHRpcGxlQ29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTMuUmFkaW9Db250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMTppMy5OZ0NvbnRyb2xTdGF0dXMgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTMuTmdDb250cm9sU3RhdHVzR3JvdXAgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTMuUmVxdWlyZWRWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjQ6aTMuTWluTGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI1OmkzLk1heExlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMy5QYXR0ZXJuVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3OmkzLkNoZWNrYm94UmVxdWlyZWRWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjg6aTMuRW1haWxWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTMuRm9ybUNvbnRyb2xEaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzA6aTMuRm9ybUdyb3VwRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMxOmkzLkZvcm1Db250cm9sTmFtZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMjppMy5Gb3JtR3JvdXBOYW1lID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMzOmkzLkZvcm1BcnJheU5hbWUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTQuRm9ybUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppNS5Gb3JtQ29udHJvbENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppNi5Gb3JtSXRlbUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppNy5Gb3JtTGFiZWxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzg6aTguRm9ybU1lc3NhZ2VDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTkuSW5wdXRDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTEwLkNhbGVuZGFyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkxMS5XZWVrTWV0cmljQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQyOmkxMi5CbG9ja0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MzppMTMuUG9wb3ZlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NDppMTQuUG9wb3ZlckRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NTppMTUuRm9yRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ2OmkxNS5Gb3JNaW5EaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDc6aTE1LkZvck1heERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80ODppMTYuRm9yTW9iaWxlRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ5OmkxNi5Gb3JJT1NQbGF0Zm9ybURpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MDppMTYuRm9yQW5kcm9pZFBsYXRmb3JtRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUxOmkxNi5Gb3JEZXNrdG9wRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUyOmkxNy5TdGFja0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MzppMTguQnV0dG9uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU0OmkxOS5CdXR0b25Hcm91cENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppMjAuSWNvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NjppMjEuRGF0ZVBpY2tlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NzppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYwOmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYxOmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MjppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MzppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NDppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY1OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NjppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NzppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82ODppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OTppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzA6aTIyLkZpZWxkVG91Y2hlZEhhc0Vycm9yUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MTppMjMuTW9ja0FycmF5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MjppMjQuSm9pblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzM6aTI1LkluY2x1ZGVzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NDppMjYuUG9wUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NTppMjcuRmlsdGVyRW1wdHlQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc3OmkyOC5TdHlsZVRvcFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzk6aTI4LlN0eWxlTGVmdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODE6aTI4LlRpbWVGb3JtYXRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzgyOmkyLkNvbW1vbk1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MzppMy5SZWFjdGl2ZUZvcm1zTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg0OmkyOS5Gb3JtTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg1OmkzMC5JbnB1dE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NjppMzEuQ2FsZW5kYXJNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODc6aTMyLkJsb2NrTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg4OmkzMy5Qb3BvdmVyTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg5OmkzNC5SZXNwb25zaXZlTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkwOmkzNS5TdGFja01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85MTppMzYuQXJyYXlQaXBlc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85MjppMzcuQnV0dG9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkzOmkzOC5JY29uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk0OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTU6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19EYXRlUGlja2VyQ29tcG9uZW50X0hvc3RfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNTYuaG9zdDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzU2Ll93aWR0aDtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzU2LmNhbGVuZGFyT3BlbmVkO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNTYudGltZU9wZW5lZDtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzU2LmZlYXR1cmVzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF81Ni5vbkJsdXIoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV8yKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF81Ni50eXBlID09PSBfZGVjbDBfNTYuZGF0ZVBpY2tlclR5cGUuZGF0ZSkgfHwgKF9kZWNsMF81Ni50eXBlID09PSBfZGVjbDBfNTYuZGF0ZVBpY2tlclR5cGUuZGF0ZVRpbWUpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF81Ni51aS5pY29ucy5jYWxlbmRhcjtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfNTYucGxhY2Vob2xkZXIgfHwgJycpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzU2LnVpLndpZHRoLmZsdWlkO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzU2LmNvbmZpZy5sb2NhbGUudWkubWFza3MuZGF0ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF81Ni5mZWF0dXJlcztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zOS5ob3N0O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzM5LmZvY3VzZWQ7XG4gICAgY3VyclZhbF82O1xuICAgIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMzkuZGlzYWJsZWQ7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfMzkuX3NjaGVtZTtcbiAgICBjdXJyVmFsXzg7XG4gICAgY29uc3QgY3VyclZhbF85OmFueSA9IF9kZWNsMF8zOS5fc2l6ZTtcbiAgICBjdXJyVmFsXzk7XG4gICAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfMzkuX3dpZHRoO1xuICAgIGN1cnJWYWxfMTA7XG4gICAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfMzkud2l0aEljb247XG4gICAgY3VyclZhbF8xMTtcbiAgICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8zOS50ZXh0QWxpZ247XG4gICAgY3VyclZhbF8xMjtcbiAgICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF8zOS5zdGF0ZTtcbiAgICBjdXJyVmFsXzEzO1xuICAgIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzM5LmZlYXR1cmVzO1xuICAgIGN1cnJWYWxfMTQ7XG4gICAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMzkudGFiaW5kZXg7XG4gICAgY3VyclZhbF8xNTtcbiAgICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICdkYXRlJztcbiAgICBjdXJyVmFsXzE2O1xuICAgIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NVbnRvdWNoZWQ7XG4gICAgY3VyclZhbF8xNztcbiAgICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVG91Y2hlZDtcbiAgICBjdXJyVmFsXzE4O1xuICAgIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NQcmlzdGluZTtcbiAgICBjdXJyVmFsXzE5O1xuICAgIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NEaXJ0eTtcbiAgICBjdXJyVmFsXzIwO1xuICAgIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NWYWxpZDtcbiAgICBjdXJyVmFsXzIxO1xuICAgIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NJbnZhbGlkO1xuICAgIGN1cnJWYWxfMjI7XG4gICAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1BlbmRpbmc7XG4gICAgY3VyclZhbF8yMztcbiAgICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IHtjb250ZW50VGVtcGxhdGU6X2RlY2wwXzk0LHRyaWdnZXI6X2RlY2wwXzU2LnVpLnRyaWdnZXIuY2xpY2ssXG4gICAgICAgIGJlaGF2aW91cjpfZGVjbDBfNTYudWkuYmVoYXZpb3VyLmRyb3Bkb3duLG1pbldpZHRoOiczMDBweCd9O1xuICAgIGN1cnJWYWxfMjQ7XG4gICAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8zOS5vbkJsdXIoKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8yNjphbnkgPSAoKDxhbnk+X2RlY2wwXzQ0Lm1vdXNlRW50ZXIoKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzQ0LmNsaWNrKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMjg6YW55ID0gKCg8YW55PihfZGVjbDBfNTYucmVmZXJlbmNlLnBvcG92ZXIgPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfRGF0ZVBpY2tlckNvbXBvbmVudF8xXzMoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlKSB8fCAoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlVGltZSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzU2LnVpLmljb25zLmNhbGVuZGFyO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF81Ni5wbGFjZWhvbGRlciB8fCAnJyk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfNTYudWkud2lkdGguZmx1aWQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNTYuY29uZmlnLmxvY2FsZS51aS5tYXNrcy5kYXRlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzU2LmZlYXR1cmVzO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzM5Lmhvc3Q7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMzkuZm9jdXNlZDtcbiAgICBjdXJyVmFsXzY7XG4gICAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8zOS5kaXNhYmxlZDtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8zOS5fc2NoZW1lO1xuICAgIGN1cnJWYWxfODtcbiAgICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzM5Ll9zaXplO1xuICAgIGN1cnJWYWxfOTtcbiAgICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zOS5fd2lkdGg7XG4gICAgY3VyclZhbF8xMDtcbiAgICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF8zOS53aXRoSWNvbjtcbiAgICBjdXJyVmFsXzExO1xuICAgIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gX2RlY2wwXzM5LnRleHRBbGlnbjtcbiAgICBjdXJyVmFsXzEyO1xuICAgIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzM5LnN0YXRlO1xuICAgIGN1cnJWYWxfMTM7XG4gICAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMzkuZmVhdHVyZXM7XG4gICAgY3VyclZhbF8xNDtcbiAgICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IF9kZWNsMF8zOS50YWJpbmRleDtcbiAgICBjdXJyVmFsXzE1O1xuICAgIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gJ2RhdGUnO1xuICAgIGN1cnJWYWxfMTY7XG4gICAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1VudG91Y2hlZDtcbiAgICBjdXJyVmFsXzE3O1xuICAgIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NUb3VjaGVkO1xuICAgIGN1cnJWYWxfMTg7XG4gICAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICAgIGN1cnJWYWxfMTk7XG4gICAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0RpcnR5O1xuICAgIGN1cnJWYWxfMjA7XG4gICAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ZhbGlkO1xuICAgIGN1cnJWYWxfMjE7XG4gICAgY29uc3QgY3VyclZhbF8yMjphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gICAgY3VyclZhbF8yMjtcbiAgICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUGVuZGluZztcbiAgICBjdXJyVmFsXzIzO1xuICAgIGNvbnN0IHBkXzI0OmFueSA9ICgoPGFueT5fZGVjbDBfMzkub25CbHVyKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55PihfZGVjbDBfNTYuY2FsZW5kYXJPcGVuZWQgPSAhX2RlY2wwXzU2LmNhbGVuZGFyT3BlbmVkKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfRGF0ZVBpY2tlckNvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlKSB8fCAoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlVGltZSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzU2LnVpLmJyZWFrcG9pbnQudGFibGV0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzU2LnVpLmJyZWFrcG9pbnQubW9iaWxlO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfRGF0ZVBpY2tlckNvbXBvbmVudF8xXzUoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS50aW1lKSB8fCAoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlVGltZSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzU2LnVpLmljb25zLnRpbWU7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzU2LmNvbmZpZy5sb2NhbGUudWkubWFza3MudGltZSArIChfZGVjbDBfNTYubWVyaWRpYW4gfHwgJycpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF81Ni5mZWF0dXJlcztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zOS5ob3N0O1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM5LmZvY3VzZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMzkuZGlzYWJsZWQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMzkuX3NjaGVtZTtcbiAgICBjdXJyVmFsXzY7XG4gICAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8zOS5fc2l6ZTtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8zOS5fd2lkdGg7XG4gICAgY3VyclZhbF84O1xuICAgIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfMzkud2l0aEljb247XG4gICAgY3VyclZhbF85O1xuICAgIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzM5LnRleHRBbGlnbjtcbiAgICBjdXJyVmFsXzEwO1xuICAgIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzM5LnN0YXRlO1xuICAgIGN1cnJWYWxfMTE7XG4gICAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBfZGVjbDBfMzkuZmVhdHVyZXM7XG4gICAgY3VyclZhbF8xMjtcbiAgICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF8zOS50YWJpbmRleDtcbiAgICBjdXJyVmFsXzEzO1xuICAgIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gJ3RpbWUnO1xuICAgIGN1cnJWYWxfMTQ7XG4gICAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1VudG91Y2hlZDtcbiAgICBjdXJyVmFsXzE1O1xuICAgIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NUb3VjaGVkO1xuICAgIGN1cnJWYWxfMTY7XG4gICAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICAgIGN1cnJWYWxfMTc7XG4gICAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0RpcnR5O1xuICAgIGN1cnJWYWxfMTg7XG4gICAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ZhbGlkO1xuICAgIGN1cnJWYWxfMTk7XG4gICAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gICAgY3VyclZhbF8yMDtcbiAgICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUGVuZGluZztcbiAgICBjdXJyVmFsXzIxO1xuICAgIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0ge2NvbnRlbnRUZW1wbGF0ZTpfZGVjbDBfOTQsdHJpZ2dlcjpfZGVjbDBfNTYudWkudHJpZ2dlci5jbGljayxcbiAgICAgICAgYmVoYXZpb3VyOl9kZWNsMF81Ni51aS5iZWhhdmlvdXIuZHJvcGRvd24sZmVhdHVyZXM6W19kZWNsMF81Ni51aS5mZWF0dXJlLnNtYXJ0eV0sXG4gICAgICAgIG1pbldpZHRoOicxNTBweCd9O1xuICAgIGN1cnJWYWxfMjI7XG4gICAgY29uc3QgcGRfMjM6YW55ID0gKCg8YW55Pl9kZWNsMF8zOS5vbkJsdXIoKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8yNDphbnkgPSAoKDxhbnk+X2RlY2wwXzQ0Lm1vdXNlRW50ZXIoKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzQ0LmNsaWNrKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55PihfZGVjbDBfNTYucmVmZXJlbmNlLnBvcG92ZXIgPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfRGF0ZVBpY2tlckNvbXBvbmVudF8xXzYoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS50aW1lKSB8fCAoX2RlY2wwXzU2LnR5cGUgPT09IF9kZWNsMF81Ni5kYXRlUGlja2VyVHlwZS5kYXRlVGltZSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzU2LnVpLmljb25zLnRpbWU7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzU2LmNvbmZpZy5sb2NhbGUudWkubWFza3MudGltZSArIChfZGVjbDBfNTYubWVyaWRpYW4gfHwgJycpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF81Ni5mZWF0dXJlcztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zOS5ob3N0O1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM5LmZvY3VzZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMzkuZGlzYWJsZWQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMzkuX3NjaGVtZTtcbiAgICBjdXJyVmFsXzY7XG4gICAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8zOS5fc2l6ZTtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8zOS5fd2lkdGg7XG4gICAgY3VyclZhbF84O1xuICAgIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfMzkud2l0aEljb247XG4gICAgY3VyclZhbF85O1xuICAgIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzM5LnRleHRBbGlnbjtcbiAgICBjdXJyVmFsXzEwO1xuICAgIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzM5LnN0YXRlO1xuICAgIGN1cnJWYWxfMTE7XG4gICAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBfZGVjbDBfMzkuZmVhdHVyZXM7XG4gICAgY3VyclZhbF8xMjtcbiAgICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF8zOS50YWJpbmRleDtcbiAgICBjdXJyVmFsXzEzO1xuICAgIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gJ3RpbWUnO1xuICAgIGN1cnJWYWxfMTQ7XG4gICAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1VudG91Y2hlZDtcbiAgICBjdXJyVmFsXzE1O1xuICAgIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NUb3VjaGVkO1xuICAgIGN1cnJWYWxfMTY7XG4gICAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICAgIGN1cnJWYWxfMTc7XG4gICAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0RpcnR5O1xuICAgIGN1cnJWYWxfMTg7XG4gICAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ZhbGlkO1xuICAgIGN1cnJWYWxfMTk7XG4gICAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gICAgY3VyclZhbF8yMDtcbiAgICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUGVuZGluZztcbiAgICBjdXJyVmFsXzIxO1xuICAgIGNvbnN0IHBkXzIyOmFueSA9ICgoPGFueT5fZGVjbDBfMzkub25CbHVyKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMjM6YW55ID0gKCg8YW55PihfZGVjbDBfNTYudGltZU9wZW5lZCA9ICFfZGVjbDBfNTYudGltZU9wZW5lZCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV80KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF81Ni50eXBlID09PSBfZGVjbDBfNTYuZGF0ZVBpY2tlclR5cGUudGltZSkgfHwgKF9kZWNsMF81Ni50eXBlID09PSBfZGVjbDBfNTYuZGF0ZVBpY2tlclR5cGUuZGF0ZVRpbWUpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF81Ni51aS5icmVha3BvaW50LnRhYmxldDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF81Ni51aS5icmVha3BvaW50Lm1vYmlsZTtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV83KCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNTYudWkuYWxpZ24uc3RyZXRjaDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzUyLmhvc3Q7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF81Mi5fb3JpZW50YXRpb247XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF81Mi5fZ3V0dGVyO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfNTIuX3NwYWNpbmc7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF81Mi5fcGFkZGluZztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzUyLl9hbGlnbjtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzUyLl9qdXN0aWZ5O1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfNTIuX3dyYXA7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IFtfZGVjbDBfNTYudWkuZmVhdHVyZS50b2RheV07XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfNDAuaG9zdDtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfNDAuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gJ2NhbGVuZGFyJztcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1VudG91Y2hlZDtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1RvdWNoZWQ7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NQcmlzdGluZTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0RpcnR5O1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVmFsaWQ7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NJbnZhbGlkO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUGVuZGluZztcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgcGRfMjA6YW55ID0gKCg8YW55Pl9kZWNsMF80MC5vbkJsdXIoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV85KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzU2LmNvbmZpZy5sb2NhbGUuZGZucy5jb2RlICE9PSAncnUnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF81Ni51aS5ndXR0ZXIuc21hbGw7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTYudWkuYWxpZ24uc3RyZXRjaDtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF81Mi5ob3N0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzUyLl9vcmllbnRhdGlvbjtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF81Mi5fZ3V0dGVyO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzUyLl9zcGFjaW5nO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzUyLl9wYWRkaW5nO1xuICAgIGN1cnJWYWxfNjtcbiAgICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzUyLl9hbGlnbjtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF81Mi5fanVzdGlmeTtcbiAgICBjdXJyVmFsXzg7XG4gICAgY29uc3QgY3VyclZhbF85OmFueSA9IF9kZWNsMF81Mi5fd3JhcDtcbiAgICBjdXJyVmFsXzk7XG4gICAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfNTYubWVyaWRpYW5zLmFtO1xuICAgIGN1cnJWYWxfMTA7XG4gICAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfNTMuaG9zdDtcbiAgICBjdXJyVmFsXzExO1xuICAgIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gX2RlY2wwXzUzLl9zY2hlbWU7XG4gICAgY3VyclZhbF8xMjtcbiAgICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF81My5fc2l6ZTtcbiAgICBjdXJyVmFsXzEzO1xuICAgIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzUzLl9vdXRsaW5lO1xuICAgIGN1cnJWYWxfMTQ7XG4gICAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfNTMuX3dpZHRoO1xuICAgIGN1cnJWYWxfMTU7XG4gICAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfNTMuX3NoYXBlO1xuICAgIGN1cnJWYWxfMTY7XG4gICAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfNTMubG9hZGluZztcbiAgICBjdXJyVmFsXzE3O1xuICAgIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzUzLndpdGhUZXh0O1xuICAgIGN1cnJWYWxfMTg7XG4gICAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfNTMuZGlzYWJsZTtcbiAgICBjdXJyVmFsXzE5O1xuICAgIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzU2Lm1lcmlkaWFucy5wbTtcbiAgICBjdXJyVmFsXzIwO1xuICAgIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzUzLmhvc3Q7XG4gICAgY3VyclZhbF8yMTtcbiAgICBjb25zdCBjdXJyVmFsXzIyOmFueSA9IF9kZWNsMF81My5fc2NoZW1lO1xuICAgIGN1cnJWYWxfMjI7XG4gICAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfNTMuX3NpemU7XG4gICAgY3VyclZhbF8yMztcbiAgICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF81My5fb3V0bGluZTtcbiAgICBjdXJyVmFsXzI0O1xuICAgIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gX2RlY2wwXzUzLl93aWR0aDtcbiAgICBjdXJyVmFsXzI1O1xuICAgIGNvbnN0IGN1cnJWYWxfMjY6YW55ID0gX2RlY2wwXzUzLl9zaGFwZTtcbiAgICBjdXJyVmFsXzI2O1xuICAgIGNvbnN0IGN1cnJWYWxfMjc6YW55ID0gX2RlY2wwXzUzLmxvYWRpbmc7XG4gICAgY3VyclZhbF8yNztcbiAgICBjb25zdCBjdXJyVmFsXzI4OmFueSA9IF9kZWNsMF81My53aXRoVGV4dDtcbiAgICBjdXJyVmFsXzI4O1xuICAgIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gX2RlY2wwXzUzLmRpc2FibGU7XG4gICAgY3VyclZhbF8yOTtcbiAgICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+KF9kZWNsMF81Ni5tZXJpZGlhbiA9IF9kZWNsMF81Ni5tZXJpZGlhbnMuYW0pKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT4oX2RlY2wwXzU2Lm1lcmlkaWFuID0gX2RlY2wwXzU2Lm1lcmlkaWFucy5wbSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV84KCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNTYudWkub3JpZW50YXRpb24uaG9yaXpvbnRhbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzU2LnVpLmFsaWduLmNlbnRlcjtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzUyLmhvc3Q7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF81Mi5fb3JpZW50YXRpb247XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF81Mi5fZ3V0dGVyO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfNTIuX3NwYWNpbmc7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF81Mi5fcGFkZGluZztcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzUyLl9hbGlnbjtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gX2RlY2wwXzUyLl9qdXN0aWZ5O1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfNTIuX3dyYXA7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfNTYudWkuZ3V0dGVyLnNtYWxsO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF81Ni51aS5hbGlnbi5zdHJldGNoO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF81Mi5ob3N0O1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF81Mi5fb3JpZW50YXRpb247XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzUyLl9ndXR0ZXI7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzUyLl9zcGFjaW5nO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IF9kZWNsMF81Mi5fcGFkZGluZztcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfNTIuX2FsaWduO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IF9kZWNsMF81Mi5fanVzdGlmeTtcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfNTIuX3dyYXA7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzU2LnVpLmljb25zLmNoZXZyb25VcDtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfNTYudWkuc2l6ZS5zbWFsbDtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSBfZGVjbDBfNTMuaG9zdDtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfNTMuX3NjaGVtZTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfNTMuX3NpemU7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gX2RlY2wwXzUzLl9vdXRsaW5lO1xuICBjdXJyVmFsXzI1O1xuICBjb25zdCBjdXJyVmFsXzI2OmFueSA9IF9kZWNsMF81My5fd2lkdGg7XG4gIGN1cnJWYWxfMjY7XG4gIGNvbnN0IGN1cnJWYWxfMjc6YW55ID0gX2RlY2wwXzUzLl9zaGFwZTtcbiAgY3VyclZhbF8yNztcbiAgY29uc3QgY3VyclZhbF8yODphbnkgPSBfZGVjbDBfNTMubG9hZGluZztcbiAgY3VyclZhbF8yODtcbiAgY29uc3QgY3VyclZhbF8yOTphbnkgPSBfZGVjbDBfNTMud2l0aFRleHQ7XG4gIGN1cnJWYWxfMjk7XG4gIGNvbnN0IGN1cnJWYWxfMzA6YW55ID0gX2RlY2wwXzUzLmRpc2FibGU7XG4gIGN1cnJWYWxfMzA7XG4gIGNvbnN0IGN1cnJWYWxfMzE6YW55ID0gX2RlY2wwXzU2LnVpLmlucHV0LnR5cGUubnVtYmVyO1xuICBjdXJyVmFsXzMxO1xuICBjb25zdCBjdXJyVmFsXzMyOmFueSA9IF9kZWNsMF8zOS5ob3N0O1xuICBjdXJyVmFsXzMyO1xuICBjb25zdCBjdXJyVmFsXzMzOmFueSA9IF9kZWNsMF8zOS5mb2N1c2VkO1xuICBjdXJyVmFsXzMzO1xuICBjb25zdCBjdXJyVmFsXzM0OmFueSA9IF9kZWNsMF8zOS5kaXNhYmxlZDtcbiAgY3VyclZhbF8zNDtcbiAgY29uc3QgY3VyclZhbF8zNTphbnkgPSBfZGVjbDBfMzkuX3NjaGVtZTtcbiAgY3VyclZhbF8zNTtcbiAgY29uc3QgY3VyclZhbF8zNjphbnkgPSBfZGVjbDBfMzkuX3NpemU7XG4gIGN1cnJWYWxfMzY7XG4gIGNvbnN0IGN1cnJWYWxfMzc6YW55ID0gX2RlY2wwXzM5Ll93aWR0aDtcbiAgY3VyclZhbF8zNztcbiAgY29uc3QgY3VyclZhbF8zODphbnkgPSBfZGVjbDBfMzkud2l0aEljb247XG4gIGN1cnJWYWxfMzg7XG4gIGNvbnN0IGN1cnJWYWxfMzk6YW55ID0gX2RlY2wwXzM5LnRleHRBbGlnbjtcbiAgY3VyclZhbF8zOTtcbiAgY29uc3QgY3VyclZhbF80MDphbnkgPSBfZGVjbDBfMzkuc3RhdGU7XG4gIGN1cnJWYWxfNDA7XG4gIGNvbnN0IGN1cnJWYWxfNDE6YW55ID0gX2RlY2wwXzM5LmZlYXR1cmVzO1xuICBjdXJyVmFsXzQxO1xuICBjb25zdCBjdXJyVmFsXzQyOmFueSA9IF9kZWNsMF8zOS50YWJpbmRleDtcbiAgY3VyclZhbF80MjtcbiAgY29uc3QgY3VyclZhbF80MzphbnkgPSAnaG91cnMnO1xuICBjdXJyVmFsXzQzO1xuICBjb25zdCBjdXJyVmFsXzQ0OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVW50b3VjaGVkO1xuICBjdXJyVmFsXzQ0O1xuICBjb25zdCBjdXJyVmFsXzQ1OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVG91Y2hlZDtcbiAgY3VyclZhbF80NTtcbiAgY29uc3QgY3VyclZhbF80NjphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICBjdXJyVmFsXzQ2O1xuICBjb25zdCBjdXJyVmFsXzQ3OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzRGlydHk7XG4gIGN1cnJWYWxfNDc7XG4gIGNvbnN0IGN1cnJWYWxfNDg6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NWYWxpZDtcbiAgY3VyclZhbF80ODtcbiAgY29uc3QgY3VyclZhbF80OTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gIGN1cnJWYWxfNDk7XG4gIGNvbnN0IGN1cnJWYWxfNTA6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NQZW5kaW5nO1xuICBjdXJyVmFsXzUwO1xuICBjb25zdCBjdXJyVmFsXzUxOmFueSA9IF9kZWNsMF81Ni51aS5pY29ucy5jaGV2cm9uRG93bjtcbiAgY3VyclZhbF81MTtcbiAgY29uc3QgY3VyclZhbF81MjphbnkgPSBfZGVjbDBfNTYudWkuc2l6ZS5zbWFsbDtcbiAgY3VyclZhbF81MjtcbiAgY29uc3QgY3VyclZhbF81MzphbnkgPSBfZGVjbDBfNTMuaG9zdDtcbiAgY3VyclZhbF81MztcbiAgY29uc3QgY3VyclZhbF81NDphbnkgPSBfZGVjbDBfNTMuX3NjaGVtZTtcbiAgY3VyclZhbF81NDtcbiAgY29uc3QgY3VyclZhbF81NTphbnkgPSBfZGVjbDBfNTMuX3NpemU7XG4gIGN1cnJWYWxfNTU7XG4gIGNvbnN0IGN1cnJWYWxfNTY6YW55ID0gX2RlY2wwXzUzLl9vdXRsaW5lO1xuICBjdXJyVmFsXzU2O1xuICBjb25zdCBjdXJyVmFsXzU3OmFueSA9IF9kZWNsMF81My5fd2lkdGg7XG4gIGN1cnJWYWxfNTc7XG4gIGNvbnN0IGN1cnJWYWxfNTg6YW55ID0gX2RlY2wwXzUzLl9zaGFwZTtcbiAgY3VyclZhbF81ODtcbiAgY29uc3QgY3VyclZhbF81OTphbnkgPSBfZGVjbDBfNTMubG9hZGluZztcbiAgY3VyclZhbF81OTtcbiAgY29uc3QgY3VyclZhbF82MDphbnkgPSBfZGVjbDBfNTMud2l0aFRleHQ7XG4gIGN1cnJWYWxfNjA7XG4gIGNvbnN0IGN1cnJWYWxfNjE6YW55ID0gX2RlY2wwXzUzLmRpc2FibGU7XG4gIGN1cnJWYWxfNjE7XG4gIGNvbnN0IGN1cnJWYWxfNjI6YW55ID0gX2RlY2wwXzU2LnVpLmd1dHRlci5zbWFsbDtcbiAgY3VyclZhbF82MjtcbiAgY29uc3QgY3VyclZhbF82MzphbnkgPSBfZGVjbDBfNTYudWkuYWxpZ24uc3RyZXRjaDtcbiAgY3VyclZhbF82MztcbiAgY29uc3QgY3VyclZhbF82NDphbnkgPSBfZGVjbDBfNTIuaG9zdDtcbiAgY3VyclZhbF82NDtcbiAgY29uc3QgY3VyclZhbF82NTphbnkgPSBfZGVjbDBfNTIuX29yaWVudGF0aW9uO1xuICBjdXJyVmFsXzY1O1xuICBjb25zdCBjdXJyVmFsXzY2OmFueSA9IF9kZWNsMF81Mi5fZ3V0dGVyO1xuICBjdXJyVmFsXzY2O1xuICBjb25zdCBjdXJyVmFsXzY3OmFueSA9IF9kZWNsMF81Mi5fc3BhY2luZztcbiAgY3VyclZhbF82NztcbiAgY29uc3QgY3VyclZhbF82ODphbnkgPSBfZGVjbDBfNTIuX3BhZGRpbmc7XG4gIGN1cnJWYWxfNjg7XG4gIGNvbnN0IGN1cnJWYWxfNjk6YW55ID0gX2RlY2wwXzUyLl9hbGlnbjtcbiAgY3VyclZhbF82OTtcbiAgY29uc3QgY3VyclZhbF83MDphbnkgPSBfZGVjbDBfNTIuX2p1c3RpZnk7XG4gIGN1cnJWYWxfNzA7XG4gIGNvbnN0IGN1cnJWYWxfNzE6YW55ID0gX2RlY2wwXzUyLl93cmFwO1xuICBjdXJyVmFsXzcxO1xuICBjb25zdCBjdXJyVmFsXzcyOmFueSA9IF9kZWNsMF81Ni51aS5pY29ucy5jaGV2cm9uVXA7XG4gIGN1cnJWYWxfNzI7XG4gIGNvbnN0IGN1cnJWYWxfNzM6YW55ID0gX2RlY2wwXzU2LnVpLnNpemUuc21hbGw7XG4gIGN1cnJWYWxfNzM7XG4gIGNvbnN0IGN1cnJWYWxfNzQ6YW55ID0gX2RlY2wwXzUzLmhvc3Q7XG4gIGN1cnJWYWxfNzQ7XG4gIGNvbnN0IGN1cnJWYWxfNzU6YW55ID0gX2RlY2wwXzUzLl9zY2hlbWU7XG4gIGN1cnJWYWxfNzU7XG4gIGNvbnN0IGN1cnJWYWxfNzY6YW55ID0gX2RlY2wwXzUzLl9zaXplO1xuICBjdXJyVmFsXzc2O1xuICBjb25zdCBjdXJyVmFsXzc3OmFueSA9IF9kZWNsMF81My5fb3V0bGluZTtcbiAgY3VyclZhbF83NztcbiAgY29uc3QgY3VyclZhbF83ODphbnkgPSBfZGVjbDBfNTMuX3dpZHRoO1xuICBjdXJyVmFsXzc4O1xuICBjb25zdCBjdXJyVmFsXzc5OmFueSA9IF9kZWNsMF81My5fc2hhcGU7XG4gIGN1cnJWYWxfNzk7XG4gIGNvbnN0IGN1cnJWYWxfODA6YW55ID0gX2RlY2wwXzUzLmxvYWRpbmc7XG4gIGN1cnJWYWxfODA7XG4gIGNvbnN0IGN1cnJWYWxfODE6YW55ID0gX2RlY2wwXzUzLndpdGhUZXh0O1xuICBjdXJyVmFsXzgxO1xuICBjb25zdCBjdXJyVmFsXzgyOmFueSA9IF9kZWNsMF81My5kaXNhYmxlO1xuICBjdXJyVmFsXzgyO1xuICBjb25zdCBjdXJyVmFsXzgzOmFueSA9IF9kZWNsMF81Ni51aS5pbnB1dC50eXBlLm51bWJlcjtcbiAgY3VyclZhbF84MztcbiAgY29uc3QgY3VyclZhbF84NDphbnkgPSBfZGVjbDBfMzkuaG9zdDtcbiAgY3VyclZhbF84NDtcbiAgY29uc3QgY3VyclZhbF84NTphbnkgPSBfZGVjbDBfMzkuZm9jdXNlZDtcbiAgY3VyclZhbF84NTtcbiAgY29uc3QgY3VyclZhbF84NjphbnkgPSBfZGVjbDBfMzkuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfODY7XG4gIGNvbnN0IGN1cnJWYWxfODc6YW55ID0gX2RlY2wwXzM5Ll9zY2hlbWU7XG4gIGN1cnJWYWxfODc7XG4gIGNvbnN0IGN1cnJWYWxfODg6YW55ID0gX2RlY2wwXzM5Ll9zaXplO1xuICBjdXJyVmFsXzg4O1xuICBjb25zdCBjdXJyVmFsXzg5OmFueSA9IF9kZWNsMF8zOS5fd2lkdGg7XG4gIGN1cnJWYWxfODk7XG4gIGNvbnN0IGN1cnJWYWxfOTA6YW55ID0gX2RlY2wwXzM5LndpdGhJY29uO1xuICBjdXJyVmFsXzkwO1xuICBjb25zdCBjdXJyVmFsXzkxOmFueSA9IF9kZWNsMF8zOS50ZXh0QWxpZ247XG4gIGN1cnJWYWxfOTE7XG4gIGNvbnN0IGN1cnJWYWxfOTI6YW55ID0gX2RlY2wwXzM5LnN0YXRlO1xuICBjdXJyVmFsXzkyO1xuICBjb25zdCBjdXJyVmFsXzkzOmFueSA9IF9kZWNsMF8zOS5mZWF0dXJlcztcbiAgY3VyclZhbF85MztcbiAgY29uc3QgY3VyclZhbF85NDphbnkgPSBfZGVjbDBfMzkudGFiaW5kZXg7XG4gIGN1cnJWYWxfOTQ7XG4gIGNvbnN0IGN1cnJWYWxfOTU6YW55ID0gJ21pbnV0ZXMnO1xuICBjdXJyVmFsXzk1O1xuICBjb25zdCBjdXJyVmFsXzk2OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVW50b3VjaGVkO1xuICBjdXJyVmFsXzk2O1xuICBjb25zdCBjdXJyVmFsXzk3OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVG91Y2hlZDtcbiAgY3VyclZhbF85NztcbiAgY29uc3QgY3VyclZhbF85ODphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICBjdXJyVmFsXzk4O1xuICBjb25zdCBjdXJyVmFsXzk5OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzRGlydHk7XG4gIGN1cnJWYWxfOTk7XG4gIGNvbnN0IGN1cnJWYWxfMTAwOmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVmFsaWQ7XG4gIGN1cnJWYWxfMTAwO1xuICBjb25zdCBjdXJyVmFsXzEwMTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gIGN1cnJWYWxfMTAxO1xuICBjb25zdCBjdXJyVmFsXzEwMjphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1BlbmRpbmc7XG4gIGN1cnJWYWxfMTAyO1xuICBjb25zdCBjdXJyVmFsXzEwMzphbnkgPSBfZGVjbDBfNTYudWkuaWNvbnMuY2hldnJvbkRvd247XG4gIGN1cnJWYWxfMTAzO1xuICBjb25zdCBjdXJyVmFsXzEwNDphbnkgPSBfZGVjbDBfNTYudWkuc2l6ZS5zbWFsbDtcbiAgY3VyclZhbF8xMDQ7XG4gIGNvbnN0IGN1cnJWYWxfMTA1OmFueSA9IF9kZWNsMF81My5ob3N0O1xuICBjdXJyVmFsXzEwNTtcbiAgY29uc3QgY3VyclZhbF8xMDY6YW55ID0gX2RlY2wwXzUzLl9zY2hlbWU7XG4gIGN1cnJWYWxfMTA2O1xuICBjb25zdCBjdXJyVmFsXzEwNzphbnkgPSBfZGVjbDBfNTMuX3NpemU7XG4gIGN1cnJWYWxfMTA3O1xuICBjb25zdCBjdXJyVmFsXzEwODphbnkgPSBfZGVjbDBfNTMuX291dGxpbmU7XG4gIGN1cnJWYWxfMTA4O1xuICBjb25zdCBjdXJyVmFsXzEwOTphbnkgPSBfZGVjbDBfNTMuX3dpZHRoO1xuICBjdXJyVmFsXzEwOTtcbiAgY29uc3QgY3VyclZhbF8xMTA6YW55ID0gX2RlY2wwXzUzLl9zaGFwZTtcbiAgY3VyclZhbF8xMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTExOmFueSA9IF9kZWNsMF81My5sb2FkaW5nO1xuICBjdXJyVmFsXzExMTtcbiAgY29uc3QgY3VyclZhbF8xMTI6YW55ID0gX2RlY2wwXzUzLndpdGhUZXh0O1xuICBjdXJyVmFsXzExMjtcbiAgY29uc3QgY3VyclZhbF8xMTM6YW55ID0gX2RlY2wwXzUzLmRpc2FibGU7XG4gIGN1cnJWYWxfMTEzO1xuICBjb25zdCBjdXJyVmFsXzExNDphbnkgPSAoX2RlY2wwXzU2LmNvbmZpZy5sb2NhbGUuZGZucy5jb2RlICE9PSAncnUnKTtcbiAgY3VyclZhbF8xMTQ7XG4gIGNvbnN0IHBkXzExNTphbnkgPSAoKDxhbnk+X2RlY2wwXzU2LmhvdXJzQ29udHJvbC5zZXRWYWx1ZSgoKF9kZWNsMF81Ni5ob3Vyc0NvbnRyb2wudmFsdWUgLSAwKSArIDEpKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTE2OmFueSA9ICgoPGFueT5fZGVjbDBfMzkub25CbHVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzExNzphbnkgPSAoKDxhbnk+X2RlY2wwXzU2LmhvdXJzQ29udHJvbC5zZXRWYWx1ZSgoKF9kZWNsMF81Ni5ob3Vyc0NvbnRyb2wudmFsdWUgLSAwKSAtIDEpKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTE4OmFueSA9ICgoPGFueT5fZGVjbDBfNTYubWludXRlc0NvbnRyb2wuc2V0VmFsdWUoKChfZGVjbDBfNTYubWludXRlc0NvbnRyb2wudmFsdWUgLSAwKSArIDEpKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTE5OmFueSA9ICgoPGFueT5fZGVjbDBfMzkub25CbHVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzEyMDphbnkgPSAoKDxhbnk+X2RlY2wwXzU2Lm1pbnV0ZXNDb250cm9sLnNldFZhbHVlKCgoX2RlY2wwXzU2Lm1pbnV0ZXNDb250cm9sLnZhbHVlIC0gMCkgLSAxKSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19EYXRlUGlja2VyQ29tcG9uZW50XzFfMTEoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF81Ni5tb2JpbGUpIHsgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTsgfVxufVxuZnVuY3Rpb24gX1ZpZXdfRGF0ZVBpY2tlckNvbXBvbmVudF8xXzEyKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfNTYubW9iaWxlKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV8xMCgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzU2Lm1vYmlsZSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF85NDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF85NDtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X0RhdGVQaWNrZXJDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNTYuZm9ybTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzIyLm5nQ2xhc3NVbnRvdWNoZWQ7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8yMi5uZ0NsYXNzVG91Y2hlZDtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzIyLm5nQ2xhc3NQcmlzdGluZTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzIyLm5nQ2xhc3NEaXJ0eTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzIyLm5nQ2xhc3NWYWxpZDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzIyLm5nQ2xhc3NJbnZhbGlkO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMjIubmdDbGFzc1BlbmRpbmc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF81Ni5mb3JtO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfMzQuaG9zdDtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zNC5faGVpZ2h0O1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF81Ni51aS5vcmllbnRhdGlvbi5ob3Jpem9udGFsO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IChfZGVjbDBfNTYubW9iaWxlPyBfZGVjbDBfNTYudWkuZ3V0dGVyLm5vbmU6IF9kZWNsMF81Ni51aS5ndXR0ZXIubm9ybWFsKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfNTIuaG9zdDtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfNTIuX29yaWVudGF0aW9uO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1Om