@thetradeengineorg1/snova-shell-module 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js +13896 -0
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -0
- package/esm2015/lib/globaldependencies/components/componentbase.js +538 -0
- package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -0
- package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -0
- package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -0
- package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -0
- package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -0
- package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -0
- package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -0
- package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -0
- package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -0
- package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -0
- package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -0
- package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -0
- package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -0
- package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -0
- package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -0
- package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -0
- package/esm2015/lib/shell-components/components/Payments/account.component.js +50 -0
- package/esm2015/lib/shell-components/components/Payments/company-information.js +262 -0
- package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +138 -0
- package/esm2015/lib/shell-components/components/Payments/document.component.js +57 -0
- package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +32 -0
- package/esm2015/lib/shell-components/components/Payments/product-service.component.js +143 -0
- package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +152 -0
- package/esm2015/lib/shell-components/components/Payments/transactions.component.js +60 -0
- package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +250 -0
- package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +89 -0
- package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +90 -0
- package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +357 -0
- package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +85 -0
- package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +83 -0
- package/esm2015/lib/shell-components/components/header-side/header-side.component.js +1642 -0
- package/esm2015/lib/shell-components/components/header-top/header-top.component.js +93 -0
- package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +26 -0
- package/esm2015/lib/shell-components/components/menu/menu.component.js +2478 -0
- package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -0
- package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +73 -0
- package/esm2015/lib/shell-components/components/notifications/notifications.component.js +449 -0
- package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +33 -0
- package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +81 -0
- package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +43 -0
- package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +71 -0
- package/esm2015/lib/shell-components/constants/api-urls.js +1052 -0
- package/esm2015/lib/shell-components/constants/available-languages.js +25 -0
- package/esm2015/lib/shell-components/constants/channel-names.js +38 -0
- package/esm2015/lib/shell-components/constants/menu-categories.js +6 -0
- package/esm2015/lib/shell-components/constants/notification-routes.js +6 -0
- package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -0
- package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -0
- package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -0
- package/esm2015/lib/shell-components/models/AppNotification.js +17 -0
- package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -0
- package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -0
- package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -0
- package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -0
- package/esm2015/lib/shell-components/models/IBadge.js +2 -0
- package/esm2015/lib/shell-components/models/IChildItem.js +2 -0
- package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -0
- package/esm2015/lib/shell-components/models/IMenuItem.js +2 -0
- package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -0
- package/esm2015/lib/shell-components/models/IntroModel.js +3 -0
- package/esm2015/lib/shell-components/models/MessageDetails.js +3 -0
- package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -0
- package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -0
- package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -0
- package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -0
- package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -0
- package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -0
- package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -0
- package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -0
- package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -0
- package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -0
- package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -0
- package/esm2015/lib/shell-components/models/companieslist.model.js +3 -0
- package/esm2015/lib/shell-components/models/company-model.js +7 -0
- package/esm2015/lib/shell-components/models/company-payment-model.js +3 -0
- package/esm2015/lib/shell-components/models/dragedWidget.js +3 -0
- package/esm2015/lib/shell-components/models/employee-List.js +3 -0
- package/esm2015/lib/shell-components/models/employee.js +4 -0
- package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -0
- package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -0
- package/esm2015/lib/shell-components/models/export-data.module.js +8 -0
- package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -0
- package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -0
- package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -0
- package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -0
- package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -0
- package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -0
- package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -0
- package/esm2015/lib/shell-components/models/project.js +3 -0
- package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -0
- package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -0
- package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -0
- package/esm2015/lib/shell-components/models/softlabels-model.js +7 -0
- package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -0
- package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -0
- package/esm2015/lib/shell-components/models/store-model.js +3 -0
- package/esm2015/lib/shell-components/models/store-search-model.js +4 -0
- package/esm2015/lib/shell-components/models/themes.model.js +3 -0
- package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -0
- package/esm2015/lib/shell-components/models/user.js +8 -0
- package/esm2015/lib/shell-components/models/userStory.js +3 -0
- package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -0
- package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -0
- package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -0
- package/esm2015/lib/shell-components/models/validation.model.js +2 -0
- package/esm2015/lib/shell-components/models/widgetlist.js +6 -0
- package/esm2015/lib/shell-components/models/workspaceList.js +3 -0
- package/esm2015/lib/shell-components/services/authentication.service.js +96 -0
- package/esm2015/lib/shell-components/services/chat.service.js +67 -0
- package/esm2015/lib/shell-components/services/common-used.service.js +263 -0
- package/esm2015/lib/shell-components/services/feature.service.js +101 -0
- package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -0
- package/esm2015/lib/shell-components/services/layout.service.js +68 -0
- package/esm2015/lib/shell-components/services/payment.service.js +103 -0
- package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -0
- package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -0
- package/esm2015/lib/shell-components/services/signalr.service.js +113 -0
- package/esm2015/lib/shell-components/services/theme.service.js +161 -0
- package/esm2015/lib/shell-components/shell.module.js +436 -0
- package/esm2015/lib/shell-components/shell.routing.js +16 -0
- package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -0
- package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -0
- package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -0
- package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -0
- package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -0
- package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -0
- package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -0
- package/esm2015/lib/shell-components/store/effects/index.js +13 -0
- package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -0
- package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -0
- package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -0
- package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -0
- package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -0
- package/esm2015/lib/shell-components/store/reducers/index.js +80 -0
- package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -0
- package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -0
- package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -0
- package/esm2015/public-api.js +90 -0
- package/esm2015/store/reducers/index.js +47 -0
- package/esm2015/thetradeengineorg1-snova-shell-module.js +5 -0
- package/fesm2015/thetradeengineorg1-snova-shell-module.js +12808 -0
- package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -0
- package/lib/globaldependencies/components/componentbase.d.ts +455 -0
- package/lib/globaldependencies/constants/feature-ids.d.ts +448 -0
- package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -0
- package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -0
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -0
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -0
- package/lib/globaldependencies/helpers/window.helper.d.ts +12 -0
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -0
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -0
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -0
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -0
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -0
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -0
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -0
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -0
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -0
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -0
- package/lib/shell-components/components/Payments/account.component.d.ts +14 -0
- package/lib/shell-components/components/Payments/company-information.d.ts +62 -0
- package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -0
- package/lib/shell-components/components/Payments/document.component.d.ts +20 -0
- package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -0
- package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -0
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -0
- package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -0
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -0
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -0
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -0
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -0
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -0
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -0
- package/lib/shell-components/components/header-side/header-side.component.d.ts +216 -0
- package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -0
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -0
- package/lib/shell-components/components/menu/menu.component.d.ts +220 -0
- package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -0
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -0
- package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -0
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -0
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -0
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -0
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -0
- package/lib/shell-components/constants/api-urls.d.ts +1051 -0
- package/lib/shell-components/constants/available-languages.d.ts +7 -0
- package/lib/shell-components/constants/channel-names.d.ts +37 -0
- package/lib/shell-components/constants/menu-categories.d.ts +5 -0
- package/lib/shell-components/constants/notification-routes.d.ts +5 -0
- package/lib/shell-components/constants/notification-type-ids.d.ts +41 -0
- package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -0
- package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -0
- package/lib/shell-components/models/AppNotification.d.ts +12 -0
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -0
- package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -0
- package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -0
- package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -0
- package/lib/shell-components/models/IBadge.d.ts +4 -0
- package/lib/shell-components/models/IChildItem.d.ts +7 -0
- package/lib/shell-components/models/ILayout-change-options.d.ts +4 -0
- package/lib/shell-components/models/IMenuItem.d.ts +14 -0
- package/lib/shell-components/models/IlayoutConf.d.ts +10 -0
- package/lib/shell-components/models/IntroModel.d.ts +3 -0
- package/lib/shell-components/models/MessageDetails.d.ts +55 -0
- package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -0
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -0
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -0
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -0
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -0
- package/lib/shell-components/models/RecentSearchModel.d.ts +14 -0
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -0
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -0
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -0
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -0
- package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -0
- package/lib/shell-components/models/companieslist.model.d.ts +8 -0
- package/lib/shell-components/models/company-model.d.ts +31 -0
- package/lib/shell-components/models/company-payment-model.d.ts +18 -0
- package/lib/shell-components/models/dragedWidget.d.ts +16 -0
- package/lib/shell-components/models/employee-List.d.ts +8 -0
- package/lib/shell-components/models/employee.d.ts +60 -0
- package/lib/shell-components/models/entityRoleFeature.d.ts +9 -0
- package/lib/shell-components/models/export-configuration-model.d.ts +8 -0
- package/lib/shell-components/models/export-data.module.d.ts +6 -0
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -0
- package/lib/shell-components/models/import-configuration-model.d.ts +3 -0
- package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -0
- package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -0
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -0
- package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -0
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -0
- package/lib/shell-components/models/project.d.ts +28 -0
- package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -0
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -0
- package/lib/shell-components/models/shellModulesInfo.d.ts +16 -0
- package/lib/shell-components/models/softlabels-model.d.ts +66 -0
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -0
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -0
- package/lib/shell-components/models/store-model.d.ts +13 -0
- package/lib/shell-components/models/store-search-model.d.ts +7 -0
- package/lib/shell-components/models/themes.model.d.ts +9 -0
- package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -0
- package/lib/shell-components/models/user.d.ts +40 -0
- package/lib/shell-components/models/userStory.d.ts +188 -0
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -0
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -0
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -0
- package/lib/shell-components/models/validation.model.d.ts +5 -0
- package/lib/shell-components/models/widgetlist.d.ts +28 -0
- package/lib/shell-components/models/workspaceList.d.ts +19 -0
- package/lib/shell-components/services/authentication.service.d.ts +18 -0
- package/lib/shell-components/services/chat.service.d.ts +16 -0
- package/lib/shell-components/services/common-used.service.d.ts +45 -0
- package/lib/shell-components/services/feature.service.d.ts +19 -0
- package/lib/shell-components/services/google-analytics.service.d.ts +9 -0
- package/lib/shell-components/services/layout.service.d.ts +23 -0
- package/lib/shell-components/services/payment.service.d.ts +19 -0
- package/lib/shell-components/services/recentSearch.service.d.ts +16 -0
- package/lib/shell-components/services/shell.modules.service.d.ts +9 -0
- package/lib/shell-components/services/signalr.service.d.ts +25 -0
- package/lib/shell-components/services/theme.service.d.ts +14 -0
- package/lib/shell-components/shell.module.d.ts +117 -0
- package/lib/shell-components/shell.routing.d.ts +2 -0
- package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -0
- package/lib/shell-components/store/actions/chat.actions.d.ts +399 -0
- package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -0
- package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -0
- package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -0
- package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -0
- package/lib/shell-components/store/effects/chat.effects.d.ts +30 -0
- package/lib/shell-components/store/effects/index.d.ts +1 -0
- package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -0
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -0
- package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -0
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -0
- package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -0
- package/lib/shell-components/store/reducers/index.d.ts +59 -0
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -0
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -0
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -0
- package/package.json +22 -0
- package/public-api.d.ts +80 -0
- package/store/reducers/index.d.ts +24 -0
- package/thetradeengineorg1-snova-shell-module.d.ts +5 -0
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FeatureIds } from '../constants/feature-ids';
|
|
3
|
+
import * as _ from "underscore";
|
|
4
|
+
import { LocalStorageProperties } from '../constants/localstorage-properties';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class CustomAppBaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.logNavigation();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
var roles = JSON.parse(localStorage.getItem(LocalStorageProperties.RoleFeatures));
|
|
12
|
+
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
13
|
+
this.canAccess_feature_AddOrUpdateEmployeeJob = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJob.toString().toLowerCase(); }) != null;
|
|
14
|
+
this.canAccess_feature_ArchiveOrUnarchiveInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveInvoice.toString().toLowerCase(); }) != null;
|
|
15
|
+
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
16
|
+
this.canAccess_feature_ViewLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLeaves.toString().toLowerCase(); }) != null;
|
|
17
|
+
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
18
|
+
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
19
|
+
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
20
|
+
this.canAccess_feature_MyWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyWork.toString().toLowerCase(); }) != null;
|
|
21
|
+
this.canAccess_feature_Notifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Notifications.toString().toLowerCase(); }) != null;
|
|
22
|
+
this.canAccess_feature_StatusReporting = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_StatusReporting.toString().toLowerCase(); }) != null;
|
|
23
|
+
this.canAccess_feature_AddOrUpdateAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditCategory.toString().toLowerCase(); }) != null;
|
|
24
|
+
this.canAccess_feature_ViewEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
25
|
+
this.canAccess_feature_ManageMasterSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMasterSettings.toString().toLowerCase(); }) != null;
|
|
26
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditReports.toString().toLowerCase(); }) != null;
|
|
27
|
+
this.canAccess_feature_ViewAuditConducts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConducts.toString().toLowerCase(); }) != null;
|
|
28
|
+
this.canAccess_feature_AddOrUpdateExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateExpense.toString().toLowerCase(); }) != null;
|
|
29
|
+
this.canAccess_feature_ViewBadgesAssignedToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewBadgesAssignedToEmployee.toString().toLowerCase(); }) != null;
|
|
30
|
+
this.canAccess_feature_HrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HrManagement.toString().toLowerCase(); }) != null;
|
|
31
|
+
this.canAccess_feature_TaxSlabs = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxSlabs.toString().toLowerCase(); }) != null;
|
|
32
|
+
this.canAccess_feature_ViewEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
33
|
+
this.canAccess_feature_MarkDamagedAssest = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MarkDamagedAssest.toString().toLowerCase(); }) != null;
|
|
34
|
+
this.canAccess_feature_WorkItemsHavingOthersDependency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingOthersDependency.toString().toLowerCase(); }) != null;
|
|
35
|
+
this.canAccess_feature_ViewPayrollReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPayrollReports.toString().toLowerCase(); }) != null;
|
|
36
|
+
this.canAccess_feature_ManageDocumentTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDocumentTemplates.toString().toLowerCase(); }) != null;
|
|
37
|
+
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
38
|
+
this.canAccess_feature_EmployeeSpentTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeSpentTime.toString().toLowerCase(); }) != null;
|
|
39
|
+
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
40
|
+
this.canAccess_feature_PayrollCalculationConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollCalculationConfigurations.toString().toLowerCase(); }) != null;
|
|
41
|
+
this.canAccess_feature_AddOrUpdateEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
42
|
+
this.canAccess_feature_ContractPaySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ContractPaySettings.toString().toLowerCase(); }) != null;
|
|
43
|
+
this.canAccess_feature_AddOrUpdateAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditQuestions.toString().toLowerCase(); }) != null;
|
|
44
|
+
this.canAccess_feature_AddOrUpdateEmployeeSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSkills.toString().toLowerCase(); }) != null;
|
|
45
|
+
this.canAccess_feature_ManageExpenseManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseManagement.toString().toLowerCase(); }) != null;
|
|
46
|
+
this.canAccess_feature_CreateRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateRoster.toString().toLowerCase(); }) != null;
|
|
47
|
+
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
48
|
+
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
49
|
+
this.canAccess_feature_EmployeeAccountDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAccountDetails.toString().toLowerCase(); }) != null;
|
|
50
|
+
this.canAccess_feature_EmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLoans.toString().toLowerCase(); }) != null;
|
|
51
|
+
this.canAccess_feature_AbilityToChat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToChat.toString().toLowerCase(); }) != null;
|
|
52
|
+
this.canAccess_feature_EmployeeWorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkAllocation.toString().toLowerCase(); }) != null;
|
|
53
|
+
this.canAccess_feature_ViewEmployeeShiftDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeShiftDetails.toString().toLowerCase(); }) != null;
|
|
54
|
+
this.canAccess_feature_ViewEmployeeLanguageDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLanguageDetails.toString().toLowerCase(); }) != null;
|
|
55
|
+
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
56
|
+
this.canAccess_feature_ManageMaritalStatuses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMaritalStatuses.toString().toLowerCase(); }) != null;
|
|
57
|
+
this.canAccess_feature_AddOrUpdateFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateFoodItem.toString().toLowerCase(); }) != null;
|
|
58
|
+
this.canAccess_feature_ManageHtmltemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHtmltemplate.toString().toLowerCase(); }) != null;
|
|
59
|
+
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
60
|
+
this.canAccess_feature_AddOrUpdateAsset = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAsset.toString().toLowerCase(); }) != null;
|
|
61
|
+
this.canAccess_feature_AddOrEditEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
62
|
+
this.canAccess_feature_AddOrUpdateAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditReports.toString().toLowerCase(); }) != null;
|
|
63
|
+
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
64
|
+
this.canAccess_feature_ConfigurePayrollStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePayrollStatus.toString().toLowerCase(); }) != null;
|
|
65
|
+
this.canAccess_feature_UpsertCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpsertCompanyDetails.toString().toLowerCase(); }) != null;
|
|
66
|
+
this.canAccess_feature_ViewEmploymentContractDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmploymentContractDetails.toString().toLowerCase(); }) != null;
|
|
67
|
+
this.canAccess_feature_DownloadOrShareInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareInvoice.toString().toLowerCase(); }) != null;
|
|
68
|
+
this.canAccess_feature_ViewAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAudit.toString().toLowerCase(); }) != null;
|
|
69
|
+
this.canAccess_feature_EditMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditMessage.toString().toLowerCase(); }) != null;
|
|
70
|
+
this.canAccess_feature_ApproveOrRejectLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectLeave.toString().toLowerCase(); }) != null;
|
|
71
|
+
this.canAccess_feature_SpentTimeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SpentTimeDetails.toString().toLowerCase(); }) != null;
|
|
72
|
+
this.canAccess_feature_ArchiveOrUnarchiveAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAudit.toString().toLowerCase(); }) != null;
|
|
73
|
+
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
74
|
+
this.canAccess_feature_ViewEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
75
|
+
this.canAccess_feature_ProfessionalTaxRanges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProfessionalTaxRanges.toString().toLowerCase(); }) != null;
|
|
76
|
+
this.canAccess_feature_EnableNotifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EnableNotifications.toString().toLowerCase(); }) != null;
|
|
77
|
+
this.canAccess_feature_TdsSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TdsSettings.toString().toLowerCase(); }) != null;
|
|
78
|
+
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
79
|
+
this.canAccess_feature_ViewExpenses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewExpenses.toString().toLowerCase(); }) != null;
|
|
80
|
+
this.canAccess_feature_EmployeeLogtimeDetailsReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLogtimeDetailsReport.toString().toLowerCase(); }) != null;
|
|
81
|
+
this.canAccess_feature_CreditAmount = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreditAmount.toString().toLowerCase(); }) != null;
|
|
82
|
+
this.canAccess_feature_AllGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoals.toString().toLowerCase(); }) != null;
|
|
83
|
+
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
84
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditConduct.toString().toLowerCase(); }) != null;
|
|
85
|
+
this.canAccess_feature_ViewEmployeeActivityTimeUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeActivityTimeUsage.toString().toLowerCase(); }) != null;
|
|
86
|
+
this.canAccess_feature_ProcessDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProcessDashboard.toString().toLowerCase(); }) != null;
|
|
87
|
+
this.canAccess_feature_ManageTimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
88
|
+
this.canAccess_feature_ManageCompanySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanySettings.toString().toLowerCase(); }) != null;
|
|
89
|
+
this.canAccess_feature_AccessTestrepo = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AccessTestrepo.toString().toLowerCase(); }) != null;
|
|
90
|
+
this.canAccess_feature_CanAssignAuditTags = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignAuditTags.toString().toLowerCase(); }) != null;
|
|
91
|
+
this.canAccess_feature_AddOrEditLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditLeaveType.toString().toLowerCase(); }) != null;
|
|
92
|
+
this.canAccess_feature_EveryDayTargetStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EveryDayTargetStatus.toString().toLowerCase(); }) != null;
|
|
93
|
+
this.canAccess_feature_ArchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveProject.toString().toLowerCase(); }) != null;
|
|
94
|
+
this.canAccess_feature_DirectMessaging = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DirectMessaging.toString().toLowerCase(); }) != null;
|
|
95
|
+
this.canAccess_feature_ViewStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStores.toString().toLowerCase(); }) != null;
|
|
96
|
+
this.canAccess_feature_ApplyLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeave.toString().toLowerCase(); }) != null;
|
|
97
|
+
this.canAccess_feature_ManageInvoiceSchedule = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInvoiceSchedule.toString().toLowerCase(); }) != null;
|
|
98
|
+
this.canAccess_feature_AssignAdhocWorkToAllUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAdhocWorkToAllUsers.toString().toLowerCase(); }) != null;
|
|
99
|
+
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
100
|
+
this.canAccess_feature_CanChangeVisualisationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanChangeVisualisationType.toString().toLowerCase(); }) != null;
|
|
101
|
+
this.canAccess_feature_AddOrUpdateClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateClient.toString().toLowerCase(); }) != null;
|
|
102
|
+
this.canAccess_feature_AddOrUpdateInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateInvoice.toString().toLowerCase(); }) != null;
|
|
103
|
+
this.canAccess_feature_RecentlyPurchasedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyPurchasedAssets.toString().toLowerCase(); }) != null;
|
|
104
|
+
this.canAccess_feature_CanCreateReminders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCreateReminders.toString().toLowerCase(); }) != null;
|
|
105
|
+
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
106
|
+
this.canAccess_feature_ViewRoles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoles.toString().toLowerCase(); }) != null;
|
|
107
|
+
this.canAccess_feature_AddOrUpdateMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
108
|
+
this.canAccess_feature_ManageRelationShip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRelationShip.toString().toLowerCase(); }) != null;
|
|
109
|
+
this.canAccess_feature_PayrollRun = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRun.toString().toLowerCase(); }) != null;
|
|
110
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditCategory.toString().toLowerCase(); }) != null;
|
|
111
|
+
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
112
|
+
this.canAccess_feature_ArchiveSubmittedStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveSubmittedStatusReport.toString().toLowerCase(); }) != null;
|
|
113
|
+
this.canAccess_feature_CanViewOrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewOrganizationChart.toString().toLowerCase(); }) != null;
|
|
114
|
+
this.canAccess_feature_DeleteCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
115
|
+
this.canAccess_feature_EditPayslip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditPayslip.toString().toLowerCase(); }) != null;
|
|
116
|
+
this.canAccess_feature_ViewEmployeeCredits = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeCredits.toString().toLowerCase(); }) != null;
|
|
117
|
+
this.canAccess_feature_FinancialYearConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FinancialYearConfigurations.toString().toLowerCase(); }) != null;
|
|
118
|
+
this.canAccess_feature_TestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TestrepoManagement.toString().toLowerCase(); }) != null;
|
|
119
|
+
this.canAccess_feature_DocumentManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DocumentManagement.toString().toLowerCase(); }) != null;
|
|
120
|
+
this.canAccess_feature_ApproveEmployeeTaxAllowances = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeTaxAllowances.toString().toLowerCase(); }) != null;
|
|
121
|
+
this.canAccess_feature_ViewEmployeeReportToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeReportToDetails.toString().toLowerCase(); }) != null;
|
|
122
|
+
this.canAccess_feature_AddOrEditCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
123
|
+
this.canAccess_feature_AddOrUpdateStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
124
|
+
this.canAccess_feature_UserUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserUpload.toString().toLowerCase(); }) != null;
|
|
125
|
+
this.canAccess_feature_LateEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployee.toString().toLowerCase(); }) != null;
|
|
126
|
+
this.canAccess_feature_ViewEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
127
|
+
this.canAccess_feature_ViewEmployeeMembershipDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeMembershipDetails.toString().toLowerCase(); }) != null;
|
|
128
|
+
this.canAccess_feature_RecentlyAssignedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyAssignedAssets.toString().toLowerCase(); }) != null;
|
|
129
|
+
this.canAccess_feature_EmployeesCurrentWorkingOrBacklogWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeesCurrentWorkingOrBacklogWorkItems.toString().toLowerCase(); }) != null;
|
|
130
|
+
this.canAccess_feature_ViewStatusReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReports.toString().toLowerCase(); }) != null;
|
|
131
|
+
this.canAccess_feature_ResignationStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResignationStatus.toString().toLowerCase(); }) != null;
|
|
132
|
+
this.canAccess_feature_Venue = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Venue.toString().toLowerCase(); }) != null;
|
|
133
|
+
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
134
|
+
this.canAccess_feature_ViewRoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoomTemperature.toString().toLowerCase(); }) != null;
|
|
135
|
+
this.canAccess_feature_UpdateFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateFoodOrder.toString().toLowerCase(); }) != null;
|
|
136
|
+
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
137
|
+
this.canAccess_feature_CanSubmitCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
138
|
+
this.canAccess_feature_ArchiveOrUnarchiveEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveEstimate.toString().toLowerCase(); }) != null;
|
|
139
|
+
this.canAccess_feature_ManageLeavesManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeavesManagement.toString().toLowerCase(); }) != null;
|
|
140
|
+
this.canAccess_feature_AddOrUpdateChannel = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateChannel.toString().toLowerCase(); }) != null;
|
|
141
|
+
this.canAccess_feature_ViewForms = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewForms.toString().toLowerCase(); }) != null;
|
|
142
|
+
this.canAccess_feature_CanteenManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenManagement.toString().toLowerCase(); }) != null;
|
|
143
|
+
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
144
|
+
this.canAccess_feature_ProjectsActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectsActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
145
|
+
this.canAccess_feature_AddOrUpdateEmployeeImmigration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeImmigration.toString().toLowerCase(); }) != null;
|
|
146
|
+
this.canAccess_feature_AlternateSignIn = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AlternateSignIn.toString().toLowerCase(); }) != null;
|
|
147
|
+
this.canAccess_feature_ManageActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityTracker.toString().toLowerCase(); }) != null;
|
|
148
|
+
this.canAccess_feature_RecentlyDamagedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyDamagedAssets.toString().toLowerCase(); }) != null;
|
|
149
|
+
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
150
|
+
this.canAccess_feature_AssetHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetHistory.toString().toLowerCase(); }) != null;
|
|
151
|
+
this.canAccess_feature_ProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectManagement.toString().toLowerCase(); }) != null;
|
|
152
|
+
this.canAccess_feature_ManageAppsAndUrls = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppsAndUrls.toString().toLowerCase(); }) != null;
|
|
153
|
+
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
154
|
+
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
155
|
+
this.canAccess_feature_AddOrUpdateEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
156
|
+
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
157
|
+
this.canAccess_feature_ArchiveForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveForm.toString().toLowerCase(); }) != null;
|
|
158
|
+
this.canAccess_feature_ShareExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ShareExpense.toString().toLowerCase(); }) != null;
|
|
159
|
+
this.canAccess_feature_ManageSystemApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemApps.toString().toLowerCase(); }) != null;
|
|
160
|
+
this.canAccess_feature_BookingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BookingManagement.toString().toLowerCase(); }) != null;
|
|
161
|
+
this.canAccess_feature_GoalLevelReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalLevelReports.toString().toLowerCase(); }) != null;
|
|
162
|
+
this.canAccess_feature_ViewEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
163
|
+
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
164
|
+
this.canAccess_feature_ManageLeaveStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveStatus.toString().toLowerCase(); }) != null;
|
|
165
|
+
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
166
|
+
this.canAccess_feature_ArchiveUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveUser.toString().toLowerCase(); }) != null;
|
|
167
|
+
this.canAccess_feature_ViewTrackedInformationOfUserstory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrackedInformationOfUserstory.toString().toLowerCase(); }) != null;
|
|
168
|
+
this.canAccess_feature_AddUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddUser.toString().toLowerCase(); }) != null;
|
|
169
|
+
this.canAccess_feature_LeaveManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveManagement.toString().toLowerCase(); }) != null;
|
|
170
|
+
this.canAccess_feature_ViewProjects = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProjects.toString().toLowerCase(); }) != null;
|
|
171
|
+
this.canAccess_feature_ApproveOrRejectTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectTimesheet.toString().toLowerCase(); }) != null;
|
|
172
|
+
this.canAccess_feature_RoleManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoleManagement.toString().toLowerCase(); }) != null;
|
|
173
|
+
this.canAccess_feature_CopyOrMoveQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CopyOrMoveQuestions.toString().toLowerCase(); }) != null;
|
|
174
|
+
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
175
|
+
this.canAccess_feature_ManageCustomFormSubmissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomFormSubmissions.toString().toLowerCase(); }) != null;
|
|
176
|
+
this.canAccess_feature_ViewLocations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLocations.toString().toLowerCase(); }) != null;
|
|
177
|
+
this.canAccess_feature_ManageInductionWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInductionWork.toString().toLowerCase(); }) != null;
|
|
178
|
+
this.canAccess_feature_ViewAllEmployeeActivityReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployeeActivityReports.toString().toLowerCase(); }) != null;
|
|
179
|
+
this.canAccess_feature_DownloadEmployeeSalaryCertificate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadEmployeeSalaryCertificate.toString().toLowerCase(); }) != null;
|
|
180
|
+
this.canAccess_feature_ManageTestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestrepoManagement.toString().toLowerCase(); }) != null;
|
|
181
|
+
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
182
|
+
this.canAccess_feature_ManageCompanyStructure = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyStructure.toString().toLowerCase(); }) != null;
|
|
183
|
+
this.canAccess_feature_ViewRecentlyActiveClients = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRecentlyActiveClients.toString().toLowerCase(); }) != null;
|
|
184
|
+
this.canAccess_feature_ManageRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRoster.toString().toLowerCase(); }) != null;
|
|
185
|
+
this.canAccess_feature_EmployeeWorkLogReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkLogReport.toString().toLowerCase(); }) != null;
|
|
186
|
+
this.canAccess_feature_DownloadOrShareAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareAuditReports.toString().toLowerCase(); }) != null;
|
|
187
|
+
this.canAccess_feature_ConfigureWebhooks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureWebhooks.toString().toLowerCase(); }) != null;
|
|
188
|
+
this.canAccess_feature_ManageStoreManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageStoreManagement.toString().toLowerCase(); }) != null;
|
|
189
|
+
this.canAccess_feature_AddOrUpdateProduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateProduct.toString().toLowerCase(); }) != null;
|
|
190
|
+
this.canAccess_feature_CreateFolder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateFolder.toString().toLowerCase(); }) != null;
|
|
191
|
+
this.canAccess_feature_PayrollTemplateConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollTemplateConfiguration.toString().toLowerCase(); }) != null;
|
|
192
|
+
this.canAccess_feature_AssetsAllocatedToMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetsAllocatedToMe.toString().toLowerCase(); }) != null;
|
|
193
|
+
this.canAccess_feature_EmployeeCreditorDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeCreditorDetails.toString().toLowerCase(); }) != null;
|
|
194
|
+
this.canAccess_feature_ApproveEmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeLoans.toString().toLowerCase(); }) != null;
|
|
195
|
+
this.canAccess_feature_ViewEmployeeSkillDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSkillDetails.toString().toLowerCase(); }) != null;
|
|
196
|
+
this.canAccess_feature_CanViewUsersCanteenSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewUsersCanteenSummary.toString().toLowerCase(); }) != null;
|
|
197
|
+
this.canAccess_feature_WorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocation.toString().toLowerCase(); }) != null;
|
|
198
|
+
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
199
|
+
this.canAccess_feature_AddPermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddPermission.toString().toLowerCase(); }) != null;
|
|
200
|
+
this.canAccess_feature_ViewTodaysTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTodaysTimesheet.toString().toLowerCase(); }) != null;
|
|
201
|
+
this.canAccess_feature_CanAssignBadgeToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignBadgeToEmployee.toString().toLowerCase(); }) != null;
|
|
202
|
+
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
203
|
+
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
204
|
+
this.canAccess_feature_ViewEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
205
|
+
this.canAccess_feature_AddOrUpdateEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
206
|
+
this.canAccess_feature_DoChannelChatOnly = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DoChannelChatOnly.toString().toLowerCase(); }) != null;
|
|
207
|
+
this.canAccess_feature_UpdatePermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdatePermission.toString().toLowerCase(); }) != null;
|
|
208
|
+
this.canAccess_feature_Security = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Security.toString().toLowerCase(); }) != null;
|
|
209
|
+
this.canAccess_feature_SubmitStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitStatusReport.toString().toLowerCase(); }) != null;
|
|
210
|
+
this.canAccess_feature_Audit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Audit.toString().toLowerCase(); }) != null;
|
|
211
|
+
this.canAccess_feature_AddOrUpdateEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
212
|
+
this.canAccess_feature_BugReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BugReport.toString().toLowerCase(); }) != null;
|
|
213
|
+
this.canAccess_feature_TaxAllowance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxAllowance.toString().toLowerCase(); }) != null;
|
|
214
|
+
this.canAccess_feature_AssetComment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetComment.toString().toLowerCase(); }) != null;
|
|
215
|
+
this.canAccess_feature_ViewEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
216
|
+
this.canAccess_feature_PurchaseFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PurchaseFoodItem.toString().toLowerCase(); }) != null;
|
|
217
|
+
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
218
|
+
this.canAccess_feature_ViewTimesheetFeed = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTimesheetFeed.toString().toLowerCase(); }) != null;
|
|
219
|
+
this.canAccess_feature_AddOrUpdateEmployeeReportingToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeReportingToDetails.toString().toLowerCase(); }) != null;
|
|
220
|
+
this.canAccess_feature_PayrollRoleConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRoleConfiguration.toString().toLowerCase(); }) != null;
|
|
221
|
+
this.canAccess_feature_DashboardManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardManagement.toString().toLowerCase(); }) != null;
|
|
222
|
+
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
223
|
+
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
224
|
+
this.canAccess_feature_WorkItemsHavingDependencyOnMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingDependencyOnMe.toString().toLowerCase(); }) != null;
|
|
225
|
+
this.canAccess_feature_AddOrUpdateEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
226
|
+
this.canAccess_feature_ArchiveRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveRole.toString().toLowerCase(); }) != null;
|
|
227
|
+
this.canAccess_feature_TimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
228
|
+
this.canAccess_feature_AddOrUpdateApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateApplications.toString().toLowerCase(); }) != null;
|
|
229
|
+
this.canAccess_feature_PublishAsDefault = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PublishAsDefault.toString().toLowerCase(); }) != null;
|
|
230
|
+
this.canAccess_feature_ViewMasterQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMasterQuestionTypes.toString().toLowerCase(); }) != null;
|
|
231
|
+
this.canAccess_feature_ViewProductDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProductDetails.toString().toLowerCase(); }) != null;
|
|
232
|
+
this.canAccess_feature_DeleteCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
233
|
+
this.canAccess_feature_ManageAuthorization = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAuthorization.toString().toLowerCase(); }) != null;
|
|
234
|
+
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
235
|
+
this.canAccess_feature_ManageCustomApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomApps.toString().toLowerCase(); }) != null;
|
|
236
|
+
this.canAccess_feature_FoodItemsList = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodItemsList.toString().toLowerCase(); }) != null;
|
|
237
|
+
this.canAccess_feature_AddOrUpdateForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateForm.toString().toLowerCase(); }) != null;
|
|
238
|
+
this.canAccess_feature_ArchiveAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveAdhocWork.toString().toLowerCase(); }) != null;
|
|
239
|
+
this.canAccess_feature_ManageLeaveSession = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveSession.toString().toLowerCase(); }) != null;
|
|
240
|
+
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
241
|
+
this.canAccess_feature_WorkItemUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemUpload.toString().toLowerCase(); }) != null;
|
|
242
|
+
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
243
|
+
this.canAccess_feature_CanApprovePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanApprovePerformance.toString().toLowerCase(); }) != null;
|
|
244
|
+
this.canAccess_feature_AddOrUpdateLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateLocation.toString().toLowerCase(); }) != null;
|
|
245
|
+
this.canAccess_feature_ManageRestrictionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRestrictionType.toString().toLowerCase(); }) != null;
|
|
246
|
+
this.canAccess_feature_ManageLeaveFormula = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveFormula.toString().toLowerCase(); }) != null;
|
|
247
|
+
this.canAccess_feature_EmployeeWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkItems.toString().toLowerCase(); }) != null;
|
|
248
|
+
this.canAccess_feature_BillingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillingManagement.toString().toLowerCase(); }) != null;
|
|
249
|
+
this.canAccess_feature_EditDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditDashboard.toString().toLowerCase(); }) != null;
|
|
250
|
+
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
251
|
+
this.canAccess_feature_ManageAppFilters = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppFilters.toString().toLowerCase(); }) != null;
|
|
252
|
+
this.canAccess_feature_ManageLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveType.toString().toLowerCase(); }) != null;
|
|
253
|
+
this.canAccess_feature_ArchiveStatusReportConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveStatusReportConfiguration.toString().toLowerCase(); }) != null;
|
|
254
|
+
this.canAccess_feature_ResetPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetPassword.toString().toLowerCase(); }) != null;
|
|
255
|
+
this.canAccess_feature_EditRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditRoster.toString().toLowerCase(); }) != null;
|
|
256
|
+
this.canAccess_feature_AbilityToCreatePublicProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToCreatePublicProject.toString().toLowerCase(); }) != null;
|
|
257
|
+
this.canAccess_feature_PayrollMaritalStatusConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollMaritalStatusConfiguration.toString().toLowerCase(); }) != null;
|
|
258
|
+
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
259
|
+
this.canAccess_feature_AddProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddProject.toString().toLowerCase(); }) != null;
|
|
260
|
+
this.canAccess_feature_AddOrUpdateEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
261
|
+
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
262
|
+
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
263
|
+
this.canAccess_feature_AddOrUpdateAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAdhocWork.toString().toLowerCase(); }) != null;
|
|
264
|
+
this.canAccess_feature_ForgotPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ForgotPassword.toString().toLowerCase(); }) != null;
|
|
265
|
+
this.canAccess_feature_LogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LogTimeReport.toString().toLowerCase(); }) != null;
|
|
266
|
+
this.canAccess_feature_DeleteDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteDashboard.toString().toLowerCase(); }) != null;
|
|
267
|
+
this.canAccess_feature_ViewQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewQuestionTypes.toString().toLowerCase(); }) != null;
|
|
268
|
+
this.canAccess_feature_ViewHistoricalTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewHistoricalTimesheet.toString().toLowerCase(); }) != null;
|
|
269
|
+
this.canAccess_feature_WorkItemsWaitingForQaApproval = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsWaitingForQaApproval.toString().toLowerCase(); }) != null;
|
|
270
|
+
this.canAccess_feature_InviteeForSignature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_InviteeForSignature.toString().toLowerCase(); }) != null;
|
|
271
|
+
this.canAccess_feature_AddOrUpdateRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateRole.toString().toLowerCase(); }) != null;
|
|
272
|
+
this.canAccess_feature_CanCloneAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCloneAudit.toString().toLowerCase(); }) != null;
|
|
273
|
+
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
274
|
+
this.canAccess_feature_PunchCard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PunchCard.toString().toLowerCase(); }) != null;
|
|
275
|
+
this.canAccess_feature_ManageActivityConfig = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityConfig.toString().toLowerCase(); }) != null;
|
|
276
|
+
this.canAccess_feature_OrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OrganizationChart.toString().toLowerCase(); }) != null;
|
|
277
|
+
this.canAccess_feature_DashboardMenuItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardMenuItem.toString().toLowerCase(); }) != null;
|
|
278
|
+
this.canAccess_feature_FeatureUsageReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FeatureUsageReport.toString().toLowerCase(); }) != null;
|
|
279
|
+
this.canAccess_feature_ActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityTracker.toString().toLowerCase(); }) != null;
|
|
280
|
+
this.canAccess_feature_DeleteGoalFilter = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteGoalFilter.toString().toLowerCase(); }) != null;
|
|
281
|
+
this.canAccess_feature_EmployeePresence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePresence.toString().toLowerCase(); }) != null;
|
|
282
|
+
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
283
|
+
this.canAccess_feature_ManageProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectManagement.toString().toLowerCase(); }) != null;
|
|
284
|
+
this.canAccess_feature_ManageField = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageField.toString().toLowerCase(); }) != null;
|
|
285
|
+
this.canAccess_feature_ViewApplicationUsageReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplicationUsageReports.toString().toLowerCase(); }) != null;
|
|
286
|
+
this.canAccess_feature_AddOrUpdateTimesheetentry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTimesheetentry.toString().toLowerCase(); }) != null;
|
|
287
|
+
this.canAccess_feature_AddOrUpdateEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
288
|
+
this.canAccess_feature_AddOrUpdateQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateQuestionType.toString().toLowerCase(); }) != null;
|
|
289
|
+
this.canAccess_feature_ViewFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFiles.toString().toLowerCase(); }) != null;
|
|
290
|
+
this.canAccess_feature_AddOrUpdateAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditConduct.toString().toLowerCase(); }) != null;
|
|
291
|
+
this.canAccess_feature_EmployeePayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePayrollDetails.toString().toLowerCase(); }) != null;
|
|
292
|
+
this.canAccess_feature_ManageBadges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBadges.toString().toLowerCase(); }) != null;
|
|
293
|
+
this.canAccess_feature_LeaveTypeConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveTypeConfiguration.toString().toLowerCase(); }) != null;
|
|
294
|
+
this.canAccess_feature_ManagePayrollComponent = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollComponent.toString().toLowerCase(); }) != null;
|
|
295
|
+
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
296
|
+
this.canAccess_feature_CanEditOtherEmployeeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanEditOtherEmployeeDetails.toString().toLowerCase(); }) != null;
|
|
297
|
+
this.canAccess_feature_Authorisation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Authorisation.toString().toLowerCase(); }) != null;
|
|
298
|
+
this.canAccess_feature_ArchiveExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveExpense.toString().toLowerCase(); }) != null;
|
|
299
|
+
this.canAccess_feature_ReviewFile = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ReviewFile.toString().toLowerCase(); }) != null;
|
|
300
|
+
this.canAccess_feature_HourlyTdsConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HourlyTdsConfiguration.toString().toLowerCase(); }) != null;
|
|
301
|
+
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
302
|
+
this.canAccess_feature_ViewEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
303
|
+
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
304
|
+
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
305
|
+
this.canAccess_feature_ManageGender = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGender.toString().toLowerCase(); }) != null;
|
|
306
|
+
this.canAccess_feature_AppManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AppManagement.toString().toLowerCase(); }) != null;
|
|
307
|
+
this.canAccess_feature_CanPassAnAnnouncement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanPassAnAnnouncement.toString().toLowerCase(); }) != null;
|
|
308
|
+
this.canAccess_feature_AllFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllFoodOrders.toString().toLowerCase(); }) != null;
|
|
309
|
+
this.canAccess_feature_AddOrUpdateEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
310
|
+
this.canAccess_feature_CanSubmitCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
311
|
+
this.canAccess_feature_CanViewAuditNonComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditNonComplainceReport.toString().toLowerCase(); }) != null;
|
|
312
|
+
this.canAccess_feature_ViewTestrepoReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTestrepoReports.toString().toLowerCase(); }) != null;
|
|
313
|
+
this.canAccess_feature_MyAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyAdhocWork.toString().toLowerCase(); }) != null;
|
|
314
|
+
this.canAccess_feature_ViewEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
315
|
+
this.canAccess_feature_ApplyLeaveOnBehalfOfOthers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeaveOnBehalfOfOthers.toString().toLowerCase(); }) != null;
|
|
316
|
+
this.canAccess_feature_PayrollManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollManagement.toString().toLowerCase(); }) != null;
|
|
317
|
+
this.canAccess_feature_AddOrUpdateVendor = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateVendor.toString().toLowerCase(); }) != null;
|
|
318
|
+
this.canAccess_feature_EmployeeWorkingDays = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkingDays.toString().toLowerCase(); }) != null;
|
|
319
|
+
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
320
|
+
this.canAccess_feature_BillAmountOnDailyBasis = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillAmountOnDailyBasis.toString().toLowerCase(); }) != null;
|
|
321
|
+
this.canAccess_feature_FoodOrdersManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodOrdersManagement.toString().toLowerCase(); }) != null;
|
|
322
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditQuestions.toString().toLowerCase(); }) != null;
|
|
323
|
+
this.canAccess_feature_ViewCompanyWideLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyWideLeaves.toString().toLowerCase(); }) != null;
|
|
324
|
+
this.canAccess_feature_UnarchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UnarchiveProject.toString().toLowerCase(); }) != null;
|
|
325
|
+
this.canAccess_feature_ViewEmployeeImmigrationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeImmigrationDetails.toString().toLowerCase(); }) != null;
|
|
326
|
+
this.canAccess_feature_UpdateUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateUser.toString().toLowerCase(); }) != null;
|
|
327
|
+
this.canAccess_feature_ViewEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
328
|
+
this.canAccess_feature_ParkAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ParkAdhocWork.toString().toLowerCase(); }) != null;
|
|
329
|
+
this.canAccess_feature_DeleteLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteLeave.toString().toLowerCase(); }) != null;
|
|
330
|
+
this.canAccess_feature_ArchiveOrUnarchiveQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveQuestionType.toString().toLowerCase(); }) != null;
|
|
331
|
+
this.canAccess_feature_SelectLogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SelectLogTimeReport.toString().toLowerCase(); }) != null;
|
|
332
|
+
this.canAccess_feature_EmployeeIndex = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeIndex.toString().toLowerCase(); }) != null;
|
|
333
|
+
this.canAccess_feature_RecentIndividualFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentIndividualFoodOrders.toString().toLowerCase(); }) != null;
|
|
334
|
+
this.canAccess_feature_ManageActivityDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityDashboard.toString().toLowerCase(); }) != null;
|
|
335
|
+
this.canAccess_feature_AssetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetManagement.toString().toLowerCase(); }) != null;
|
|
336
|
+
this.canAccess_feature_Chat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Chat.toString().toLowerCase(); }) != null;
|
|
337
|
+
this.canAccess_feature_ManageImportOrExportClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageImportOrExportClient.toString().toLowerCase(); }) != null;
|
|
338
|
+
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
339
|
+
this.canAccess_feature_ViewAuditActions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditActions.toString().toLowerCase(); }) != null;
|
|
340
|
+
this.canAccess_feature_GoalsToArchive = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalsToArchive.toString().toLowerCase(); }) != null;
|
|
341
|
+
this.canAccess_feature_AddOrUpdateEmployeeLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLanguages.toString().toLowerCase(); }) != null;
|
|
342
|
+
this.canAccess_feature_ActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
343
|
+
this.canAccess_feature_AllGoalsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoalsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
344
|
+
this.canAccess_feature_HideDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HideDashboard.toString().toLowerCase(); }) != null;
|
|
345
|
+
this.canAccess_feature_SubmitTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitTimesheet.toString().toLowerCase(); }) != null;
|
|
346
|
+
this.canAccess_feature_PayrollGenderConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollGenderConfiguration.toString().toLowerCase(); }) != null;
|
|
347
|
+
this.canAccess_feature_ApproveOrRejectExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectExpense.toString().toLowerCase(); }) != null;
|
|
348
|
+
this.canAccess_feature_ViewEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEstimate.toString().toLowerCase(); }) != null;
|
|
349
|
+
this.canAccess_feature_CanteenPurchasesSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenPurchasesSummary.toString().toLowerCase(); }) != null;
|
|
350
|
+
this.canAccess_feature_ViewVendors = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewVendors.toString().toLowerCase(); }) != null;
|
|
351
|
+
this.canAccess_feature_ViewUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUsers.toString().toLowerCase(); }) != null;
|
|
352
|
+
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
353
|
+
this.canAccess_feature_ViewInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewInvoice.toString().toLowerCase(); }) != null;
|
|
354
|
+
this.canAccess_feature_LeavesReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeavesReport.toString().toLowerCase(); }) != null;
|
|
355
|
+
this.canAccess_feature_AddOrUpdateEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
356
|
+
this.canAccess_feature_ViewEmployeeWebAppUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWebAppUsage.toString().toLowerCase(); }) != null;
|
|
357
|
+
this.canAccess_feature_ViewRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoster.toString().toLowerCase(); }) != null;
|
|
358
|
+
this.canAccess_feature_ManageFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedback.toString().toLowerCase(); }) != null;
|
|
359
|
+
this.canAccess_feature_OffersCreditedToUsersSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OffersCreditedToUsersSummary.toString().toLowerCase(); }) != null;
|
|
360
|
+
this.canAccess_feature_QaPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_QaPerformance.toString().toLowerCase(); }) != null;
|
|
361
|
+
this.canAccess_feature_AllowanceTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllowanceTime.toString().toLowerCase(); }) != null;
|
|
362
|
+
this.canAccess_feature_AddOrUpdateAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAudit.toString().toLowerCase(); }) != null;
|
|
363
|
+
this.canAccess_feature_ManageProjectRolePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectRolePermissions.toString().toLowerCase(); }) != null;
|
|
364
|
+
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
365
|
+
this.canAccess_feature_AddDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddDashboard.toString().toLowerCase(); }) != null;
|
|
366
|
+
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
367
|
+
this.canAccess_feature_ResetOthersPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetOthersPassword.toString().toLowerCase(); }) != null;
|
|
368
|
+
this.canAccess_feature_ManageEmployeeRatesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmployeeRatesheet.toString().toLowerCase(); }) != null;
|
|
369
|
+
this.canAccess_feature_AddOrUpdateEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
370
|
+
this.canAccess_feature_ViewAllEmployees = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployees.toString().toLowerCase(); }) != null;
|
|
371
|
+
this.canAccess_feature_LeaveEncashmentSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveEncashmentSettings.toString().toLowerCase(); }) != null;
|
|
372
|
+
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
373
|
+
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
374
|
+
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
375
|
+
this.canAccess_feature_ViewEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
376
|
+
this.canAccess_feature_ConfigureEmployeePayrollTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeePayrollTemplates.toString().toLowerCase(); }) != null;
|
|
377
|
+
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
378
|
+
this.canAccess_feature_ViewApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplications.toString().toLowerCase(); }) != null;
|
|
379
|
+
this.canAccess_feature_ConfigureEmployeeTracking = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeeTracking.toString().toLowerCase(); }) != null;
|
|
380
|
+
this.canAccess_feature_UserHistoricalReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserHistoricalReport.toString().toLowerCase(); }) != null;
|
|
381
|
+
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
382
|
+
this.canAccess_feature_ViewUserStatusHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUserStatusHistory.toString().toLowerCase(); }) != null;
|
|
383
|
+
this.canAccess_feature_ManageActivityScreenshots = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityScreenshots.toString().toLowerCase(); }) != null;
|
|
384
|
+
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
385
|
+
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
386
|
+
this.canAccess_feature_ManageSubscriptionPaidBy = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSubscriptionPaidBy.toString().toLowerCase(); }) != null;
|
|
387
|
+
this.canAccess_feature_ConductForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConductForm.toString().toLowerCase(); }) != null;
|
|
388
|
+
this.canAccess_feature_LateEmployeesCountVsDate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployeesCountVsDate.toString().toLowerCase(); }) != null;
|
|
389
|
+
this.canAccess_feature_AssignAssetsToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAssetsToEmployee.toString().toLowerCase(); }) != null;
|
|
390
|
+
this.canAccess_feature_EmployeeAttendence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAttendence.toString().toLowerCase(); }) != null;
|
|
391
|
+
this.canAccess_feature_ActivityReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityReport.toString().toLowerCase(); }) != null;
|
|
392
|
+
this.canAccess_feature_DevQuality = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DevQuality.toString().toLowerCase(); }) != null;
|
|
393
|
+
this.canAccess_feature_ApproveRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveRoster.toString().toLowerCase(); }) != null;
|
|
394
|
+
this.canAccess_feature_ViewFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFeedback.toString().toLowerCase(); }) != null;
|
|
395
|
+
this.canAccess_feature_ImminentDeadlines = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ImminentDeadlines.toString().toLowerCase(); }) != null;
|
|
396
|
+
this.canAccess_feature_ArchiveMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveMessage.toString().toLowerCase(); }) != null;
|
|
397
|
+
this.canAccess_feature_ArchiveOrUnarchiveMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
398
|
+
this.canAccess_feature_RoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoomTemperature.toString().toLowerCase(); }) != null;
|
|
399
|
+
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
400
|
+
this.canAccess_feature_ViewOrManageInvoiceStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOrManageInvoiceStatus.toString().toLowerCase(); }) != null;
|
|
401
|
+
this.canAccess_feature_ManagePayrollTemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollTemplate.toString().toLowerCase(); }) != null;
|
|
402
|
+
this.canAccess_feature_ViewAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditReports.toString().toLowerCase(); }) != null;
|
|
403
|
+
this.canAccess_feature_EditStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditStores.toString().toLowerCase(); }) != null;
|
|
404
|
+
this.canAccess_feature_ViewAssetsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAssetsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
405
|
+
this.canAccess_feature_ViewPermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPermissions.toString().toLowerCase(); }) != null;
|
|
406
|
+
this.canAccess_feature_Applications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Applications.toString().toLowerCase(); }) != null;
|
|
407
|
+
this.canAccess_feature_CanAnswerQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAnswerQuestions.toString().toLowerCase(); }) != null;
|
|
408
|
+
this.canAccess_feature_SubmitAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitAudit.toString().toLowerCase(); }) != null;
|
|
409
|
+
this.canAccess_feature_PayrollBranchConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollBranchConfiguration.toString().toLowerCase(); }) != null;
|
|
410
|
+
this.canAccess_feature_ConfigurePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePerformance.toString().toLowerCase(); }) != null;
|
|
411
|
+
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
412
|
+
this.canAccess_feature_ViewLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLiveDashboard.toString().toLowerCase(); }) != null;
|
|
413
|
+
this.canAccess_feature_AddFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddFoodOrder.toString().toLowerCase(); }) != null;
|
|
414
|
+
this.canAccess_feature_PayrollRunEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRunEmployee.toString().toLowerCase(); }) != null;
|
|
415
|
+
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
416
|
+
this.canAccess_feature_ViewEmployeeAppTrackerCompleteReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeAppTrackerCompleteReport.toString().toLowerCase(); }) != null;
|
|
417
|
+
this.canAccess_feature_ManageHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHrManagement.toString().toLowerCase(); }) != null;
|
|
418
|
+
this.canAccess_feature_EmployeeTaxAllowanceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeTaxAllowanceDetails.toString().toLowerCase(); }) != null;
|
|
419
|
+
this.canAccess_feature_ViewStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
420
|
+
this.canAccess_feature_EmployeeBonus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeBonus.toString().toLowerCase(); }) != null;
|
|
421
|
+
this.canAccess_feature_AddOrUpdateEmployeeShifts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeShifts.toString().toLowerCase(); }) != null;
|
|
422
|
+
this.canAccess_feature_ViewAllAdhocWorks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllAdhocWorks.toString().toLowerCase(); }) != null;
|
|
423
|
+
this.canAccess_feature_EmployeeResignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeResignation.toString().toLowerCase(); }) != null;
|
|
424
|
+
this.canAccess_feature_AddOrEditCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
425
|
+
this.canAccess_feature_ViewFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFoodOrders.toString().toLowerCase(); }) != null;
|
|
426
|
+
this.canAccess_feature_AddOrUpdateEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEstimate.toString().toLowerCase(); }) != null;
|
|
427
|
+
this.canAccess_feature_DaysOfWeekConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DaysOfWeekConfiguration.toString().toLowerCase(); }) != null;
|
|
428
|
+
this.canAccess_feature_CanAccessPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAccessPerformance.toString().toLowerCase(); }) != null;
|
|
429
|
+
this.canAccess_feature_ViewOverallAuditActivity = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOverallAuditActivity.toString().toLowerCase(); }) != null;
|
|
430
|
+
this.canAccess_feature_PayrollFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollFrequency.toString().toLowerCase(); }) != null;
|
|
431
|
+
this.canAccess_feature_ViewMonthlyPayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMonthlyPayrollDetails.toString().toLowerCase(); }) != null;
|
|
432
|
+
this.canAccess_feature_SnapLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SnapLiveDashboard.toString().toLowerCase(); }) != null;
|
|
433
|
+
this.canAccess_feature_ViewAuditConductTimelineReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConductTimelineReport.toString().toLowerCase(); }) != null;
|
|
434
|
+
this.canAccess_feature_ManageHoliday = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHoliday.toString().toLowerCase(); }) != null;
|
|
435
|
+
this.canAccess_feature_AddOrUpdateEmploymentContract = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmploymentContract.toString().toLowerCase(); }) != null;
|
|
436
|
+
this.canAccess_feature_ViewListOfAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewListOfAssets.toString().toLowerCase(); }) != null;
|
|
437
|
+
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
438
|
+
this.canAccess_feature_CanViewAuditComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditComplainceReport.toString().toLowerCase(); }) != null;
|
|
439
|
+
this.canAccess_feature_ManageDashboards = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDashboards.toString().toLowerCase(); }) != null;
|
|
440
|
+
this.canAccess_feature_CanViewNumberOfAuditsSubmitted = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewNumberOfAuditsSubmitted.toString().toLowerCase(); }) != null;
|
|
441
|
+
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
442
|
+
this.canAccess_feature_UploadFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UploadFiles.toString().toLowerCase(); }) != null;
|
|
443
|
+
this.canAccess_feature_WorkAllocationSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocationSummary.toString().toLowerCase(); }) != null;
|
|
444
|
+
this.canAccess_feature_AddOrUpdateEmployeeMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeMemberships.toString().toLowerCase(); }) != null;
|
|
445
|
+
this.canAccess_feature_ViewMyWorkWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMyWorkWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
446
|
+
this.canAccess_feature_ViewCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyDetails.toString().toLowerCase(); }) != null;
|
|
447
|
+
this.canAccess_feature_ChatFileUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ChatFileUpload.toString().toLowerCase(); }) != null;
|
|
448
|
+
this.canAccess_feature_MyProjectWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyProjectWork.toString().toLowerCase(); }) != null;
|
|
449
|
+
this.canAccess_feature_DeletePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeletePermissions.toString().toLowerCase(); }) != null;
|
|
450
|
+
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
451
|
+
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
452
|
+
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
453
|
+
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
454
|
+
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
455
|
+
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
456
|
+
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
457
|
+
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
458
|
+
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
459
|
+
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
460
|
+
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
461
|
+
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
462
|
+
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
463
|
+
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
464
|
+
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
465
|
+
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
466
|
+
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
467
|
+
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
468
|
+
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
469
|
+
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
470
|
+
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
471
|
+
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
472
|
+
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
473
|
+
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
474
|
+
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
475
|
+
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
476
|
+
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
477
|
+
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
478
|
+
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
479
|
+
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
480
|
+
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
481
|
+
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
482
|
+
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
483
|
+
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
484
|
+
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
485
|
+
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
486
|
+
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
487
|
+
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
488
|
+
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
489
|
+
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
490
|
+
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
491
|
+
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
492
|
+
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
493
|
+
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
494
|
+
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
495
|
+
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
496
|
+
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
497
|
+
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
498
|
+
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
499
|
+
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
500
|
+
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
501
|
+
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
502
|
+
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
503
|
+
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
504
|
+
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
505
|
+
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
506
|
+
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
507
|
+
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
508
|
+
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
509
|
+
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
510
|
+
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
511
|
+
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
512
|
+
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
513
|
+
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
514
|
+
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
515
|
+
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
516
|
+
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
517
|
+
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
518
|
+
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
519
|
+
this.canAccess_feature_ManageSystemExports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemExports.toString().toLowerCase(); }) != null;
|
|
520
|
+
this.canAccess_feature_ManageSystemImports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemImports.toString().toLowerCase(); }) != null;
|
|
521
|
+
this.canAccess_feature_Settings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageOverAllCompanySettings.toString().toLowerCase(); }) != null;
|
|
522
|
+
this.canAccess_feature_ManageAccountsAndBilling = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccountsAndBilling.toString().toLowerCase(); }) != null;
|
|
523
|
+
this.canAccess_feature_ViewActivityReportsForAllEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewActivityReportsForAllEmployee.toString().toLowerCase(); }) != null;
|
|
524
|
+
}
|
|
525
|
+
logError(errorMessage) {
|
|
526
|
+
}
|
|
527
|
+
logNavigation() {
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
CustomAppBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: CustomAppBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
531
|
+
CustomAppBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: CustomAppBaseComponent, selector: "ng-component", ngImport: i0, template: "", isInline: true });
|
|
532
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: CustomAppBaseComponent, decorators: [{
|
|
533
|
+
type: Component,
|
|
534
|
+
args: [{
|
|
535
|
+
template: ""
|
|
536
|
+
}]
|
|
537
|
+
}], ctorParameters: function () { return []; } });
|
|
538
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50YmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9nbG9iYWxkZXBlbmRlbmNpZXMvY29tcG9uZW50cy9jb21wb25lbnRiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUs5RSxNQUFNLE9BQU8sc0JBQXNCO0lBczhCakM7UUFDRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQXpnQkQsUUFBUTtRQUVOLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxSyxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMseURBQXlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQ0FBK0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEssSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVLLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVMLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BMLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyxnREFBZ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNDQUFzQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFOLElBQUksQ0FBQyxtREFBbUQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlDQUF5QyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hPLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyx5Q0FBeUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVNLElBQUksQ0FBQyxzQ0FBc0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyw0Q0FBNEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xOLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywwREFBMEQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdEQUFnRCxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlPLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlLLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4SyxJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdURBQXVELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TyxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsd0RBQXdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4Q0FBOEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTyxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsb0RBQW9ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQ0FBMEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEssSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU4sSUFBSSxDQUFDLHFEQUFxRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkNBQTJDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE8sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE4sSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM04sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck4sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0ssSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk4sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek4sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDckwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFbk8sQ0FBQztJQU1TLFFBQVEsQ0FBQyxZQUFvQjtJQUV2QyxDQUFDO0lBRU8sYUFBYTtJQUNyQixDQUFDOzttSEEvOEJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9EQUZ2QixFQUFFOzJGQUVELHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRmVhdHVyZUlkcyB9IGZyb20gJy4uL2NvbnN0YW50cy9mZWF0dXJlLWlkcyc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlUHJvcGVydGllcyB9IGZyb20gJy4uL2NvbnN0YW50cy9sb2NhbHN0b3JhZ2UtcHJvcGVydGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogXCJcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVnaW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2I6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlSW52b2ljZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lRm9ybWF0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMZWF2ZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VBdXRvbWF0aW9uVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZWFrSG91cjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFZHVjYXRpb25MZXZlbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTXlXb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX05vdGlmaWNhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU3RhdHVzUmVwb3J0aW5nOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDYXRlZ29yeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNYXN0ZXJTZXR0aW5nczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFJlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFeHBlbnNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdCYWRnZXNBc3NpZ25lZFRvRW1wbG95ZWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfSHJNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1RheFNsYWJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUJhbmtEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hcmtEYW1hZ2VkQXNzZXN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc0hhdmluZ090aGVyc0RlcGVuZGVuY3k6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1BheXJvbGxSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURvY3VtZW50VGVtcGxhdGVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjY2Vzc2libGVJcEFkcmVzc2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhdGVGb3JtYXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTnVtYmVyRm9ybWF0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUV4cGVuc2VDYXRlZ29yeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZXJjaGFudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCcmFuY2g6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvdW50cnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VycmVuY3k6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGVwYXJ0bWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFbXBsb3ltZW50VHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMYW5ndWFnZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWVtYmVyc2hpcHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuZ2VOYXRpb25hbGl0aWVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheWdyYWRlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50TWV0aG9kOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheW1lbnRUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVTaGVldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNoaWZ0dGltaW5nOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNraWxsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTb2Z0TGFiZWxDb25maWd1cmF0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdGF0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lWm9uZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXZWJob29rOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRm9ybVR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1dHRvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmVlZEJhY2tUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQm9hcmRUeXBlQXBpOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJvYXJkVHlwZVdvcmtmbG93OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtUmVwbGFuVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN0YXR1czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN1YlR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVTcGVudFRpbWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbENhbGN1bGF0aW9uQ29uZmlndXJhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbnRyYWN0UGF5U2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFF1ZXN0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2tpbGxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUV4cGVuc2VNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NyZWF0ZVJvc3RlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVBY2NvdW50RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUxvYW5zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FiaWxpdHlUb0NoYXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrQWxsb2NhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTaGlmdERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTGFuZ3VhZ2VEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1hcml0YWxTdGF0dXNlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUZvb2RJdGVtOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUh0bWx0ZW1wbGF0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFzc2V0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdEVtcGxveWVlTG9hbkluc3RhbGxtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVBheXJvbGxTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBzZXJ0Q29tcGFueURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlSW52b2ljZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdE1lc3NhZ2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0TGVhdmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU3BlbnRUaW1lRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVXb3JrRXhwZXJpZW5jZURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHJvZmVzc2lvbmFsVGF4UmFuZ2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VuYWJsZU5vdGlmaWNhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGRzU2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0V4cGVuc2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlTG9ndGltZURldGFpbHNSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlZGl0QW1vdW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FsbEdvYWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXNzaWdubWVudFN0YXR1czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdENvbmR1Y3Q6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQWN0aXZpdHlUaW1lVXNhZ2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHJvY2Vzc0Rhc2hib2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lU2hlZXRNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlTZXR0aW5nczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BY2Nlc3NUZXN0cmVwbzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5Bc3NpZ25BdWRpdFRhZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0TGVhdmVUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0V2ZXJ5RGF5VGFyZ2V0U3RhdHVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVQcm9qZWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RpcmVjdE1lc3NhZ2luZzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RvcmVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcGx5TGVhdmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSW52b2ljZVNjaGVkdWxlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbkFkaG9jV29ya1RvQWxsVXNlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQ2hhbmdlVmlzdWFsaXNhdGlvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVDbGllbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVJbnZvaWNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5UHVyY2hhc2VkQXNzZXRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkNyZWF0ZVJlbWluZGVyczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9sZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVNYXN0ZXJRdWVzdGlvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVsYXRpb25TaGlwOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW46IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDYXRlZ29yeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EcmFnQXBwczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlU3VibWl0dGVkU3RhdHVzUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdPcmdhbml6YXRpb25DaGFydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFBheXNsaXA6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQ3JlZGl0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9GaW5hbmNpYWxZZWFyQ29uZmlndXJhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGVzdHJlcG9NYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RvY3VtZW50TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVUYXhBbGxvd2FuY2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVJlcG9ydFRvRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVN0YXR1c1JlcG9ydGluZ0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXNlclVwbG9hZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MYXRlRW1wbG95ZWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTG9hbkluc3RhbGxtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5QXNzaWduZWRBc3NldHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVzQ3VycmVudFdvcmtpbmdPckJhY2tsb2dXb3JrSXRlbXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0YXR1c1JlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUmVzaWduYXRpb25TdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmVudWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Jvb21UZW1wZXJhdHVyZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVGb29kT3JkZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUVzdGltYXRlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlc01hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVDaGFubmVsOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGb3JtczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW50ZWVuTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Qcm9qZWN0c0FjdGl2ZWx5UnVubmluZ0dvYWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVJbW1pZ3JhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbHRlcm5hdGVTaWduSW46IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWN0aXZpdHlUcmFja2VyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5RGFtYWdlZEFzc2V0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldEhpc3Rvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwc0FuZFVybHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUJhbmtEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVGb3JtOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NoYXJlRXhwZW5zZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1BcHBzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Jvb2tpbmdNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0dvYWxMZXZlbFJlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRWR1Y2F0aW9uRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVN0YXR1czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlVXNlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhY2tlZEluZm9ybWF0aW9uT2ZVc2Vyc3Rvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkVXNlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZU1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Byb2plY3RzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVPclJlamVjdFRpbWVzaGVldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Sb2xlTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db3B5T3JNb3ZlUXVlc3Rpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1c3RvbUZvcm1TdWJtaXNzaW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TG9jYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUluZHVjdGlvbldvcms6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEVtcGxveWVlQWN0aXZpdHlSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkRW1wbG95ZWVTYWxhcnlDZXJ0aWZpY2F0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0cmVwb01hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueVN0cnVjdHVyZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UmVjZW50bHlBY3RpdmVDbGllbnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJvc3RlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVdvcmtMb2dSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlQXVkaXRSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVdlYmhvb2tzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN0b3JlTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVByb2R1Y3Q6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlRm9sZGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxUZW1wbGF0ZUNvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRzQWxsb2NhdGVkVG9NZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUNyZWRpdG9yRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVMb2FuczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTa2lsbERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld1VzZXJzQ2FudGVlblN1bW1hcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0FsbG9jYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUGVybWlzc2lvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VG9kYXlzVGltZXNoZWV0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkFzc2lnbkJhZGdlVG9FbXBsb3llZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVKb2JEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVXb3JrRXhwZXJpZW5jZURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRG9DaGFubmVsQ2hhdE9ubHk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlUGVybWlzc2lvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TZWN1cml0eTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRTdGF0dXNSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVtZXJnZW5jeUNvbnRhY3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0J1Z1JlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9UYXhBbGxvd2FuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRDb21tZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1B1cmNoYXNlRm9vZEl0ZW06IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RpbWVzaGVldEZlZWQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVJlcG9ydGluZ1RvRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUm9sZUNvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGFzaGJvYXJkTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdEZXBlbmRlbmN5T25NZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlRWR1Y2F0aW9uRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlUm9sZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9UaW1lU2hlZXRNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXBwbGljYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1B1Ymxpc2hBc0RlZmF1bHQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld01hc3RlclF1ZXN0aW9uVHlwZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Byb2R1Y3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUF1dGhvcml6YXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VzdG9tQXBwczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Gb29kSXRlbXNMaXN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9ybTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlQWRob2NXb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlU2Vzc2lvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbVVwbG9hZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5BcHByb3ZlUGVyZm9ybWFuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVMb2NhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXN0cmljdGlvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVGb3JtdWxhOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0l0ZW1zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0JpbGxpbmdNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VkaXREYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nTWF0cml4OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcEZpbHRlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVTdGF0dXNSZXBvcnRDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jlc2V0UGFzc3dvcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFJvc3RlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BYmlsaXR5VG9DcmVhdGVQdWJsaWNQcm9qZWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYXJpdGFsU3RhdHVzQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRQcm9qZWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2JEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQWRob2NXb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0ZvcmdvdFBhc3N3b3JkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xvZ1RpbWVSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlRGFzaGJvYXJkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdRdWVzdGlvblR5cGVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdIaXN0b3JpY2FsVGltZXNoZWV0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc1dhaXRpbmdGb3JRYUFwcHJvdmFsOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0ludml0ZWVGb3JTaWduYXR1cmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVSb2xlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkNsb25lQXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1B1bmNoQ2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eUNvbmZpZzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Pcmdhbml6YXRpb25DaGFydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EYXNoYm9hcmRNZW51SXRlbTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9GZWF0dXJlVXNhZ2VSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlUcmFja2VyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUdvYWxGaWx0ZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVQcmVzZW5jZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGaWVsZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25Vc2FnZVJlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVUaW1lc2hlZXRlbnRyeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlUGVyc29uYWxEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUXVlc3Rpb25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGaWxlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q29uZHVjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVBheXJvbGxEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJhZGdlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZVR5cGVDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheXJvbGxDb21wb25lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuRWRpdE90aGVyRW1wbG95ZWVEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0F1dGhvcmlzYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUV4cGVuc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUmV2aWV3RmlsZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Ib3VybHlUZHNDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNhbGFyeURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlR2VuZGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuUGFzc0FuQW5ub3VuY2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FsbEZvb2RPcmRlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUxpY2VuY2VEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblN1Ym1pdEN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdBdWRpdE5vbkNvbXBsYWluY2VSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Rlc3RyZXBvUmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NeUFkaG9jV29yazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVQZXJzb25hbERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwbHlMZWF2ZU9uQmVoYWxmT2ZPdGhlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVWZW5kb3I6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JraW5nRGF5czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9CaWxsQW1vdW50T25EYWlseUJhc2lzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Zvb2RPcmRlcnNNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0UXVlc3Rpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdDb21wYW55V2lkZUxlYXZlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9VbmFyY2hpdmVQcm9qZWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUltbWlncmF0aW9uRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVVc2VyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxpY2VuY2VEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BhcmtBZGhvY1dvcms6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlTGVhdmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlUXVlc3Rpb25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NlbGVjdExvZ1RpbWVSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVJbmRleDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRJbmRpdmlkdWFsRm9vZE9yZGVyczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eURhc2hib2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2hhdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbXBvcnRPckV4cG9ydENsaWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRBY3Rpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0dvYWxzVG9BcmNoaXZlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMYW5ndWFnZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZlbHlSdW5uaW5nR29hbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWxsR29hbHNXaXRoQWR2YW5jZWRTZWFyY2g6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfSGlkZURhc2hib2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRUaW1lc2hlZXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEdlbmRlckNvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0RXhwZW5zZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RXN0aW1hdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FudGVlblB1cmNoYXNlc1N1bW1hcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1ZlbmRvcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdJbnZvaWNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlc1JlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVXZWJBcHBVc2FnZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9zdGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZlZWRiYWNrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX09mZmVyc0NyZWRpdGVkVG9Vc2Vyc1N1bW1hcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUWFQZXJmb3JtYW5jZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbGxvd2FuY2VUaW1lOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUHJvamVjdFJvbGVQZXJtaXNzaW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGREYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVUcmFpbmluZ0NvdXJzZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZXNldE90aGVyc1Bhc3N3b3JkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveWVlUmF0ZXNoZWV0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsRW1wbG95ZWVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlRW5jYXNobWVudFNldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUVtZXJnZW5jeUNvbnRhY3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlUGF5cm9sbFRlbXBsYXRlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlVHJhY2tpbmc6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXNlckhpc3RvcmljYWxSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJTdGF0dXNIaXN0b3J5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5U2NyZWVuc2hvdHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3Vic2NyaXB0aW9uUGFpZEJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmR1Y3RGb3JtOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xhdGVFbXBsb3llZXNDb3VudFZzRGF0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25Bc3NldHNUb0VtcGxveWVlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQXR0ZW5kZW5jZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BY3Rpdml0eVJlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZXZRdWFsaXR5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVSb3N0ZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0ZlZWRiYWNrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0ltbWluZW50RGVhZGxpbmVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVNZXNzYWdlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZU1hc3RlclF1ZXN0aW9uVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Sb29tVGVtcGVyYXR1cmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld09yTWFuYWdlSW52b2ljZVN0YXR1czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlyb2xsVGVtcGxhdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0UmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FZGl0U3RvcmVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBc3NldHNXaXRoQWR2YW5jZWRTZWFyY2g6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Blcm1pc3Npb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcGxpY2F0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5BbnN3ZXJRdWVzdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0QXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEJyYW5jaENvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ29uZmlndXJlUGVyZm9ybWFuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xpdmVEYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkRm9vZE9yZGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW5FbXBsb3llZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVBcHBUcmFja2VyQ29tcGxldGVSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSHJNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlVGF4QWxsb3dhbmNlRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUJvbnVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTaGlmdHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEFkaG9jV29ya3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVSZXNpZ25hdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0Zvb2RPcmRlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFc3RpbWF0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EYXlzT2ZXZWVrQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5BY2Nlc3NQZXJmb3JtYW5jZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3ZlcmFsbEF1ZGl0QWN0aXZpdHk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEZyZXF1ZW5jeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TW9udGhseVBheXJvbGxEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NuYXBMaXZlRGFzaGJvYXJkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RUaW1lbGluZVJlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIb2xpZGF5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95bWVudENvbnRyYWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMaXN0T2ZBc3NldHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld0F1ZGl0Q29tcGxhaW5jZVJlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXNoYm9hcmRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdOdW1iZXJPZkF1ZGl0c1N1Ym1pdHRlZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9UcmFpbmluZ01hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBsb2FkRmlsZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0FsbG9jYXRpb25TdW1tYXJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVNZW1iZXJzaGlwczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TXlXb3JrV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdDb21wYW55RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DaGF0RmlsZVVwbG9hZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NeVByb2plY3RXb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZVBlcm1pc3Npb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ1JlY29yZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1JbXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN5c3RlbUV4cG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjb3VudHNBbmRCaWxsaW5nIDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWN0aXZpdHlSZXBvcnRzRm9yQWxsRW1wbG95ZWU6IEJvb2xlYW47XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHZhciByb2xlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Sb2xlRmVhdHVyZXMpKTtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVnaW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlZ2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2IgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUpvYi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUludm9pY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlSW52b2ljZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZUZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMZWF2ZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0xlYXZlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlQXV0b21hdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdGNhc2VBdXRvbWF0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlYWtIb3VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlYWtIb3VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRWR1Y2F0aW9uTGV2ZWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX015V29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NeVdvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Ob3RpZmljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX05vdGlmaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdGF0dXNSZXBvcnRpbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3RhdHVzUmVwb3J0aW5nLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdENhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUNvbnRhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFzdGVyU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWFzdGVyU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUV4cGVuc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFeHBlbnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0JhZGdlc0Fzc2lnbmVkVG9FbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QmFkZ2VzQXNzaWduZWRUb0VtcGxveWVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfSHJNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0hyTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1RheFNsYWJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1RheFNsYWJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQmFua0RldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlQmFua0RldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc0hhdmluZ090aGVyc0RlcGVuZGVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0l0ZW1zSGF2aW5nT3RoZXJzRGVwZW5kZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQYXlyb2xsUmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3UGF5cm9sbFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nQ291cnNlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlU3BlbnRUaW1lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlU3BlbnRUaW1lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXltZW50TWV0aG9kLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbENhbGN1bGF0aW9uQ29uZmlndXJhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbENhbGN1bGF0aW9uQ29uZmlndXJhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlRGVwZW5kZW50Q29udGFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29udHJhY3RQYXlTZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db250cmFjdFBheVNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFF1ZXN0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0UXVlc3Rpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNraWxscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2tpbGxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZU1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRXhwZW5zZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DcmVhdGVSb3N0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ3JlYXRlUm9zdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVBY2NvdW50RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUFjY291bnREZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVMb2FucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUxvYW5zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWJpbGl0eVRvQ2hhdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BYmlsaXR5VG9DaGF0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrQWxsb2NhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZVdvcmtBbGxvY2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlU2hpZnREZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVNoaWZ0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxhbmd1YWdlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVMYW5ndWFnZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCcmFuY2ggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnJhbmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFyaXRhbFN0YXR1c2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1hcml0YWxTdGF0dXNlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9vZEl0ZW0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVGb29kSXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUh0bWx0ZW1wbGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VIdG1sdGVtcGxhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlU2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmF0ZVNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFzc2V0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JFZGl0RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0UmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhdGVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGF0ZUZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVBheXJvbGxTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29uZmlndXJlUGF5cm9sbFN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Vwc2VydENvbXBhbnlEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Vwc2VydENvbXBhbnlEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Eb3dubG9hZE9yU2hhcmVJbnZvaWNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUludm9pY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0F1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdE1lc3NhZ2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRWRpdE1lc3NhZ2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RMZWF2ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHByb3ZlT3JSZWplY3RMZWF2ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NwZW50VGltZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3BlbnRUaW1lRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnVnUHJpb3JpdHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnVnUHJpb3JpdHkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVXb3JrRXhwZXJpZW5jZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHJvZmVzc2lvbmFsVGF4UmFuZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2Zlc3Npb25hbFRheFJhbmdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VuYWJsZU5vdGlmaWNhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW5hYmxlTm90aWZpY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Rkc1NldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Rkc1NldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ291bnRyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb3VudHJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0V4cGVuc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFeHBlbnNlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlTG9ndGltZURldGFpbHNSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVMb2d0aW1lRGV0YWlsc1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NyZWRpdEFtb3VudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DcmVkaXRBbW91bnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BbGxHb2FscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BbGxHb2Fscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXNzaWdubWVudFN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFzc2lnbm1lbnRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdENvbmR1Y3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDb25kdWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQWN0aXZpdHlUaW1lVXNhZ2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlQWN0aXZpdHlUaW1lVXNhZ2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Qcm9jZXNzRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2Nlc3NEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lU2hlZXRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVTaGVldE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55U2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueVNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWNjZXNzVGVzdHJlcG8gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWNjZXNzVGVzdHJlcG8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5Bc3NpZ25BdWRpdFRhZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQXNzaWduQXVkaXRUYWdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0TGVhdmVUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yRWRpdExlYXZlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0V2ZXJ5RGF5VGFyZ2V0U3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0V2ZXJ5RGF5VGFyZ2V0U3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVByb2plY3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVByb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EaXJlY3RNZXNzYWdpbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGlyZWN0TWVzc2FnaW5nLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0b3JlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3U3RvcmVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwbHlMZWF2ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBseUxlYXZlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSW52b2ljZVNjaGVkdWxlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUludm9pY2VTY2hlZHVsZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbkFkaG9jV29ya1RvQWxsVXNlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzaWduQWRob2NXb3JrVG9BbGxVc2Vycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGVybWlzc2lvblJlYXNvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkNoYW5nZVZpc3VhbGlzYXRpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkNoYW5nZVZpc3VhbGlzYXRpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVDbGllbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVDbGllbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUludm9pY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50bHlQdXJjaGFzZWRBc3NldHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVjZW50bHlQdXJjaGFzZWRBc3NldHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5DcmVhdGVSZW1pbmRlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQ3JlYXRlUmVtaW5kZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9sZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1JvbGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVNYXN0ZXJRdWVzdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVNYXN0ZXJRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZWxhdGlvblNoaXAgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVsYXRpb25TaGlwLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFJ1biA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsUnVuLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdENhdGVnb3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRHJhZ0FwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRHJhZ0FwcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlU3VibWl0dGVkU3RhdHVzUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVTdWJtaXR0ZWRTdGF0dXNSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3T3JnYW5pemF0aW9uQ2hhcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld09yZ2FuaXphdGlvbkNoYXJ0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VkaXRQYXlzbGlwID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXRQYXlzbGlwLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQ3JlZGl0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVDcmVkaXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRmluYW5jaWFsWWVhckNvbmZpZ3VyYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ZpbmFuY2lhbFllYXJDb25maWd1cmF0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Rlc3RyZXBvTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UZXN0cmVwb01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Eb2N1bWVudE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRG9jdW1lbnRNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZUVtcGxveWVlVGF4QWxsb3dhbmNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVUYXhBbGxvd2FuY2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlUmVwb3J0VG9EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVJlcG9ydFRvRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdEN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yRWRpdEN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlU3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VzZXJVcGxvYWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXNlclVwbG9hZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xhdGVFbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MYXRlRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTG9hbkluc3RhbGxtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTWVtYmVyc2hpcERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTWVtYmVyc2hpcERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseUFzc2lnbmVkQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JlY2VudGx5QXNzaWduZWRBc3NldHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZXNDdXJyZW50V29ya2luZ09yQmFja2xvZ1dvcmtJdGVtcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZXNDdXJyZW50V29ya2luZ09yQmFja2xvZ1dvcmtJdGVtcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVzaWduYXRpb25TdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVzaWduYXRpb25TdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WZW51ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WZW51ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1dHRvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnV0dG9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdSb29tVGVtcGVyYXR1cmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Jvb21UZW1wZXJhdHVyZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZUZvb2RPcmRlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9VcGRhdGVGb29kT3JkZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXJyZW5jeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDdXJyZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblN1Ym1pdEN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVFc3RpbWF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVFc3RpbWF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlc01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVzTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQ2hhbm5lbCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUNoYW5uZWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Rm9ybXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0Zvcm1zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FudGVlbk1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FudGVlbk1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9jZXNzRGFzaGJvYXJkU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Qcm9qZWN0c0FjdGl2ZWx5UnVubmluZ0dvYWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2plY3RzQWN0aXZlbHlSdW5uaW5nR29hbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSW1taWdyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUltbWlncmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWx0ZXJuYXRlU2lnbkluID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsdGVybmF0ZVNpZ25Jbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5VHJhY2tlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVRyYWNrZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseURhbWFnZWRBc3NldHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVjZW50bHlEYW1hZ2VkQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGVzaWduYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGVzaWduYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldEhpc3RvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzZXRIaXN0b3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHJvamVjdE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUHJvamVjdE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBcHBzQW5kVXJscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBcHBzQW5kVXJscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3ViVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN1YlR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVCYW5rRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlQmFua0RldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrZmxvd01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUZvcm0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZUZvcm0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TaGFyZUV4cGVuc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU2hhcmVFeHBlbnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtQXBwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTeXN0ZW1BcHBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQm9va2luZ01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQm9va2luZ01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Hb2FsTGV2ZWxSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0dvYWxMZXZlbFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVFZHVjYXRpb25EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Cb2FyZFR5cGVBcGkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQm9hcmRUeXBlQXBpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVJlcGxhblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVVzZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVVzZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhY2tlZEluZm9ybWF0aW9uT2ZVc2Vyc3RvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWNrZWRJbmZvcm1hdGlvbk9mVXNlcnN0b3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkVXNlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRVc2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xlYXZlTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQcm9qZWN0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3UHJvamVjdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0VGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUm9sZU1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUm9sZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db3B5T3JNb3ZlUXVlc3Rpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvcHlPck1vdmVRdWVzdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTdGF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1c3RvbUZvcm1TdWJtaXNzaW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDdXN0b21Gb3JtU3VibWlzc2lvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TG9jYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMb2NhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbmR1Y3Rpb25Xb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUluZHVjdGlvbldvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsRW1wbG95ZWVBY3Rpdml0eVJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FsbEVtcGxveWVlQWN0aXZpdHlSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRFbXBsb3llZVNhbGFyeUNlcnRpZmljYXRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Rvd25sb2FkRW1wbG95ZWVTYWxhcnlDZXJ0aWZpY2F0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RyZXBvTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0cmVwb01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGb3JtVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGb3JtVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlTdHJ1Y3R1cmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueVN0cnVjdHVyZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdSZWNlbnRseUFjdGl2ZUNsaWVudHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1JlY2VudGx5QWN0aXZlQ2xpZW50cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJvc3RlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVdvcmtMb2dSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JrTG9nUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlQXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUF1ZGl0UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVdlYmhvb2tzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZVdlYmhvb2tzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RvcmVNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVN0b3JlTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUHJvZHVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVByb2R1Y3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DcmVhdGVGb2xkZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ3JlYXRlRm9sZGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFRlbXBsYXRlQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsVGVtcGxhdGVDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRzQWxsb2NhdGVkVG9NZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NldHNBbGxvY2F0ZWRUb01lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVDcmVkaXRvckRldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVDcmVkaXRvckRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVMb2FucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVMb2Fucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNraWxsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVTa2lsbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3VXNlcnNDYW50ZWVuU3VtbWFyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5WaWV3VXNlcnNDYW50ZWVuU3VtbWFyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1dvcmtBbGxvY2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtBbGxvY2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV2ViaG9vayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXZWJob29rLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUGVybWlzc2lvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRQZXJtaXNzaW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RvZGF5c1RpbWVzaGVldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VG9kYXlzVGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQmFkZ2VUb0VtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFzc2lnbkJhZGdlVG9FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlcG9ydGluZ01ldGhvZHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVwb3J0aW5nTWV0aG9kcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZlZWRCYWNrVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGZWVkQmFja1R5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVKb2JEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUpvYkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVXb3JrRXhwZXJpZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Eb0NoYW5uZWxDaGF0T25seSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb0NoYW5uZWxDaGF0T25seS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZVBlcm1pc3Npb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBkYXRlUGVybWlzc2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NlY3VyaXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1NlY3VyaXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0U3RhdHVzUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1N1Ym1pdFN0YXR1c1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0F1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0F1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVtZXJnZW5jeUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0J1Z1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9CdWdSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UYXhBbGxvd2FuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGF4QWxsb3dhbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRDb21tZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2V0Q29tbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHVyY2hhc2VGb29kSXRlbSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QdXJjaGFzZUZvb2RJdGVtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VGltZXNoZWV0RmVlZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VGltZXNoZWV0RmVlZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVSZXBvcnRpbmdUb0RldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVJlcG9ydGluZ1RvRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSb2xlQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsUm9sZUNvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EYXNoYm9hcmRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Rhc2hib2FyZE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55TG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTnVtYmVyRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc0hhdmluZ0RlcGVuZGVuY3lPbk1lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtJdGVtc0hhdmluZ0RlcGVuZGVuY3lPbk1lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlUm9sZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlUm9sZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1RpbWVTaGVldE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGltZVNoZWV0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXBwbGljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXBwbGljYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHVibGlzaEFzRGVmYXVsdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QdWJsaXNoQXNEZWZhdWx0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld01hc3RlclF1ZXN0aW9uVHlwZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld01hc3RlclF1ZXN0aW9uVHlwZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UHJvZHVjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Byb2R1Y3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBdXRob3JpemF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUF1dGhvcml6YXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1c3RvbUFwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ3VzdG9tQXBwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Zvb2RJdGVtc0xpc3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRm9vZEl0ZW1zTGlzdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9ybSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUZvcm0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlQWRob2NXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVBZGhvY1dvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVNlc3Npb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVTZXNzaW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbVVwbG9hZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrSXRlbVVwbG9hZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXBwcm92ZVBlcmZvcm1hbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFwcHJvdmVQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlTG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVMb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlc3RyaWN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSZXN0cmljdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZUZvcm11bGEgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVGb3JtdWxhLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrSXRlbXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JrSXRlbXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9CaWxsaW5nTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9CaWxsaW5nTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VkaXREYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRWRpdERhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ01hdHJpeCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXgudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBcHBGaWx0ZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFwcEZpbHRlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVN0YXR1c1JlcG9ydENvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVN0YXR1c1JlcG9ydENvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZXNldFBhc3N3b3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jlc2V0UGFzc3dvcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0Um9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXRSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BYmlsaXR5VG9DcmVhdGVQdWJsaWNQcm9qZWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FiaWxpdHlUb0NyZWF0ZVB1YmxpY1Byb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsTWFyaXRhbFN0YXR1c0NvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbE1hcml0YWxTdGF0dXNDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmF0ZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmF0ZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRQcm9qZWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZFByb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRW1wbG95bWVudFR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRW1wbG95bWVudFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFkaG9jV29yay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ZvcmdvdFBhc3N3b3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ZvcmdvdFBhc3N3b3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTG9nVGltZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Mb2dUaW1lUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZURhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdRdWVzdGlvblR5cGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdRdWVzdGlvblR5cGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0hpc3RvcmljYWxUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0hpc3RvcmljYWxUaW1lc2hlZXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNXYWl0aW5nRm9yUWFBcHByb3ZhbCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrSXRlbXNXYWl0aW5nRm9yUWFBcHByb3ZhbC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ludml0ZWVGb3JTaWduYXR1cmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSW52aXRlZUZvclNpZ25hdHVyZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUm9sZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVJvbGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5DbG9uZUF1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkNsb25lQXVkaXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHVuY2hDYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1B1bmNoQ2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5Q29uZmlnID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFjdGl2aXR5Q29uZmlnLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EYXNoYm9hcmRNZW51SXRlbSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EYXNoYm9hcmRNZW51SXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ZlYXR1cmVVc2FnZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9GZWF0dXJlVXNhZ2VSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BY3Rpdml0eVRyYWNrZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWN0aXZpdHlUcmFja2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlR29hbEZpbHRlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZWxldGVHb2FsRmlsdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVQcmVzZW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZVByZXNlbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5RnJlcXVlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmllbGQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRmllbGQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25Vc2FnZVJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FwcGxpY2F0aW9uVXNhZ2VSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVUaW1lc2hlZXRlbnRyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVRpbWVzaGVldGVudHJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVBlcnNvbmFsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlUGVyc29uYWxEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVRdWVzdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RmlsZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0ZpbGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdENvbmR1Y3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdENvbmR1Y3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVBheXJvbGxEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlUGF5cm9sbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCYWRnZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQmFkZ2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVUeXBlQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MZWF2ZVR5cGVDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5cm9sbENvbXBvbmVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlyb2xsQ29tcG9uZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkVkaXRPdGhlckVtcGxveWVlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5FZGl0T3RoZXJFbXBsb3llZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BdXRob3Jpc2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0F1dGhvcmlzYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlRXhwZW5zZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlRXhwZW5zZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Jldmlld0ZpbGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmV2aWV3RmlsZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0hvdXJseVRkc0NvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSG91cmx5VGRzQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNhbGFyeURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlU2FsYXJ5RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlcGFydG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGVwYXJ0bWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbnRyYWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb250cmFjdFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VHZW5kZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlR2VuZGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuUGFzc0FuQW5ub3VuY2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblBhc3NBbkFubm91bmNlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FsbEZvb2RPcmRlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWxsRm9vZE9yZGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMaWNlbmNlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGljZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdBdWRpdE5vbkNvbXBsYWluY2VSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld0F1ZGl0Tm9uQ29tcGxhaW5jZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUZXN0cmVwb1JlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Rlc3RyZXBvUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX015QWRob2NXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX015QWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlUGVyc29uYWxEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVBlcnNvbmFsRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcGx5TGVhdmVPbkJlaGFsZk9mT3RoZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcGx5TGVhdmVPbkJlaGFsZk9mT3RoZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVZlbmRvciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVZlbmRvci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya2luZ0RheXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JraW5nRGF5cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUpvYkNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUpvYkNhdGVnb3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQmlsbEFtb3VudE9uRGFpbHlCYXNpcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9CaWxsQW1vdW50T25EYWlseUJhc2lzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRm9vZE9yZGVyc01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRm9vZE9yZGVyc01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFF1ZXN0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFF1ZXN0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdDb21wYW55V2lkZUxlYXZlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3Q29tcGFueVdpZGVMZWF2ZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VbmFyY2hpdmVQcm9qZWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VuYXJjaGl2ZVByb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVJbW1pZ3JhdGlvbkRldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlSW1taWdyYXRpb25EZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlVXNlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9VcGRhdGVVc2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTGljZW5jZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTGljZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXJrQWRob2NXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BhcmtBZGhvY1dvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVMZWF2ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZWxldGVMZWF2ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZVF1ZXN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TZWxlY3RMb2dUaW1lUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1NlbGVjdExvZ1RpbWVSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUluZGV4ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlSW5kZXgudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRJbmRpdmlkdWFsRm9vZE9yZGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZWNlbnRJbmRpdmlkdWFsRm9vZE9yZGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5RGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFjdGl2aXR5RGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2V0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NoYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2hhdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUltcG9ydE9yRXhwb3J0Q2xpZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUltcG9ydE9yRXhwb3J0Q2xpZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRBY3Rpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdEFjdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Hb2Fsc1RvQXJjaGl2ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Hb2Fsc1RvQXJjaGl2ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMYW5ndWFnZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUxhbmd1YWdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FjdGl2ZWx5UnVubmluZ0dvYWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FjdGl2ZWx5UnVubmluZ0dvYWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWxsR29hbHNXaXRoQWR2YW5jZWRTZWFyY2ggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWxsR29hbHNXaXRoQWR2YW5jZWRTZWFyY2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9IaWRlRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0hpZGVEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3VibWl0VGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEdlbmRlckNvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbEdlbmRlckNvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RFeHBlbnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcHJvdmVPclJlamVjdEV4cGVuc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RXN0aW1hdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VzdGltYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FudGVlblB1cmNoYXNlc1N1bW1hcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FudGVlblB1cmNoYXNlc1N1bW1hcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VmVuZG9ycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VmVuZG9ycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdVc2VycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VXNlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCb2FyZFR5cGVXb3JrZmxvdyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VCb2FyZFR5cGVXb3JrZmxvdy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdJbnZvaWNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVzUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xlYXZlc1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTYWxhcnlEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTYWxhcnlEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV2ViQXBwVXNhZ2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlV2ViQXBwVXNhZ2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGZWVkYmFjayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGZWVkYmFjay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX09mZmVyc0NyZWRpdGVkVG9Vc2Vyc1N1bW1hcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfT2ZmZXJzQ3JlZGl0ZWRUb1VzZXJzU3VtbWFyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1FhUGVyZm9ybWFuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUWFQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FsbG93YW5jZVRpbWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWxsb3dhbmNlVGltZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RSb2xlUGVybWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvamVjdFJvbGVQZXJtaXNzaW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1lcmNoYW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1lcmNoYW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZERhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVUcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Jlc2V0T3RoZXJzUGFzc3dvcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVzZXRPdGhlcnNQYXNzd29yZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveWVlUmF0ZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVtcGxveWVlUmF0ZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBbGxFbXBsb3llZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FsbEVtcGxveWVlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlRW5jYXNobWVudFNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xlYXZlRW5jYXNobWVudFNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlR29hbFJlcGxhblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlR29hbFJlcGxhblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueUludHJvZHVjZWRCeU9wdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVBheXJvbGxUZW1wbGF0ZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29uZmlndXJlRW1wbG95ZWVQYXlyb2xsVGVtcGxhdGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuZ2VOYXRpb25hbGl0aWVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmdlTmF0aW9uYWxpdGllcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBcHBsaWNhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FwcGxpY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlVHJhY2tpbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29uZmlndXJlRW1wbG95ZWVUcmFja2luZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VzZXJIaXN0b3JpY2FsUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VzZXJIaXN0b3JpY2FsUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VXNlclN0YXR1c0hpc3RvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1VzZXJTdGF0dXNIaXN0b3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWN0aXZpdHlTY3JlZW5zaG90cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVNjcmVlbnNob3RzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVpvbmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZVpvbmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMYW5ndWFnZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3Vic2NyaXB0aW9uUGFpZEJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVN1YnNjcmlwdGlvblBhaWRCeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmR1Y3RGb3JtID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmR1Y3RGb3JtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGF0ZUVtcGxveWVlc0NvdW50VnNEYXRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xhdGVFbXBsb3llZXNDb3VudFZzRGF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbkFzc2V0c1RvRW1wbG95ZWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzaWduQXNzZXRzVG9FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQXR0ZW5kZW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUF0dGVuZGVuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BY3Rpdml0eVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BY3Rpdml0eVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RldlF1YWxpdHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGV2UXVhbGl0eS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVSb3N0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZVJvc3Rlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGZWVkYmFjayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RmVlZGJhY2sudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9JbW1pbmVudERlYWRsaW5lcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9JbW1pbmVudERlYWRsaW5lcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVNZXNzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVNZXNzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlTWFzdGVyUXVlc3Rpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZU1hc3RlclF1ZXN0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Jvb21UZW1wZXJhdHVyZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Sb29tVGVtcGVyYXR1cmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdPck1hbmFnZUludm9pY2VTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld09yTWFuYWdlSW52b2ljZVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheXJvbGxUZW1wbGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlyb2xsVGVtcGxhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0U3RvcmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXRTdG9yZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXNzZXRzV2l0aEFkdmFuY2VkU2VhcmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBc3NldHNXaXRoQWR2YW5jZWRTZWFyY2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UGVybWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Blcm1pc3Npb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwbGljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcGxpY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkFuc3dlclF1ZXN0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5BbnN3ZXJRdWVzdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TdWJtaXRBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxCcmFuY2hDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxCcmFuY2hDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29uZmlndXJlUGVyZm9ybWFuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29uZmlndXJlUGVyZm9ybWFuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTa2lsbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU2tpbGxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xpdmVEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0xpdmVEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRGb29kT3JkZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkRm9vZE9yZGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFJ1bkVtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxSdW5FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheW1lbnRUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQXBwVHJhY2tlckNvbXBsZXRlUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUFwcFRyYWNrZXJDb21wbGV0ZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUhyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VIck1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVRheEFsbG93YW5jZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVUYXhBbGxvd2FuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0YXR1c1JlcG9ydGluZ0NvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1N0YXR1c1JlcG9ydGluZ0NvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUJvbnVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlQm9udXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2hpZnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTaGlmdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsQWRob2NXb3JrcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QWxsQWRob2NXb3Jrcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlUmVzaWduYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVSZXNpZ25hdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdEN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Rm9vZE9yZGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3Rm9vZE9yZGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRXN0aW1hdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFc3RpbWF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RheXNPZldlZWtDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RheXNPZldlZWtDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQWNjZXNzUGVyZm9ybWFuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQWNjZXNzUGVyZm9ybWFuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3ZlcmFsbEF1ZGl0QWN0aXZpdHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld092ZXJhbGxBdWRpdEFjdGl2aXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEZyZXF1ZW5jeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsRnJlcXVlbmN5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld01vbnRobHlQYXlyb2xsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3TW9udGhseVBheXJvbGxEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU25hcExpdmVEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU25hcExpdmVEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRDb25kdWN0VGltZWxpbmVSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdFRpbWVsaW5lUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSG9saWRheSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VIb2xpZGF5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3ltZW50Q29udHJhY3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3ltZW50Q29udHJhY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGlzdE9mQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMaXN0T2ZBc3NldHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdBdWRpdENvbXBsYWluY2VSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld0F1ZGl0Q29tcGxhaW5jZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhc2hib2FyZHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGFzaGJvYXJkcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdOdW1iZXJPZkF1ZGl0c1N1Ym1pdHRlZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5WaWV3TnVtYmVyT2ZBdWRpdHNTdWJtaXR0ZWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UcmFpbmluZ01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVXBsb2FkRmlsZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBsb2FkRmlsZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrQWxsb2NhdGlvblN1bW1hcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0FsbG9jYXRpb25TdW1tYXJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZU1lbWJlcnNoaXBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVNZW1iZXJzaGlwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdNeVdvcmtXaXRoQWR2YW5jZWRTZWFyY2ggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld015V29ya1dpdGhBZHZhbmNlZFNlYXJjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdDb21wYW55RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3Q29tcGFueURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DaGF0RmlsZVVwbG9hZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DaGF0RmlsZVVwbG9hZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX015UHJvamVjdFdvcmsgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTXlQcm9qZWN0V29yay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZVBlcm1pc3Npb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZVBlcm1pc3Npb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZUNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUV4cGVuc2VDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ1JlY29yZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdDb3Vyc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhaW5pbmdDb3Vyc2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdBc3NpZ25tZW50cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ01hdHJpeC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVUcmFpbmluZ0NvdXJzZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVUcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1RyYWluaW5nTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NpZ25tZW50U3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFzc2lnbm1lbnRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EcmFnQXBwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRHJhZ0FwcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ1JlY29yZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjY2Vzc2libGVJcEFkcmVzc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY2Nlc3NpYmxlSXBBZHJlc3Nlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55TG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlMb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhdGVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURhdGVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNYWluVXNlQ2FzZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VOdW1iZXJGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFeHBlbnNlQ2F0ZWdvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUV4cGVuc2VDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1lcmNoYW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZXJjaGFudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJyYW5jaCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnJhbmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb250cmFjdFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb3VudHJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb3VudHJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VycmVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUN1cnJlbmN5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGVwYXJ0bWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGVwYXJ0bWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlc2lnbmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRWR1Y2F0aW9uTGV2ZWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRW1wbG95bWVudFR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSm9iQ2F0ZWdvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUpvYkNhdGVnb3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VMYW5ndWFnZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMaWNlbmNlVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWVtYmVyc2hpcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5nZU5hdGlvbmFsaXRpZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmdlTmF0aW9uYWxpdGllcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheWdyYWRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlncmFkZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5RnJlcXVlbmN5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlYWtIb3VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQZWFrSG91ci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSYXRlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVTaGVldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmF0ZVNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVnaW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSZWdpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU2hpZnR0aW1pbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVNoaWZ0dGltaW5nLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU2tpbGxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTa2lsbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTb2Z0TGFiZWxDb25maWd1cmF0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3RhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lWm9uZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZVpvbmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXZWJob29rID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXZWJob29rLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZvcm1UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGb3JtVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlQXV0b21hdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlQXV0b21hdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1dHRvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1dHRvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGZWVkQmFja1R5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUZlZWRCYWNrVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Cb2FyZFR5cGVBcGkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0JvYXJkVHlwZUFwaS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJvYXJkVHlwZVdvcmtmbG93ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VCb2FyZFR5cGVXb3JrZmxvdy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrZmxvd01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtmbG93TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VCdWdQcmlvcml0eS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VHb2FsUmVwbGFuVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtUmVwbGFuVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN1YlR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcblxyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1FeHBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTeXN0ZW1FeHBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtSW1wb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3lzdGVtSW1wb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU92ZXJBbGxDb21wYW55U2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY2NvdW50c0FuZEJpbGxpbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFjY291bnRzQW5kQmlsbGluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBY3Rpdml0eVJlcG9ydHNGb3JBbGxFbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FjdGl2aXR5UmVwb3J0c0ZvckFsbEVtcGxveWVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubG9nTmF2aWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxvZ0Vycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2dOYXZpZ2F0aW9uKCkge1xyXG4gIH1cclxufVxyXG4iXX0=
|