@sidekick-coder/zenith-kit 0.4.2 → 0.4.3

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.
@@ -2635,13 +2635,6 @@ declare class PluginEntity extends PluginEntryEntity {
2635
2635
  //#region src/server/queries/exists.d.ts
2636
2636
  declare function exists<T extends keyof DatabaseContract, O extends ListOptions<T>>(table: T, options?: O): Promise<boolean>;
2637
2637
  //#endregion
2638
- //#region src/server/queries/incremental.d.ts
2639
- declare module 'kysely' {
2640
- interface CreateTableBuilder<TB extends string, C extends string = never> {
2641
- addIdColumn<CN extends string = 'id'>(col?: CN): CreateTableBuilder<TB, C | CN>;
2642
- }
2643
- }
2644
- //#endregion
2645
2638
  //#region src/server/queries/softDelete.d.ts
2646
2639
  type WhereCapable<QB> = {
2647
2640
  where: (...args: any[]) => QB;
@@ -2662,23 +2655,11 @@ declare namespace undeleted {
2662
2655
  declare const deleted: (qb: ExpressionBuilder$1<any, any>) => _$kysely.ExpressionWrapper<any, any, _$kysely.SqlBool>;
2663
2656
  declare const addSoftDeleteColumn: (ctb: CreateTableBuilder$1<any, any>) => CreateTableBuilder$1<any, any>;
2664
2657
  declare function softDelete<T extends keyof DatabaseContract, O extends SoftDeleteOptions<T>>(table: T, options?: O): Promise<SoftDeleteResult<T, O>>;
2665
- declare module 'kysely' {
2666
- interface CreateTableBuilder<TB extends string, C extends string = never> {
2667
- addSoftDeleteColumn(): CreateTableBuilder$1<TB, C | 'deleted_at'>;
2668
- }
2669
- }
2670
2658
  //#endregion
2671
2659
  //#region src/server/queries/timestamp.d.ts
2672
2660
  declare const addCreatedColumn: (ctb: CreateTableBuilder$1<any, any>) => CreateTableBuilder$1<any, any>;
2673
2661
  declare const addUpdatedColumn: (ctb: CreateTableBuilder$1<any, any>) => CreateTableBuilder$1<any, any>;
2674
2662
  declare const addTimestampColumns: (ctb: CreateTableBuilder$1<any, any>) => CreateTableBuilder$1<any, any>;
2675
- declare module 'kysely' {
2676
- interface CreateTableBuilder<TB extends string, C extends string = never> {
2677
- addTimestampColumns(): CreateTableBuilder$1<TB, C | 'created_at' | 'updated_at'>;
2678
- addCreatedColumn(): CreateTableBuilder$1<TB, C | 'created_at'>;
2679
- addUpdatedColumn(): CreateTableBuilder$1<TB, C | 'updated_at'>;
2680
- }
2681
- }
2682
2663
  //#endregion
2683
2664
  //#region src/server/relations/BaseRelation.d.ts
2684
2665
  declare class BaseRelation {
@@ -2834,6 +2815,29 @@ declare class AuthorizationMiddleware implements Middleware {
2834
2815
  static create(payload: AuthorizePermissionPayload | AuthorizePermissionPayload[]): AuthorizePermission;
2835
2816
  }
2836
2817
  //#endregion
2818
+ //#region src/server/utils/addIdColumn.d.ts
2819
+ declare module 'kysely' {
2820
+ interface CreateTableBuilder<TB extends string, C extends string = never> {
2821
+ addIdColumn<CN extends string = 'id'>(col?: CN): CreateTableBuilder<TB, C | CN>;
2822
+ }
2823
+ }
2824
+ //#endregion
2825
+ //#region src/server/utils/addSoftDeleteColumn.d.ts
2826
+ declare module 'kysely' {
2827
+ interface CreateTableBuilder<TB extends string, C extends string = never> {
2828
+ addSoftDeleteColumn(): CreateTableBuilder<TB, C | 'deleted_at'>;
2829
+ }
2830
+ }
2831
+ //#endregion
2832
+ //#region src/server/utils/addTimestampColumns.d.ts
2833
+ declare module 'kysely' {
2834
+ interface CreateTableBuilder<TB extends string, C extends string = never> {
2835
+ addTimestampColumns(): CreateTableBuilder<TB, C | 'created_at' | 'updated_at'>;
2836
+ addCreatedColumn(): CreateTableBuilder<TB, C | 'created_at'>;
2837
+ addUpdatedColumn(): CreateTableBuilder<TB, C | 'updated_at'>;
2838
+ }
2839
+ }
2840
+ //#endregion
2837
2841
  //#region src/server/utils/basePath.d.ts
2838
2842
  declare function basePath(...args: string[]): string;
2839
2843
  declare function storagePath(...args: string[]): string;
@@ -2883,4 +2887,4 @@ declare function importAll(directory: string, options?: Options): Promise<Record
2883
2887
  declare function importOne(filenames: string[]): Promise<any>;
2884
2888
  //#endregion
2885
2889
  export { Acl as AclEntity, AddOptions, AuthMiddleware, AuthMiddlewareContext, AuthSilenceMiddleware, AuthSilenceMiddlewareContext, AuthorizationContext, AuthorizationMiddleware, AuthorizePermission, AuthorizePermissionPayload, BaseRelation, BelongsToFile as BelongsToFileRelation, BelongsTo as BelongsToRelation, BelongsToUser as BelongsToUserRelation, CliCommand, CliEvents, CliService, ArteTesterService as CliTesterService, CliWrapperService, ConfigFSService, ConfigFSServiceOptions, ConfigManagerOptions, ConfigManagerService, ConfigModel, ConfigRepository, ConfigS3Service, CookieMapEntity, CountOptions, CreateOptions, DatabaseContract, DatabaseGateway, DatabaseKysely, DatabaseRepository, DatabaseRepositoryInferMixin, DeleteFrom, DeleteManyOptions, DestroyOptions, DownloadService, DownloadedFetchOptions, DriveBaseGateway, DriveConfig as DriveConfigEntity, DriveContract, DriveFSConfig, DriveFS as DriveFSGateway, DriveS3 as DriveS3Gateway, DriveService, DriveUploadUrlOptions, DriveUrlOptions, EmailTemplateMetaTable, EmailTemplateTable, EmmitterService, EncryptService, EnvService, EventContract, ExceptionService, ExceptionServiceOptions, ExpressionBuilder, File as FileEntity, FileMeta as FileMetaEntity, FileMetaTable, FileRepository, FileRepositoryQueryOptions, FileTable, FindManyOptions, FindOneOptions, FirstOrCreateOptions, GitBranchRepository, GitBranchRepositoryOptions, GitCommitListOptions, GitCommitListResult, GitCommitRepository, GitCommitRepositoryOptions, GitGateway, GitGatewayOptions, GitRepoInfo, HandleResult, HasMany as HasManyRelation, HasManyThroughLoaderOptions, HasMetas as HasMetasRelation, HasherService, HttpContext, HttpMethod, HttpService, HttpServiceOptions, HttpTesterService, HttpTesterServiceOptions, IRepositoryTypes, InsertFrom, IpcMessage, JobTable, LifecycleService, ListOptions, LoadFileMetas, LoadFileUrl, Loader, LoaderRecord, Metadafilter, Metadata as MetadataMixin, MetadataQueryPayload, MetadataQueryService, MetadataService, Middleware, MiddlewareHandleResult, Migration, MigrationEntity, MigrationEntiyData, MigrationSource, MigrationsTable, MigratorService, MigratorServiceEvents, MigratorServiceOptions, ModelConfig as ModelConfigMixin, ModelCountOptions, ModelCreateOptions, ModelDestroyOptions, ModelEntity, ModelFindOptions, ModelFirstOrCreateOptions, ModelListOptions, ModelMixin, ModelPaginateOptions, ModelUpdateOptions, ModelUpdateOrCreateOptions, Module as ModuleEntity, OauthAccountTable, OauthTokenTable, ObjectOptions, PageRequestContextEntity, PageRequestContextEntityOptions, PaginateResult, Pagination, PermissionAssignmentRepository, PermissionAssignmentRepositoryQueryOptions, PermissionAssignmentTable, PermissionRepository, PermissionRepositoryQueryOptions, PermissionTable, PluginEntity, PluginEntryEntity, PluginIpcClient, PluginIpcHost, PluginRouter, Redirect, Relation as RelationsMixin, Request, ResourceMethod, Response, RoleTable, RouteDefinition, Route as RouteEntity, RouteHandler, RouteReply, RouteRequest, RouteResponsePayload, RouterEvents, RouterFileBaseRoutingService, RouterRegisterEntry, RouterRegister as RouterRegisterService, RouterResourceConfig as RouterResourceConfigService, RouterResourceOptions, RouterResourceService, RouterService, RoutineEntity, RoutineEntityOptions, RoutineHandler, S3DriveConfig, SchedulerEvents, SchedulerService, SchedulerServiceOptions, SeederEntity, SeederEntiyData, SeederEvents, SeederResult, SeeederService as SeederService, SeederServiceOptions, SeederSource, SelectBuilder, SelectFrom, SerializableResult, SerializeOptions, ShellService, ShellServiceOptions, SoftDeleteOptions, SoftDeleteResult, TableColumn, TokenRepository, TokenRepositoryGenerateOptions, TokenRepositoryQueryOptions, TokenTable, UpdateFrom, UpdateOptions, UpdateOrCreateOptions, UploadSessionTable, UploadUrlOptions, UrlOptions, UserMetaTable, UserRepository, UserRepositoryEvents, UserRepositoryQueryOptions, UserRoleTable, UserTable, addCreatedColumn, addSoftDeleteColumn, addTimestampColumns, addUpdatedColumn, basePath, config, _default as container, count, create, createDefault, createFileLoader, createFileUrlLoader, createHasManyThroughLoader, createLoaderFactory, createMetasLoader, createMysql, createPermissionLoader, createUserLoader, cuid, database, defineHandler, defineLoader, deleted, destroy, download, drive, emmitter, encrypt, env, exists, fileRepository as filesRepository, findOne, findOneOrFail, firstOrCreate, generateIndexFile, HasManyThrough as hasManyThroughRelation, hasher, http, importAll, importFiles, importGlob, importOne, list, loadFileUrl, loadHasManyThrough, loadMetas, loadPermissions, loadUser, logger, migrator, now, paginate, permissionAssignmentRepository, permissionRepository, printObject, printTable, relativeToBasePath, router, scheduler, shell, softDelete, storagePath, tmpPath, tokenRepository, undeleted, update, updateDefault, updateMysql, updateOrCreate, userRepository, valueToString, whereNotDeleted };
2886
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5tdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci91dGlscy9wcmludFRhYmxlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvQ29udGFpbmVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9MaWZlY3ljbGVIb29rLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2NvbXBvc2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvTGlmZWN5Y2xlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25Bc3NpZ25tZW50U2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvblNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Rva2VuU2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Ib29rc01peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1Blcm1pc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvQWNsRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0ZpbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZU1ldGFFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvR2l0QnJhbmNoRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0dpdENvbW1pdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Nb2R1bGVNYW5pZmVzdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Nb2R1bGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUGFnaW5hdGlvbkVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9QbHVnaW5FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUm9sZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Vc2VyRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NsaVNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvQ2xpVGVzdGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9DbGlXcmFwcGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Db25maWdGU1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2NoZW1hcy9lbnZTY2hlbWEuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvRW52U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Db25maWdNYW5hZ2VyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9Ecml2ZUJhc2VHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2dhdGV3YXlzL0RyaXZlUzNHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NvbmZpZ1MzU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Eb3dubG9hZFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0RyaXZlQ29udHJhY3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvRHJpdmVTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QYWdlUmVxdWVzdENvbnRleHRFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvVXNlclJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvTWlncmF0aW9uRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL01pZ3JhdG9yU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9BY2xFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0h0dHBDb250ZXh0Q29udHJhY3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL1JvdXRlckNvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL1JvdXRlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvUm91dGluZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9TY2hlZHVsZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL1NlZWRlckVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9TZWVkZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2NvbnRyYWN0cy9FdmVudENvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9FbmNyeXB0U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9FeGNlcHRpb25TZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0hhc2hlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvSHR0cFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvSHR0cFRlc3RlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvTGlmZWN5Y2xlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVF1ZXJ5U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUGx1Z2luSXBjQ2xpZW50LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1BsdWdpbklwY0hvc3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUGx1Z2luUm91dGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlckZpbGVCYXNlUm91dGluZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUm91dGVyUmVnaXN0ZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlclJlc291cmNlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9taXhpbnMvTW9kZWxDb25maWdNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Sb3V0ZXJSZXNvdXJjZUNvbmZpZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvU2hlbGxTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9Db25maWdSZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9GaWxlUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvR2l0QnJhbmNoUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvR2l0Q29tbWl0UmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvUGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9QZXJtaXNzaW9uUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9taXhpbnMvRGF0YWJhc2VSZXBvc2l0b3J5SW5mZXJNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvVG9rZW5SZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2dhdGV3YXlzL0RhdGFiYXNlR2F0ZXdheS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9Ecml2ZUZTR2F0ZXdheS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9HaXRHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9NZXRhZGF0YU1peGluLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvZGF0YWJhc2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9jb21tb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy91cGRhdGVPckNyZWF0ZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2xpc3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9wYWdpbmF0ZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2NvdW50LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvY3JlYXRlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvdXBkYXRlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvZGVzdHJveS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2ZpcnN0T3JDcmVhdGUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9maW5kT25lLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9Nb2RlbE1peGluLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9SZWxhdGlvbnNNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2NvbmZpZy5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2NvbnRhaW5lci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2Rvd25sb2FkLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvZHJpdmUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9lbW1pdHRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2VuY3J5cHQuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9lbnYuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9maWxlc1JlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9oYXNoZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9odHRwLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvbG9nZ2VyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvbWlncmF0b3IuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9wZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9wZXJtaXNzaW9uUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3JvdXRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3NjaGVkdWxlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3NoZWxsLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvdG9rZW5SZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvdXNlclJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0t5c2VseUNvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9sb2FkZXJzL2ZpbGVMb2FkZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9maWxlVXJsTG9hZGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2xvYWRlcnMvaGFzTWFueVRocm91Z2hMb2FkZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9sb2FkTWV0YXMuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9wZXJtaXNzaW9uTG9hZGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2xvYWRlcnMvdXNlckxvYWRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9GaWxlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0ZpbGVNZXRhRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL01vZHVsZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbHVnaW5FbnRyeUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbHVnaW5FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9leGlzdHMuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9pbmNyZW1lbnRhbC5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL3NvZnREZWxldGUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy90aW1lc3RhbXAuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL0Jhc2VSZWxhdGlvbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZWxhdGlvbnMvQmVsb25nc1RvUmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL0JlbG9uZ3NUb0ZpbGVSZWxhdGlvbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZWxhdGlvbnMvQmVsb25nc1RvVXNlclJlbGF0aW9uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlbGF0aW9ucy9IYXNNYW55UmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL0hhc01ldGFzUmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL2hhc01hbnlUaHJvdWdoUmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbWlkZGxld2FyZXMvQXV0aE1pZGRsZXdhcmUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbWlkZGxld2FyZXMvQXV0aFNpbGVuY2VNaWRkbGV3YXJlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21pZGRsZXdhcmVzL0F1dGhvcml6YXRpb25NaWRkbGV3YXJlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2Jhc2VQYXRoLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2NyZWF0ZUxvYWRlckZhY3RvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvY3VpZC5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci91dGlscy9kZWZpbmVIYW5kbGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2dlbmVyYXRlSW5kZXhGaWxlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2ltcG9ydEFsbC5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci91dGlscy9pbXBvcnRPbmUuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCAoKGl0ZW06IGFueSkgPT4gc3RyaW5nKTtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICByZWFsV2lkdGg/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdE9wdGlvbnMge1xuICAgIGtleVdpZHRoPzogbnVtYmVyO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcHJpbnRPYmplY3Qob3V0cHV0PzogYW55LCBvcHRpb25zPzogT2JqZWN0T3B0aW9ucyk6IHZvaWQ7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBwcmludFRhYmxlKGl0ZW1zOiBhbnlbXSwgY29sdW1ucz86IFRhYmxlQ29sdW1uW10pOiB2b2lkO1xuIiwiaW50ZXJmYWNlIEVudHJ5IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xuICAgIHNvdXJjZTogc3RyaW5nO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlnU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGVudHJpZXM6IE1hcDxzdHJpbmcsIEVudHJ5PjtcbiAgICBjb25zdHJ1Y3RvcigpO1xuICAgIGxpc3QoKTogRW50cnlbXTtcbiAgICBwYXJzZVZhbHVlKHZhbHVlOiBhbnkpOiBhbnk7XG4gICAgbG9hZEZyb21SZWNvcmQocmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzb3VyY2U/OiBzdHJpbmcpOiB2b2lkO1xuICAgIGxvYWRGcm9tRW50cmllcyhlbnRyaWVzOiBbc3RyaW5nLCBhbnldW10sIHNvdXJjZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgdG9SZWNvcmQoKTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBoYXMoa2V5OiBzdHJpbmcpOiBib29sZWFuO1xuICAgIGdldDxUID0gYW55IHwgdW5kZWZpbmVkPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogYW55KTogVDtcbiAgICBnZXRPbmU8VCA9IGFueSB8IHVuZGVmaW5lZD4oa2V5czogc3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86IGFueSk6IFQ7XG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBzb3VyY2U/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHVuc2V0KGtleTogc3RyaW5nKTogdm9pZDtcbiAgICBjbGVhcigpOiB2b2lkO1xuICAgIGR1bXAoKTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCB7fTtcbiIsInR5cGUgQ29uc3RydWN0b3I8VCA9IG9iamVjdD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xudHlwZSBFbnRyeUtleSA9IHN0cmluZyB8IHN5bWJvbCB8IENvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGFpbmVyU2VydmljZSB7XG4gICAgcHJpdmF0ZSBlbnRyaWVzO1xuICAgIGxvYWRGcm9tUmVjb3JkKHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQ7XG4gICAgdG9SZWNvcmQoKTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBwcml2YXRlIGdldEtleTtcbiAgICBzZXQocGF5bG9hZDogRW50cnlLZXksIHZhbHVlOiBhbnkpOiB0aGlzO1xuICAgIGhhcyhwYXlsb2FkOiBFbnRyeUtleSk6IGJvb2xlYW47XG4gICAgZ2V0PFQ+KHBheWxvYWQ6IEVudHJ5S2V5KTogVDtcbiAgICB1bnNldChwYXlsb2FkOiBFbnRyeUtleSk6IHZvaWQ7XG4gICAgc2luZ2xldG9uPFQ+KGNsYXNzQ29uc3RydWN0b3I6IENvbnN0cnVjdG9yPFQ+KTogVDtcbiAgICBsb2FkKGVudHJpZXM6IFJlY29yZDxhbnksIGFueT4pOiB2b2lkO1xuICAgIHByb3h5PFQgPSB1bmtub3duPihrZXk6IEVudHJ5S2V5KTogVDtcbiAgICBrZXlzKCk6IEVudHJ5S2V5W107XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIG1ldGE/OiBhbnkpOiB2b2lkO1xuICAgIGRlYnVnKG1lc3NhZ2U6IHN0cmluZywgbWV0YT86IGFueSk6IHZvaWQ7XG4gICAgd2FybihtZXNzYWdlOiBzdHJpbmcsIG1ldGE/OiBhbnkpOiB2b2lkO1xuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZyB8IEVycm9yLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICBjaGlsZChvcHRpb25zOiBhbnkpOiBMb2dnZXJTZXJ2aWNlO1xufVxuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnLi9Mb2dnZXJTZXJ2aWNlLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgRW1taXR0ZXJMaXN0ZW5lck9wdGlvbnMge1xuICAgIGV2ZW50OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEVtbWl0dGVyTGlzdGVuZXIge1xuICAgIChkYXRhOiBhbnksIG9wdGlvbnM6IEVtbWl0dGVyTGlzdGVuZXJPcHRpb25zKTogdm9pZDtcbn1cbmludGVyZmFjZSBFbW1pdHRlckhhbmRsZXIge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBsaXN0ZW5lcjogRW1taXR0ZXJMaXN0ZW5lcjtcbiAgICBvcmlnaW5hbExpc3RlbmVyPzogRW1taXR0ZXJMaXN0ZW5lcjtcbn1cbmludGVyZmFjZSBPbk9wdGlvbnMge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHVuaXF1ZT86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgT25EZWJvdW5jZU9wdGlvbnMgZXh0ZW5kcyBPbk9wdGlvbnMge1xuICAgIGRlYm91bmNlPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBFbW1pdHRlclNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtbWl0dGVyU2VydmljZTxFdmVudHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBoYW5kbGVyczogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbW1pdHRlclNlcnZpY2VPcHRpb25zKTtcbiAgICBzdGF0aWMgY3JlYXRlPEV2ZW50cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zPzogRW1taXR0ZXJTZXJ2aWNlT3B0aW9ucyk6IEVtbWl0dGVyU2VydmljZTxFdmVudHM+O1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdm9pZDtcbiAgICBzZXRMb2dnZXIobG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKTogdm9pZDtcbiAgICBvbjxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6IChhcmdzOiBhbnkpID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25jZTxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25jZShldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKGFyZ3M6IGFueSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbkRlYm91bmNlPEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBLLCBsaXN0ZW5lcjogKGFyZ3M6IEV2ZW50c1tLXSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uRGVib3VuY2VPcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uRGVib3VuY2UoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6IChhcmdzOiBhbnkpID0+IHZvaWQsIG9wdGlvbnM/OiBPbkRlYm91bmNlT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbkFueU9mPEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50czogS1tdLCBsaXN0ZW5lcjogKGFyZ3M6IEV2ZW50c1tLXSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIG9uQW55T2YoZXZlbnRzOiBzdHJpbmdbXSwgbGlzdGVuZXI6IChhcmdzOiBhbnkpID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICBvZmYoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6IEVtbWl0dGVySGFuZGxlclsnbGlzdGVuZXInXSk6IHZvaWQ7XG4gICAgZW1pdDxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgYXJnczogRXZlbnRzW0tdKTogdm9pZDtcbiAgICBlbWl0KGV2ZW50OiBzdHJpbmcsIGFyZ3M/OiBhbnkpOiB2b2lkO1xuICAgIGVtaXRBbmRXYWl0PEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBLLCBhcmdzOiBFdmVudHNbS10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGVtaXRBbmRXYWl0KGV2ZW50OiBzdHJpbmcsIGFyZ3M/OiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxpc3QoKTogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgbGlzdEJ5RXZlbnQoZXZlbnQ6IHN0cmluZyk6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIHJlbW92ZShwYXlsb2FkOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQ7XG4gICAgY2xlYXIoKTogdm9pZDtcbiAgICBoYXNIYW5kbGVycygpOiBib29sZWFuO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlmZWN5Y2xlSG9vayB7XG4gICAgaG9va19pZDogc3RyaW5nO1xuICAgIGhvb2tfYWxpYXNlcz86IHN0cmluZ1tdO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHN1Ymhvb2tzPzogTGlmZWN5Y2xlSG9va1tdO1xuICAgIHJlZ2lzdGVyKCk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGJvb3QoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzaHV0ZG93bigpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgcmVnaXN0ZXIgKi9cbiAgICBvblJlZ2lzdGVyKCk6IFByb21pc2U8dm9pZD47XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBsb2FkICovXG4gICAgb25Mb2FkKCk6IFByb21pc2U8dm9pZD47XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBib290ICovXG4gICAgb25Cb290KCk6IFByb21pc2U8dm9pZD47XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBzaHV0ZG93biAqL1xuICAgIG9uU2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCB0eXBlIHsgVW5pb25Ub0ludGVyc2VjdGlvbiB9IGZyb20gJy4vdHlwaW5nLnRzJztcbmV4cG9ydCB0eXBlIEFueUNsYXNzID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3I8VCA9IHt9PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG5leHBvcnQgdHlwZSBNaXhpbjxUPiA9IChiYXNlOiBDb25zdHJ1Y3RvcikgPT4gQ29uc3RydWN0b3I8VD47XG4vKipcbiAqIENvbXBvc2VzIG11bHRpcGxlIG1peGlucyBpbnRvIGEgc2luZ2xlIGNsYXNzIHRoYXQgY2FuIGJlIGV4dGVuZGVkLlxuICogQWxsb3dzIGZvciBtdWx0aXBsZSBpbmhlcml0YW5jZS1saWtlIGJlaGF2aW9yIGJ5IGFwcGx5aW5nIG1peGlucyBzZXF1ZW50aWFsbHkuXG4gKlxuICogQHBhcmFtIG1peGlucyAtIEFycmF5IG9mIG1peGluIGZ1bmN0aW9ucyB0byBjb21wb3NlXG4gKiBAcmV0dXJucyBBIGNsYXNzIGNvbnN0cnVjdG9yIHRoYXQgaW5jbHVkZXMgYWxsIG1peGluIGZ1bmN0aW9uYWxpdHlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIGNvbXBvc2UoVGltZXN0YW1wLCBTb2Z0RGVsZXRlKSB7XG4gKiAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHtcbiAqICAgICBzdXBlcigpXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjb21wb3NlPE0gZXh0ZW5kcyBBcnJheTwoYmFzZTogQ29uc3RydWN0b3I8YW55PikgPT4gQ29uc3RydWN0b3I8YW55Pj4+KC4uLm1peGluczogTSk6IFVuaW9uVG9JbnRlcnNlY3Rpb248UmV0dXJuVHlwZTxNW251bWJlcl0+Pjtcbi8qKlxuICogQWx0ZXJuYXRpdmUgY29tcG9zZSBmdW5jdGlvbiB0aGF0IHN0YXJ0cyB3aXRoIGEgYmFzZSBjbGFzc1xuICpcbiAqIEBwYXJhbSBiYXNlQ2xhc3MgLSBUaGUgYmFzZSBjbGFzcyB0byBzdGFydCB3aXRoXG4gKiBAcGFyYW0gbWl4aW5zIC0gQXJyYXkgb2YgbWl4aW4gZnVuY3Rpb25zIHRvIGFwcGx5XG4gKiBAcmV0dXJucyBBIGNsYXNzIGNvbnN0cnVjdG9yIHRoYXQgZXh0ZW5kcyB0aGUgYmFzZSBjbGFzcyB3aXRoIGFsbCBtaXhpbiBmdW5jdGlvbmFsaXR5XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNsYXNzIFVzZXIgZXh0ZW5kcyBjb21wb3NlV2l0aChCYXNlRW50aXR5LCBUaW1lc3RhbXAsIFNvZnREZWxldGUpIHtcbiAqICAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZykge1xuICogICAgIHN1cGVyKClcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNvbXBvc2VXaXRoPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3IsIE0gZXh0ZW5kcyBBcnJheTwoYmFzZTogQ29uc3RydWN0b3IpID0+IENvbnN0cnVjdG9yPGFueT4+PihiYXNlQ2xhc3M6IFRCYXNlLCAuLi5taXhpbnM6IE0pOiBUQmFzZSAmIFVuaW9uVG9JbnRlcnNlY3Rpb248UmV0dXJuVHlwZTxNW251bWJlcl0+PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIG1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KFNvdXJjZTogVEJhc2UpOiA8VFRhcmdldCBleHRlbmRzIENvbnN0cnVjdG9yPihUYXJnZXQ6IFRUYXJnZXQpID0+IFRUYXJnZXQgJiBUQmFzZTtcbiIsImltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJy4vTG9nZ2VyU2VydmljZS50cyc7XG5pbXBvcnQgTGlmZWN5Y2xlSG9vayBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0xpZmVjeWNsZUhvb2sudHMnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG50eXBlIExpZmVjeWNsZU1ldGhvZCA9ICdyZWdpc3RlcicgfCAnbG9hZCcgfCAnYm9vdCcgfCAnc2h1dGRvd24nO1xuaW50ZXJmYWNlIExpc3RPcHRpb25zIHtcbiAgICBpbmNsdWRlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgZXhjbHVkZT86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBMaWZlY3ljbGVTZXJ2aWNlT3B0aW9ucyB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGhvb2tzPzogTWFwPHN0cmluZywgTGlmZWN5Y2xlSG9vaz47XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBvbkVycm9yPzogKGVycm9yOiBFcnJvciwgY29udGV4dDoge1xuICAgICAgICBob29rSWQ6IHN0cmluZztcbiAgICAgICAgbWV0aG9kOiBMaWZlY3ljbGVNZXRob2Q7XG4gICAgfSkgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpZmVjeWNsZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBob29rczogTWFwPHN0cmluZywgTGlmZWN5Y2xlSG9vaz47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBMaWZlY3ljbGVTZXJ2aWNlT3B0aW9ucyk7XG4gICAgc2V0T25FcnJvcihoYW5kbGVyOiBSZXF1aXJlZDxMaWZlY3ljbGVTZXJ2aWNlT3B0aW9ucz5bJ29uRXJyb3InXSk6IHZvaWQ7XG4gICAgb25FcnJvcihlcnJvcjogRXJyb3IsIGNvbnRleHQ6IHtcbiAgICAgICAgaG9va0lkOiBzdHJpbmc7XG4gICAgICAgIG1ldGhvZDogTGlmZWN5Y2xlTWV0aG9kO1xuICAgIH0pOiB2b2lkO1xuICAgIG1hcEFsaWFzZXMoYXJnczogc3RyaW5nW10pOiBzdHJpbmdbXTtcbiAgICBsaXN0KG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IExpZmVjeWNsZUhvb2tbXTtcbiAgICBhZGQoLi4ucGF5bG9hZDogKExpZmVjeWNsZUhvb2sgfCBDb25zdHJ1Y3RvcjxMaWZlY3ljbGVIb29rPilbXSk6IHZvaWQ7XG4gICAgZW1pdE1ldGhvZChtZXRob2Q6IExpZmVjeWNsZU1ldGhvZCwgb3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBlbWl0KHBheWxvYWQ6IExpZmVjeWNsZU1ldGhvZCB8IExpZmVjeWNsZU1ldGhvZFtdLCBvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIG9uKG1ldGhvZDogTGlmZWN5Y2xlTWV0aG9kLCBoYW5kbGVyOiAoKSA9PiBQcm9taXNlPHZvaWQ+KTogdm9pZDtcbiAgICByZWdpc3RlcihvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWQob3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBib290KG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgc2h1dGRvd24ob3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBjbGVhcigpOiB2b2lkO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25Bc3NpZ25tZW50ID0gdi5JbmZlck91dHB1dDx0eXBlb2YgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE6IHYuT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBpZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBwZXJtaXNzaW9uX2lkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFzc2lnbmFibGVfdHlwZTogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBhc3NpZ25hYmxlX2lkOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgUGVybWlzc2lvbiA9IHYuSW5mZXJPdXRwdXQ8dHlwZW9mIHBlcm1pc3Npb25TY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFjdGlvbjogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBzdWJqZWN0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNvbmRpdGlvbnM6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZXhwaXJlc19hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgVG9rZW4gPSB2LkluZmVyT3V0cHV0PHR5cGVvZiB0b2tlblNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB0b2tlblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB0eXBlOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVzZXJfaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdG9rZW46IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGV4cGlyZXNfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIExpc3RlbmVyIHtcbiAgICBldmVudDogc3RyaW5nO1xuICAgIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBlbWl0SG9vayhjb25zdHJ1Y3RvcjogYW55LCBldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBvbkhvb2soY29uc3RydWN0b3I6IGFueSwgZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBIb29rc1N0YXRpYzxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSk6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge307XG4gICAgbGlzdGVuZXJzOiBBcnJheTwoLi4uYXJnczogYW55W10pID0+IHZvaWQ+O1xuICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufSAmIFRCYXNlO1xuZXhwb3J0IGRlY2xhcmUgbmFtZXNwYWNlIEhvb2tzU3RhdGljIHtcbiAgICB2YXIgZW1pdDogdHlwZW9mIGVtaXRIb29rO1xuICAgIHZhciBvbjogdHlwZW9mIG9uSG9vaztcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhvb2tzPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGxpc3RlbmVyczogTGlzdGVuZXJbXTtcbiAgICAgICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIG9mZihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG4gICAgICAgIGVtaXRBc3luYyhldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbn0gJiBUQmFzZTtcbiIsImRlY2xhcmUgY29uc3QgUGVybWlzc2lvbkVudGl0eV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBlcm1pc3Npb25FbnRpdHkgZXh0ZW5kcyBQZXJtaXNzaW9uRW50aXR5X2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICAgIG9yaWdpbjogc3RyaW5nO1xuICAgIHN1YmplY3Q6IHN0cmluZztcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICBjb25kaXRpb25zOiBzdHJpbmcgfCBudWxsIHwgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBnZXQgZWRpdGFibGUoKTogYm9vbGVhbjtcbiAgICBnZXQgcGFyc2VkQ29uZGl0aW9ucygpOiBhbnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBkZWZpbmVBYmlsaXR5IH0gZnJvbSAnQGNhc2wvYWJpbGl0eSc7XG5pbXBvcnQgUGVybWlzc2lvbiBmcm9tICcuL1Blcm1pc3Npb25FbnRpdHkudHMnO1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjbEVudGl0eSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGFiaWxpdHk6IFJldHVyblR5cGU8dHlwZW9mIGRlZmluZUFiaWxpdHk+O1xuICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uW107XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPEFjbEVudGl0eT4pO1xuICAgIGNhbihhY3Rpb246IHN0cmluZywgc3ViamVjdDogYW55LCBvYmplY3Q/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYm9vbGVhbjtcbiAgICBjYW5ub3QoYWN0aW9uOiBzdHJpbmcsIHN1YmplY3Q6IGFueSwgb2JqZWN0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IGJvb2xlYW47XG4gICAgc3ViamVjdChzdWJqZWN0OiBzdHJpbmcsIG9iamVjdDogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT4gJiBpbXBvcnQoXCJAY2FzbC9hYmlsaXR5XCIpLkZvcmNlZFN1YmplY3Q8c3RyaW5nPjtcbn1cbiIsImV4cG9ydCBpbnRlcmZhY2UgQ29va2llTWFwRW50aXR5T3B0aW9ucyB7XG4gICAgY29va2llcz86IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29va2llTWFwRW50aXR5IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgY29va2llczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcmVmaXg6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogQ29va2llTWFwRW50aXR5T3B0aW9ucyk7XG4gICAgbG9hZChjb29raWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgTWFwPHN0cmluZywgc3RyaW5nPik6IHZvaWQ7XG4gICAgZ2V0KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGw7XG4gICAgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgb3B0aW9ucz86IGFueSk6IHZvaWQ7XG4gICAgdG9SZWNvcmQoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cbiIsImV4cG9ydCBkZWNsYXJlIGNvbnN0IFRZUEVTOiAoKSA9PiAoe1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IGFueTtcbiAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgIGNvbmZpZ19maWVsZHM6IHtcbiAgICAgICAgZGlyZWN0b3J5OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICBhY2Nlc3NLZXlJZD86IHVuZGVmaW5lZDtcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5PzogdW5kZWZpbmVkO1xuICAgICAgICBidWNrZXQ/OiB1bmRlZmluZWQ7XG4gICAgICAgIHJlZ2lvbj86IHVuZGVmaW5lZDtcbiAgICAgICAgcHJlZml4PzogdW5kZWZpbmVkO1xuICAgICAgICBlbmRwb2ludD86IHVuZGVmaW5lZDtcbiAgICB9O1xufSB8IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IGFueTtcbiAgICBjb25maWdfZmllbGRzOiB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIHNlY3JldEFjY2Vzc0tleToge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBidWNrZXQ6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVnaW9uOiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIHByZWZpeDoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICBkaXJlY3Rvcnk/OiB1bmRlZmluZWQ7XG4gICAgfTtcbn0pW107XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZUNvbmZpZyB7XG4gICAgc3RhdGljIGdldCBUWVBFUygpOiAoe1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgICAgICBjb25maWdfZmllbGRzOiB7XG4gICAgICAgICAgICBkaXJlY3Rvcnk6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGFjY2Vzc0tleUlkPzogdW5kZWZpbmVkO1xuICAgICAgICAgICAgc2VjcmV0QWNjZXNzS2V5PzogdW5kZWZpbmVkO1xuICAgICAgICAgICAgYnVja2V0PzogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVnaW9uPzogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcHJlZml4PzogdW5kZWZpbmVkO1xuICAgICAgICAgICAgZW5kcG9pbnQ/OiB1bmRlZmluZWQ7XG4gICAgICAgIH07XG4gICAgfSB8IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICAgICAgYWNjZXNzS2V5SWQ6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJ1Y2tldDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlZ2lvbjoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHByZWZpeDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZGlyZWN0b3J5PzogdW5kZWZpbmVkO1xuICAgICAgICB9O1xuICAgIH0pW107XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGlzX2RlZmF1bHQ6IGJvb2xlYW47XG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERyaXZlQ29uZmlnKTtcbiAgICBnZXQgY29uZmlnX2ZpZWxkcygpOiB7fTtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlRW50cnkge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdHlwZTogJ2ZpbGUnIHwgJ2RpcmVjdG9yeSc7XG4gICAgbWV0YXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3RydWN0b3IoZGF0YTogRHJpdmVFbnRyeSk7XG59XG4iLCJkZWNsYXJlIGNvbnN0IEZpbGVFbnRpdHlfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVFbnRpdHkgZXh0ZW5kcyBGaWxlRW50aXR5X2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgZHJpdmU6IHN0cmluZztcbiAgICBtaW1ldHlwZTogc3RyaW5nO1xuICAgIHB1cnBvc2U6IHN0cmluZztcbiAgICBjbGllbnRfbmFtZTogc3RyaW5nO1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljOiBib29sZWFuO1xuICAgIHVybD86IHN0cmluZztcbiAgICBtZXRhcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaXNJbWFnZSgpOiBib29sZWFuO1xufVxuZXhwb3J0IHt9O1xuIiwiZGVjbGFyZSBjb25zdCBGaWxlTWV0YV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvciAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBjcmVhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgIH07XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGRlbGV0ZWRfYXQ6IERhdGUgfCBzdHJpbmcgfCBudWxsO1xuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZU1ldGEgZXh0ZW5kcyBGaWxlTWV0YV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGZpbGVfaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBHaXRCcmFuY2hFbnRpdHkge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICByZW1vdGU6IHN0cmluZyB8IG51bGw7XG4gICAgaXNfY3VycmVudDogYm9vbGVhbjtcbiAgICBpc19yZW1vdGU6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoZGF0YTogR2l0QnJhbmNoRW50aXR5KTtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEdpdENvbW1pdEVudGl0eSB7XG4gICAgaGFzaDogc3RyaW5nO1xuICAgIHNob3J0X2hhc2g6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgYm9keTogc3RyaW5nO1xuICAgIGF1dGhvcl9uYW1lOiBzdHJpbmc7XG4gICAgYXV0aG9yX2VtYWlsOiBzdHJpbmc7XG4gICAgZGF0ZTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEdpdENvbW1pdEVudGl0eSk7XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIE1vZHVsZU1hbmlmZXN0QnVpbGRJbXBvcnQge1xuICAgIGZyb206IHN0cmluZztcbiAgICB0bz86IHN0cmluZztcbiAgICB0eXBlOiAnZ2xvYmFsX2ltcG9ydCc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZU1hbmlmZXN0QnVpbGQge1xuICAgIGltcG9ydHM/OiBNb2R1bGVNYW5pZmVzdEJ1aWxkSW1wb3J0W107XG59XG5kZWNsYXJlIGNvbnN0IE1vZHVsZU1hbmlmZXN0X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kdWxlTWFuaWZlc3QgZXh0ZW5kcyBNb2R1bGVNYW5pZmVzdF9iYXNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgZGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBidWlsZD86IE1vZHVsZU1hbmlmZXN0QnVpbGQ7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgTW9kdWxlTWFuaWZlc3QgZnJvbSAnLi9Nb2R1bGVNYW5pZmVzdEVudGl0eS50cyc7XG5pbXBvcnQgTGlmZWN5Y2xlSG9vayBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0xpZmVjeWNsZUhvb2sudHMnO1xuaW50ZXJmYWNlIE1vZHVsZVVwZ3JhZGVJbmZvIHtcbiAgICBzb3VyY2U6ICdnaXQnIHwgJ3ppcCc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZGVjbGFyZSBjb25zdCBNb2R1bGVfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I8e30+ICYgdHlwZW9mIExpZmVjeWNsZUhvb2s7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2R1bGUgZXh0ZW5kcyBNb2R1bGVfYmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBkZXBlbmRlbmNpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgYnVpbGQ6IE1vZHVsZU1hbmlmZXN0WydidWlsZCddO1xuICAgIGRpcmVjdG9yeTogc3RyaW5nO1xuICAgIHVwZ3JhZGVfaW5mbz86IE1vZHVsZVVwZ3JhZGVJbmZvO1xuICAgIHNldERhdGEoZGF0YTogUGFydGlhbDxNb2R1bGUgfCBNb2R1bGVNYW5pZmVzdD4pOiB2b2lkO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFnaW5hdGlvbkVudGl0eTxUID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGl0ZW1zOiBUW107XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgcGVyX3BhZ2U6IG51bWJlcjtcbiAgICB0b3RhbF9wYWdlczogbnVtYmVyO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8UGFnaW5hdGlvbkVudGl0eT4pO1xuICAgIHN0YXRpYyBmcm9tPFQgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihwYXlsb2FkOiBQYXJ0aWFsPFBhZ2luYXRpb25FbnRpdHk8VD4+KTogUGFnaW5hdGlvbkVudGl0eTxUPjtcbn1cbiIsImRlY2xhcmUgY29uc3QgUGx1Z2luRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGx1Z2luRW50aXR5IGV4dGVuZHMgUGx1Z2luRW50aXR5X2Jhc2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGFsaWFzZXM6IHN0cmluZ1tdO1xuICAgIHZlcnNpb25fY2hhbm5lbDogc3RyaW5nO1xuICAgIHZlcnNpb25fYXZhaWxhYmxlX2NoYW5uZWxzOiBzdHJpbmdbXTtcbn1cbmV4cG9ydCB7fTtcbiIsImRlY2xhcmUgY29uc3QgUm9sZV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvciAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBjcmVhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgIH07XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGRlbGV0ZWRfYXQ6IERhdGUgfCBzdHJpbmcgfCBudWxsO1xuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9sZSBleHRlbmRzIFJvbGVfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSBQZXJtaXNzaW9uIGZyb20gJy4vUGVybWlzc2lvbkVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSBSb2xlIGZyb20gJy4vUm9sZUVudGl0eS50cyc7XG5kZWNsYXJlIGNvbnN0IFVzZXJFbnRpdHlfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVzZXJFbnRpdHkgZXh0ZW5kcyBVc2VyRW50aXR5X2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICB2ZXJpZmllZF9hdD86IERhdGUgfCBzdHJpbmcgfCBudWxsO1xuICAgIHBlcm1pc3Npb25zPzogUGVybWlzc2lvbltdO1xuICAgIHJvbGVzPzogUm9sZVtdO1xuICAgIGdldCBpbml0aWFscygpOiBzdHJpbmc7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBDb21tYW5kIGFzIENvbW1hbmRlckNvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByaW50VGFibGUsIHByaW50T2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvcHJpbnRUYWJsZS50cyc7XG5pbXBvcnQgeyBFbW1pdHRlclNlcnZpY2UsIExvZ2dlclNlcnZpY2UgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmltcG9ydCAqIGFzIGlucXVpcmVyIGZyb20gJ0BpbnF1aXJlci9wcm9tcHRzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpRXZlbnRzIHtcbiAgICAnY2xpOnJlZ2lzdGVyZWQnOiB7XG4gICAgICAgIGNsaTogQ2xpU2VydmljZTtcbiAgICB9O1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQ2xpQ29tbWFuZCBleHRlbmRzIENvbW1hbmRlckNvbW1hbmQge1xuICAgIF9faXNfY2xpX2NvbW1hbmQ6IGJvb2xlYW47XG4gICAgdGFibGU6IHR5cGVvZiBwcmludFRhYmxlO1xuICAgIG9iamVjdDogdHlwZW9mIHByaW50T2JqZWN0O1xuICAgIGNvbG9yczogY2hhbGsuQ2hhbGsgJiBjaGFsay5DaGFsa0Z1bmN0aW9uICYge1xuICAgICAgICBzdXBwb3J0c0NvbG9yOiBjaGFsay5Db2xvclN1cHBvcnQgfCBmYWxzZTtcbiAgICAgICAgTGV2ZWw6IGNoYWxrLkxldmVsO1xuICAgICAgICBDb2xvcjogKFwiYmxhY2tcIiB8IFwicmVkXCIgfCBcImdyZWVuXCIgfCBcInllbGxvd1wiIHwgXCJibHVlXCIgfCBcIm1hZ2VudGFcIiB8IFwiY3lhblwiIHwgXCJ3aGl0ZVwiIHwgXCJncmF5XCIgfCBcImdyZXlcIiB8IFwiYmxhY2tCcmlnaHRcIiB8IFwicmVkQnJpZ2h0XCIgfCBcImdyZWVuQnJpZ2h0XCIgfCBcInllbGxvd0JyaWdodFwiIHwgXCJibHVlQnJpZ2h0XCIgfCBcIm1hZ2VudGFCcmlnaHRcIiB8IFwiY3lhbkJyaWdodFwiIHwgXCJ3aGl0ZUJyaWdodFwiKSB8IChcImJnQmxhY2tcIiB8IFwiYmdSZWRcIiB8IFwiYmdHcmVlblwiIHwgXCJiZ1llbGxvd1wiIHwgXCJiZ0JsdWVcIiB8IFwiYmdNYWdlbnRhXCIgfCBcImJnQ3lhblwiIHwgXCJiZ1doaXRlXCIgfCBcImJnR3JheVwiIHwgXCJiZ0dyZXlcIiB8IFwiYmdCbGFja0JyaWdodFwiIHwgXCJiZ1JlZEJyaWdodFwiIHwgXCJiZ0dyZWVuQnJpZ2h0XCIgfCBcImJnWWVsbG93QnJpZ2h0XCIgfCBcImJnQmx1ZUJyaWdodFwiIHwgXCJiZ01hZ2VudGFCcmlnaHRcIiB8IFwiYmdDeWFuQnJpZ2h0XCIgfCBcImJnV2hpdGVCcmlnaHRcIik7XG4gICAgICAgIEZvcmVncm91bmRDb2xvcjogXCJibGFja1wiIHwgXCJyZWRcIiB8IFwiZ3JlZW5cIiB8IFwieWVsbG93XCIgfCBcImJsdWVcIiB8IFwibWFnZW50YVwiIHwgXCJjeWFuXCIgfCBcIndoaXRlXCIgfCBcImdyYXlcIiB8IFwiZ3JleVwiIHwgXCJibGFja0JyaWdodFwiIHwgXCJyZWRCcmlnaHRcIiB8IFwiZ3JlZW5CcmlnaHRcIiB8IFwieWVsbG93QnJpZ2h0XCIgfCBcImJsdWVCcmlnaHRcIiB8IFwibWFnZW50YUJyaWdodFwiIHwgXCJjeWFuQnJpZ2h0XCIgfCBcIndoaXRlQnJpZ2h0XCI7XG4gICAgICAgIEJhY2tncm91bmRDb2xvcjogXCJiZ0JsYWNrXCIgfCBcImJnUmVkXCIgfCBcImJnR3JlZW5cIiB8IFwiYmdZZWxsb3dcIiB8IFwiYmdCbHVlXCIgfCBcImJnTWFnZW50YVwiIHwgXCJiZ0N5YW5cIiB8IFwiYmdXaGl0ZVwiIHwgXCJiZ0dyYXlcIiB8IFwiYmdHcmV5XCIgfCBcImJnQmxhY2tCcmlnaHRcIiB8IFwiYmdSZWRCcmlnaHRcIiB8IFwiYmdHcmVlbkJyaWdodFwiIHwgXCJiZ1llbGxvd0JyaWdodFwiIHwgXCJiZ0JsdWVCcmlnaHRcIiB8IFwiYmdNYWdlbnRhQnJpZ2h0XCIgfCBcImJnQ3lhbkJyaWdodFwiIHwgXCJiZ1doaXRlQnJpZ2h0XCI7XG4gICAgICAgIE1vZGlmaWVyczogXCJyZXNldFwiIHwgXCJib2xkXCIgfCBcImRpbVwiIHwgXCJpdGFsaWNcIiB8IFwidW5kZXJsaW5lXCIgfCBcImludmVyc2VcIiB8IFwiaGlkZGVuXCIgfCBcInN0cmlrZXRocm91Z2hcIiB8IFwidmlzaWJsZVwiO1xuICAgICAgICBzdGRlcnI6IGNoYWxrLkNoYWxrICYge1xuICAgICAgICAgICAgc3VwcG9ydHNDb2xvcjogY2hhbGsuQ29sb3JTdXBwb3J0IHwgZmFsc2U7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBpbnF1aXJlcjogdHlwZW9mIGlucXVpcmVyO1xuICAgIG5lZWRzOiBTZXQ8c3RyaW5nPjtcbiAgICBuZWVkKC4uLmFyZ3M6IHN0cmluZ1tdKTogdGhpcztcbiAgICBjcmVhdGVDb21tYW5kKG5hbWU/OiBzdHJpbmcpOiBDbGlDb21tYW5kO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2xpU2VydmljZSBleHRlbmRzIENsaUNvbW1hbmQge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBkaXJzOiBTZXQ8c3RyaW5nPjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBzdGF0aWMgY3JlYXRlKG5hbWU/OiBzdHJpbmcpOiBDbGlTZXJ2aWNlO1xuICAgIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlclNlcnZpY2UpOiB0aGlzO1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdGhpcztcbiAgICBzZXRFbW1pdHRlcihlbW1pdHRlcjogRW1taXR0ZXJTZXJ2aWNlKTogdGhpcztcbiAgICBjcmVhdGVDb21tYW5kKG5hbWU/OiBzdHJpbmcpOiBDbGlTZXJ2aWNlO1xuICAgIGFkZERpcihkaXI6IHN0cmluZyk6IHRoaXM7XG4gICAgbG9hZERpcihkaXI6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZCgpOiBQcm9taXNlPHRoaXM+O1xufVxuIiwiaW1wb3J0IENsaVNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9DbGlTZXJ2aWNlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFydGVUZXN0ZXJTZXJ2aWNlIGV4dGVuZHMgQ2xpU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKTtcbiAgICBhZGQocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBleGVjdXRlKGFyZ3M6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBjcCBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsaVdyYXBwZXJTZXJ2aWNlIHtcbiAgICBwcm9jZXNzOiBjcC5DaGlsZFByb2Nlc3MgfCBudWxsO1xuICAgIGFwcEJhc2VQYXRoOiBzdHJpbmc7XG4gICAgZW52OiBNYXA8c3RyaW5nLCBhbnk+O1xuICAgIGFyZ3M6IHN0cmluZ1tdO1xuICAgIGNvbmZpZ0FyZ3VtZW50czogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBjb25maWdGaWxlczogc3RyaW5nW107XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIHN0YXRpYyBjcmVhdGUoKTogQ2xpV3JhcHBlclNlcnZpY2U7XG4gICAgc2V0QmFzZVBhdGgocGF0aDogc3RyaW5nKTogdGhpcztcbiAgICBzZXREZWJ1ZyhkZWJ1ZzogYm9vbGVhbik6IHRoaXM7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHRoaXM7XG4gICAgYWRkQ29uZmlnQXJndW1lbnQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB0aGlzO1xuICAgIGFkZENvbmZpZ0ZpbGUoLi4uZmlsZVBhdGhzOiBzdHJpbmdbXSk6IHRoaXM7XG4gICAgYWRkRW52KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdGhpcztcbiAgICBsb2FkQ29uZmlnQXJndW1lbnRzKCk6IHZvaWQ7XG4gICAgbG9hZENvbmZpZ0ZpbGVzKCk6IHZvaWQ7XG4gICAgbG9hZEVudmlyb25tZW50KCk6IHZvaWQ7XG4gICAgbG9hZEFyZ3VtZW50cyhhcmdzPzogc3RyaW5nW10pOiB2b2lkO1xuICAgIGtpbGwoY29kZT86IG51bWJlcik6IHZvaWQ7XG4gICAgcnVuKGFyZ3M/OiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnO1xuaW1wb3J0IHR5cGUgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdGU1NlcnZpY2VPcHRpb25zIHtcbiAgICBkaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgZm9ybWF0PzogJ2pzb24nIHwgJ3ltbCc7XG4gICAgZm9ybWF0T3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWdGU1NlcnZpY2UgZXh0ZW5kcyBDb25maWdTZXJ2aWNlIHtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgZm9ybWF0OiAnanNvbicgfCAneW1sJztcbiAgICBmb3JtYXRPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGRpcmVjdG9yeTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBDb25maWdGU1NlcnZpY2VPcHRpb25zKTtcbiAgICB3cml0ZShlbnRyeTogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHdyaXRlU3luYyhlbnRyeTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkO1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcml2YXRlIHBhcnNlS2V5O1xuICAgIHNldChmdWxsS2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHNvdXJjZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgdW5zZXQoZnVsbEtleTogc3RyaW5nKTogdm9pZDtcbn1cbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgdHlwZSBFbnZTY2hlbWEgPSB2LkluZmVyT3V0cHV0PHR5cGVvZiBlbnZTY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZW52U2NoZW1hOiB2Lkxvb3NlT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBOT0RFX0VOVjogdi5PcHRpb25hbFNjaGVtYTx2LlVuaW9uU2NoZW1hPFt2LkxpdGVyYWxTY2hlbWE8XCJkZXZlbG9wbWVudFwiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCJwcm9kdWN0aW9uXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcInRlc3RcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIFwiZGV2ZWxvcG1lbnRcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0JBU0VfUEFUSDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBaRU5JVEhfU1RPUkFHRV9QQVRIOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0FQUF9VUkw6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgXCJodHRwOi8vbG9jYWxob3N0OjMwMDBcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX1BPUlQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBudW1iZXI+XT4sIFwiMzAwMFwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfSE9TVDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBcIjAuMC4wLjBcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0xPR19MRVZFTDogdi5PcHRpb25hbFNjaGVtYTx2LlBpY2tsaXN0U2NoZW1hPFtcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiXSwgdW5kZWZpbmVkPiwgXCJpbmZvXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9MSUZFQ1lDTEVfREVCVUc6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwidHJ1ZVwiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCJmYWxzZVwiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCIxXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcIjBcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPFwiMFwiIHwgXCIxXCIgfCBcInRydWVcIiB8IFwiZmFsc2VcIiwgYm9vbGVhbj4sIHYuQm9vbGVhblNjaGVtYTx1bmRlZmluZWQ+XT4sIFwiZmFsc2VcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NMSUVOVF9DT05GSUc6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pl0+LCBcIlwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj5dPiwgXCJcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19BUkdVTUVOVFM6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pl0+LCBcIlwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX0ZJTEVTOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZywgc3RyaW5nW10+XT4sIFwiXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfREVCVUc6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwidHJ1ZVwiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCJmYWxzZVwiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCIxXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcIjBcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPFwiMFwiIHwgXCIxXCIgfCBcInRydWVcIiB8IFwiZmFsc2VcIiwgYm9vbGVhbj4sIHYuQm9vbGVhblNjaGVtYTx1bmRlZmluZWQ+XT4sIFwiZmFsc2VcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19EUklWRVI6IHYuT3B0aW9uYWxTY2hlbWE8di5QaWNrbGlzdFNjaGVtYTxbXCJmc1wiLCBcInMzXCJdLCB1bmRlZmluZWQ+LCBcImZzXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfRlNfUEFUSDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfRlNfRk9STUFUOiB2Lk9wdGlvbmFsU2NoZW1hPHYuUGlja2xpc3RTY2hlbWE8W1wianNvblwiLCBcInltbFwiXSwgdW5kZWZpbmVkPiwgXCJqc29uXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfRlNfRk9STUFUX09QVElPTlM6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pl0+LCBcIlwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX1MzX0JVQ0tFVDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfUzNfUkVHSU9OOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19TM19BQ0NFU1NfS0VZX0lEOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19TM19TRUNSRVRfQUNDRVNTX0tFWTogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfUzNfU0VTU0lPTl9UT0tFTjogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfUzNfRU5EUE9JTlQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX1MzX1BSRUZJWDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBcIlwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfUExVR0lOU19ESVJTOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZywgc3RyaW5nW10+XT4sIFwiXCI+O1xufSwgdW5kZWZpbmVkPjtcbiIsImltcG9ydCBkb3RlbnYgZnJvbSAnZG90ZW52JztcbmltcG9ydCB0eXBlIHsgRW52U2NoZW1hIH0gZnJvbSAnI3NlcnZlci9zY2hlbWFzL2VudlNjaGVtYS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbnZTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBlbnY7XG4gICAgcHJpdmF0ZSBmaWxlcztcbiAgICBzdGF0aWMgY3JlYXRlKCk6IEVudlNlcnZpY2U7XG4gICAgc3RhdGljIGRvdEVudkNvbmZpZyhvcHRpb25zPzogZG90ZW52LkRvdGVudkNvbmZpZ09wdGlvbnMpOiBkb3RlbnYuRG90ZW52Q29uZmlnT3V0cHV0O1xuICAgIHNldEZpbGVzKGZpbGVzOiBzdHJpbmdbXSk6IHRoaXM7XG4gICAgYWRkRmlsZShmaWxlOiBzdHJpbmcpOiB0aGlzO1xuICAgIGxvYWQoKTogdGhpcztcbiAgICBnZXQgcHJvZHVjdGlvbigpOiBib29sZWFuO1xuICAgIGdldCBkZXZlbG9wbWVudCgpOiBib29sZWFuO1xuICAgIGdldCB0ZXN0KCk6IGJvb2xlYW47XG4gICAgaGFzPEsgZXh0ZW5kcyBrZXlvZiBFbnZTY2hlbWE+KGtleTogSyk6IGJvb2xlYW47XG4gICAgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBFbnZTY2hlbWE+KGtleTogSywgZGVmYXVsdFZhbHVlPzogYW55KTogRW52U2NoZW1hW0tdO1xuICAgIHNldDxLIGV4dGVuZHMga2V5b2YgRW52U2NoZW1hPihrZXk6IEssIHZhbHVlOiBFbnZTY2hlbWFbS10pOiB2b2lkO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnI3NoYXJlZC9pbmRleC50cyc7XG5pbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnO1xuaW1wb3J0IHR5cGUgRW52U2VydmljZSBmcm9tICcuL0VudlNlcnZpY2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdNYW5hZ2VyT3B0aW9ucyB7XG4gICAgZW52OiBFbnZTZXJ2aWNlO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlnTWFuYWdlclNlcnZpY2Uge1xuICAgIGVudjogRW52U2VydmljZTtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgc2lsZW50OiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENvbmZpZ01hbmFnZXJPcHRpb25zKTtcbiAgICBzdGF0aWMgY3JlYXRlKG9wdGlvbnM6IENvbmZpZ01hbmFnZXJPcHRpb25zKTogQ29uZmlnTWFuYWdlclNlcnZpY2U7XG4gICAgcHJpdmF0ZSBsb2FkUzNDb25maWc7XG4gICAgcHJpdmF0ZSBsb2FkRlNDb25maWc7XG4gICAgbG9hZENvbmZpZ0Zyb21FbnYoc2VydmljZTogQ29uZmlnU2VydmljZSk6IHZvaWQ7XG4gICAgbG9hZENvbmZpZ0Zyb21GaWxlKHNlcnZpY2U6IENvbmZpZ1NlcnZpY2UsIGZpbGU6IHN0cmluZyk6IHZvaWQ7XG4gICAgbG9hZENvbmZpZ0Zyb21GaWxlcyhzZXJ2aWNlOiBDb25maWdTZXJ2aWNlLCBmaWxlczogc3RyaW5nW10pOiB2b2lkO1xuICAgIGxvYWQoKTogUHJvbWlzZTxDb25maWdTZXJ2aWNlPjtcbn1cbiIsImltcG9ydCBtcyBmcm9tICdtcyc7XG5pbXBvcnQgdHlwZSBEcml2ZUVudHJ5IGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRHJpdmVFbnRyeUVudGl0eS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFVybE9wdGlvbnMge1xuICAgIGV4cGlyZXM/OiBtcy5TdHJpbmdWYWx1ZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkVXJsT3B0aW9ucyB7XG4gICAgZXhwaXJlcz86IG1zLlN0cmluZ1ZhbHVlO1xuICAgIG1pbWVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgICBtYXhfc2l6ZT86IG51bWJlcjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlQmFzZUdhdGV3YXkge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQaWNrPERyaXZlQmFzZUdhdGV3YXksICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NvbmZpZyc+KTtcbiAgICBsaXN0KGZvbGRlcj86IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeVtdPjtcbiAgICBmaW5kKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPERyaXZlRW50cnk+O1xuICAgIGV4aXN0cyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICByZWFkKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFVpbnQ4QXJyYXk+O1xuICAgIHJlYWRTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPjtcbiAgICB3cml0ZShmaWxlbmFtZTogc3RyaW5nLCBkYXRhOiBVaW50OEFycmF5KTogUHJvbWlzZTx2b2lkPjtcbiAgICB3cml0ZVN0cmVhbShmaWxlbmFtZTogc3RyaW5nLCBzdHJlYW06IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zPzogVXJsT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICB1cGxvYWRVcmwoZmlsZW5hbWU6IHN0cmluZywgb3B0aW9ucz86IFVwbG9hZFVybE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG59XG4iLCJpbXBvcnQgeyBTM0NsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zMyc7XG5pbXBvcnQgdHlwZSB7IEluZmVyT3V0cHV0IH0gZnJvbSAndmFsaWJvdCc7XG5pbXBvcnQgQmFzZURyaXZlIGZyb20gJyNzZXJ2ZXIvZ2F0ZXdheXMvRHJpdmVCYXNlR2F0ZXdheS50cyc7XG5kZWNsYXJlIGNvbnN0IHNjaGVtYTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGJ1Y2tldDogaW1wb3J0KFwidmFsaWJvdFwiKS5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgaW1wb3J0KFwidmFsaWJvdFwiKS5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCAxLCB1bmRlZmluZWQ+XT47XG4gICAgcmVhZG9ubHkgcmVnaW9uOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgYWNjZXNzS2V5SWQ6IGltcG9ydChcInZhbGlib3RcIikuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW2ltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIGltcG9ydChcInZhbGlib3RcIikuTWluTGVuZ3RoQWN0aW9uPHN0cmluZywgMSwgdW5kZWZpbmVkPl0+O1xuICAgIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleTogaW1wb3J0KFwidmFsaWJvdFwiKS5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgaW1wb3J0KFwidmFsaWJvdFwiKS5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCAxLCB1bmRlZmluZWQ+XT47XG4gICAgcmVhZG9ubHkgc2Vzc2lvblRva2VuOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZW5kcG9pbnQ6IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBwcmVmaXg6IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG5leHBvcnQgdHlwZSBTM0RyaXZlQ29uZmlnID0gSW5mZXJPdXRwdXQ8dHlwZW9mIHNjaGVtYT47XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZVMzIGV4dGVuZHMgQmFzZURyaXZlIHtcbiAgICBwcml2YXRlIHNjaGVtYTtcbiAgICBwcml2YXRlIF9jbGllbnQ/O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBpY2s8QmFzZURyaXZlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnPik7XG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjaGVja1ZhbGlkO1xuICAgIHByb3RlY3RlZCBnZXQgYnVja2V0KCk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZ2V0IHByZWZpeCgpOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBnZXRLZXk7XG4gICAgcHJvdGVjdGVkIGdldCBjbGllbnQoKTogUzNDbGllbnQ7XG4gICAgZXhpc3RzOiBCYXNlRHJpdmVbJ2V4aXN0cyddO1xuICAgIGxpc3Q6IEJhc2VEcml2ZVsnbGlzdCddO1xuICAgIGZpbmQ6IEJhc2VEcml2ZVsnZmluZCddO1xuICAgIG1rZGlyKF9maWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICByZWFkOiBCYXNlRHJpdmVbJ3JlYWQnXTtcbiAgICByZWFkU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gICAgd3JpdGU6IEJhc2VEcml2ZVsnd3JpdGUnXTtcbiAgICB3cml0ZVN0cmVhbShmaWxlbmFtZTogc3RyaW5nLCBzdHJlYW06IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlOiBCYXNlRHJpdmVbJ2RlbGV0ZSddO1xuICAgIHVybDogQmFzZURyaXZlWyd1cmwnXTtcbiAgICB1cGxvYWRVcmw6IEJhc2VEcml2ZVsndXBsb2FkVXJsJ107XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnO1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBTM0RyaXZlIGZyb20gJyNzZXJ2ZXIvZ2F0ZXdheXMvRHJpdmVTM0dhdGV3YXkudHMnO1xuaW1wb3J0IHR5cGUgeyBTM0RyaXZlQ29uZmlnIH0gZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZVMzR2F0ZXdheS50cyc7XG5pbnRlcmZhY2UgSW5pdGlPcHRpb25zIGV4dGVuZHMgT21pdDxTM0RyaXZlQ29uZmlnLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPiB7XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlnUzNTZXJ2aWNlIGV4dGVuZHMgQ29uZmlnU2VydmljZSB7XG4gICAgcHJlZml4OiBzdHJpbmc7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGRyaXZlOiBTM0RyaXZlO1xuICAgIGJ1Y2tldDogc3RyaW5nO1xuICAgIHJlZ2lvbjogc3RyaW5nO1xuICAgIGVuZHBvaW50Pzogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEluaXRpT3B0aW9ucyk7XG4gICAgcHJpdmF0ZSBwYXJzZUtleTtcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD47XG4gICAgc2V0KGZ1bGxLZXk6IHN0cmluZywgdmFsdWU6IGFueSwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICB1bnNldChmdWxsS2V5OiBzdHJpbmcpOiB2b2lkO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBSZXF1ZXN0SW5pdCB9IGZyb20gJ3VuZGljaSc7XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkZWRGZXRjaE9wdGlvbnMgZXh0ZW5kcyBSZXF1ZXN0SW5pdCB7XG4gICAgcHJveHk/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEb3dubG9hZFNlcnZpY2Uge1xuICAgIGZldGNoKHVybDogc3RyaW5nLCBvcHRpb25zPzogRG93bmxvYWRlZEZldGNoT3B0aW9ucyk6IFByb21pc2U8aW1wb3J0KFwidW5kaWNpXCIpLlJlc3BvbnNlPjtcbiAgICBzdHJlYW0odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBEb3dubG9hZGVkRmV0Y2hPcHRpb25zKTogUHJvbWlzZTx7XG4gICAgICAgIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtO1xuICAgICAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIH0+O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBSZWFkU3RyZWFtIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHR5cGUgbXMgZnJvbSAnbXMnO1xuaW1wb3J0IHR5cGUgRHJpdmVFbnRyeSBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0RyaXZlRW50cnlFbnRpdHkudHMnO1xuZXhwb3J0IGludGVyZmFjZSBEcml2ZVVybE9wdGlvbnMge1xuICAgIGV4cGlyZXM/OiBtcy5TdHJpbmdWYWx1ZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJpdmVVcGxvYWRVcmxPcHRpb25zIHtcbiAgICBleHBpcmVzPzogbXMuU3RyaW5nVmFsdWU7XG4gICAgbWltZV90eXBlcz86IHN0cmluZ1tdO1xuICAgIG1heF9zaXplPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBEcml2ZUNvbnRyYWN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBsaXN0KGZvbGRlcj86IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeVtdPjtcbiAgICBmaW5kKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPERyaXZlRW50cnk+O1xuICAgIGV4aXN0cyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICByZWFkKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFVpbnQ4QXJyYXk+O1xuICAgIHdyaXRlKGZpbGVuYW1lOiBzdHJpbmcsIGRhdGE6IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHdyaXRlU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcsIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgdXJsKGZpbGVuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBEcml2ZVVybE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gICAgdXBsb2FkVXJsKGZpbGVuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBEcml2ZVVwbG9hZFVybE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gICAgcmVhZFN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxSZWFkU3RyZWFtPjtcbn1cbiIsImltcG9ydCBEcml2ZUVudHJ5IGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRHJpdmVFbnRyeUVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IERyaXZlVXJsT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RyaXZlQ29udHJhY3QudHMnO1xuaW1wb3J0IEJhc2VEcml2ZSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RyaXZlQmFzZUdhdGV3YXkudHMnO1xuaW1wb3J0IHR5cGUgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW50ZXJmYWNlIFZhbGlkYXRlVXBsb2FkT3B0aW9ucyB7XG4gICAgbWltZV90eXBlczogc3RyaW5nO1xuICAgIG1heFNpemU/OiBudW1iZXI7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBnYXRld2F5czogTWFwPHN0cmluZywgdHlwZW9mIEJhc2VEcml2ZT47XG4gICAgZHJpdmVzOiBNYXA8c3RyaW5nLCBCYXNlRHJpdmU+O1xuICAgIHNlbGVjdGVkPzogc3RyaW5nO1xuICAgIGRlZmF1bHREcml2ZT86IHN0cmluZztcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZ2V0IGN1cnJlbnQoKTogQmFzZURyaXZlIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPERyaXZlU2VydmljZT4pO1xuICAgIGxpc3REcml2ZXMoKToge1xuICAgICAgICBkZWZhdWx0OiBib29sZWFuO1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgfVtdO1xuICAgIGdldChuYW1lPzogc3RyaW5nKTogQmFzZURyaXZlO1xuICAgIHVzZShuYW1lPzogc3RyaW5nKTogRHJpdmVTZXJ2aWNlO1xuICAgIGxpc3QoZm9sZGVyPzogc3RyaW5nKTogUHJvbWlzZTxEcml2ZUVudHJ5W10+O1xuICAgIGZpbmQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeT47XG4gICAgZXhpc3RzKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIHJlYWQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8VWludDhBcnJheT47XG4gICAgcmVhZFN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+O1xuICAgIHJlYWRBc1RleHQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICB3cml0ZShmaWxlbmFtZTogc3RyaW5nLCBwYXlsb2FkOiBVaW50OEFycmF5IHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIHdyaXRlU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcsIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSBhIFVSTCBmb3IgYSBmaWxlIGluIHRoZSBkcml2ZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCAgRmlsZSBpbnN0YW5jZSwgRmlsZSBJRCwgRHJpdmVFbnRyeSBpbnN0YW5jZSBvciBmaWxlbmFtZSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zPzogRHJpdmVVcmxPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIHVwbG9hZFVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zPzogRHJpdmVVcmxPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFVwbG9hZCBhIGZpbGUgZnJvbSB0aGUgbG9jYWwgZmlsZXN5c3RlbSB0byB0aGUgZHJpdmUuXG4gICAgICogQHBhcmFtIHNvdXJjZSBmaWxlbmFtZSBpbiBsb2NhbCBmaWxlc3lzdGVtXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICB1cGxvYWQoc291cmNlOiBzdHJpbmcsIGRlc3RpbmF0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKlxuICAgICAqIERvd25sb2FkIGEgZmlsZSBmcm9tIHRoZSBkcml2ZSB0byB0aGUgbG9jYWwgZmlsZXN5c3RlbS5cbiAgICAgKiBAcGFyYW0gZmlsZW5hbWUgZmlsZW5hbWUgaW4gdGhlIGRyaXZlXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBkb3dubG9hZChmaWxlbmFtZTogc3RyaW5nLCBkZXN0aW5hdGlvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGNyZWF0ZURlZmF1bHREcml2ZXMoKTogUHJvbWlzZTx2b2lkPjtcbiAgICB2YWxpZGF0ZVVwbG9hZChvcHRpb25zOiBWYWxpZGF0ZVVwbG9hZE9wdGlvbnMsIGZpbGU6IHtcbiAgICAgICAgbWltZXR5cGU6IHN0cmluZztcbiAgICAgICAgc2l6ZTogbnVtYmVyO1xuICAgIH0pOiB2b2lkO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBSZXF1ZXN0LCBSZXNwb25zZSwgQ29va2llT3B0aW9ucyB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IEJhc2UgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Db29raWVNYXBFbnRpdHkudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29va2llTWFwRW50aXR5IGV4dGVuZHMgQmFzZSB7XG4gICAgcmVxdWVzdDogUmVxdWVzdDtcbiAgICByZXNwb25zZTogUmVzcG9uc2U7XG4gICAgY29uc3RydWN0b3IocmVxdWVzdDogUmVxdWVzdCwgcmVzcG9uc2U6IFJlc3BvbnNlKTtcbiAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogQ29va2llT3B0aW9ucyk6IHZvaWQ7XG59XG4iLCJpbXBvcnQgQ29va2llTWFwRW50aXR5IGZyb20gXCIjc2VydmVyL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS50c1wiO1xuaW1wb3J0IENvbnRhaW5lclNlcnZpY2UgZnJvbSBcIiNzaGFyZWQvc2VydmljZXMvQ29udGFpbmVyU2VydmljZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBSZXF1ZXN0LCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHR5cGUgeyBSZXNvbHZhYmxlSGVhZCB9IGZyb20gJ0B1bmhlYWQvdnVlJztcbmltcG9ydCBDb25maWdTZXJ2aWNlIGZyb20gXCIjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVJlcXVlc3RDb250ZXh0RW50aXR5T3B0aW9ucyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcmVxdWVzdDogUmVxdWVzdDtcbiAgICByZXNwb25zZTogUmVzcG9uc2U7XG4gICAgc3RhdGU/OiBNYXA8c3RyaW5nLCBhbnk+O1xuICAgIG5vZGVDb250YWluZXI/OiBDb250YWluZXJTZXJ2aWNlO1xuICAgIG5vZGVDb25maWc/OiBDb25maWdTZXJ2aWNlO1xuICAgIG5vZGVTdGF0ZT86IE1hcDxzdHJpbmcsIGFueT47XG4gICAgYnJvd3NlckNvbnRhaW5lcj86IENvbnRhaW5lclNlcnZpY2U7XG4gICAgYnJvd3NlckNvbmZpZz86IENvbmZpZ1NlcnZpY2U7XG4gICAgYnJvd3NlclN0YXRlPzogTWFwPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eSB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcmVxdWVzdDogUmVxdWVzdDtcbiAgICByZXNwb25zZTogUmVzcG9uc2U7XG4gICAgY29va2llczogQ29va2llTWFwRW50aXR5O1xuICAgIGhlYWQ6IFJlc29sdmFibGVIZWFkW107XG4gICAgbm9kZUNvbnRhaW5lcjogQ29udGFpbmVyU2VydmljZTtcbiAgICBub2RlQ29uZmlnOiBDb25maWdTZXJ2aWNlO1xuICAgIG5vZGVTdGF0ZTogTWFwPHN0cmluZywgYW55PjtcbiAgICBicm93c2VyQ29udGFpbmVyOiBDb250YWluZXJTZXJ2aWNlO1xuICAgIGJyb3dzZXJDb25maWc6IENvbmZpZ1NlcnZpY2U7XG4gICAgYnJvd3NlclN0YXRlOiBNYXA8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eU9wdGlvbnMpO1xuICAgIHNldEJyb3dzZXJTdGF0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gICAgc2V0Tm9kZVN0YXRlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXRTdGF0ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gICAgc2V0QnJvd3NlckNvbnRhaW5lclZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXROb2RlQ29udGFpbmVyVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICAgIHNldENvbnRhaW5lclZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXRCcm93c2VyQ29uZmlnVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICAgIHNldE5vZGVDb25maWdWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gICAgc2V0Q29uZmlnVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xufVxuIiwiaW1wb3J0IHR5cGUgeyBLeXNlbHkgfSBmcm9tICdreXNlbHknO1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uPFQgPSBhbnk+IHtcbiAgICBpdGVtczogVFtdO1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBwZXJfcGFnZTogbnVtYmVyO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgdG90YWxfcGFnZXM6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmluZE1hbnlPcHRpb25zIHtcbiAgICBsaW1pdD86IG51bWJlcjtcbiAgICBvZmZzZXQ/OiBudW1iZXI7XG4gICAgb3JkZXJCeT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIG9yZGVyRGlyZWN0aW9uPzogJ2FzYycgfCAnZGVzYycgfCAoJ2FzYycgfCAnZGVzYycpW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlT3B0aW9ucyB7XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBsaW1pdD86IG51bWJlcjtcbiAgICBvcmRlckJ5PzogRmluZE1hbnlPcHRpb25zWydvcmRlckJ5J107XG4gICAgb3JkZXJEaXJlY3Rpb24/OiBGaW5kTWFueU9wdGlvbnNbJ29yZGVyRGlyZWN0aW9uJ107XG59XG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1hbnlPcHRpb25zIHtcbiAgICBsaW1pdD86IG51bWJlcjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFiYXNlUmVwb3NpdG9yeTxURW50aXR5ID0gUmVjb3JkPHN0cmluZywgYW55PiwgVFByaW1hcnlLZXkgPSBhbnksIFRPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHByb3RlY3RlZCBkYjogS3lzZWx5PGFueT47XG4gICAgcHJvdGVjdGVkIHRhYmxlOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHByaW1hcnlLZXk6IHN0cmluZztcbiAgICBhdXRvQ3JlYXRlZEF0OiBib29sZWFuO1xuICAgIGF1dG9VcGRhdGVkQXQ6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoZGI6IEt5c2VseTxhbnk+LCB0YWJsZTogc3RyaW5nLCBwcmltYXJ5S2V5OiBzdHJpbmcpO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiB7XG4gICAgICAgIHFiPzogYW55O1xuICAgIH0gJiBUT3B0aW9ucyk6IGFueTtcbiAgICBjb3VudChvcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8bnVtYmVyPjtcbiAgICBmaW5kTWFueShvcHRpb25zPzogRmluZE1hbnlPcHRpb25zICYgVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHlbXT47XG4gICAgZmluZE9uZShvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHkgfCBudWxsPjtcbiAgICBmaW5kQnlJZChpZDogVFByaW1hcnlLZXksIG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eSB8IG51bGw+O1xuICAgIGZpbmRCeUlkT3JGYWlsKGlkOiBUUHJpbWFyeUtleSwgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxOb25OdWxsYWJsZTxBd2FpdGVkPFRFbnRpdHk+Pj47XG4gICAgcGFnaW5hdGUob3B0aW9ucz86IFBhZ2luYXRlT3B0aW9ucyAmIFRPcHRpb25zKTogUHJvbWlzZTxQYWdpbmF0aW9uPjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlQ3JlYXRlKGRhdGE6IFBhcnRpYWw8VEVudGl0eT4pOiBQcm9taXNlPFBhcnRpYWw8VEVudGl0eT4+O1xuICAgIHByb3RlY3RlZCBhZnRlckNyZWF0ZShkYXRhOiBURW50aXR5KTogUHJvbWlzZTx2b2lkPjtcbiAgICBjcmVhdGUoZGF0YTogUGFydGlhbDxURW50aXR5Pik6IFByb21pc2U8VEVudGl0eT47XG4gICAgcHJvdGVjdGVkIGJlZm9yZUNyZWF0ZU1hbnkoZGF0YTogUGFydGlhbDxURW50aXR5PltdKTogUHJvbWlzZTxQYXJ0aWFsPFRFbnRpdHk+W10+O1xuICAgIHByb3RlY3RlZCBhZnRlckNyZWF0ZU1hbnkoZGF0YTogVEVudGl0eVtdKTogUHJvbWlzZTxURW50aXR5W10+O1xuICAgIGNyZWF0ZU1hbnkoZGF0YTogUGFydGlhbDxURW50aXR5PltdKTogUHJvbWlzZTxhbnlbXT47XG4gICAgcHJvdGVjdGVkIGJlZm9yZVVwZGF0ZShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+LCBpZDogVFByaW1hcnlLZXkpOiBQcm9taXNlPFBhcnRpYWw8VEVudGl0eT4+O1xuICAgIHByb3RlY3RlZCBhZnRlclVwZGF0ZShkYXRhOiBURW50aXR5KTogUHJvbWlzZTxURW50aXR5PjtcbiAgICB1cGRhdGVCeUlkKGlkOiBUUHJpbWFyeUtleSwgZGF0YTogUGFydGlhbDxURW50aXR5Pik6IFByb21pc2U8dm9pZD47XG4gICAgcHJvdGVjdGVkIGJlZm9yZURlbGV0ZShpZDogVFByaW1hcnlLZXkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByb3RlY3RlZCBhZnRlckRlbGV0ZShpZDogVFByaW1hcnlLZXkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlbGV0ZUJ5SWQoaWQ6IFRQcmltYXJ5S2V5KTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlRGVsZXRlTWFueShvcHRpb25zPzogRGVsZXRlTWFueU9wdGlvbnMgJiBUT3B0aW9ucyk6IChEZWxldGVNYW55T3B0aW9ucyAmIFRPcHRpb25zKSB8IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgYWZ0ZXJEZWxldGVNYW55KG9wdGlvbnM/OiBEZWxldGVNYW55T3B0aW9ucyAmIFRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG4gICAgZGVsZXRlTWFueShvcHRpb25zPzogRGVsZXRlTWFueU9wdGlvbnMgJiBUT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgdHlwZSB7IFVzZXJFbnRpdHkgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmltcG9ydCBEYXRhYmFzZVJlcG9zaXRvcnkgZnJvbSAnLi9EYXRhYmFzZVJlcG9zaXRvcnknO1xuZXhwb3J0IGludGVyZmFjZSBVc2VyUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyB7XG4gICAgaWQ/OiBudW1iZXIgfCBudW1iZXJbXTtcbiAgICBzZWFyY2g/OiBzdHJpbmc7XG4gICAgZW1haWw/OiBzdHJpbmc7XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgc2hvd0RlbGV0ZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUmVwb3NpdG9yeUV2ZW50cyB7XG4gICAgJ3VzZXI6Y3JlYXRlZCc6IHtcbiAgICAgICAgdXNlcjogVXNlckVudGl0eTtcbiAgICB9O1xuICAgICd1c2VyOnVwZGF0ZWQnOiB7XG4gICAgICAgIHVzZXI6IFVzZXJFbnRpdHk7XG4gICAgfTtcbiAgICAndXNlcjpkZWxldGVkJzoge1xuICAgICAgICB1c2VyOiBVc2VyRW50aXR5O1xuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVc2VyUmVwb3NpdG9yeSBleHRlbmRzIERhdGFiYXNlUmVwb3NpdG9yeTxVc2VyRW50aXR5LCBudW1iZXIsIFVzZXJSZXBvc2l0b3J5UXVlcnlPcHRpb25zPiB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGF1dG9DcmVhdGVkQXQ6IGJvb2xlYW47XG4gICAgYXV0b1VwZGF0ZWRBdDogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3RvcihkYjogRGF0YWJhc2VSZXBvc2l0b3J5WydkYiddKTtcbiAgICBoYXNoVXNlclBhc3N3b3JkSWZEZWZpbmVkKGRhdGE6IFBhcnRpYWw8VXNlckVudGl0eT4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByb3RlY3RlZCBiZWZvcmVDcmVhdGUoZGF0YTogUGFydGlhbDxVc2VyRW50aXR5Pik6IFByb21pc2U8UGFydGlhbDxVc2VyRW50aXR5Pj47XG4gICAgcHJvdGVjdGVkIGJlZm9yZUNyZWF0ZU1hbnkoZGF0YTogUGFydGlhbDxVc2VyRW50aXR5PltdKTogUHJvbWlzZTxQYXJ0aWFsPFVzZXJFbnRpdHk+W10+O1xuICAgIHByb3RlY3RlZCBiZWZvcmVVcGRhdGUoZGF0YTogUGFydGlhbDxVc2VyRW50aXR5Pik6IFByb21pc2U8UGFydGlhbDxVc2VyRW50aXR5Pj47XG4gICAgcHJvdGVjdGVkIGFmdGVyQ3JlYXRlKGRhdGE6IFVzZXJFbnRpdHkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBVc2VyUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyk6IGFueTtcbn1cbiIsImltcG9ydCB0eXBlIHsgS3lzZWx5IH0gZnJvbSBcImt5c2VseVwiO1xuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRpb25FbnRpeURhdGEge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBleGVjdXRlZEF0OiBEYXRlIHwgbnVsbDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1pZ3JhdGlvbkVudGl0eSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGV4ZWN1dGVkQXQ6IERhdGUgfCBudWxsO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IE1pZ3JhdGlvbkVudGl5RGF0YSk7XG4gICAgdXAoZGI6IEt5c2VseTxhbnk+KTogUHJvbWlzZTx2b2lkPjtcbiAgICBkb3duKGRiOiBLeXNlbHk8YW55Pik6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgRW1taXR0ZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvRW1taXR0ZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IEt5c2VseSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgTWlncmF0aW9uRW50aXR5IGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvTWlncmF0aW9uRW50aXR5LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0aW9uU291cmNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBleGVjdXRlZEF0OiBEYXRlIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEZpbHRlcnMge1xuICAgIHNvdXJjZT86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5pbnRlcmZhY2UgTWlncmF0aW9uUmVzdWx0IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgcmVzdWx0OiAnc3VjY2VzcycgfCAnZmFpbGVkJztcbiAgICBlcnJvcj86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0b3JTZXJ2aWNlT3B0aW9ucyB7XG4gICAgc291cmNlczogTWlncmF0aW9uU291cmNlW107XG4gICAgZGI6IEt5c2VseTxhbnk+O1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBlbW1pdHRlcj86IEVtbWl0dGVyU2VydmljZTtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xufVxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRvclNlcnZpY2VFdmVudHMge1xuICAgICdtaWdyYXRvcjpiZWZvcmUtbWlncmF0ZSc6IHtcbiAgICAgICAgbWlncmF0aW9uczogTWlncmF0aW9uRW50aXR5W107XG4gICAgfTtcbiAgICAnbWlncmF0b3I6YWZ0ZXItbWlncmF0ZSc6IHtcbiAgICAgICAgbWlncmF0aW9uczogTWlncmF0aW9uRW50aXR5W107XG4gICAgfTtcbiAgICAnbWlncmF0b3I6YmVmb3JlLXJvbGxiYWNrJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXTtcbiAgICB9O1xuICAgICdtaWdyYXRvcjphZnRlci1yb2xsYmFjayc6IHtcbiAgICAgICAgbWlncmF0aW9uczogTWlncmF0aW9uRW50aXR5W107XG4gICAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1pZ3JhdG9yU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGVtbWl0dGVyOiBFbW1pdHRlclNlcnZpY2U7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGRiOiBLeXNlbHk8YW55PjtcbiAgICBzb3VyY2VzOiBNaWdyYXRpb25Tb3VyY2VbXTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNaWdyYXRvclNlcnZpY2VPcHRpb25zKTtcbiAgICBhZGRTb3VyY2Uoc291cmNlOiBNaWdyYXRpb25Tb3VyY2UpOiB2b2lkO1xuICAgIHByaXZhdGUgZW5zdXJlTWlncmF0aW9uc1RhYmxlO1xuICAgIGxpc3RTb3VyY2Uoc291cmNlOiBNaWdyYXRpb25Tb3VyY2UpOiBQcm9taXNlPE1pZ3JhdGlvbkVudGl0eVtdPjtcbiAgICBsaXN0KGZpbHRlcnM/OiBMaXN0RmlsdGVycyk6IFByb21pc2U8TWlncmF0aW9uRW50aXR5W10+O1xuICAgIHByaXZhdGUgbWlncmF0ZVVwO1xuICAgIHByaXZhdGUgbWlncmF0ZURvd247XG4gICAgcHJpdmF0ZSBtaWdyYXRlRmlsZTtcbiAgICBwcml2YXRlIHJvbGxiYWNrRmlsZTtcbiAgICBtaWdyYXRlKGZpbHRlcnM/OiBMaXN0RmlsdGVycyAmIHtcbiAgICAgICAgc3RlcHM/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xuICAgIHJvbGxiYWNrKGZpbHRlcnM/OiBMaXN0RmlsdGVycyAmIHtcbiAgICAgICAgc3RlcHM/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xuICAgIHVwKHN0ZXBzPzogbnVtYmVyLCBmaWx0ZXJzPzogTGlzdEZpbHRlcnMpOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPjtcbiAgICBkb3duKHN0ZXBzPzogbnVtYmVyLCBmaWx0ZXJzPzogTGlzdEZpbHRlcnMpOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPjtcbiAgICBsYXRlc3QoZmlsdGVycz86IExpc3RGaWx0ZXJzKTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT47XG4gICAgbGF0ZXN0T3JGYWlsKGZpbHRlcnM/OiBMaXN0RmlsdGVycyk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xuICAgIGZyZXNoKGZpbHRlcnM/OiBMaXN0RmlsdGVycyAmIHtcbiAgICAgICAgc3RlcHM/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IEJhc2VBY2wgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9BY2xFbnRpdHkudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWNsIGV4dGVuZHMgQmFzZUFjbCB7XG4gICAgYXV0aG9yaXplKGFjdGlvbjogc3RyaW5nLCBzdWJqZWN0OiBhbnksIG9iamVjdD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xufVxuIiwiaW1wb3J0IHR5cGUgQWNsIGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvQWNsRW50aXR5LnRzJztcbmltcG9ydCB0eXBlIHsgQ29va2llTWFwRW50aXR5IH0gZnJvbSAnI3NoYXJlZC9pbmRleC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3Qge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2Uge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENvbnRleHQge1xuICAgIHVybDogc3RyaW5nO1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuICAgIGJvZHk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29va2llOiBDb29raWVNYXBFbnRpdHk7XG4gICAgYWNsOiBBY2w7XG4gICAgcmVxdWVzdDogUmVxdWVzdDtcbiAgICByZXNwb25zZTogUmVzcG9uc2U7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBIdHRwQ29udGV4dCB9IGZyb20gXCIuL0h0dHBDb250ZXh0Q29udHJhY3RcIjtcbmV4cG9ydCBpbnRlcmZhY2UgUmVkaXJlY3Qge1xuICAgIHJlZGlyZWN0OiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBIYW5kbGVSZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgUmVkaXJlY3QgfCB2b2lkO1xuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlIHtcbiAgICBoYW5kbGUoY3R4OiBhbnkpOiBIYW5kbGVSZXN1bHQgfCBQcm9taXNlPEhhbmRsZVJlc3VsdD47XG59XG50eXBlIEV4dHJhY3RNaWRkbGV3YXJlQ29udGV4dDxNIGV4dGVuZHMgTWlkZGxld2FyZT4gPSBBd2FpdGVkPFJldHVyblR5cGU8TVsnaGFuZGxlJ10+PiBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPyBBd2FpdGVkPFJldHVyblR5cGU8TVsnaGFuZGxlJ10+PiA6IHt9O1xudHlwZSBQcm9jZXNzTWlkZGxld2FyZUFycmF5PFQgZXh0ZW5kcyByZWFkb25seSBNaWRkbGV3YXJlW10+ID0gVCBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCBleHRlbmRzIE1pZGRsZXdhcmUsIC4uLmluZmVyIFJlc3QgZXh0ZW5kcyByZWFkb25seSBNaWRkbGV3YXJlW11dID8gRXh0cmFjdE1pZGRsZXdhcmVDb250ZXh0PEZpcnN0PiAmIFByb2Nlc3NNaWRkbGV3YXJlQXJyYXk8UmVzdD4gOiB7fTtcbmV4cG9ydCB0eXBlIE1pZGRsZXdhcmVIYW5kbGVSZXN1bHQ8VCBleHRlbmRzIHJlYWRvbmx5IE1pZGRsZXdhcmVbXSA9IHJlYWRvbmx5IE1pZGRsZXdhcmVbXT4gPSBQcm9jZXNzTWlkZGxld2FyZUFycmF5PFQ+O1xuZXhwb3J0IGludGVyZmFjZSBIYW5kbGVyPFQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgKGN0eDogSHR0cENvbnRleHQgJiBUKTogUHJvbWlzZTxhbnk+IHwgYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBIYW5kbGVyLCBNaWRkbGV3YXJlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvUm91dGVyQ29udHJhY3QudHMnO1xudHlwZSBSb3V0ZU1ldGhvZCA9ICdnZXQnIHwgJ0dFVCcgfCAncG9zdCcgfCAnUE9TVCcgfCAncHV0JyB8ICdQVVQnIHwgJ3BhdGNoJyB8ICdQQVRDSCcgfCAnZGVsZXRlJyB8ICdERUxFVEUnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm91dGUge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBtZXRob2Q6IFJvdXRlTWV0aG9kO1xuICAgIGhhbmRsZXI6IEhhbmRsZXI8YW55PiB8IG51bGw7XG4gICAgbWlkZGxld2FyZXM6IE1pZGRsZXdhcmVbXTtcbiAgICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8Um91dGU+KTtcbiAgICBzdGF0aWMgcGFyYW1zKHJvdXRlUGF0aDogc3RyaW5nLCByZXF1ZXN0UGF0aDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBzdGF0aWMgcXVlcnkocmVxdWVzdFBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdG9KU09OKCk6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBtZXRob2Q6IFJvdXRlTWV0aG9kO1xuICAgICAgICBtaWRkbGV3YXJlczogc3RyaW5nW107XG4gICAgICAgIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcbiAgICB9O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IFJvdXRlIGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvUm91dGVFbnRpdHkudHMnO1xuaW1wb3J0IHR5cGUgeyBIYW5kbGVyLCBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlSGFuZGxlUmVzdWx0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvUm91dGVyQ29udHJhY3QudHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xudHlwZSBSb3V0ZUNvbnRleHQgPSAnZ2xvYmFsJyB8ICdncm91cCcgfCAncm91dGUnO1xuaW50ZXJmYWNlIE1pZGRsZXdhcmVSZWdpc3RlciB7XG4gICAgbWlkZGxld2FyZTogTWlkZGxld2FyZTtcbiAgICBjb250ZXh0OiBSb3V0ZUNvbnRleHQ7XG59XG5pbnRlcmZhY2UgTG9hZE9wdGlvbnMge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyRXZlbnRzIHtcbiAgICAncm91dGVyOnJlZ2lzdGVyZWQnOiB7XG4gICAgICAgIHJvdXRlcjogUm91dGVyU2VydmljZTtcbiAgICB9O1xuICAgICdyb3V0ZXI6bG9hZGVkJzoge1xuICAgICAgICByb3V0ZXI6IFJvdXRlclNlcnZpY2U7XG4gICAgfTtcbn1cbmRlY2xhcmUgY29uc3QgUm91dGVyU2VydmljZV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbGlzdGVuZXJzOiBpbXBvcnQoXCIjc2hhcmVkL2luZGV4LnRzXCIpLkxpc3RlbmVyW107XG4gICAgICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBvZmYoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgICAgICBlbWl0QXN5bmMoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG59ICYgaW1wb3J0KFwiI3NoYXJlZC9pbmRleC50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRlclNlcnZpY2U8QyA9IHt9PiBleHRlbmRzIFJvdXRlclNlcnZpY2VfYmFzZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIHJvdXRlczogUm91dGVbXTtcbiAgICBtaWRkbGV3YXJlczogTWlkZGxld2FyZVJlZ2lzdGVyW107XG4gICAgcHJlZml4ZXM6IHN0cmluZ1tdO1xuICAgIGdyb3VwczogUm91dGVyU2VydmljZTxhbnk+W107XG4gICAgZ3JvdXBQcmVmaXhlczogc3RyaW5nW107XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPFJvdXRlclNlcnZpY2U8Qz4+KTtcbiAgICB1c2U8VCBleHRlbmRzIE1pZGRsZXdhcmU+KG1pZGRsZXdhcmU6IFQsIGNvbnRleHQ/OiBSb3V0ZUNvbnRleHQpOiBSb3V0ZXJTZXJ2aWNlPEMgJiBNaWRkbGV3YXJlSGFuZGxlUmVzdWx0PFt0eXBlb2YgbWlkZGxld2FyZV0+PjtcbiAgICBwcmVmaXgocHJlZml4OiBzdHJpbmcpOiB0aGlzO1xuICAgIG1ha2VQYXRoKGFyZ3M6IHN0cmluZyk6IHN0cmluZztcbiAgICBhZGQocGF5bG9hZDogUGljazxSb3V0ZSwgJ3BhdGgnIHwgJ21ldGhvZCcgfCAnaGFuZGxlcic+KTogdm9pZDtcbiAgICBnZXQocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBIYW5kbGVyPEM+KTogdm9pZDtcbiAgICBwb3N0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogSGFuZGxlcjxDPik6IHZvaWQ7XG4gICAgcHV0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogSGFuZGxlcjxDPik6IHZvaWQ7XG4gICAgcGF0Y2gocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBIYW5kbGVyPEM+KTogdm9pZDtcbiAgICBtYW55KG1ldGhvZHM6IFJvdXRlWydtZXRob2QnXVtdLCBwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IEhhbmRsZXI8Qz4pOiB2b2lkO1xuICAgIGRlbGV0ZShwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IEhhbmRsZXI8Qz4pOiB2b2lkO1xuICAgIGdyb3VwKCk6IFJvdXRlclNlcnZpY2U8Qz47XG4gICAgcmVzb2x2ZShtZXRob2Q6IHN0cmluZywgcGF0aDogc3RyaW5nKTogUm91dGUgfCBudWxsO1xuICAgIGV4ZWN1dGUocm91dGU6IFJvdXRlLCBpbml0aWFsQ3R4OiBhbnkpOiBQcm9taXNlPGFueT47XG4gICAgY2xlYXIoKTogdm9pZDtcbiAgICBsaXN0KCk6IFJvdXRlW107XG4gICAgbG9hZChvcHRpb25zPzogTG9hZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWRTeW5jKG9wdGlvbnM/OiBMb2FkT3B0aW9ucyk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBKb2IgfSBmcm9tICdub2RlLXNjaGVkdWxlJztcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZUhhbmRsZXIge1xuICAgICgpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZUVudGl0eU9wdGlvbnMge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3Jvbjogc3RyaW5nO1xuICAgIGhhbmRsZXI/OiBSb3V0aW5lSGFuZGxlcjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRpbmVFbnRpdHkge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3Jvbjogc3RyaW5nO1xuICAgIGpvYj86IEpvYjtcbiAgICBzdGF0aWMgY3JlYXRlKCk6IFJvdXRpbmVFbnRpdHk7XG4gICAgaGFuZGxlOiBSb3V0aW5lSGFuZGxlcjtcbiAgICBzZXRJZChpZDogc3RyaW5nKTogdGhpcztcbiAgICBzZXRDcm9uKGNyb246IHN0cmluZyk6IHRoaXM7XG4gICAgc2V0SGFuZGxlcihoYW5kbGVyOiBSb3V0aW5lSGFuZGxlcik6IHRoaXM7XG59XG4iLCJpbXBvcnQgUm91dGluZUVudGl0eSBmcm9tICcjc2VydmVyL2VudGl0aWVzL1JvdXRpbmVFbnRpdHkudHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuZXhwb3J0IGludGVyZmFjZSBBZGRPcHRpb25zIHtcbiAgICBpZD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVyU2VydmljZU9wdGlvbnMge1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZXJFdmVudHMge1xuICAgICdzY2hlZHVsZXI6cmVnaXN0ZXJlZCc6IHtcbiAgICAgICAgc2NoZWR1bGVyOiBTY2hlZHVsZXJTZXJ2aWNlO1xuICAgIH07XG4gICAgJ3NjaGVkdWxlcjpsb2FkZWQnOiB7XG4gICAgICAgIHNjaGVkdWxlcjogU2NoZWR1bGVyU2VydmljZTtcbiAgICB9O1xuICAgICdzY2hlZHVsZXI6Ym9vdGVkJzoge1xuICAgICAgICBzY2hlZHVsZXI6IFNjaGVkdWxlclNlcnZpY2U7XG4gICAgfTtcbiAgICAnc2NoZWR1bGVyOnNodXRkb3duZWQnOiB7XG4gICAgICAgIHNjaGVkdWxlcjogU2NoZWR1bGVyU2VydmljZTtcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2NoZWR1bGVyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIHJvdXRpbmVzOiBSb3V0aW5lRW50aXR5W107XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGRpcnM6IHN0cmluZ1tdO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBTY2hlZHVsZXJTZXJ2aWNlT3B0aW9ucyk7XG4gICAgc3RhdGljIGNyZWF0ZShvcHRpb25zPzogU2NoZWR1bGVyU2VydmljZU9wdGlvbnMpOiBTY2hlZHVsZXJTZXJ2aWNlO1xuICAgIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlclNlcnZpY2UpOiB2b2lkO1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdm9pZDtcbiAgICBhZGREaXIoZGlyOiBzdHJpbmcpOiB2b2lkO1xuICAgIGFkZChyb3V0aW5lOiBPbWl0PFJvdXRpbmVFbnRpdHksICdqb2InPik6IHZvaWQ7XG4gICAgcmVtb3ZlKGlkOiBSb3V0aW5lRW50aXR5WydpZCddIHwgUm91dGluZUVudGl0eVsnaWQnXVtdKTogdm9pZDtcbiAgICBsb2FkRmlsZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2FkRGlyZWN0b3J5KGRpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD47XG4gICAgaGFzKGlkOiBSb3V0aW5lRW50aXR5WydpZCddKTogYm9vbGVhbjtcbiAgICBzdGFydFJvdXRpbmUoaWQ6IFJvdXRpbmVFbnRpdHlbJ2lkJ10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGFkZEFuZFN0YXJ0KHJvdXRpbmU6IE9taXQ8Um91dGluZUVudGl0eSwgJ2pvYic+KTogUHJvbWlzZTx2b2lkPjtcbiAgICBzdG9wUm91dGluZShpZDogUm91dGluZUVudGl0eVsnaWQnXSk6IFByb21pc2U8dm9pZD47XG4gICAgc3RvcEFuZFJlbW92ZShpZDogUm91dGluZUVudGl0eVsnaWQnXSk6IFByb21pc2U8dm9pZD47XG4gICAgYm9vdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHNodXRkb3duKCk6IFByb21pc2U8dm9pZD47XG4gICAgbGlzdCgpOiBSb3V0aW5lRW50aXR5W107XG59XG4iLCJpbXBvcnQgdHlwZSB7IEt5c2VseSB9IGZyb20gXCJreXNlbHlcIjtcbmV4cG9ydCBpbnRlcmZhY2UgU2VlZGVyRW50aXlEYXRhIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc291cmNlOiBzdHJpbmcgfCBudWxsO1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWVkZXJFbnRpdHkge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBTZWVkZXJFbnRpeURhdGEpO1xuICAgIHJ1bihkYjogS3lzZWx5PGFueT4pOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IEVtbWl0dGVyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS50cyc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBLeXNlbHkgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IFNlZWRlckVudGl0eSBmcm9tICcjc2VydmVyL2VudGl0aWVzL1NlZWRlckVudGl0eS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFNlZWRlclNvdXJjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEZpbHRlcnMge1xuICAgIHNvdXJjZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIG5hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VlZGVyUmVzdWx0IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgcmVzdWx0OiAnc3VjY2VzcycgfCAnZmFpbGVkJztcbiAgICBlcnJvcj86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VlZGVyRXZlbnRzIHtcbiAgICAnc2VlZGVyOmJlZm9yZS1ydW4nOiB7XG4gICAgICAgIHNlZWRlcnM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgJ3NlZWRlcjphZnRlci1ydW4nOiB7XG4gICAgICAgIHNlZWRlcnM6IHN0cmluZ1tdO1xuICAgIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlZWRlclNlcnZpY2VPcHRpb25zIHtcbiAgICBkYjogS3lzZWx5PGFueT47XG4gICAgc291cmNlcz86IFNlZWRlclNvdXJjZVtdO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBlbW1pdHRlcj86IEVtbWl0dGVyU2VydmljZTtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VlZWRlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBlbW1pdHRlcjogRW1taXR0ZXJTZXJ2aWNlO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBkYjogS3lzZWx5PGFueT47XG4gICAgc291cmNlczogU2VlZGVyU291cmNlW107XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogU2VlZGVyU2VydmljZU9wdGlvbnMpO1xuICAgIGFkZFNvdXJjZShzb3VyY2U6IFNlZWRlclNvdXJjZSk6IHZvaWQ7XG4gICAgbGlzdFNvdXJjZShzb3VyY2U6IFNlZWRlclNvdXJjZSk6IFByb21pc2U8U2VlZGVyRW50aXR5W10+O1xuICAgIGxpc3QoZmlsdGVycz86IExpc3RGaWx0ZXJzKTogUHJvbWlzZTxTZWVkZXJFbnRpdHlbXT47XG4gICAgcnVuU2VlZGVyKHNlZWRlcjogU2VlZGVyRW50aXR5KTogUHJvbWlzZTxTZWVkZXJSZXN1bHQ+O1xuICAgIHJ1bihmaWx0ZXJzPzogTGlzdEZpbHRlcnMgJiB7XG4gICAgICAgIHN0ZXBzPzogbnVtYmVyO1xuICAgIH0pOiBQcm9taXNlPFNlZWRlclJlc3VsdFtdPjtcbn1cbiIsImltcG9ydCB0eXBlIFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eSBmcm9tIFwiI3NlcnZlci9lbnRpdGllcy9QYWdlUmVxdWVzdENvbnRleHRFbnRpdHkudHNcIjtcbmltcG9ydCB0eXBlIHsgVXNlclJlcG9zaXRvcnlFdmVudHMgfSBmcm9tIFwiI3NlcnZlci9yZXBvc2l0b3JpZXMvVXNlclJlcG9zaXRvcnkudHNcIjtcbmltcG9ydCB0eXBlIHsgQ2xpRXZlbnRzIH0gZnJvbSBcIiNzZXJ2ZXIvc2VydmljZXMvQ2xpU2VydmljZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBNaWdyYXRvclNlcnZpY2VFdmVudHMgfSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9NaWdyYXRvclNlcnZpY2UudHNcIjtcbmltcG9ydCB0eXBlIHsgUm91dGVyRXZlbnRzIH0gZnJvbSBcIiNzZXJ2ZXIvc2VydmljZXMvUm91dGVyU2VydmljZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBTY2hlZHVsZXJFdmVudHMgfSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9TY2hlZHVsZXJTZXJ2aWNlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFNlZWRlckV2ZW50cyB9IGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL1NlZWRlclNlcnZpY2UudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRDb250cmFjdCBleHRlbmRzIFNlZWRlckV2ZW50cywgUm91dGVyRXZlbnRzLCBDbGlFdmVudHMsIFNjaGVkdWxlckV2ZW50cywgTWlncmF0b3JTZXJ2aWNlRXZlbnRzLCBVc2VyUmVwb3NpdG9yeUV2ZW50cyB7XG4gICAgJ3BhZ2U6cmVxdWVzdDpzdGFydCc6IFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eTtcbiAgICAncGFnZTpyZXF1ZXN0OmJlZm9yZS1yZW5kZXInOiBQYWdlUmVxdWVzdENvbnRleHRFbnRpdHk7XG4gICAgJ3BhZ2U6cmVxdWVzdDphZnRlci1yZW5kZXInOiBQYWdlUmVxdWVzdENvbnRleHRFbnRpdHk7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IEJhc2VFbW1pdHRlclNlcnZpY2UgZnJvbSBcIi4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9FbW1pdHRlclNlcnZpY2VcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRDb250cmFjdCB9IGZyb20gJy4uL2NvbnRyYWN0cy9FdmVudENvbnRyYWN0JztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtbWl0dGVyU2VydmljZSBleHRlbmRzIEJhc2VFbW1pdHRlclNlcnZpY2U8RXZlbnRDb250cmFjdD4ge1xufVxuIiwiaW1wb3J0IG1zIGZyb20gJ21zJztcbmltcG9ydCBFbnZTZXJ2aWNlIGZyb20gJy4vRW52U2VydmljZSc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW50ZXJmYWNlIFVSTE9wdGlvbnMge1xuICAgIGRhdGE/OiBhbnk7XG4gICAgZXhwaXJlcz86IG1zLlN0cmluZ1ZhbHVlO1xuICAgIGV4cGlyZUF0PzogbnVtYmVyIHwgRGF0ZTtcbn1cbmludGVyZmFjZSBFbmNyeXB0U2VydmljZU9wdGlvbnMge1xuICAgIGtleT86IHN0cmluZztcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBlbnY/OiBFbnZTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW5jcnlwdFNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBlbnY6IEVudlNlcnZpY2U7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxnb3JpdGhtO1xuICAgIHByaXZhdGUga2V5O1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEVuY3J5cHRTZXJ2aWNlT3B0aW9ucyk7XG4gICAgc3RhdGljIGNyZWF0ZShvcHRpb25zOiBFbmNyeXB0U2VydmljZU9wdGlvbnMpOiBFbmNyeXB0U2VydmljZTtcbiAgICBzZXREZWJ1ZyhkZWJ1ZzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHZvaWQ7XG4gICAgc2V0RW52KGVudjogRW52U2VydmljZSk6IHZvaWQ7XG4gICAgc2V0S2V5KGtleTogc3RyaW5nKTogdm9pZDtcbiAgICBlbmNyeXB0KHRleHQ6IHN0cmluZyk6IHN0cmluZztcbiAgICBkZWNyeXB0KG9wdGlvbnM6IHN0cmluZyk6IHN0cmluZztcbiAgICBlbmNyeXB0T2JqZWN0KG9iajogYW55KTogc3RyaW5nO1xuICAgIGRlY3J5cHRPYmplY3Q8VD4oZW5jcnlwdGVkU3RyaW5nOiBzdHJpbmcpOiBUO1xuICAgIHVybChwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBVUkxPcHRpb25zKTogc3RyaW5nO1xuICAgIHZlcmlmeVVybChlbmNyeXB0ZWRLZXk6IHN0cmluZyk6IGFueTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmltcG9ydCBFbnZTZXJ2aWNlIGZyb20gJy4vRW52U2VydmljZSc7XG5leHBvcnQgaW50ZXJmYWNlIEV4Y2VwdGlvblNlcnZpY2VPcHRpb25zIHtcbiAgICBpZ25vcmVDb2RlRXJyb3JzPzogbnVtYmVyW107XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBlbnY/OiBFbnZTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhjZXB0aW9uU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGlnbm9yZUNvZGVFcnJvcnM6IG51bWJlcltdO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBlbnY6IEVudlNlcnZpY2U7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IEV4Y2VwdGlvblNlcnZpY2VPcHRpb25zKTtcbiAgICBoYW5kbGUoZXJyb3I6IEVycm9yLCByZXNwb25zZTogUmVzcG9uc2UpOiBSZXNwb25zZTxhbnksIFJlY29yZDxzdHJpbmcsIGFueT4+O1xufVxuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFzaGVyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGhhc2godmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICBjb21wYXJlKGE6IHN0cmluZywgYjogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbn1cbiIsImltcG9ydCB0eXBlIHsgU2VydmVyIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBjb3JzIGZyb20gJ2NvcnMnO1xuaW1wb3J0IFJvdXRlciBmcm9tICcuL1JvdXRlclNlcnZpY2UudHMnO1xuaW1wb3J0IEV4Y2VwdGlvblNlcnZpY2UgZnJvbSAnLi9FeGNlcHRpb25TZXJ2aWNlLnRzJztcbmltcG9ydCBSb3V0ZSBmcm9tICcjc2VydmVyL2VudGl0aWVzL1JvdXRlRW50aXR5LnRzJztcbmltcG9ydCB7IEVtbWl0dGVyU2VydmljZSwgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuaW1wb3J0IEVudlNlcnZpY2UgZnJvbSAnLi9FbnZTZXJ2aWNlLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgcm91dGVyPzogUm91dGVyO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG4gICAgZXhjZXB0aW9uPzogRXhjZXB0aW9uU2VydmljZTtcbiAgICBlbW1pdHRlcj86IEVtbWl0dGVyU2VydmljZTtcbiAgICBlbnY/OiBFbnZTZXJ2aWNlO1xuICAgIG9yaWdpbnM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgYXBwOiBleHByZXNzLkFwcGxpY2F0aW9uO1xuICAgIHNlcnZlcjogU2VydmVyIHwgbnVsbDtcbiAgICByb3V0ZXI6IFJvdXRlcjtcbiAgICBleGNlcHRpb246IEV4Y2VwdGlvblNlcnZpY2U7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGVtbWl0dGVyOiBFbW1pdHRlclNlcnZpY2U7XG4gICAgZW52OiBFbnZTZXJ2aWNlO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIG9uVW5oYW5kbGVyUm91dGVkOiAoKHJlcTogZXhwcmVzcy5SZXF1ZXN0LCByZXM6IGV4cHJlc3MuUmVzcG9uc2UpID0+IHZvaWQpIHwgbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwU2VydmljZU9wdGlvbnMpO1xuICAgIGdldEV4cHJlc3NBcHAoKTogZXhwcmVzcy5BcHBsaWNhdGlvbjtcbiAgICBjb3JzKG9wdGlvbnM6IGNvcnMuQ29yc09wdGlvbnMpOiB2b2lkO1xuICAgIHVzZTogZXhwcmVzcy5BcHBsaWNhdGlvblsndXNlJ107XG4gICAgcm91dGVzKCk6IHZvaWQ7XG4gICAgcGFyc2VyKHJlcTogZXhwcmVzcy5SZXF1ZXN0LCByZXM6IGV4cHJlc3MuUmVzcG9uc2UsIG5leHQ6IGV4cHJlc3MuTmV4dEZ1bmN0aW9uKTogdm9pZDtcbiAgICBleGVjdXRlKHVybDogVVJMLCByZXF1ZXN0OiBleHByZXNzLlJlcXVlc3QsIHJlc3BvbnNlOiBleHByZXNzLlJlc3BvbnNlLCByb3V0ZTogUm91dGUpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHN0YXJ0KCk6IHZvaWQ7XG4gICAgc3RvcCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IHsgVXNlckVudGl0eSB9IGZyb20gXCIjc2hhcmVkL2luZGV4LnRzXCI7XG5pbXBvcnQgdHlwZSBIdHRwU2VydmljZSBmcm9tIFwiLi9IdHRwU2VydmljZVwiO1xuaW1wb3J0IHN1cGVydGVzdCwgeyB0eXBlIFRlc3QgfSBmcm9tICdzdXBlcnRlc3QnO1xuZXhwb3J0IGludGVyZmFjZSBIdHRwVGVzdGVyU2VydmljZU9wdGlvbnMge1xuICAgIGh0dHA6IEh0dHBTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cFRlc3RlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBodHRwOiBIdHRwU2VydmljZTtcbiAgICByZXF1ZXN0OiBzdXBlcnRlc3QuU3VwZXJUZXN0PHN1cGVydGVzdC5UZXN0PjtcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNvb2tpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSHR0cFRlc3RlclNlcnZpY2VPcHRpb25zKTtcbiAgICBjcmVhdGUocmVxdWVzdDogVGVzdCk6IFRlc3Q7XG4gICAgZ2V0KHVybDogc3RyaW5nKTogVGVzdDtcbiAgICBwb3N0KHVybDogc3RyaW5nLCBib2R5PzogYW55KTogVGVzdDtcbiAgICBsb2dpbkJ5VXNlcih1c2VyOiBVc2VyRW50aXR5KTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2dpbkJ5VXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgQmFzZUxpZmVjeWNsZVNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9MaWZlY3ljbGVTZXJ2aWNlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpZmVjeWNsZVNlcnZpY2UgZXh0ZW5kcyBCYXNlTGlmZWN5Y2xlU2VydmljZSB7XG4gICAgYWRkRGlyZWN0b3J5KGRpcm5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgdHlwZSB7IENvbHVtblR5cGUsIEdlbmVyYXRlZCB9IGZyb20gJ2t5c2VseSc7XG5leHBvcnQgaW50ZXJmYWNlIFNvZnREZWxldGVUYWJsZSB7XG4gICAgZGVsZXRlZF9hdD86IENvbHVtblR5cGU8RGF0ZSB8IHN0cmluZyB8IG51bGwsIERhdGUgfCBzdHJpbmcgfCB1bmRlZmluZWQsIERhdGUgfCBzdHJpbmcgfCBudWxsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGltZXN0YW1wVGFibGUge1xuICAgIGNyZWF0ZWRfYXQ6IENvbHVtblR5cGU8RGF0ZSwgc3RyaW5nIHwgdW5kZWZpbmVkLCBuZXZlcj47XG4gICAgdXBkYXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlLCBzdHJpbmcgfCB1bmRlZmluZWQsIG5ldmVyPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0aW9uc1RhYmxlIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbW9kdWxlOiBzdHJpbmcgfCBudWxsO1xuICAgIGV4ZWN1dGVkX2F0OiBDb2x1bW5UeXBlPERhdGUsIHN0cmluZyB8IHVuZGVmaW5lZCwgbmV2ZXI+O1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIHZlcmlmaWVkX2F0PzogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZXRhVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5UYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGV4cGlyZXNfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJvbGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVUYWJsZSB7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHJvbGVfaWQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvblRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUsIFNvZnREZWxldGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBvcmlnaW46IHN0cmluZztcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uczogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbkFzc2lnbm1lbnRUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIHBlcm1pc3Npb25faWQ6IG51bWJlcjtcbiAgICBhc3NpZ25hYmxlX3R5cGU6IHN0cmluZztcbiAgICBhc3NpZ25hYmxlX2lkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlLCBTb2Z0RGVsZXRlVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICBkcml2ZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgY2xpZW50X25hbWU6IHN0cmluZztcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHB1cnBvc2U6IHN0cmluZztcbiAgICBwdWJsaWM6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVNZXRhVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgZmlsZV9pZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkU2Vzc2lvblRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgcHVycG9zZTogc3RyaW5nO1xuICAgIG1pbWVfdHlwZXM6IHN0cmluZztcbiAgICBtYXhfc2l6ZTogbnVtYmVyO1xuICAgIGV4cGlyZXNfYXQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSm9iVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBxdWV1ZV9pZDogc3RyaW5nO1xuICAgIHN0YXR1czogJ3BlbmRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICdjb21wbGV0ZWQnIHwgJ2ZhaWxlZCc7XG4gICAgZGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgICByZXN1bHQ6IHN0cmluZyB8IG51bGw7XG4gICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsVGVtcGxhdGVUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlLCBTb2Z0RGVsZXRlVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc3ViamVjdDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGJvZHk6IHN0cmluZyB8IG51bGw7XG4gICAgZW5naW5lOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBFbWFpbFRlbXBsYXRlTWV0YVRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUsIFNvZnREZWxldGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIHRlbXBsYXRlX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9hdXRoQWNjb3VudFRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUsIFNvZnREZWxldGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIHVzZXJfaWQ6IG51bWJlcjtcbiAgICBwcm92aWRlcjogc3RyaW5nO1xuICAgIHByb3ZpZGVyX3VzZXJfaWQ6IHN0cmluZztcbiAgICBwcm92aWRlcl91c2VyX2VtYWlsOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBPYXV0aFRva2VuVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICB1c2VyX2lkOiBudW1iZXIgfCBudWxsO1xuICAgIHByb3ZpZGVyOiBzdHJpbmcgfCBudWxsO1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgZXhwaXJlc19hdDogc3RyaW5nO1xuICAgIG1ldGFkYXRhOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQ29udHJhY3Qge1xuICAgIHVzZXJzOiBVc2VyVGFibGU7XG4gICAgdXNlcl9tZXRhczogVXNlck1ldGFUYWJsZTtcbiAgICB0b2tlbnM6IFRva2VuVGFibGU7XG4gICAgbWlncmF0aW9uczogTWlncmF0aW9uc1RhYmxlO1xuICAgIGZpbGVzOiBGaWxlVGFibGU7XG4gICAgZmlsZV9tZXRhczogRmlsZU1ldGFUYWJsZTtcbiAgICBmaWxlX3VwbG9hZF9zZXNzaW9uczogVXBsb2FkU2Vzc2lvblRhYmxlO1xuICAgIHJvbGVzOiBSb2xlVGFibGU7XG4gICAgdXNlcl9yb2xlczogVXNlclJvbGVUYWJsZTtcbiAgICBwZXJtaXNzaW9uczogUGVybWlzc2lvblRhYmxlO1xuICAgIHBlcm1pc3Npb25zX2Fzc2lnbm1lbnRzOiBQZXJtaXNzaW9uQXNzaWdubWVudFRhYmxlO1xuICAgIGpvYnM6IEpvYlRhYmxlO1xuICAgIGVtYWlsX3RlbXBsYXRlczogRW1haWxUZW1wbGF0ZVRhYmxlO1xuICAgIGVtYWlsX3RlbXBsYXRlX21ldGFzOiBFbWFpbFRlbXBsYXRlTWV0YVRhYmxlO1xuICAgIG9hdXRoX2FjY291bnRzOiBPYXV0aEFjY291bnRUYWJsZTtcbiAgICBvYXV0aF90b2tlbnM6IE9hdXRoVG9rZW5UYWJsZTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYWZpbHRlciB7XG4gICAgZXE/OiBzdHJpbmc7XG4gICAgbmVxPzogc3RyaW5nO1xuICAgIGxpa2U/OiBzdHJpbmc7XG4gICAgbmxpa2U/OiBzdHJpbmc7XG4gICAgaW4/OiBzdHJpbmdbXTtcbiAgICBuaW4/OiBzdHJpbmdbXTtcbiAgICBndD86IHN0cmluZztcbiAgICBndGU/OiBzdHJpbmc7XG4gICAgbHQ/OiBzdHJpbmc7XG4gICAgbHRlPzogc3RyaW5nO1xuICAgIGlzX251bGw/OiBib29sZWFuO1xuICAgIGV4aXN0cz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVlcnlQYXlsb2FkIHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBNZXRhZGFmaWx0ZXI7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhZGF0YVF1ZXJ5U2VydmljZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBwcml2YXRlIHBheWxvYWQ7XG4gICAgcHJpdmF0ZSB0YWJsZTtcbiAgICBwcml2YXRlIGZvcmVpZ25LZXk7XG4gICAgcHJpdmF0ZSBwYXJlbnRLZXk7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZDogTWV0YWRhdGFRdWVyeVBheWxvYWQsIHRhYmxlOiBULCBmb3JlaWduS2V5OiBrZXlvZiBEYXRhYmFzZVtUXSwgcGFyZW50S2V5Pzogc3RyaW5nKTtcbiAgICBnZXQgbmVlZFdoZXJlSW4oKTogYm9vbGVhbjtcbiAgICBnZXQgbmVlZFdoZXJlTm90SW4oKTogYm9vbGVhbjtcbiAgICBhcHBseShkYlF1ZXJ5OiBhbnkpOiBhbnk7XG4gICAgcHJpdmF0ZSBidWlsZFJvd0NvbmRpdGlvbnM7XG4gICAgd2hlcmVJbjogPERCUXVlcnk+KGViOiBFeHByZXNzaW9uQnVpbGRlcjxhbnksIGFueT4pID0+IERCUXVlcnk7XG4gICAgd2hlcmVOb3RJbjogPERCUXVlcnk+KGViOiBFeHByZXNzaW9uQnVpbGRlcjxhbnksIGFueT4pID0+IERCUXVlcnk7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhZGF0YVNlcnZpY2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdGFibGU6IHN0cmluZztcbiAgICBmb3JlaWduS2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZDogUGljazxNZXRhZGF0YVNlcnZpY2UsICd0YWJsZScgfCAnZm9yZWlnbktleScgfCAnaWQnPik7XG4gICAgc3RhdGljIHBhcnNlKHZhbHVlOiBhbnkpOiBhbnk7XG4gICAgc3RhdGljIGZsYXR0ZW4oaXRlbXM6IEFycmF5PHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogYW55O1xuICAgIH0+KTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPjtcbiAgICBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBQcm9taXNlPFQ+O1xuICAgIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxpc3QoKTogUHJvbWlzZTxBcnJheTx7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IGFueTtcbiAgICB9Pj47XG4gICAgYWxsKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG59XG4iLCJleHBvcnQgdHlwZSBJcGNNZXNzYWdlPFQgPSBhbnk+ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBkYXRhOiBUO1xufTtcbnR5cGUgSXBjTGlzdGVuZXI8VCA9IGFueT4gPSAoZGF0YTogVCkgPT4gdm9pZDtcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFBsdWdpbklwY0NsaWVudCB7XG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnM7XG4gICAgY29uc3RydWN0b3IoKTtcbiAgICBvbjxUID0gYW55PihldmVudDogc3RyaW5nLCBjYWxsYmFjazogSXBjTGlzdGVuZXI8VD4pOiB2b2lkO1xuICAgIG9mZjxUID0gYW55PihldmVudDogc3RyaW5nLCBjYWxsYmFjazogSXBjTGlzdGVuZXI8VD4pOiB2b2lkO1xuICAgIGVtaXQ8VCA9IGFueT4oZXZlbnQ6IHN0cmluZywgZGF0YT86IFQpOiBzdHJpbmc7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IENoaWxkUHJvY2VzcyB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG50eXBlIElwY0xpc3RlbmVyPFQgPSBhbnk+ID0gKGRhdGE6IFQpID0+IHZvaWQ7XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBQbHVnaW5JcGNIb3N0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkO1xuICAgIHByaXZhdGUgbGlzdGVuZXJzO1xuICAgIGNvbnN0cnVjdG9yKGNoaWxkOiBDaGlsZFByb2Nlc3MpO1xuICAgIG9uPFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBJcGNMaXN0ZW5lcjxUPik6IHZvaWQ7XG4gICAgb2ZmPFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBJcGNMaXN0ZW5lcjxUPik6IHZvaWQ7XG4gICAgZW1pdDxUID0gYW55PihldmVudDogc3RyaW5nLCBkYXRhPzogVCk6IHN0cmluZztcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFBsdWdpbklwY0NsaWVudCB9IGZyb20gJy4vUGx1Z2luSXBjQ2xpZW50LnRzJztcbmV4cG9ydCB0eXBlIEh0dHBNZXRob2QgPSAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnO1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZURlZmluaXRpb24ge1xuICAgIG1ldGhvZDogSHR0cE1ldGhvZDtcbiAgICBwYXRoOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUmVxdWVzdCB7XG4gICAgcmVxdWVzdElkOiBzdHJpbmc7XG4gICAgbWV0aG9kOiBIdHRwTWV0aG9kO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBib2R5PzogYW55O1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVJlc3BvbnNlUGF5bG9hZCB7XG4gICAgcmVxdWVzdElkOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBudW1iZXI7XG4gICAgYm9keT86IGFueTtcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVSZXBseSB7XG4gICAgc3RhdHVzKGNvZGU6IG51bWJlcik6IFJvdXRlUmVwbHk7XG4gICAgc2VuZChib2R5PzogYW55KTogdm9pZDtcbn1cbmV4cG9ydCB0eXBlIFJvdXRlSGFuZGxlciA9IChyZXE6IFJvdXRlUmVxdWVzdCwgcmVwbHk6IFJvdXRlUmVwbHkpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgUGx1Z2luUm91dGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsaWVudDtcbiAgICBwcml2YXRlIHJvdXRlcztcbiAgICBjb25zdHJ1Y3RvcihjbGllbnQ6IFBsdWdpbklwY0NsaWVudCk7XG4gICAgcHJpdmF0ZSBkaXNwYXRjaDtcbiAgICBwcml2YXRlIHJlZ2lzdGVyO1xuICAgIGdldChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQ7XG4gICAgcG9zdChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQ7XG4gICAgcHV0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZDtcbiAgICBwYXRjaChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQ7XG4gICAgZGVsZXRlKHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZDtcbn1cbiIsImltcG9ydCB0eXBlIFJvdXRlciBmcm9tICcjc2VydmVyL3NlcnZpY2VzL1JvdXRlclNlcnZpY2UudHMnO1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRlckZpbGVCYXNlUm91dGluZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgZGlyZWN0b3J5O1xuICAgIHByaXZhdGUgcHJlZml4O1xuICAgIHByaXZhdGUgbW9kdWxlPztcbiAgICBwcml2YXRlIHJvdXRlcjtcbiAgICBwcml2YXRlIGxvZ2dlcjtcbiAgICBwcml2YXRlIHJvdXRlcztcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBzZXREaXJlY3RvcnkoZGlyZWN0b3J5OiBzdHJpbmcpOiB0aGlzO1xuICAgIHNldFByZWZpeChwcmVmaXg6IHN0cmluZyk6IHRoaXM7XG4gICAgc2V0Um91dGVyKHJvdXRlcjogUm91dGVyKTogdGhpcztcbiAgICBzZXRNb2R1bGUobW9kdWxlOiBzdHJpbmcpOiB0aGlzO1xuICAgIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlclNlcnZpY2UpOiB0aGlzO1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdGhpcztcbiAgICBzdGF0aWMgY3JlYXRlKGRpcmVjdG9yeTogc3RyaW5nKTogUm91dGVyRmlsZUJhc2VSb3V0aW5nU2VydmljZTtcbiAgICBsb2FkRmlsZXMoKTogUHJvbWlzZTx2b2lkPjtcbiAgICByZWdpc3RlclJvdXRlcygpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBSb3V0ZXJTZXJ2aWNlIGZyb20gJy4vUm91dGVyU2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclJlZ2lzdGVyRW50cnkge1xuICAgIGZpbGVwYXRoOiBzdHJpbmc7XG4gICAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb3V0ZXJSZWdpc3RlcjxDID0ge30+IGV4dGVuZHMgUm91dGVyU2VydmljZTxDPiB7XG4gICAgZmlsZXM6IE1hcDxzdHJpbmcsIFJvdXRlclJlZ2lzdGVyRW50cnk+O1xuICAgIGRpcnM6IE1hcDxzdHJpbmcsIFJvdXRlclJlZ2lzdGVyRW50cnk+O1xuICAgIGNvbnN0cnVjdG9yKHJvdXRlcj86IFBhcnRpYWw8Um91dGVyU2VydmljZTxDPj4pO1xuICAgIGFkZEZpbGUoZmlsZW5hbWU6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZDtcbiAgICBhZGREaXIoZGlybmFtZTogc3RyaW5nLCBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xuICAgIHByaXZhdGUgbG9hZEZpbGU7XG4gICAgcHJpdmF0ZSBsb2FkRGlyO1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCB0eXBlIFJvdXRlciBmcm9tICcuL1JvdXRlclNlcnZpY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvUm91dGVyQ29udHJhY3QudHMnO1xuaW1wb3J0IHR5cGUgeyBIdHRwQ29udGV4dCB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0h0dHBDb250ZXh0Q29udHJhY3QudHMnO1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VNZXRob2QgPSAnaW5kZXgnIHwgJ3Nob3cnIHwgJ3N0b3JlJyB8ICd1cGRhdGUnIHwgJ2Rlc3Ryb3knO1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJSZXNvdXJjZU9wdGlvbnMge1xuICAgIG1pZGRsZXdhcmU/OiBQYXJ0aWFsPFJlY29yZDxSZXNvdXJjZU1ldGhvZCB8ICdhbGwnLCBNaWRkbGV3YXJlPj47XG4gICAgZXhjZXB0PzogUmVzb3VyY2VNZXRob2RbXTtcbn1cbmRlY2xhcmUgY29uc3QgUm91dGVyUmVzb3VyY2VTZXJ2aWNlX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBsaXN0ZW5lcnM6IGltcG9ydChcIiNzaGFyZWQvbWl4aW5zL0hvb2tzTWl4aW4udHNcIikuTGlzdGVuZXJbXTtcbiAgICAgICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIG9mZihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG4gICAgICAgIGVtaXRBc3luYyhldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb3V0ZXJSZXNvdXJjZVNlcnZpY2UgZXh0ZW5kcyBSb3V0ZXJSZXNvdXJjZVNlcnZpY2VfYmFzZSB7XG4gICAgcHJpdmF0ZSBvcHRpb25zO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBSb3V0ZXJSZXNvdXJjZU9wdGlvbnMpO1xuICAgIGluZGV4KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT47XG4gICAgc2hvdyhjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTxhbnk+O1xuICAgIHN0b3JlKGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT47XG4gICAgdXBkYXRlKGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT47XG4gICAgZGVzdHJveShjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTxhbnk+O1xuICAgIHByaXZhdGUgd3JhcDtcbiAgICByZWdpc3Rlcihyb3V0ZXI6IFJvdXRlcik6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCB0eXBlIENvbmZpZ01vZGVsID0gUmV0dXJuVHlwZTxSZXR1cm5UeXBlPHR5cGVvZiBNb2RlbENvbmZpZz4+O1xuaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGVsQ29uZmlnKGtleTogc3RyaW5nLCBvcHRpb25zPzogT3B0aW9ucyk6IDxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSkgPT4ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7fTtcbiAgICBfX2lzQ29uZmlnTW9kZWw6IGJvb2xlYW47XG4gICAgc2VyaWFsaXplPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIHJvdzogYW55KTogUHJvbWlzZTxUPjtcbiAgICBsaXN0PFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQpOiBQcm9taXNlPFRbXT47XG4gICAgZmluZDxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTxUIHwgbnVsbD47XG4gICAgZmluZE9yRmFpbDxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTxUPjtcbiAgICBjcmVhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaXRlbTogVCAmIHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTx2b2lkPjtcbiAgICB1cGRhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZywgZGF0YTogVCk6IFByb21pc2U8dm9pZD47XG4gICAgdXBkYXRlT3JDcmVhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZywgZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD47XG4gICAgZGVzdHJveTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn0gJiBUQmFzZTtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCBSb3V0ZXJSZXNvdXJjZVNlcnZpY2UgZnJvbSAnLi9Sb3V0ZXJSZXNvdXJjZVNlcnZpY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZXJSZXNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL1JvdXRlclJlc291cmNlU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IEh0dHBDb250ZXh0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvSHR0cENvbnRleHRDb250cmFjdC50cyc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ01vZGVsIH0gZnJvbSAnI3NlcnZlci9taXhpbnMvTW9kZWxDb25maWdNaXhpbi50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb3V0ZXJSZXNvdXJjZUNvbmZpZyBleHRlbmRzIFJvdXRlclJlc291cmNlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBtb2RlbDtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbDogQ29uZmlnTW9kZWwsIG9wdGlvbnM/OiBSb3V0ZXJSZXNvdXJjZU9wdGlvbnMpO1xuICAgIGluZGV4KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPHtcbiAgICAgICAgcGFnZTogbnVtYmVyO1xuICAgICAgICB0b3RhbDogbnVtYmVyO1xuICAgICAgICB0b3RhbF9wYWdlczogbnVtYmVyO1xuICAgICAgICBpdGVtczoge31bXTtcbiAgICB9PjtcbiAgICBzaG93KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPHt9PjtcbiAgICBzdG9yZShjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTx7XG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICB9PjtcbiAgICB1cGRhdGUoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG4gICAgZGVzdHJveShjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTx7XG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgfT47XG59XG4iLCJpbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW50ZXJmYWNlIENvbW1hbmRPcHRpb25zIHtcbiAgICBjd2Q/OiBzdHJpbmc7XG4gICAgZW52PzogTm9kZUpTLlByb2Nlc3NFbnY7XG4gICAgc2hlbGw/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTaGVsbFNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNoZWxsU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogU2hlbGxTZXJ2aWNlT3B0aW9ucyk7XG4gICAgLyoqXG4gICAgICogRXhlY3V0ZSBhIHNoZWxsIGNvbW1hbmQgYW5kIHJldHVybiBhIHByb21pc2VcbiAgICAgKi9cbiAgICBjb21tYW5kKGJpbjogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSwgb3B0aW9ucz86IENvbW1hbmRPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgc2hlbGwgY29tbWFuZCBhbmQgcmV0dXJuIHRoZSBvdXRwdXQgYXMgYSBzdHJpbmdcbiAgICAgKi9cbiAgICBleGVjdXRlQ29tbWFuZFdpdGhPdXRwdXQoYmluOiBzdHJpbmcsIGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zPzogQ29tbWFuZE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSBDb25maWdTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvQ29uZmlnU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IFBhZ2luYXRpb24sIEZpbmRNYW55T3B0aW9ucywgUGFnaW5hdGVPcHRpb25zLCBEZWxldGVNYW55T3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWdSZXBvc2l0b3J5PFRFbnRpdHkgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUT3B0aW9ucyA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBDb25maWdTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBrZXk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJpbWFyeUtleTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogQ29uZmlnU2VydmljZSwga2V5OiBzdHJpbmcsIHByaW1hcnlLZXk/OiBzdHJpbmcpO1xuICAgIHByb3RlY3RlZCBnZXRJdGVtcygpOiBURW50aXR5W107XG4gICAgcHJvdGVjdGVkIHNldEl0ZW1zKGl0ZW1zOiBURW50aXR5W10pOiB2b2lkO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBUT3B0aW9ucyk6IFRFbnRpdHlbXTtcbiAgICBjb3VudChvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPG51bWJlcj47XG4gICAgZmluZE1hbnkob3B0aW9ucz86IEZpbmRNYW55T3B0aW9ucyAmIFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5W10+O1xuICAgIGZpbmRPbmUob3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5IHwgbnVsbD47XG4gICAgZmluZEJ5SWQoaWQ6IHN0cmluZywgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5IHwgbnVsbD47XG4gICAgZmluZEJ5SWRPckZhaWwoaWQ6IHN0cmluZywgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5PjtcbiAgICBwYWdpbmF0ZShvcHRpb25zPzogUGFnaW5hdGVPcHRpb25zICYgVE9wdGlvbnMpOiBQcm9taXNlPFBhZ2luYXRpb248VEVudGl0eT4+O1xuICAgIGNyZWF0ZShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+KTogUHJvbWlzZTxURW50aXR5PjtcbiAgICBjcmVhdGVNYW55KGRhdGE6IFBhcnRpYWw8VEVudGl0eT5bXSk6IFByb21pc2U8VEVudGl0eVtdPjtcbiAgICB1cGRhdGVCeUlkKGlkOiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VEVudGl0eT4pOiBQcm9taXNlPFRFbnRpdHk+O1xuICAgIGRlbGV0ZUJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlTWFueShvcHRpb25zPzogRGVsZXRlTWFueU9wdGlvbnMgJiBUT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgRGF0YWJhc2VSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgdHlwZSB7IE1ldGFkYXRhUXVlcnlQYXlsb2FkIH0gZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVF1ZXJ5U2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSBGaWxlRW50aXR5IGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRmlsZUVudGl0eS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVSZXBvc2l0b3J5UXVlcnlPcHRpb25zIHtcbiAgICBpZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIHNlYXJjaD86IHN0cmluZztcbiAgICBwdXJwb3NlPzogc3RyaW5nW107XG4gICAgY2xpZW50X25hbWU/OiBzdHJpbmdbXTtcbiAgICBtZXRhcz86IE1ldGFkYXRhUXVlcnlQYXlsb2FkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZVJlcG9zaXRvcnkgZXh0ZW5kcyBEYXRhYmFzZVJlcG9zaXRvcnk8RmlsZUVudGl0eSwgRmlsZUVudGl0eVsnaWQnXSwgRmlsZVJlcG9zaXRvcnlRdWVyeU9wdGlvbnM+IHtcbiAgICBjb25zdHJ1Y3RvcihkYjogRGF0YWJhc2VSZXBvc2l0b3J5WydkYiddKTtcbiAgICBxdWVyeShvcHRpb25zPzogRmlsZVJlcG9zaXRvcnlRdWVyeU9wdGlvbnMpOiBhbnk7XG59XG4iLCJpbXBvcnQgU2hlbGxTZXJ2aWNlIGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL1NoZWxsU2VydmljZS50c1wiO1xuaW1wb3J0IEdpdEJyYW5jaEVudGl0eSBmcm9tIFwiI3NoYXJlZC9lbnRpdGllcy9HaXRCcmFuY2hFbnRpdHkudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgR2l0QnJhbmNoUmVwb3NpdG9yeU9wdGlvbnMge1xuICAgIGN3ZDogc3RyaW5nO1xuICAgIHNoZWxsPzogU2hlbGxTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2l0QnJhbmNoUmVwb3NpdG9yeSB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgc2hlbGw6IFNoZWxsU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBHaXRCcmFuY2hSZXBvc2l0b3J5T3B0aW9ucyk7XG4gICAgbGlzdCgpOiBQcm9taXNlPEdpdEJyYW5jaEVudGl0eVtdPjtcbiAgICBmZXRjaChvcHRpb25zOiB7XG4gICAgICAgIHJlbW90ZTogc3RyaW5nO1xuICAgICAgICBicmFuY2g6IHN0cmluZztcbiAgICAgICAgbG9jYWxOYW1lPzogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IFNoZWxsU2VydmljZSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9TaGVsbFNlcnZpY2UudHNcIjtcbmltcG9ydCBHaXRDb21taXRFbnRpdHkgZnJvbSBcIiNzaGFyZWQvZW50aXRpZXMvR2l0Q29tbWl0RW50aXR5LnRzXCI7XG5leHBvcnQgaW50ZXJmYWNlIEdpdENvbW1pdFJlcG9zaXRvcnlPcHRpb25zIHtcbiAgICBjd2Q6IHN0cmluZztcbiAgICBzaGVsbD86IFNoZWxsU2VydmljZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR2l0Q29tbWl0TGlzdE9wdGlvbnMge1xuICAgIGxpbWl0PzogbnVtYmVyO1xuICAgIGN1cnNvcj86IHN0cmluZztcbiAgICBicmFuY2hlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBHaXRDb21taXRMaXN0UmVzdWx0IHtcbiAgICBpdGVtczogR2l0Q29tbWl0RW50aXR5W107XG4gICAgY3Vyc29yX3ByZXZpb3VzOiBzdHJpbmcgfCBudWxsO1xuICAgIGN1cnNvcl9jdXJyZW50OiBzdHJpbmcgfCBudWxsO1xuICAgIGN1cnNvcl9uZXh0OiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2l0Q29tbWl0UmVwb3NpdG9yeSB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgc2hlbGw6IFNoZWxsU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBHaXRDb21taXRSZXBvc2l0b3J5T3B0aW9ucyk7XG4gICAgbGlzdChvcHRpb25zPzogR2l0Q29tbWl0TGlzdE9wdGlvbnMpOiBQcm9taXNlPEdpdENvbW1pdExpc3RSZXN1bHQ+O1xuICAgIGNoZWNrb3V0KGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgRGF0YWJhc2VSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25Bc3NpZ25tZW50IH0gZnJvbSAnI3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25Bc3NpZ25tZW50U2NoZW1hLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5UXVlcnlPcHRpb25zIHtcbiAgICBpZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIHBlcm1pc3Npb25JZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIGFzc2lnbmFibGVJZD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIGFzc2lnbmFibGVUeXBlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnkgZXh0ZW5kcyBEYXRhYmFzZVJlcG9zaXRvcnk8UGVybWlzc2lvbkFzc2lnbm1lbnQsIFBlcm1pc3Npb25Bc3NpZ25tZW50WydpZCddLCBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnlRdWVyeU9wdGlvbnM+IHtcbiAgICBjb25zdHJ1Y3RvcihkYjogRGF0YWJhc2VSZXBvc2l0b3J5WydkYiddKTtcbiAgICBxdWVyeShvcHRpb25zPzogUGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5UXVlcnlPcHRpb25zKTogYW55O1xufVxuIiwiaW1wb3J0IERhdGFiYXNlUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9EYXRhYmFzZVJlcG9zaXRvcnkudHMnO1xuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9uIH0gZnJvbSAnI3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25TY2hlbWEudHMnO1xuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyB7XG4gICAgaWQ/OiBudW1iZXIgfCBudW1iZXJbXTtcbiAgICBzZWFyY2g/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJtaXNzaW9uUmVwb3NpdG9yeSBleHRlbmRzIERhdGFiYXNlUmVwb3NpdG9yeTxQZXJtaXNzaW9uLCBQZXJtaXNzaW9uWydpZCddLCBQZXJtaXNzaW9uUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucz4ge1xuICAgIGNvbnN0cnVjdG9yKGRiOiBEYXRhYmFzZVJlcG9zaXRvcnlbJ2RiJ10pO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBQZXJtaXNzaW9uUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyk6IGFueTtcbn1cbiIsImltcG9ydCB0eXBlIHsgRmluZE1hbnlPcHRpb25zLCBQYWdpbmF0ZU9wdGlvbnMsIFBhZ2luYXRpb24gfSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9EYXRhYmFzZVJlcG9zaXRvcnkudHMnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIElSZXBvc2l0b3J5VHlwZXM8VEVudGl0eSA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRQcmltYXJ5S2V5VHlwZSA9IGFueSwgVE9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY291bnQob3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxudW1iZXI+O1xuICAgIGZpbmRNYW55KG9wdGlvbnM/OiBUT3B0aW9ucyAmIEZpbmRNYW55T3B0aW9ucyk6IFByb21pc2U8VEVudGl0eVtdPjtcbiAgICBmaW5kQnlJZChpZDogVFByaW1hcnlLZXlUeXBlLCBvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHkgfCBudWxsPjtcbiAgICBmaW5kQnlJZE9yRmFpbChpZDogVFByaW1hcnlLZXlUeXBlLCBvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHk+O1xuICAgIHBhZ2luYXRlKG9wdGlvbnM/OiBUT3B0aW9ucyAmIFBhZ2luYXRlT3B0aW9ucyk6IFByb21pc2U8UGFnaW5hdGlvbj47XG4gICAgY3JlYXRlKGRhdGE6IFBhcnRpYWw8VEVudGl0eT4sIG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eT47XG4gICAgY3JlYXRlTWFueShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+W10sIG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eVtdPjtcbiAgICBkZWxldGVCeUlkKGlkOiBUUHJpbWFyeUtleVR5cGUpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlc3Ryb3lNYW55KG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEYXRhYmFzZVJlcG9zaXRvcnlJbmZlck1peGluPFRFbnRpdHkgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUUHJpbWFyeUtleVR5cGUgPSBhbnksIFRPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55Pj4oKTogPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKSA9PiBUQmFzZSAmIENvbnN0cnVjdG9yPElSZXBvc2l0b3J5VHlwZXM8VEVudGl0eSwgVFByaW1hcnlLZXlUeXBlLCBUT3B0aW9ucz4+O1xuIiwiaW1wb3J0IERhdGFiYXNlUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9EYXRhYmFzZVJlcG9zaXRvcnkudHMnO1xuaW1wb3J0IHR5cGUgeyBUb2tlbiB9IGZyb20gJyNzaGFyZWQvc2NoZW1hcy90b2tlblNjaGVtYS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyB7XG4gICAgaWQ/OiBudW1iZXIgfCBudW1iZXJbXTtcbiAgICBzZWFyY2g/OiBzdHJpbmc7XG4gICAgdHlwZT86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlcG9zaXRvcnlHZW5lcmF0ZU9wdGlvbnMge1xuICAgIHVzZXJfaWQ6IG51bWJlcjtcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGV4cGlyZXNfaW5faG91cnM/OiBudW1iZXI7XG59XG5kZWNsYXJlIGNvbnN0IFRva2VuUmVwb3NpdG9yeV9iYXNlOiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2luZGV4LnRzXCIpLkNvbnN0cnVjdG9yICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9pbmRleC50c1wiKS5Db25zdHJ1Y3RvcjxpbXBvcnQoXCIjc2VydmVyL21peGlucy9EYXRhYmFzZVJlcG9zaXRvcnlJbmZlck1peGluLnRzXCIpLklSZXBvc2l0b3J5VHlwZXM8e1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICBleHBpcmVzX2F0OiBzdHJpbmc7XG59LCBudW1iZXIsIFRva2VuUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucz4+ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9pbmRleC50c1wiKS5Db25zdHJ1Y3Rvcjx7fT4gJiB0eXBlb2YgRGF0YWJhc2VSZXBvc2l0b3J5O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9rZW5SZXBvc2l0b3J5IGV4dGVuZHMgVG9rZW5SZXBvc2l0b3J5X2Jhc2Uge1xuICAgIGF1dG9DcmVhdGVkQXQ6IGJvb2xlYW47XG4gICAgYXV0b1VwZGF0ZWRBdDogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3RvcihkYjogRGF0YWJhc2VSZXBvc2l0b3J5WydkYiddKTtcbiAgICBxdWVyeShvcHRpb25zPzogVG9rZW5SZXBvc2l0b3J5UXVlcnlPcHRpb25zKTogYW55O1xuICAgIGZpbmRCeVRva2VuKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPFRva2VuIHwgbnVsbD47XG4gICAgZ2VuZXJhdGUob3B0aW9uczogVG9rZW5SZXBvc2l0b3J5R2VuZXJhdGVPcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IEt5c2VseSB9IGZyb20gXCJreXNlbHlcIjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFiYXNlR2F0ZXdheTxEQj4gZXh0ZW5kcyBLeXNlbHk8REI+IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgX2RpYWxlY3RfaWRlbnRpZmllcjogc3RyaW5nO1xufVxuIiwiaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBCYXNlRHJpdmUgZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZUJhc2VHYXRld2F5LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgRHJpdmVGU0NvbmZpZyB7XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZUZTIGV4dGVuZHMgQmFzZURyaXZlIHtcbiAgICBwcml2YXRlIHNjaGVtYTtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQaWNrPEJhc2VEcml2ZSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJz4pO1xuICAgIGdldCB2YWxpZCgpOiBib29sZWFuO1xuICAgIHByaXZhdGUgY2hlY2tWYWxpZDtcbiAgICBwcm90ZWN0ZWQgZ2V0IHJvb3RQYXRoKCk6IHN0cmluZztcbiAgICBleGlzdHM6IEJhc2VEcml2ZVsnZXhpc3RzJ107XG4gICAgbGlzdDogQmFzZURyaXZlWydsaXN0J107XG4gICAgZmluZDogQmFzZURyaXZlWydmaW5kJ107XG4gICAgbWtkaXIoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgcmVhZDogQmFzZURyaXZlWydyZWFkJ107XG4gICAgcmVhZFN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxmcy5SZWFkU3RyZWFtPjtcbiAgICB3cml0ZTogQmFzZURyaXZlWyd3cml0ZSddO1xuICAgIHdyaXRlU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcsIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGU6IEJhc2VEcml2ZVsnZGVsZXRlJ107XG4gICAgdXJsOiBCYXNlRHJpdmVbJ3VybCddO1xuICAgIHVwbG9hZFVybDogQmFzZURyaXZlWyd1cGxvYWRVcmwnXTtcbn1cbiIsImltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBTaGVsbFNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9TaGVsbFNlcnZpY2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBHaXRSZXBvSW5mbyB7XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgaGVhZDogc3RyaW5nIHwgbnVsbDtcbiAgICBzaG9ydEhhc2g6IHN0cmluZztcbiAgICBpc0RldGFjaGVkSGVhZDogYm9vbGVhbjtcbiAgICByZW1vdGVzOiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR2l0R2F0ZXdheU9wdGlvbnMge1xuICAgIGN3ZDogc3RyaW5nO1xuICAgIHNzaEtleT86IHN0cmluZztcbiAgICBzc2hLZXlGaWxlPzogc3RyaW5nO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG4gICAgc2hlbGw/OiBTaGVsbFNlcnZpY2U7XG4gICAgZGVidWc/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEdpdEdhdGV3YXlFeGVjdXRlT3B0aW9ucyB7XG4gICAgYXJnczogc3RyaW5nO1xuICAgIGN3ZD86IHN0cmluZztcbiAgICBzc2hLZXk/OiBzdHJpbmc7XG4gICAgc3NoS2V5RmlsZT86IHN0cmluZztcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIHNoZWxsPzogU2hlbGxTZXJ2aWNlO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEdpdEdhdGV3YXkge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3dkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3NoS2V5PztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNzaEtleUZpbGU/O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVidWc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzaGVsbDtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBHaXRHYXRld2F5T3B0aW9ucyk7XG4gICAgc3RhdGljIGV4ZWN1dGUob3B0aW9uczogR2l0R2F0ZXdheUV4ZWN1dGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIHN0YXRpYyBjbG9uZShyZXBvVXJsOiBzdHJpbmcsIHRhcmdldERpcjogc3RyaW5nLCBvcHRpb25zOiBPbWl0PEdpdEdhdGV3YXlPcHRpb25zLCAnY3dkJz4pOiBQcm9taXNlPEdpdEdhdGV3YXk+O1xuICAgIHJ1bihhcmdzOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gICAgdHJ5UnVuKGFyZ3M6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD47XG4gICAgY2hlY2tvdXQocmVmOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gICAgZmV0Y2hBbGwoKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIHB1bGwoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBnZXRJbmZvKCk6IFByb21pc2U8R2l0UmVwb0luZm8+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHZhbHVlVG9TdHJpbmcodmFsdWU6IGFueSk6IHN0cmluZztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1ldGFkYXRhPFRhYmxlIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+KG1ldGFzVGFibGU6IFRhYmxlLCBmb3JlaWduS2V5OiBrZXlvZiBEYXRhYmFzZVtUYWJsZV0pOiA8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpID0+IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPjtcbiAgICAgICAgZ2V0PFQgPSBhbnk+KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUKTogUHJvbWlzZTxUPjtcbiAgICAgICAgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbn0gJiBUQmFzZTtcbiIsImltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuaW1wb3J0IERhdGFiYXNlR2F0ZXdheSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RhdGFiYXNlR2F0ZXdheS50cyc7XG5kZWNsYXJlIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZUdhdGV3YXk8RGF0YWJhc2VDb250cmFjdD47XG5leHBvcnQgZGVmYXVsdCBkYXRhYmFzZTtcbiIsImltcG9ydCB0eXBlIHsgU2VsZWN0YWJsZSwgU2VsZWN0UXVlcnlCdWlsZGVyLCBFeHByZXNzaW9uQnVpbGRlciBhcyBLRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IGRiIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9kYXRhYmFzZS50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmV4cG9ydCB0eXBlIFNlbGVjdEZyb208VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFJldHVyblR5cGU8dHlwZW9mIGRiLnNlbGVjdEZyb208VD4+IHwgU2VsZWN0UXVlcnlCdWlsZGVyPERhdGFiYXNlLCBULCBhbnk+O1xuZXhwb3J0IHR5cGUgSW5zZXJ0RnJvbTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gUmV0dXJuVHlwZTx0eXBlb2YgZGIuaW5zZXJ0SW50bzxUPj47XG5leHBvcnQgdHlwZSBVcGRhdGVGcm9tPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBSZXR1cm5UeXBlPHR5cGVvZiBkYi51cGRhdGVUYWJsZTxUPj47XG5leHBvcnQgdHlwZSBEZWxldGVGcm9tPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBSZXR1cm5UeXBlPHR5cGVvZiBkYi5kZWxldGVGcm9tPFQ+PjtcbmV4cG9ydCB0eXBlIFNlbGVjdEJ1aWxkZXI8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFNlbGVjdFF1ZXJ5QnVpbGRlcjxEYXRhYmFzZSwgVCwgU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT4+O1xuZXhwb3J0IHR5cGUgRXhwcmVzc2lvbkJ1aWxkZXI8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IEtFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBub3c6ICgpID0+IGltcG9ydChcImt5c2VseVwiKS5SYXdCdWlsZGVyPHN0cmluZz47XG5leHBvcnQgaW50ZXJmYWNlIFNlcmlhbGl6ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiB7XG4gICAgc2VyaWFsaXplPzogKHJvdzogU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT4pID0+IGFueTtcbn1cbmV4cG9ydCB0eXBlIFNlcmlhbGl6YWJsZVJlc3VsdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHwgdW5kZWZpbmVkPiA9IE8gZXh0ZW5kcyB1bmRlZmluZWQgPyBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPiA6IE8gZXh0ZW5kcyB7XG4gICAgc2VyaWFsaXplOiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gaW5mZXIgUjtcbn0gPyBSIDogU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT47XG4iLCJpbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25CdWlsZGVyLCBFeHByZXNzaW9uV3JhcHBlciwgSW5zZXJ0YWJsZSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdEZyb20sIFNlcmlhbGl6YWJsZVJlc3VsdCwgU2VyaWFsaXplT3B0aW9ucywgVXBkYXRlRnJvbSB9IGZyb20gJy4vY29tbW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVPckNyZWF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiBleHRlbmRzIFNlcmlhbGl6ZU9wdGlvbnM8VD4ge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICB3aGVyZT86IChxYjogRXhwcmVzc2lvbkJ1aWxkZXI8RGF0YWJhc2UsIFQ+KSA9PiBFeHByZXNzaW9uV3JhcHBlcjxEYXRhYmFzZSwgVCwgYW55PjtcbiAgICBzZWxlY3Q/OiAocWI6IFNlbGVjdEZyb208VD4pID0+IFNlbGVjdEZyb208VD47XG4gICAgdXBkYXRlPzogKHFiOiBVcGRhdGVGcm9tPFQ+KSA9PiBVcGRhdGVGcm9tPFQ+O1xuICAgIHZhbHVlczogSW5zZXJ0YWJsZTxEYXRhYmFzZVtUXT4gfCBJbnNlcnRhYmxlPERhdGFiYXNlW1RdPltdO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdXBkYXRlT3JDcmVhdGU8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgVXBkYXRlT3JDcmVhdGVPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPj47XG4iLCJpbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25CdWlsZGVyLCBFeHByZXNzaW9uV3JhcHBlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdEZyb20sIFNlcmlhbGl6ZU9wdGlvbnMsIFNlcmlhbGl6YWJsZVJlc3VsdCB9IGZyb20gJy4vY29tbW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0T3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IGV4dGVuZHMgU2VyaWFsaXplT3B0aW9uczxUPiB7XG4gICAgbGltaXQ/OiBudW1iZXI7XG4gICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICB3aGVyZT86IChxYjogRXhwcmVzc2lvbkJ1aWxkZXI8RGF0YWJhc2UsIFQ+KSA9PiBFeHByZXNzaW9uV3JhcHBlcjxEYXRhYmFzZSwgVCwgYW55PjtcbiAgICBxdWVyeT86IChxYjogU2VsZWN0RnJvbTxUPikgPT4gU2VsZWN0RnJvbTxUPjtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGxpc3Q8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgTGlzdE9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8U2VyaWFsaXphYmxlUmVzdWx0PFQsIE8+W10+O1xuIiwiaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uQnVpbGRlciwgRXhwcmVzc2lvbldyYXBwZXIsIFNlbGVjdGFibGUgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RGcm9tIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbXBvcnQgUGFnaW5hdGlvbiBmcm9tICcjc2hhcmVkL2VudGl0aWVzL1BhZ2luYXRpb25FbnRpdHkudHMnO1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIHBhZ2U/OiBudW1iZXI7XG4gICAgbGltaXQ/OiBudW1iZXI7XG4gICAgb3JkZXJCeT86IERhdGFiYXNlW1RdIHwgKGtleW9mIERhdGFiYXNlW1RdKVtdO1xuICAgIG9yZGVyRGVzYz86ICgnYXNjJyB8ICdkZXNjJykgfCAoJ2FzYycgfCAnZGVzYycpW107XG4gICAgd2hlcmU/OiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPERhdGFiYXNlLCBUPikgPT4gRXhwcmVzc2lvbldyYXBwZXI8RGF0YWJhc2UsIFQsIGFueT47XG4gICAgc2VyaWFsaXplPzogKHJvdzogU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT4pID0+IGFueTtcbiAgICBxdWVyeT86IChxYjogU2VsZWN0RnJvbTxUPikgPT4gYW55O1xufVxuZXhwb3J0IHR5cGUgUGFnaW5hdGVSZXN1bHQ8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgUGFnaW5hdGVPcHRpb25zPFQ+IHwgdW5kZWZpbmVkPiA9IE8gZXh0ZW5kcyB1bmRlZmluZWQgPyBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPiA6IE8gZXh0ZW5kcyB7XG4gICAgc2VyaWFsaXplOiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gaW5mZXIgUjtcbn0gPyBSIDogU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBwYWdpbmF0ZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBQYWdpbmF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8UGFnaW5hdGlvbjxQYWdpbmF0ZVJlc3VsdDxULCBPPj4+O1xuIiwiaW1wb3J0IHR5cGUgeyBTZWxlY3RGcm9tIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIENvdW50T3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBxdWVyeT86IChxYjogU2VsZWN0RnJvbTxUPikgPT4gU2VsZWN0RnJvbTxUPjtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjb3VudDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBDb3VudE9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8bnVtYmVyPjtcbiIsImltcG9ydCB0eXBlIHsgSW5zZXJ0YWJsZSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6YWJsZVJlc3VsdCwgU2VyaWFsaXplT3B0aW9ucyB9IGZyb20gJy4vY29tbW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHtcbiAgICB2YWx1ZXM6IEluc2VydGFibGU8RGF0YWJhc2VbVF0+O1xuICAgIHByaW1hcnlLZXk/OiBzdHJpbmc7XG4gICAgbm9ybWFsaXplPzogYm9vbGVhbiB8ICgodmFsdWU6IGFueSkgPT4gYW55KTtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHQ8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgQ3JlYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlTXlzcWw8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgQ3JlYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIENyZWF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8aW1wb3J0KFwia3lzZWx5XCIpLkRyYWluT3V0ZXJHZW5lcmljPHsgW0tfMSBpbiAoRGF0YWJhc2VbVF0gZXh0ZW5kcyBpbmZlciBUXzEgPyB7IFtLIGluIGtleW9mIFRfMV06IGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPFRfMVtLXT4gZXh0ZW5kcyBpbmZlciBUXzIgPyBUXzIgZXh0ZW5kcyBpbXBvcnQoXCJreXNlbHlcIikuU2VsZWN0VHlwZTxUXzFbS10+ID8gVF8yIGV4dGVuZHMgbmV2ZXIgPyBuZXZlciA6IEsgOiBuZXZlciA6IG5ldmVyOyB9IDogbmV2ZXIpW2tleW9mIERhdGFiYXNlW1RdXV06IGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPERhdGFiYXNlW1RdW0tfMV0+OyB9Pj47XG4iLCJpbXBvcnQgdHlwZSB7IFVwZGF0ZWFibGUsIEV4cHJlc3Npb25CdWlsZGVyLCBFeHByZXNzaW9uV3JhcHBlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUZyb20sIFNlcmlhbGl6YWJsZVJlc3VsdCwgU2VyaWFsaXplT3B0aW9ucyB9IGZyb20gJy4vY29tbW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgdmFsdWVzOiBVcGRhdGVhYmxlPERhdGFiYXNlW1RdPjtcbiAgICBub3JtYWxpemU/OiBib29sZWFuIHwgKCh2YWx1ZTogYW55KSA9PiBhbnkpO1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xuICAgIHF1ZXJ5PzogKHFiOiBVcGRhdGVGcm9tPFQ+KSA9PiBVcGRhdGVGcm9tPFQ+O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdXBkYXRlRGVmYXVsdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBVcGRhdGVPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPltdPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHVwZGF0ZU15c3FsPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFVwZGF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8U2VyaWFsaXphYmxlUmVzdWx0PFQsIE8+W10+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFVwZGF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8aW1wb3J0KFwia3lzZWx5XCIpLkRyYWluT3V0ZXJHZW5lcmljPHsgW0tfMSBpbiAoRGF0YWJhc2VbVF0gZXh0ZW5kcyBpbmZlciBUXzEgPyB7IFtLIGluIGtleW9mIFRfMV06IGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPFRfMVtLXT4gZXh0ZW5kcyBpbmZlciBUXzIgPyBUXzIgZXh0ZW5kcyBpbXBvcnQoXCJreXNlbHlcIikuU2VsZWN0VHlwZTxUXzFbS10+ID8gVF8yIGV4dGVuZHMgbmV2ZXIgPyBuZXZlciA6IEsgOiBuZXZlciA6IG5ldmVyOyB9IDogbmV2ZXIpW2tleW9mIERhdGFiYXNlW1RdXV06IGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPERhdGFiYXNlW1RdW0tfMV0+OyB9PltdPjtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbldyYXBwZXIsIEV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuaW1wb3J0IGRiIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9kYXRhYmFzZS50cyc7XG50eXBlIERlbGV0ZUZyb208VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFJldHVyblR5cGU8dHlwZW9mIGRiLmRlbGV0ZUZyb208VD4+O1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95T3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBxdWVyeT86IChxYjogRGVsZXRlRnJvbTxUPikgPT4gRGVsZXRlRnJvbTxUPjtcbiAgICB3aGVyZT86IChxYjogRXhwcmVzc2lvbkJ1aWxkZXI8RGF0YWJhc2UsIFQ+KSA9PiBFeHByZXNzaW9uV3JhcHBlcjxEYXRhYmFzZSwgVCwgYW55Pjtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGRlc3Ryb3k8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgRGVzdHJveU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8dm9pZD47XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25CdWlsZGVyLCBFeHByZXNzaW9uV3JhcHBlciwgSW5zZXJ0YWJsZSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdEZyb20sIFNlcmlhbGl6YWJsZVJlc3VsdCwgU2VyaWFsaXplT3B0aW9ucyB9IGZyb20gJy4vY29tbW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGludGVyZmFjZSBGaXJzdE9yQ3JlYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IGV4dGVuZHMgU2VyaWFsaXplT3B0aW9uczxUPiB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIHNlbGVjdD86IChxYjogU2VsZWN0RnJvbTxUPikgPT4gU2VsZWN0RnJvbTxUPjtcbiAgICB3aGVyZT86IChxYjogRXhwcmVzc2lvbkJ1aWxkZXI8RGF0YWJhc2UsIFQ+KSA9PiBFeHByZXNzaW9uV3JhcHBlcjxEYXRhYmFzZSwgVCwgYW55PjtcbiAgICB2YWx1ZXM6IEluc2VydGFibGU8RGF0YWJhc2VbVF0+IHwgSW5zZXJ0YWJsZTxEYXRhYmFzZVtUXT5bXTtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZpcnN0T3JDcmVhdGU8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgRmlyc3RPckNyZWF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8U2VyaWFsaXphYmxlUmVzdWx0PFQsIE8+PjtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkJ1aWxkZXIsIEV4cHJlc3Npb25XcmFwcGVyIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VsZWN0RnJvbSwgU2VyaWFsaXphYmxlUmVzdWx0LCBTZXJpYWxpemVPcHRpb25zIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPbmVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHF1ZXJ5PzogKHFiOiBTZWxlY3RGcm9tPFQ+KSA9PiBTZWxlY3RGcm9tPFQ+O1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZmluZE9uZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBGaW5kT25lT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz4gfCBudWxsPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZpbmRPbmVPckZhaWw8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgRmluZE9uZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8Tm9uTnVsbGFibGU8QXdhaXRlZDxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz4+Pj47XG4iLCJpbXBvcnQgdHlwZSB7IFVwZGF0ZU9yQ3JlYXRlT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy91cGRhdGVPckNyZWF0ZS50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmltcG9ydCB0eXBlIHsgTGlzdE9wdGlvbnMgfSBmcm9tICcjc2VydmVyL3F1ZXJpZXMvbGlzdC50cyc7XG5pbXBvcnQgdHlwZSB7IFBhZ2luYXRlT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9wYWdpbmF0ZS50cyc7XG5pbXBvcnQgdHlwZSB7IENvdW50T3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9jb3VudC50cyc7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZU9wdGlvbnMgfSBmcm9tICcjc2VydmVyL3F1ZXJpZXMvY3JlYXRlLnRzJztcbmltcG9ydCB0eXBlIHsgVXBkYXRlT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy91cGRhdGUudHMnO1xuaW1wb3J0IHR5cGUgeyBEZXN0cm95T3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9kZXN0cm95LnRzJztcbmltcG9ydCB0eXBlIHsgRmlyc3RPckNyZWF0ZU9wdGlvbnMgfSBmcm9tICcjc2VydmVyL3F1ZXJpZXMvZmlyc3RPckNyZWF0ZS50cyc7XG5pbXBvcnQgdHlwZSB7IEZpbmRPbmVPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL2ZpbmRPbmUudHMnO1xuaW1wb3J0IHR5cGUgUGFnaW5hdGlvbiBmcm9tICcjc2hhcmVkL2VudGl0aWVzL1BhZ2luYXRpb25FbnRpdHkudHMnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdFF1ZXJ5QnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5leHBvcnQgdHlwZSBNb2RlbExpc3RPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBPbWl0PExpc3RPcHRpb25zPFQ+LCAnc2VyaWFsaXplJz47XG5leHBvcnQgdHlwZSBNb2RlbEZpbmRPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBPbWl0PEZpbmRPbmVPcHRpb25zPFQ+LCAnc2VyaWFsaXplJyB8ICdvcmRlckJ5Jz47XG5leHBvcnQgdHlwZSBNb2RlbFBhZ2luYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gT21pdDxQYWdpbmF0ZU9wdGlvbnM8VD4sICdzZXJpYWxpemUnPjtcbmV4cG9ydCB0eXBlIE1vZGVsQ291bnRPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBDb3VudE9wdGlvbnM8VD47XG5leHBvcnQgdHlwZSBNb2RlbENyZWF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IE9taXQ8Q3JlYXRlT3B0aW9uczxUPiwgJ3NlcmlhbGl6ZSc+O1xuZXhwb3J0IHR5cGUgTW9kZWxVcGRhdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBPbWl0PFVwZGF0ZU9wdGlvbnM8VD4sICdzZXJpYWxpemUnPjtcbmV4cG9ydCB0eXBlIE1vZGVsRGVzdHJveU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IERlc3Ryb3lPcHRpb25zPFQ+O1xuZXhwb3J0IHR5cGUgTW9kZWxGaXJzdE9yQ3JlYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gT21pdDxGaXJzdE9yQ3JlYXRlT3B0aW9uczxUPiwgJ3NlcmlhbGl6ZSc+O1xuZXhwb3J0IHR5cGUgTW9kZWxVcGRhdGVPckNyZWF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IE9taXQ8VXBkYXRlT3JDcmVhdGVPcHRpb25zPFQ+LCAnc2VyaWFsaXplJz47XG5leHBvcnQgdHlwZSBNb2RlbEVudGl0eSA9IFJldHVyblR5cGU8UmV0dXJuVHlwZTx0eXBlb2YgTW9kZWxNaXhpbjxhbnk+Pj47XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBNb2RlbE1peGluPFRhYmxlIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+KHRhYmxlOiBUYWJsZSwgcHJpbWFyeUtleT86IGtleW9mIERhdGFiYXNlW1RhYmxlXSk6IDxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSkgPT4ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIHNhdmUoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAgICAgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgICBzb2Z0RGVsZXRlKCk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbiAgICBfX21vZGVsOiB7XG4gICAgICAgIHRhYmxlOiBUYWJsZTtcbiAgICAgICAgcHJpbWFyeUtleToga2V5b2YgRGF0YWJhc2VbVGFibGVdO1xuICAgIH07XG4gICAgc2VyaWFsaXplPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCByb3c6IGFueSk6IFByb21pc2U8VD47XG4gICAgc2VsZWN0KCk6IFNlbGVjdFF1ZXJ5QnVpbGRlcjxEYXRhYmFzZSwgVGFibGUsIGFueT47XG4gICAgcGFnaW5hdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBNb2RlbFBhZ2luYXRlT3B0aW9uczxUYWJsZT4pOiBQcm9taXNlPFBhZ2luYXRpb248VD4+O1xuICAgIGxpc3Q8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBNb2RlbExpc3RPcHRpb25zPFRhYmxlPik6IFByb21pc2U8VFtdPjtcbiAgICBmaW5kT25lPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogTW9kZWxGaW5kT3B0aW9uczxUYWJsZT4pOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgIGZpbmRPbmVPckZhaWw8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBNb2RlbEZpbmRPcHRpb25zPFRhYmxlPik6IFByb21pc2U8VD47XG4gICAgZmluZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8VCB8IG51bGw+O1xuICAgIGZpbmRPckZhaWw8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmRCeTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgY29sdW1uOiBrZXlvZiBEYXRhYmFzZVtUYWJsZV0sIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmRCeU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgY29sdW1uOiBrZXlvZiBEYXRhYmFzZVtUYWJsZV0sIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGV4aXN0czxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IE1vZGVsTGlzdE9wdGlvbnM8VGFibGU+KTogUHJvbWlzZTxib29sZWFuPjtcbiAgICBjb3VudDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IE1vZGVsQ291bnRPcHRpb25zPFRhYmxlPik6IFByb21pc2U8bnVtYmVyPjtcbiAgICBjcmVhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIHBheWxvYWQ6IE1vZGVsQ3JlYXRlT3B0aW9uczxUYWJsZT5bXCJ2YWx1ZXNcIl0pOiBQcm9taXNlPFQ+O1xuICAgIGNyZWF0ZU1hbnk8VD4odGhpczogbmV3ICgpID0+IFQsIHZhbHVlczogQXJyYXk8TW9kZWxDcmVhdGVPcHRpb25zPFRhYmxlPltcInZhbHVlc1wiXT4pOiBQcm9taXNlPFRbXT47XG4gICAgdXBkYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvOiBNb2RlbFVwZGF0ZU9wdGlvbnM8VGFibGU+KTogUHJvbWlzZTxUPjtcbiAgICB1cGRhdGVCeUlkPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55LCB2YWx1ZXM6IE1vZGVsVXBkYXRlT3B0aW9uczxUYWJsZT5bXCJ2YWx1ZXNcIl0sIG9wdGlvbnM/OiB7XG4gICAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICB9KTogUHJvbWlzZTxUPjtcbiAgICBkZXN0cm95PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogTW9kZWxEZXN0cm95T3B0aW9uczxUYWJsZT4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGZpcnN0T3JDcmVhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG86IE1vZGVsRmlyc3RPckNyZWF0ZU9wdGlvbnM8VGFibGU+KTogVDtcbiAgICB1cGRhdGVPckNyZWF0ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBvOiBNb2RlbFVwZGF0ZU9yQ3JlYXRlT3B0aW9uczxUYWJsZT4pOiBUO1xuICAgIGRlc3Ryb3lCeUlkPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55KTogUHJvbWlzZTx2b2lkPjtcbn0gJiBUQmFzZTtcbiIsImltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tICcjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHMnO1xuaW50ZXJmYWNlIFJlbGF0aW9uIHtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSZWxhdGlvbjxSIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgUmVsYXRpb24+PihyZWxhdGlvbnM6IFIpOiA8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpID0+IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge307XG4gICAgbG9hZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZW50aXRpZXM6IFQgfCBUW10sIG5hbWVzOiBrZXlvZiBSIHwgKGtleW9mIFIpW10pOiBQcm9taXNlPHZvaWQ+O1xufSAmIFRCYXNlO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IENvbmZpZ1NlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Db25maWdTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3QgY29uZmlnOiBDb25maWdTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgY29uZmlnO1xuIiwiaW1wb3J0IENvbnRhaW5lclNlcnZpY2UgZnJvbSBcIiNzaGFyZWQvc2VydmljZXMvQ29udGFpbmVyU2VydmljZS50c1wiO1xuZGVjbGFyZSBjb25zdCBfZGVmYXVsdDogQ29udGFpbmVyU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IF9kZWZhdWx0O1xuIiwiaW1wb3J0IERvd25sb2FkU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL0Rvd25sb2FkU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IGRvd25sb2FkOiBEb3dubG9hZFNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBkb3dubG9hZDtcbiIsImltcG9ydCBEcml2ZVNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9Ecml2ZVNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBkcml2ZTogRHJpdmVTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgZHJpdmU7XG4iLCJpbXBvcnQgeyBFbW1pdHRlclNlcnZpY2UgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmRlY2xhcmUgY29uc3QgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcbmV4cG9ydCBkZWZhdWx0IGVtbWl0dGVyO1xuIiwiaW1wb3J0IEVuY3J5cHRTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvRW5jcnlwdFNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBlbmNyeXB0OiBFbmNyeXB0U2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IGVuY3J5cHQ7XG4iLCJpbXBvcnQgRW52U2VydmljZSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9FbnZTZXJ2aWNlLnRzXCI7XG5kZWNsYXJlIGNvbnN0IGVudjogRW52U2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IGVudjtcbiIsImltcG9ydCBGaWxlUmVwb3NpdG9yeSBmcm9tIFwiI3NlcnZlci9yZXBvc2l0b3JpZXMvRmlsZVJlcG9zaXRvcnkudHNcIjtcbmRlY2xhcmUgY29uc3QgZmlsZVJlcG9zaXRvcnk6IEZpbGVSZXBvc2l0b3J5O1xuZXhwb3J0IGRlZmF1bHQgZmlsZVJlcG9zaXRvcnk7XG4iLCJpbXBvcnQgSGFzaGVyU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL0hhc2hlclNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBoYXNoZXI6IEhhc2hlclNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBoYXNoZXI7XG4iLCJpbXBvcnQgSHR0cFNlcnZpY2UgZnJvbSBcIiNzZXJ2ZXIvc2VydmljZXMvSHR0cFNlcnZpY2UudHNcIjtcbmRlY2xhcmUgY29uc3QgaHR0cDogSHR0cFNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBodHRwO1xuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3QgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyO1xuIiwiaW1wb3J0IE1pZ3JhdG9yU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL01pZ3JhdG9yU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IG1pZ3JhdG9yOiBNaWdyYXRvclNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBtaWdyYXRvcjtcbiIsImltcG9ydCBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnkgZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvUGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5LnRzJztcbmRlY2xhcmUgY29uc3QgcGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5OiBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnk7XG5leHBvcnQgZGVmYXVsdCBwZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnk7XG4iLCJpbXBvcnQgUGVybWlzc2lvblJlcG9zaXRvcnkgZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvUGVybWlzc2lvblJlcG9zaXRvcnkudHMnO1xuZGVjbGFyZSBjb25zdCBwZXJtaXNzaW9uUmVwb3NpdG9yeTogUGVybWlzc2lvblJlcG9zaXRvcnk7XG5leHBvcnQgZGVmYXVsdCBwZXJtaXNzaW9uUmVwb3NpdG9yeTtcbiIsImltcG9ydCB0eXBlIHsgSHR0cENvbnRleHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9IdHRwQ29udGV4dENvbnRyYWN0LnRzJztcbmltcG9ydCBSb3V0ZXJTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvUm91dGVyU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IHJvdXRlcjogUm91dGVyU2VydmljZTxIdHRwQ29udGV4dD47XG5leHBvcnQgZGVmYXVsdCByb3V0ZXI7XG4iLCJpbXBvcnQgU2NoZWR1bGVyU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL1NjaGVkdWxlclNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBzY2hlZHVsZXI6IFNjaGVkdWxlclNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBzY2hlZHVsZXI7XG4iLCJpbXBvcnQgU2hlbGxTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvU2hlbGxTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3Qgc2hlbGw6IFNoZWxsU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IHNoZWxsO1xuIiwiaW1wb3J0IFRva2VuUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9Ub2tlblJlcG9zaXRvcnkudHMnO1xuZGVjbGFyZSBjb25zdCB0b2tlblJlcG9zaXRvcnk6IFRva2VuUmVwb3NpdG9yeTtcbmV4cG9ydCBkZWZhdWx0IHRva2VuUmVwb3NpdG9yeTtcbiIsImltcG9ydCBVc2VyUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9Vc2VyUmVwb3NpdG9yeS50cyc7XG5kZWNsYXJlIGNvbnN0IHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeTtcbmV4cG9ydCBkZWZhdWx0IHVzZXJSZXBvc2l0b3J5O1xuIiwiaW1wb3J0IHR5cGUgeyBLeXNlbHkgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IH0gZnJvbSAnLi9EYXRhYmFzZUNvbnRyYWN0JztcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VLeXNlbHkgZXh0ZW5kcyBLeXNlbHk8RGF0YWJhc2VDb250cmFjdD4ge1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBMb2FkZXI8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBsb2FkKGVudGl0aWVzOiBUW10pOiBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IGludGVyZmFjZSBMb2FkZXJSZWNvcmQ8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBba2V5OiBzdHJpbmddOiBMb2FkZXI8VD47XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBkZWZpbmVMb2FkZXI8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+KGxvYWRlcjogTG9hZGVyPFQ+KTogTG9hZGVyPFQ+O1xuIiwiaW50ZXJmYWNlIEZpbGVMb2FkZXJPcHRpb25zIHtcbiAgICBmaWxlSWRQcm9wZXJ0eTogc3RyaW5nO1xuICAgIGZpbGVQcm9wZXJ0eTogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlRmlsZUxvYWRlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9uczogRmlsZUxvYWRlck9wdGlvbnMpOiBpbXBvcnQoXCIjc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci50c1wiKS5Mb2FkZXI8VD47XG5leHBvcnQge307XG4iLCJpbnRlcmZhY2UgRmlsZUxvYWRlck9wdGlvbnMge1xuICAgIGZpbGVJZFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIGZpbGVVcmxQcm9wZXJ0eT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGxvYWRGaWxlVXJsPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihlbnRpdGllczogVFtdLCBvcHRpb25zPzogRmlsZUxvYWRlck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlRmlsZVVybExvYWRlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucz86IEZpbGVMb2FkZXJPcHRpb25zKTogaW1wb3J0KFwiI3NlcnZlci91dGlscy9kZWZpbmVMb2FkZXIudHNcIikuTG9hZGVyPFQ+O1xuZXhwb3J0IHt9O1xuIiwidHlwZSBLZXlPckZ1bmN0aW9uPFQ+ID0ga2V5b2YgVCB8ICgoZW50aXR5OiBUKSA9PiBhbnkpO1xuZXhwb3J0IGludGVyZmFjZSBIYXNNYW55VGhyb3VnaExvYWRlck9wdGlvbnM8VEVudGl0eSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUUGl2b3RFbnRpdHkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55PiwgVFRhcmdldEVudGl0eSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgcGl2b3Q6IHtcbiAgICAgICAgc291cmNlS2V5OiBLZXlPckZ1bmN0aW9uPFRFbnRpdHk+O1xuICAgICAgICB0YXJnZXRLZXk6IEtleU9yRnVuY3Rpb248VFBpdm90RW50aXR5PjtcbiAgICAgICAgZmluZEVudGl0aWVzKGlkczogKHN0cmluZyB8IG51bWJlcilbXSk6IFByb21pc2U8VFBpdm90RW50aXR5W10+O1xuICAgIH07XG4gICAgdGFyZ2V0OiB7XG4gICAgICAgIHNvdXJjZUtleTogS2V5T3JGdW5jdGlvbjxUUGl2b3RFbnRpdHk+O1xuICAgICAgICB0YXJnZXRLZXk6IEtleU9yRnVuY3Rpb248VFRhcmdldEVudGl0eT47XG4gICAgICAgIGZpbmRFbnRpdGllcyhpZHM6IChzdHJpbmcgfCBudW1iZXIpW10pOiBQcm9taXNlPFRUYXJnZXRFbnRpdHlbXT47XG4gICAgfTtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGxvYWRIYXNNYW55VGhyb3VnaDxURW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRQaXZvdEVudGl0eSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUVGFyZ2V0RW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KHBheWxvYWQ6IGFueSB8IGFueVtdLCBvcHRpb25zOiBIYXNNYW55VGhyb3VnaExvYWRlck9wdGlvbnM8VEVudGl0eSwgVFBpdm90RW50aXR5LCBUVGFyZ2V0RW50aXR5Pik6IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVIYXNNYW55VGhyb3VnaExvYWRlcjxURW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRQaXZvdEVudGl0eSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUVGFyZ2V0RW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KG9wdGlvbnM6IEhhc01hbnlUaHJvdWdoTG9hZGVyT3B0aW9uczxURW50aXR5LCBUUGl2b3RFbnRpdHksIFRUYXJnZXRFbnRpdHk+KTogaW1wb3J0KFwiI3NlcnZlci91dGlscy9kZWZpbmVMb2FkZXIudHNcIikuTG9hZGVyPFRFbnRpdHk+O1xuZXhwb3J0IHt9O1xuIiwiaW50ZXJmYWNlIFJlcG9zaXRvcnlNZXRhIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTtcbn1cbmludGVyZmFjZSBMb2FkTWV0YXNPcHRpb25zIHtcbiAgICBmaW5kTWFueShpZHM6IGFueVtdKTogUHJvbWlzZTxSZXBvc2l0b3J5TWV0YVtdPjtcbiAgICBlbnRpdHlJZEtleT86IHN0cmluZztcbiAgICBmb3JlaWduS2V5Pzogc3RyaW5nO1xuICAgIHRhcmdldEtleT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGxvYWRNZXRhczxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ocGF5bG9hZDogVCB8IFRbXSwgb3B0aW9uczogTG9hZE1ldGFzT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVNZXRhc0xvYWRlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9uczogTG9hZE1ldGFzT3B0aW9ucyk6IGltcG9ydChcIiNzZXJ2ZXIvdXRpbHMvZGVmaW5lTG9hZGVyLnRzXCIpLkxvYWRlcjxUPjtcbmV4cG9ydCB7fTtcbiIsImludGVyZmFjZSBQZXJtaXNzaW9uTG9hZGVyT3B0aW9ucyB7XG4gICAgYXNzaWduYWJsZVR5cGU6IHN0cmluZyB8ICgoZTogYW55KSA9PiBzdHJpbmcpO1xuICAgIGFzc2lnbmFibGVJZDogc3RyaW5nIHwgKChlOiBhbnkpID0+IHN0cmluZyk7XG4gICAgdGFyZ2V0S2V5Pzogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbG9hZFBlcm1pc3Npb25zPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihwYXlsb2FkOiBUIHwgVFtdLCBvcHRpb25zPzogUGVybWlzc2lvbkxvYWRlck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlUGVybWlzc2lvbkxvYWRlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucz86IFBlcm1pc3Npb25Mb2FkZXJPcHRpb25zKTogaW1wb3J0KFwiI3NlcnZlci91dGlscy9kZWZpbmVMb2FkZXIudHNcIikuTG9hZGVyPFQ+O1xuZXhwb3J0IHt9O1xuIiwiaW50ZXJmYWNlIFVzZXJMb2FkZXJPcHRpb25zIHtcbiAgICBpZEtleT86IHN0cmluZztcbiAgICB0YXJnZXRLZXk/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBsb2FkVXNlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZW50aXRpZXM6IFRbXSwgb3B0aW9ucz86IFVzZXJMb2FkZXJPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZVVzZXJMb2FkZXI8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KG9wdGlvbnM/OiBVc2VyTG9hZGVyT3B0aW9ucyk6IGltcG9ydChcIiNzZXJ2ZXIvdXRpbHMvZGVmaW5lTG9hZGVyLnRzXCIpLkxvYWRlcjxUPjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCBCYXNlIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRHJpdmVDb25maWdFbnRpdHkudHMnO1xuZGVjbGFyZSBjb25zdCBEcml2ZUNvbmZpZ19iYXNlOiB0eXBlb2YgQmFzZSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge307XG4gICAgX19pc0NvbmZpZ01vZGVsOiBib29sZWFuO1xuICAgIHNlcmlhbGl6ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCByb3c6IGFueSk6IFByb21pc2U8VD47XG4gICAgbGlzdDxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUKTogUHJvbWlzZTxUW10+O1xuICAgIGZpbmQ8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZyk6IFByb21pc2U8VCB8IG51bGw+O1xuICAgIGZpbmRPckZhaWw8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZyk6IFByb21pc2U8VD47XG4gICAgY3JlYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGl0ZW06IFQgJiB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8dm9pZD47XG4gICAgdXBkYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGlkOiBzdHJpbmcsIGRhdGE6IFQpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHVwZGF0ZU9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGlkOiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlc3Ryb3k8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJpdmVDb25maWcgZXh0ZW5kcyBEcml2ZUNvbmZpZ19iYXNlIHtcbiAgICBzdGF0aWMgc2VyaWFsaXplPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIHJvdzogYW55KTogUHJvbWlzZTxUPjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCBCYXNlIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRmlsZUVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IERyaXZlVXJsT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RyaXZlQ29udHJhY3QudHMnO1xuaW50ZXJmYWNlIFVSTENhY2hlIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBleHBpcmVzOiBudW1iZXI7XG59XG5kZWNsYXJlIGNvbnN0IEZpbGVfYmFzZTogdHlwZW9mIEJhc2UgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbGlzdGVuZXJzOiBpbXBvcnQoXCIjc2hhcmVkL21peGlucy9Ib29rc01peGluLnRzXCIpLkxpc3RlbmVyW107XG4gICAgICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBvZmYoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgICAgICBlbWl0QXN5bmMoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIHNhdmUoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAgICAgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgICBzb2Z0RGVsZXRlKCk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbiAgICBfX21vZGVsOiB7XG4gICAgICAgIHRhYmxlOiBcImZpbGVzXCI7XG4gICAgICAgIHByaW1hcnlLZXk6IGtleW9mIGltcG9ydChcIi4uL2luZGV4LnRzXCIpLkZpbGVUYWJsZTtcbiAgICB9O1xuICAgIHNlcmlhbGl6ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgcm93OiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIHNlbGVjdCgpOiBpbXBvcnQoXCJreXNlbHlcIikuU2VsZWN0UXVlcnlCdWlsZGVyPGltcG9ydChcIi4uL2luZGV4LnRzXCIpLkRhdGFiYXNlQ29udHJhY3QsIFwiZmlsZXNcIiwgYW55PjtcbiAgICBwYWdpbmF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxQYWdpbmF0ZU9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8aW1wb3J0KFwiLi4vLi4vc2hhcmVkL2luZGV4LnRzXCIpLlBhZ2luYXRpb25FbnRpdHk8VD4+O1xuICAgIGxpc3Q8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsTGlzdE9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8VFtdPjtcbiAgICBmaW5kT25lPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbEZpbmRPcHRpb25zPFwiZmlsZXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgIGZpbmRPbmVPckZhaWw8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRmluZE9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8VD47XG4gICAgZmluZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8VCB8IG51bGw+O1xuICAgIGZpbmRPckZhaWw8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmRCeTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgY29sdW1uOiBrZXlvZiBpbXBvcnQoXCIuLi9pbmRleC50c1wiKS5GaWxlVGFibGUsIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmRCeU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgY29sdW1uOiBrZXlvZiBpbXBvcnQoXCIuLi9pbmRleC50c1wiKS5GaWxlVGFibGUsIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGV4aXN0czxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxMaXN0T3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICBjb3VudDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxDb3VudE9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8bnVtYmVyPjtcbiAgICBjcmVhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIHBheWxvYWQ6IG9iamVjdCAmIHtcbiAgICAgICAgZHJpdmU6IHN0cmluZztcbiAgICAgICAgbWltZXR5cGU6IHN0cmluZztcbiAgICAgICAgY2xpZW50X25hbWU6IHN0cmluZztcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICAgICAgcHVycG9zZTogc3RyaW5nO1xuICAgICAgICBwdWJsaWM6IGJvb2xlYW47XG4gICAgfSAmIHtcbiAgICAgICAgaWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHVwZGF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkO1xuICAgIH0pOiBQcm9taXNlPFQ+O1xuICAgIGNyZWF0ZU1hbnk8VD4odGhpczogbmV3ICgpID0+IFQsIHZhbHVlczogKG9iamVjdCAmIHtcbiAgICAgICAgZHJpdmU6IHN0cmluZztcbiAgICAgICAgbWltZXR5cGU6IHN0cmluZztcbiAgICAgICAgY2xpZW50X25hbWU6IHN0cmluZztcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICAgICAgcHVycG9zZTogc3RyaW5nO1xuICAgICAgICBwdWJsaWM6IGJvb2xlYW47XG4gICAgfSAmIHtcbiAgICAgICAgaWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHVwZGF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkO1xuICAgIH0pW10pOiBQcm9taXNlPFRbXT47XG4gICAgdXBkYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvOiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsVXBkYXRlT3B0aW9uczxcImZpbGVzXCI+KTogUHJvbWlzZTxUPjtcbiAgICB1cGRhdGVCeUlkPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55LCB2YWx1ZXM6IHtcbiAgICAgICAgaWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgICAgZHJpdmU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIG1pbWV0eXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjbGllbnRfbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgZmlsZW5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHB1cnBvc2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHB1YmxpYz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgfSwgb3B0aW9ucz86IHtcbiAgICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgIH0gfCB1bmRlZmluZWQpOiBQcm9taXNlPFQ+O1xuICAgIGRlc3Ryb3k8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRGVzdHJveU9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD47XG4gICAgZmlyc3RPckNyZWF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbEZpcnN0T3JDcmVhdGVPcHRpb25zPFwiZmlsZXNcIj4pOiBUO1xuICAgIHVwZGF0ZU9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIG86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxVcGRhdGVPckNyZWF0ZU9wdGlvbnM8XCJmaWxlc1wiPik6IFQ7XG4gICAgZGVzdHJveUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge307XG4gICAgbG9hZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZW50aXRpZXM6IFQgfCBUW10sIG5hbWVzOiBcIm1ldGFzXCIgfCBcIm1ldGFzXCJbXSk6IFByb21pc2U8dm9pZD47XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgICAgICBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBQcm9taXNlPFQ+O1xuICAgICAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGUgZXh0ZW5kcyBGaWxlX2Jhc2Uge1xuICAgIHN0YXRpYyBjYWNoZTogTWFwPHN0cmluZywgVVJMQ2FjaGU+O1xuICAgIHN0YXRpYyBoYXMoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj47XG4gICAgc3RhdGljIGZpbmRCeUZpbGVuYW1lKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZpbGUgfCB1bmRlZmluZWQ+O1xuICAgIHJlYWRTdHJlYW0oKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+O1xuICAgIHJlYWQoKTogUHJvbWlzZTxVaW50OEFycmF5PEFycmF5QnVmZmVyTGlrZT4+O1xuICAgIGxvYWRVcmwob3B0aW9ucz86IERyaXZlVXJsT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgc3RhdGljIGxvYWRVcmxzKGl0ZW1zOiBGaWxlW10sIG9wdGlvbnM/OiBEcml2ZVVybE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHN0YXRpYyBsb2FkTWV0YXMoaXRlbXM6IEZpbGVbXSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlRnJvbURyaXZlKCk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQmFzZU1ldGEgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9GaWxlTWV0YUVudGl0eS50cyc7XG5kZWNsYXJlIGNvbnN0IEZpbGVNZXRhX2Jhc2U6IHR5cGVvZiBCYXNlTWV0YSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBzYXZlKCk6IFByb21pc2U8dm9pZD47XG4gICAgICAgIGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPjtcbiAgICAgICAgc29mdERlbGV0ZSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG4gICAgX19tb2RlbDoge1xuICAgICAgICB0YWJsZTogXCJmaWxlX21ldGFzXCI7XG4gICAgICAgIHByaW1hcnlLZXk6IGtleW9mIGltcG9ydChcIi4uXCIpLkZpbGVNZXRhVGFibGU7XG4gICAgfTtcbiAgICBzZXJpYWxpemU8VD4odGhpczogbmV3ICgpID0+IFQsIHJvdzogYW55KTogUHJvbWlzZTxUPjtcbiAgICBzZWxlY3QoKTogaW1wb3J0KFwia3lzZWx5XCIpLlNlbGVjdFF1ZXJ5QnVpbGRlcjxpbXBvcnQoXCIuLlwiKS5EYXRhYmFzZUNvbnRyYWN0LCBcImZpbGVfbWV0YXNcIiwgYW55PjtcbiAgICBwYWdpbmF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxQYWdpbmF0ZU9wdGlvbnM8XCJmaWxlX21ldGFzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxpbXBvcnQoXCIuLi8uLi9zaGFyZWRcIikuUGFnaW5hdGlvbkVudGl0eTxUPj47XG4gICAgbGlzdDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxMaXN0T3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPFRbXT47XG4gICAgZmluZE9uZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxGaW5kT3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgIGZpbmRPbmVPckZhaWw8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRmluZE9wdGlvbnM8XCJmaWxlX21ldGFzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxUPjtcbiAgICBmaW5kPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55KTogUHJvbWlzZTxUIHwgbnVsbD47XG4gICAgZmluZE9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIGltcG9ydChcIi4uXCIpLkZpbGVNZXRhVGFibGUsIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmRCeU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgY29sdW1uOiBrZXlvZiBpbXBvcnQoXCIuLlwiKS5GaWxlTWV0YVRhYmxlLCB2YWx1ZTogYW55KTogUHJvbWlzZTxUPjtcbiAgICBleGlzdHM8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsTGlzdE9wdGlvbnM8XCJmaWxlX21ldGFzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICBjb3VudDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxDb3VudE9wdGlvbnM8XCJmaWxlX21ldGFzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxudW1iZXI+O1xuICAgIGNyZWF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgcGF5bG9hZDogb2JqZWN0ICYge1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIGZpbGVfaWQ6IG51bWJlcjtcbiAgICB9ICYge1xuICAgICAgICBpZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgdmFsdWU/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgICBjcmVhdGVkX2F0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICB1cGRhdGVkX2F0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBkZWxldGVkX2F0Pzogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZDtcbiAgICB9KTogUHJvbWlzZTxUPjtcbiAgICBjcmVhdGVNYW55PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCB2YWx1ZXM6IChvYmplY3QgJiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgZmlsZV9pZDogbnVtYmVyO1xuICAgIH0gJiB7XG4gICAgICAgIGlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICB2YWx1ZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHVwZGF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkO1xuICAgIH0pW10pOiBQcm9taXNlPFRbXT47XG4gICAgdXBkYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvOiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsVXBkYXRlT3B0aW9uczxcImZpbGVfbWV0YXNcIj4pOiBQcm9taXNlPFQ+O1xuICAgIHVwZGF0ZUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnksIHZhbHVlczoge1xuICAgICAgICBpZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgdmFsdWU/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgICBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBkZWxldGVkX2F0Pzogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGZpbGVfaWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgfSwgb3B0aW9ucz86IHtcbiAgICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgIH0gfCB1bmRlZmluZWQpOiBQcm9taXNlPFQ+O1xuICAgIGRlc3Ryb3k8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRGVzdHJveU9wdGlvbnM8XCJmaWxlX21ldGFzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPjtcbiAgICBmaXJzdE9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvOiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRmlyc3RPckNyZWF0ZU9wdGlvbnM8XCJmaWxlX21ldGFzXCI+KTogVDtcbiAgICB1cGRhdGVPckNyZWF0ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBvOiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsVXBkYXRlT3JDcmVhdGVPcHRpb25zPFwiZmlsZV9tZXRhc1wiPik6IFQ7XG4gICAgZGVzdHJveUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVNZXRhIGV4dGVuZHMgRmlsZU1ldGFfYmFzZSB7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBHaXRHYXRld2F5IH0gZnJvbSAnI3NlcnZlci9nYXRld2F5cy9HaXRHYXRld2F5LnRzJztcbmltcG9ydCBCYXNlIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvTW9kdWxlRW50aXR5LnRzJztcbmltcG9ydCBzaGVsbCBmcm9tICcjc2VydmVyL2ZhY2FkZXMvc2hlbGwudHMnO1xuZGVjbGFyZSBjb25zdCBNb2R1bGVfYmFzZTogdHlwZW9mIEJhc2U7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2R1bGUgZXh0ZW5kcyBNb2R1bGVfYmFzZSB7XG4gICAgZ2V0IGdpdCgpOiBHaXRHYXRld2F5O1xuICAgIG1ha2VQYXRoKC4uLnBhcnRzOiBzdHJpbmdbXSk6IHN0cmluZztcbiAgICBzdGF0aWNQYXRoKC4uLnBhcnRzOiBzdHJpbmdbXSk6IHN0cmluZztcbiAgICBjb21tYW5kOiB0eXBlb2Ygc2hlbGwuY29tbWFuZDtcbiAgICBsb2FkKCk6IHZvaWQ7XG4gICAgZmluZENsaWVudEVudHJ5cG9pbnRGaWxlbmFtZShjb250ZXh0PzogJ2RldicgfCAnbm9kZScgfCAnYnJvd3NlcicpOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IGNvbmZpZyBmcm9tICcjc2VydmVyL2ZhY2FkZXMvY29uZmlnLnRzJztcbmltcG9ydCB7IEdpdEdhdGV3YXkgfSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0dpdEdhdGV3YXkudHMnO1xuaW1wb3J0IEdpdEJyYW5jaFJlcG9zaXRvcnkgZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvR2l0QnJhbmNoUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgR2l0Q29tbWl0UmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9HaXRDb21taXRSZXBvc2l0b3J5LnRzJztcbmltcG9ydCBCYXNlIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvUGx1Z2luRW50aXR5LnRzJztcbmRlY2xhcmUgY29uc3QgUGx1Z2luRW50cnlFbnRpdHlfYmFzZTogdHlwZW9mIEJhc2U7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQbHVnaW5FbnRyeUVudGl0eSBleHRlbmRzIFBsdWdpbkVudHJ5RW50aXR5X2Jhc2Uge1xuICAgIGRpcmVjdG9yeTogc3RyaW5nO1xuICAgIG1ha2VQYXRoKC4uLnBhcnRzOiBzdHJpbmdbXSk6IHN0cmluZztcbiAgICBzZXQ6IHR5cGVvZiBjb25maWcuc2V0O1xuICAgIGdldDogdHlwZW9mIGNvbmZpZy5nZXQ7XG4gICAgZ2V0IGdpdCgpOiBHaXRHYXRld2F5O1xuICAgIGdldCBjb21taXRzKCk6IEdpdENvbW1pdFJlcG9zaXRvcnk7XG4gICAgZ2V0IGJyYW5jaGVzKCk6IEdpdEJyYW5jaFJlcG9zaXRvcnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgUGx1Z2luRW50cnlFbnRpdHkgZnJvbSAnLi9QbHVnaW5FbnRyeUVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlckV2ZW50cyB9IGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvUm91dGVyU2VydmljZS50cyc7XG5pbnRlcmZhY2UgQWRkQXBpRm9sZGVyT3B0aW9ucyB7XG4gICAgcHJlZml4Pzogc3RyaW5nO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGx1Z2luRW50aXR5IGV4dGVuZHMgUGx1Z2luRW50cnlFbnRpdHkge1xuICAgIGFwaUZvbGRlcnM6IE1hcDxzdHJpbmcsIEFkZEFwaUZvbGRlck9wdGlvbnM+O1xuICAgIGFwaURpcmVjdG9yaWVzOiBTZXQ8c3RyaW5nPjtcbiAgICBjb25zdHJ1Y3RvcigpO1xuICAgIHN0YXRpY1BhdGgoLi4ucGFydHM6IHN0cmluZ1tdKTogc3RyaW5nO1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBvblJvdXRlclJlZ2lzdGVyZWQoY3R4OiBSb3V0ZXJFdmVudHNbJ3JvdXRlcjpyZWdpc3RlcmVkJ10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGFkZEFwaUZvbGRlcihkaXJlY3Rvcnk6IHN0cmluZywgb3B0aW9ucz86IEFkZEFwaUZvbGRlck9wdGlvbnMpOiB2b2lkO1xuICAgIGFkZFJvdXRlckZvbGRlcihkaXJlY3Rvcnk6IHN0cmluZyk6IHZvaWQ7XG4gICAgc3RhdGljIGZyb21QbHVnaW5EaXNjb3ZlckVudGl0eTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZW50aXR5OiBQbHVnaW5FbnRyeUVudGl0eSk6IFQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IExpc3RPcHRpb25zIH0gZnJvbSAnLi9saXN0LnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZXhpc3RzPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIExpc3RPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPGJvb2xlYW4+O1xuIiwiZGVjbGFyZSBtb2R1bGUgJ2t5c2VseScge1xuICAgIGludGVyZmFjZSBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIgZXh0ZW5kcyBzdHJpbmcsIEMgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcj4ge1xuICAgICAgICBhZGRJZENvbHVtbjxDTiBleHRlbmRzIHN0cmluZyA9ICdpZCc+KGNvbD86IENOKTogQ3JlYXRlVGFibGVCdWlsZGVyPFRCLCBDIHwgQ04+O1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IENyZWF0ZVRhYmxlQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IENvbHVtblR5cGUsIEV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VsZWN0YWJsZSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgeyBub3cgfSBmcm9tICcuL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmltcG9ydCBkYiBmcm9tICcjc2VydmVyL2ZhY2FkZXMvZGF0YWJhc2UudHMnO1xudHlwZSBXaGVyZUNhcGFibGU8UUI+ID0ge1xuICAgIHdoZXJlOiAoLi4uYXJnczogYW55W10pID0+IFFCO1xufTtcbnR5cGUgVXBkYXRlRnJvbTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gUmV0dXJuVHlwZTx0eXBlb2YgZGIudXBkYXRlVGFibGU8VD4+O1xuZXhwb3J0IGludGVyZmFjZSBTb2Z0RGVsZXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBzZXJpYWxpemU/OiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gYW55O1xuICAgIHF1ZXJ5OiAocWI6IFVwZGF0ZUZyb208VD4pID0+IFVwZGF0ZUZyb208VD47XG59XG5leHBvcnQgdHlwZSBTb2Z0RGVsZXRlUmVzdWx0PFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFNvZnREZWxldGVPcHRpb25zPFQ+IHwgdW5kZWZpbmVkPiA9IE8gZXh0ZW5kcyB1bmRlZmluZWQgPyBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPltdIDogTyBleHRlbmRzIHtcbiAgICBzZXJpYWxpemU6IChyb3c6IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+KSA9PiBpbmZlciBSO1xufSA/IFJbXSA6IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+W107XG5leHBvcnQgaW50ZXJmYWNlIFNvZnREZWxldGVUYWJsZSB7XG4gICAgZGVsZXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlIHwgbnVsbCwgbmV2ZXIgfCBudWxsIHwgUmV0dXJuVHlwZTx0eXBlb2Ygbm93Piwgc3RyaW5nIHwgbnVsbCB8IFJldHVyblR5cGU8dHlwZW9mIG5vdz4+O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gd2hlcmVOb3REZWxldGVkPFFCIGV4dGVuZHMgV2hlcmVDYXBhYmxlPFFCPj4ocWI6IFFCKTogUUI7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1bmRlbGV0ZWQocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55Pik6IGltcG9ydChcImt5c2VseVwiKS5FeHByZXNzaW9uV3JhcHBlcjxhbnksIGFueSwgaW1wb3J0KFwia3lzZWx5XCIpLlNxbEJvb2w+O1xuZXhwb3J0IGRlY2xhcmUgbmFtZXNwYWNlIHVuZGVsZXRlZCB7XG4gICAgdmFyIGNvbHVtbjogKGNvbDogc3RyaW5nKSA9PiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gaW1wb3J0KFwia3lzZWx5XCIpLkV4cHJlc3Npb25XcmFwcGVyPGFueSwgYW55LCBpbXBvcnQoXCJreXNlbHlcIikuU3FsQm9vbD47XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkZWxldGVkOiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gaW1wb3J0KFwia3lzZWx5XCIpLkV4cHJlc3Npb25XcmFwcGVyPGFueSwgYW55LCBpbXBvcnQoXCJreXNlbHlcIikuU3FsQm9vbD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRTb2Z0RGVsZXRlQ29sdW1uOiAoY3RiOiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+KSA9PiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc29mdERlbGV0ZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBTb2Z0RGVsZXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTb2Z0RGVsZXRlUmVzdWx0PFQsIE8+PjtcbmRlY2xhcmUgbW9kdWxlICdreXNlbHknIHtcbiAgICBpbnRlcmZhY2UgQ3JlYXRlVGFibGVCdWlsZGVyPFRCIGV4dGVuZHMgc3RyaW5nLCBDIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXI+IHtcbiAgICAgICAgYWRkU29mdERlbGV0ZUNvbHVtbigpOiBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIsIEMgfCAnZGVsZXRlZF9hdCc+O1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IENyZWF0ZVRhYmxlQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IENvbHVtblR5cGUgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHsgbm93IH0gZnJvbSAnLi9jb21tb24udHMnO1xuZXhwb3J0IGludGVyZmFjZSBUaW1lc3RhbXBUYWJsZSB7XG4gICAgY3JlYXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlLCBzdHJpbmcgfCB1bmRlZmluZWQsIG5ldmVyPjtcbiAgICB1cGRhdGVkX2F0OiBDb2x1bW5UeXBlPERhdGUsIHN0cmluZyB8IHVuZGVmaW5lZCwgRGF0ZSB8IHN0cmluZyB8IFJldHVyblR5cGU8dHlwZW9mIG5vdz4+O1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkQ3JlYXRlZENvbHVtbjogKGN0YjogQ3JlYXRlVGFibGVCdWlsZGVyPGFueSwgYW55PikgPT4gQ3JlYXRlVGFibGVCdWlsZGVyPGFueSwgYW55PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFkZFVwZGF0ZWRDb2x1bW46IChjdGI6IENyZWF0ZVRhYmxlQnVpbGRlcjxhbnksIGFueT4pID0+IENyZWF0ZVRhYmxlQnVpbGRlcjxhbnksIGFueT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRUaW1lc3RhbXBDb2x1bW5zOiAoY3RiOiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+KSA9PiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+O1xuZGVjbGFyZSBtb2R1bGUgJ2t5c2VseScge1xuICAgIGludGVyZmFjZSBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIgZXh0ZW5kcyBzdHJpbmcsIEMgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcj4ge1xuICAgICAgICBhZGRUaW1lc3RhbXBDb2x1bW5zKCk6IENyZWF0ZVRhYmxlQnVpbGRlcjxUQiwgQyB8ICdjcmVhdGVkX2F0JyB8ICd1cGRhdGVkX2F0Jz47XG4gICAgICAgIGFkZENyZWF0ZWRDb2x1bW4oKTogQ3JlYXRlVGFibGVCdWlsZGVyPFRCLCBDIHwgJ2NyZWF0ZWRfYXQnPjtcbiAgICAgICAgYWRkVXBkYXRlZENvbHVtbigpOiBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIsIEMgfCAndXBkYXRlZF9hdCc+O1xuICAgIH1cbn1cbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VSZWxhdGlvbiB7XG4gICAgbG9hZChlbnRpdGllczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IEJhc2VSZWxhdGlvbiBmcm9tICcuL0Jhc2VSZWxhdGlvbi50cyc7XG5pbnRlcmZhY2UgQmVsb25nc1RvT3B0aW9ucyB7XG4gICAgdGFibGU6IHN0cmluZztcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBzdHJpbmc7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU/OiAocm93OiBhbnkpID0+IGFueTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJlbG9uZ3NUbyBleHRlbmRzIEJhc2VSZWxhdGlvbiB7XG4gICAgdGFibGU6IHN0cmluZztcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBzdHJpbmc7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU6IChyb3c6IGFueSkgPT4gYW55O1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJlbG9uZ3NUb09wdGlvbnMpO1xuICAgIGxvYWQoZW50aXRpZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCBCZWxvbmdzVG8gZnJvbSAnLi9CZWxvbmdzVG9SZWxhdGlvbi50cyc7XG5pbXBvcnQgQmFzZVJlbGF0aW9uIGZyb20gJy4vQmFzZVJlbGF0aW9uLnRzJztcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIExvYWRGaWxlTWV0YXMgZXh0ZW5kcyBCYXNlUmVsYXRpb24ge1xuICAgIGZpbGVLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGZpbGVLZXk/OiBzdHJpbmcsIHByb3BlcnR5Pzogc3RyaW5nKTtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBMb2FkRmlsZVVybCBleHRlbmRzIEJhc2VSZWxhdGlvbiB7XG4gICAgZmlsZUtleTogc3RyaW5nO1xuICAgIHByb3BlcnR5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoZmlsZUtleT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcpO1xuICAgIGxvYWQoZW50aXRpZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJlbG9uZ3NUb0ZpbGUgZXh0ZW5kcyBCZWxvbmdzVG8ge1xuICAgIGNvbnN0cnVjdG9yKHByb3BlcnR5Pzogc3RyaW5nLCB0YXJnZXRLZXk/OiBzdHJpbmcpO1xuICAgIHVybChwcm9wZXJ0eT86IHN0cmluZyk6IExvYWRGaWxlVXJsO1xuICAgIG1ldGFzKHByb3BlcnR5Pzogc3RyaW5nKTogTG9hZEZpbGVNZXRhcztcbn1cbiIsImltcG9ydCBCZWxvbmdzVG8gZnJvbSAnLi9CZWxvbmdzVG9SZWxhdGlvbi50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCZWxvbmdzVG9Vc2VyIGV4dGVuZHMgQmVsb25nc1RvIHtcbiAgICBjb25zdHJ1Y3RvcigpO1xufVxuIiwiaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbnRlcmZhY2UgSGFzTWFueU9wdGlvbnMge1xuICAgIHRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHNlcmlhbGl6ZT86IChyb3c6IGFueSkgPT4gYW55O1xuICAgIGFmdGVyPzogKHJvd3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIYXNNYW55IHtcbiAgICB0YWJsZTogc3RyaW5nO1xuICAgIHRhYmxlS2V5OiBzdHJpbmc7XG4gICAgdGFyZ2V0VGFibGU6IHN0cmluZztcbiAgICB0YXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHNlcmlhbGl6ZTogKHJvdzogYW55KSA9PiBhbnk7XG4gICAgYWZ0ZXI6IChyb3dzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+O1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEhhc01hbnlPcHRpb25zKTtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmludGVyZmFjZSBIYXNNZXRhc09wdGlvbnMge1xuICAgIHRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFzTWV0YXMge1xuICAgIHRhYmxlOiBzdHJpbmc7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZTogc3RyaW5nO1xuICAgIHRhcmdldEtleTogc3RyaW5nO1xuICAgIHByb3BlcnR5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSGFzTWV0YXNPcHRpb25zKTtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQmFzZVJlbGF0aW9uIGZyb20gJy4vQmFzZVJlbGF0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuaW50ZXJmYWNlIEhhc01hbnlUaHJvdWdoT3B0aW9ucyB7XG4gICAgdGFibGU6IGtleW9mIERhdGFiYXNlO1xuICAgIHRhYmxlS2V5OiBzdHJpbmc7XG4gICAgdGFyZ2V0VGFibGU6IGtleW9mIERhdGFiYXNlO1xuICAgIHRhcmdldEtleTogc3RyaW5nO1xuICAgIHBpdm90VGFibGU6IGtleW9mIERhdGFiYXNlO1xuICAgIHBpdm90U291cmNlS2V5OiBzdHJpbmc7XG4gICAgcGl2b3RUYXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHNlcmlhbGl6ZT86IChyb3c6IGFueSkgPT4gYW55O1xuICAgIGFmdGVyPzogKHJvd3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIYXNNYW55VGhyb3VnaCBleHRlbmRzIEJhc2VSZWxhdGlvbiB7XG4gICAgdGFibGU6IHN0cmluZztcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBzdHJpbmc7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcGl2b3RUYWJsZTogc3RyaW5nO1xuICAgIHBpdm90U291cmNlS2V5OiBzdHJpbmc7XG4gICAgcGl2b3RUYXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHNlcmlhbGl6ZTogKHJvdzogYW55KSA9PiBhbnk7XG4gICAgYWZ0ZXI6IChyb3dzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+O1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEhhc01hbnlUaHJvdWdoT3B0aW9ucyk7XG4gICAgbG9hZChlbnRpdGllczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBUb2tlbiwgVXNlckVudGl0eSB9IGZyb20gJ0BzaWRla2ljay1jb2Rlci96ZW5pdGgta2l0L3NoYXJlZCc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG5leHBvcnQgdHlwZSBBdXRoTWlkZGxld2FyZUNvbnRleHQgPSB7XG4gICAgdXNlcjogVXNlckVudGl0eTtcbiAgICB0b2tlbjogVG9rZW47XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXV0aE1pZGRsZXdhcmUgaW1wbGVtZW50cyBNaWRkbGV3YXJlIHtcbiAgICBoYW5kbGUoY3R4OiBhbnkpOiBQcm9taXNlPEF1dGhNaWRkbGV3YXJlQ29udGV4dD47XG59XG4iLCJpbXBvcnQgdHlwZSB7IFRva2VuIH0gZnJvbSAnQHNpZGVraWNrLWNvZGVyL3plbml0aC1raXQvc2hhcmVkJztcbmltcG9ydCB0eXBlIHsgTWlkZGxld2FyZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL1JvdXRlckNvbnRyYWN0LnRzJztcbmltcG9ydCB0eXBlIFVzZXIgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Vc2VyRW50aXR5LnRzJztcbmltcG9ydCB0eXBlIHsgSHR0cENvbnRleHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9IdHRwQ29udGV4dENvbnRyYWN0LnRzJztcbmV4cG9ydCB0eXBlIEF1dGhTaWxlbmNlTWlkZGxld2FyZUNvbnRleHQgPSB7XG4gICAgdXNlcj86IFVzZXI7XG4gICAgdG9rZW4/OiBUb2tlbjtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdXRoU2lsZW5jZU1pZGRsZXdhcmUgaW1wbGVtZW50cyBNaWRkbGV3YXJlIHtcbiAgICBoYW5kbGUoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8QXV0aFNpbGVuY2VNaWRkbGV3YXJlQ29udGV4dD47XG59XG4iLCJpbXBvcnQgdHlwZSB7IEF1dGhTaWxlbmNlTWlkZGxld2FyZUNvbnRleHQgfSBmcm9tICcuL0F1dGhTaWxlbmNlTWlkZGxld2FyZS50cyc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUsIE1pZGRsZXdhcmVIYW5kbGVSZXN1bHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG5pbXBvcnQgQWNsIGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvQWNsRW50aXR5LnRzJztcbmV4cG9ydCB0eXBlIEF1dGhvcml6YXRpb25Db250ZXh0ID0gTWlkZGxld2FyZUhhbmRsZVJlc3VsdDxbQXV0aG9yaXphdGlvbk1pZGRsZXdhcmVdPjtcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaXplUGVybWlzc2lvblBheWxvYWQge1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIHJlc291cmNlOiBzdHJpbmc7XG4gICAgY29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBBdXRob3JpemVQZXJtaXNzaW9uIGltcGxlbWVudHMgTWlkZGxld2FyZSB7XG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9ucztcbiAgICBjb25zdHJ1Y3RvcihwYXlsb2FkOiBBdXRob3JpemVQZXJtaXNzaW9uUGF5bG9hZCB8IEF1dGhvcml6ZVBlcm1pc3Npb25QYXlsb2FkW10pO1xuICAgIGhhbmRsZShjdHg6IEF1dGhvcml6YXRpb25Db250ZXh0KTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dGhvcml6YXRpb25NaWRkbGV3YXJlIGltcGxlbWVudHMgTWlkZGxld2FyZSB7XG4gICAgaGFuZGxlKGN0eDogQXV0aFNpbGVuY2VNaWRkbGV3YXJlQ29udGV4dCk6IFByb21pc2U8e1xuICAgICAgICBhY2w6IEFjbDtcbiAgICB9PjtcbiAgICBzdGF0aWMgY3JlYXRlKHBheWxvYWQ6IEF1dGhvcml6ZVBlcm1pc3Npb25QYXlsb2FkIHwgQXV0aG9yaXplUGVybWlzc2lvblBheWxvYWRbXSk6IEF1dGhvcml6ZVBlcm1pc3Npb247XG59XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBiYXNlUGF0aCguLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZztcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHN0b3JhZ2VQYXRoKC4uLmFyZ3M6IHN0cmluZ1tdKTogc3RyaW5nO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcmVsYXRpdmVUb0Jhc2VQYXRoKC4uLmFyZ3M6IHN0cmluZ1tdKTogc3RyaW5nO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdG1wUGF0aCguLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZztcbiIsImltcG9ydCB0eXBlIHsgTG9hZGVyUmVjb3JkIH0gZnJvbSAnLi9kZWZpbmVMb2FkZXIudHMnO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlTG9hZGVyRmFjdG9yeTxFIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFIgZXh0ZW5kcyBMb2FkZXJSZWNvcmQ8RT4gPSBMb2FkZXJSZWNvcmQ8RT4+KGxvYWRlcnM6IFIpOiB7XG4gICAga2V5czogKGtleW9mIFIpW107XG4gICAgbG9hZGVyczogUjtcbiAgICBsb2FkOiAoZW50aXRpZXM6IEUgfCBFW10sIG5hbWVzOiBrZXlvZiBSIHwgKGtleW9mIFIpW10pID0+IFByb21pc2U8dm9pZD47XG59O1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3VpZCgpOiBzdHJpbmc7XG4iLCJpbXBvcnQgdHlwZSB7IEh0dHBDb250ZXh0IH0gZnJvbSBcIiNzZXJ2ZXIvY29udHJhY3RzL0h0dHBDb250ZXh0Q29udHJhY3QudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlciB7XG4gICAgKGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT4gfCAoKCkgPT4gYW55KTtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGRlZmluZUhhbmRsZXIoaGFuZGxlcjogSGFuZGxlcik6IEhhbmRsZXI7XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBnZW5lcmF0ZUluZGV4RmlsZShvcHRpb25zOiBhbnkpOiB2b2lkO1xuIiwiaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIGNhY2hlPzogYm9vbGVhbjtcbiAgICBvbkJlZm9yZUltcG9ydD86IChjdHg6IHtcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICB9KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbiAgICBvbkFmdGVySW1wb3J0PzogKGN0eDoge1xuICAgICAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgICAgICBtb2R1bGU6IGFueTtcbiAgICB9KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbiAgICBvbkVycm9yPzogKGN0eDoge1xuICAgICAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgICAgICBlcnJvcjogRXJyb3I7XG4gICAgfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gICAgZXhjbHVkZT86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW1wb3J0RmlsZXMoZmlsZXM6IHN0cmluZ1tdLCBvcHRpb25zPzogT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbXBvcnRHbG9iKHBhdHRlcm46IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW1wb3J0QWxsKGRpcmVjdG9yeTogc3RyaW5nLCBvcHRpb25zPzogT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbXBvcnRPbmUoZmlsZW5hbWVzOiBzdHJpbmdbXSk6IFByb21pc2U8YW55PjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFPLGNBQVU7Q0FBQTtPQUFZLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzdCLElBQVcsZ0JBQU07Q0FBQTtPQUFBLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUNqQixJQUFXLGNBQVc7Q0FBSTtPQUFVLENBQUEsY0FBTztDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMzQyxJQUFXLGFBQU87Q0FBQTtPQUFBLENB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QTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDUDFCLElBQUEsZ0JBQW9CO0NBQUM7T0FBQTtFQUFBO0VBQWM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRW5DLElBQVcsY0FBYztDQUFDO0VBQUssTUFBRyxDQUFHLEVBQUU7Q0FBRTtFQUFDO0VBQUk7RUFBRTtFQUFLO0NBQUM7Ozs7QUNDdEQsSUFBSSxrQkFB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QyxJQUFJLGdCQUFVO0NBQUE7T0FBQSxDQUFBLFFBQUEsY0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RkLElBQUEsYUFBZTtDQUFBO09BQU0sQ0FBQSxRQUFXLFdBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ2hDLElBQUksa0JBQWtCO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxhQUFVO0NBQUk7T0FBVyxDQUFDLFFBQVEsZ0JBQWdCO0NBQUU7RUFBQztFQUFHO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDVELElBQUksa0JBQWM7Q0FBRztFQUFLLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLGFBQVU7Q0FBQTtPQUFhLENBQUMsZ0JBQWM7Q0FBRTtFQUFDO0VBQUc7RUFBQTtFQUFTO0VBQUc7RUFBQTtDQUFBOzs7O0FDRjVELElBQUEsa0JBQXFCO0NBQUE7T0FBQSxDQUFBLGdCQUFnQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQXJDLElBQUEsa0JBQXFCO0NBQUE7T0FBQSxDQUFBLGdCQUFnQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ3JDLElBQVUsNEJBQU07Q0FBQTtPQUFBLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBUyxzQkFBTTtDQUFBO09BQUEsQ0FBQSwwQkFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDZixJQUFJLHNCQUFxQjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDekIsSUFBQSxpQkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RBLElBQUksb0JBQW9CO0NBQUM7T0FBQSxFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUN6QixJQUFJLGdCQUFjO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3RCLElBQUEsV0FBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNMQSxJQUFBLG1CQUFxQjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQXFCO0VBQUE7RUFBcUI7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0MvRCxJQUFJLG9CQUFvQjtDQUFDO0VBQUMsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxpQkFBZTtDQUFDO09BQVUsQ0FBQSxrQkFBa0I7Q0FBQTtFQUFBO0VBQVM7RUFBRztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDVELElBQUksWUFBWTtDQUFDO0VBQUssTUFBSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksT0FBSTtDQUFBO09BQVksQ0FBQSxVQUFVO0NBQU07RUFBQztFQUFFO0VBQU07RUFBRztFQUFBO0NBQUE7Ozs7QUNDaEQsSUFBSSxrQkFBa0I7Q0FBQztFQUFHLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLGVBQVU7Q0FBSTtPQUFXO0VBQUM7RUFBTTtFQUFZO0VBQU07RUFBTTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQzVELElBQU8sWUFBVTtDQUFBO09BQVUsQ0FBQSxXQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzNCLElBQVMsYUFBYTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUEsTUFBQTtFQUFBLE1BQUE7RUFBQSxNQUFBO0VBQUEsTUFBQTtFQUFBLE1BQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QixJQUFJLGFBQVM7Q0FBQTtPQUFVO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNOdkIsSUFBQSxvQkFBcUI7Q0FBQTtPQUFBO0VBQUE7RUFBeUI7RUFBQztFQUFXO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0MxRCxJQUFBLG9CQUFxQjtDQUFBO09BQUE7RUFBQSxHQUFrQjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNBdkMsSUFBTyx5QkFBVTtDQUFBO09BQXVCLENBQUEsUUFBQSxjQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDeEMsSUFBSSxrQkFBa0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNGdEIsSUFBVyxZQUFZO0NBQUM7T0FBRSxDQUFBLFdBQW1CLEVBQUEsWUFBVTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN2RCxJQUFPLFlBQWM7Q0FBQTtPQUFhO0VBQUEsRUFBQTtFQUFrQixFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQXBELElBQUEsYUFBZTtDQUFBO0VBQU0sTUFBQTtFQUFBO0VBQVcsT0FBQTtFQUFBLE9BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDaEMsSUFBTyx1QkFBVTtDQUFBO09BQXFCLENBQUEsWUFBQSxjQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QyxJQUFJLHVCQUFlO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0ZuQixJQUFPLGFBQVU7Q0FBQTtPQUFXLENBQUEsR0FBQSxZQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVCLElBQVcsbUJBQWlCO0NBQUE7T0FBQSxDQUFBLEdBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUIsSUFBQSxtQkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLE9BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQUEsSUFBSSxTQUFTO0NBQUE7T0FBUTtFQUFBLEVBQWU7RUFBRyxFQUFlO0VBQWtCLEVBQVU7RUFBYSxFQUFrQjtFQUFZLEVBQUE7RUFBMkIsRUFBVztFQUFDLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDcEssSUFBSSxnQkFBdUI7Q0FBQztPQUFXLENBQUEsUUFBQSxZQUFxQjtDQUFFLENBQUEsSUFBQSxHQUFRO0NBQUM7QUFDdkUsSUFBSSxVQUFTO0NBQUE7T0FBYTtFQUFBO0VBQVE7RUFBVTtFQUFBO0VBQWU7RUFBaUI7RUFBVztFQUFBO0VBQWE7RUFBWTtFQUFlLE9BQUc7RUFBZ0I7RUFBVztFQUFZO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRnpLLElBQUEsZUFBVTtDQUFBO09BQWE7RUFBTztFQUFNO0VBQXdCO0VBQUM7Q0FBQTtFQUFBO0VBQVc7RUFBRztFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDM0UsSUFBSSxrQkFBZTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0huQixJQUFXLHlCQUFPO0NBQUE7T0FBQSxDQUFBLFlBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ2xCLElBQUEsa0JBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQSxTQUFBO0VBQUE7RUFBQTtFQUFBLE9BQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQUEsSUFBTyxrQkFBVTtDQUFBO09BQWdCLENBQUEsR0FBQSxZQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2pDLElBQVcsd0JBQWlCO0NBQUE7T0FBQSxDQUFBLEdBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUIsSUFBQSxnQkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEQSxJQUFBLHdCQUFVO0NBQUE7T0FBc0IsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDaEMsSUFBSSxlQUFZO0NBQUE7T0FBTTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLE9BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsT0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSHRCLElBQUEsa0JBQXFCO0NBQUE7T0FBQTtFQUFBO0VBQXVCO0VBQU07RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0dsRCxJQUFPLGtDQUFVO0NBQUE7T0FBZ0M7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2pELElBQUksMkJBQVc7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTGYsSUFBTyxhQUFVO0NBQUE7RUFBWSxNQUFHLENBQUcsRUFBRTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3JDLElBQVcsa0JBQUc7Q0FBQTtPQUFBLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNkLElBQVUsb0JBQU07Q0FBQTtPQUFBLENBQUEsaUJBQUEsZ0JBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBSSxvQkFBZ0I7Q0FBQTtPQUFBLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUNwQixJQUFJLHFCQUFhO0NBQUE7RUFBQSxTQUFBLGFBQUEsYUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSGpCLElBQU8sNkJBQVU7Q0FBQTtPQUEyQixFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM1QyxJQUFTLHVCQUFpQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLGlCQUFlO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIbkIsSUFBTyxxQkFBVTtDQUFBO09BQW1CLENBQUEsS0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDcEMsSUFBSSxrQkFBWTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRWhCLElBQU8sa0JBQVU7Q0FBQTtPQUFnQixFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUNqQyxJQUFRLFlBQU07Q0FBQTtPQUFBLENBQUEsS0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDZCxJQUFJLGdCQUFpQjtDQUFBO09BQUEsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDckIsSUFBQSxrQkFBQTtDQUFBO09BQUEsRUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFPLHlCQUFvQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzNCLElBQVUsd0JBQU07Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNoQixJQUFJLGtCQUFpQjtDQUFBO09BQUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNUekIsSUFBQSxNQUFPO0NBQUE7T0FBYyxDQUFBLFFBQUksVUFBUTtDQUFRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0N6QyxJQUFPLFVBQVU7Q0FBQTtPQUFRLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUN6QixJQUFVLFdBQVk7Q0FBQTtPQUFBLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUN0QixJQUFBLGNBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIQSxJQUFPLFdBQVU7Q0FBQTtPQUFTLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUMxQixJQUFJLGVBQWdCO0NBQUE7T0FBQSxDQUFBLFFBQUEsU0FBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDcEIsSUFBQSxhQUFBO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNBLElBQUEsMkJBQTJCO0NBQUE7RUFBTyxNQUFRO0VBQUE7RUFBTztFQUFTO0VBQU07RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2hFLElBQUEseUJBQTRCO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM1QixJQUFXLHlCQUF5QjtDQUFDO0VBQUEsTUFBUTtFQUFBO0VBQWE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFELElBQUEsWUFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNOQSxJQUFJLGNBQWM7Q0FBQztPQUFTLEVBQUk7Q0FBRSxFQUFFO0NBQUE7QUFDcEMsSUFBQSxRQUFPO0NBQUE7T0FBYztFQUFBO0VBQU07RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNFM0IsSUFBQSxlQUFVO0NBQUE7T0FBbUIsRUFBQTtDQUFBLEVBQUE7Q0FBQTtBQUM3QixJQUFJLHFCQUFZO0NBQVU7T0FBQSxDQUFBLFlBQUEsYUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksY0FBUztDQUFBO09BQVksRUFBQTtDQUFBLENBQUEsR0FBQTtDQUFBO0FBQ3pCLElBQUEsZUFBQTtDQUFBO09BQUEsQ0FBQSxlQUFBLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFBLHFCQUFzQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3RCLElBQUksZ0JBQWU7Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ1JuQixJQUFPLGlCQUFVO0NBQUE7T0FBZSxDQUFBLFFBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUNoQyxJQUFRLHVCQUFvQjtDQUFBO09BQUEsQ0FBQSxlQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUIsSUFBQSxnQkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDREEsSUFBTyxhQUFVO0NBQUE7T0FBVyxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDNUIsSUFBUywwQkFBTTtDQUFBO09BQUEsQ0FBQSxjQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2YsSUFBQSxrQkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBQSxtQkFBaUI7Q0FBQTtPQUFBO0VBQUE7RUFBd0I7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0p6QyxJQUFPLGtCQUFVO0NBQUE7T0FBZ0IsRUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNqQyxJQUFJLGVBQVk7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0VoQixJQUFPLGVBQVU7Q0FBQTtPQUFhLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQzlCLElBQVEsY0FBTTtDQUFBO09BQUEsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7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QUFBO0VBQUEsUUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLFFBQUE7RUFBQSxRQUFBO0VBQUE7RUFBQSxRQUFBO0VBQUEsS0FBQTtFQUFBLFFBQUE7RUFBQSxRQUFBO0VBQUEsUUFBQTtFQUFBLFFBQUE7RUFBQTtFQUFBLFFBQUE7RUFBQSxRQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNObkIsSUFBTywyQkFBVTtDQUFBO09BQXlCLENBQUEsWUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDMUMsSUFBSSxvQkFBaUI7Q0FBQTtPQUFBO0VBQUE7RUFBQSxVQUFBO0VBQUEsVUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIckIsSUFBQSxtQkFBcUI7Q0FBQTtPQUFBLENBQUEsU0FBaUIs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QUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDakJ0QyxJQUFPLGVBQVU7Q0FBQTtPQUFhLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDOUIsSUFBUyx1QkFBTTtDQUFBO09BQUEsQ0FBQSxhQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUNmLElBQUksdUJBQVk7Q0FBQTtFQUFBLFNBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSmhCLElBQUEsa0JBQXFCO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBZ0I7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FyQyxJQUFXLGFBQWE7Q0FBQztFQUFFLE1BQU8sQ0FBQSxFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNsQyxJQUFJLGdCQUFVO0NBQUE7RUFBQSxNQUFBLENBQUEsRUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNkLElBQVcsa0JBQU07Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RqQixJQUFJLGNBQWM7Q0FBQztFQUFFLE1BQU8sQ0FBQyxFQUFBO0NBQUk7RUFBQztFQUFJO0VBQUc7RUFBSTtDQUFBO0FBQzdDLElBQU8sZ0JBQWM7Q0FBQTtFQUFBLE1BQWM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRG5DLElBQVcsYUFBYTtDQUFDO09BQVMsRUFBQTtDQUFLLEVBQUU7Q0FBQztBQUMxQyxJQUFPLGtCQUFVO0NBQUE7T0FBZ0IsQ0FBQSxXQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2pDLElBQVcsZUFBVztDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QixJQUFVLHVCQUFNO0NBQUE7T0FBQSxDQUFBLE9BQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2hCLElBQUEsYUFBQTtDQUFBO09BQUEsQ0FBQSxXQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNBLElBQU8sZUFBVTtDQUFBO09BQWE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDOUIsSUFBSSxlQUFpQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0xyQixJQUFBLCtCQUFxQjtDQUFBO09BQUE7RUFBQTtFQUE2QjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEbEQsSUFBTyxzQkFBVTtDQUFBO09BQW9CLENBQUEsT0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNyQyxJQUFJLGlCQUFnQjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0dwQixJQUFJLGlCQUFxQjtDQUFBO09BQU8sRUFBQTtDQUFBLEVBQUE7Q0FBYztBQUM5QyxJQUFXLHdCQUFrQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM3QixJQUFBLDZCQUFBO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFBLHdCQUFjO0NBQUE7T0FBQTtFQUEwQjtFQUFFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ1AxQyxJQUFXLGNBQWM7Q0FBQztPQUFXO0VBQUE7RUFBVztFQUFPO0VBQWE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDcEUsSUFBQSxZQUFVO0NBQUE7T0FBUSxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDbEIsSUFBSSxjQUFXO0NBQUE7RUFBTyxHQUFBLFVBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDdEIsSUFBQSx1QkFBcUI7Q0FBQTtPQUFBO0VBQUE7RUFBNkI7RUFBc0I7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSHhFLElBQUEsaUJBQVU7Q0FBQTtPQUFlLENBQUEsT0FBQSxXQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN6QixJQUFVLHNCQUFNO0NBQUE7T0FBQSxDQUFBLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBSSxlQUFhO0NBQUE7T0FBVTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEM0IsSUFBQSxtQkFBcUI7Q0FBQTtFQUFBLFNBQWlCLGFBQVU7RUFBQTtFQUFPO0VBQWE7RUFBWTtFQUFrQjtFQUFHO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0NyRyxJQUFPLDZCQUFVO0NBQUE7T0FBMkIsQ0FBQSxx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QUE7RUFBVTtFQUFRO0VBQW1CO0VBQUM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuRixJQUFXLE9BQU87Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNBbEIsSUFBTyxrQkFBVTtDQUFBO0VBQWtCLE1BQUE7RUFBQTtFQUFjO0VBQVU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDM0QsSUFBVyxpQkFBUTtDQUFBO0VBQUEsR0FBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuQixJQUFXLFdBQU07Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSmpCLElBQU8sZUFBVTtDQUFBO0VBQWUsTUFBQTtFQUFBO0VBQWM7RUFBQTtFQUFVO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN4RCxJQUFXLFFBQU07Q0FBQTtFQUFBLEdBQVksTUFBTTtFQUFBO0VBQVc7RUFBRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDaEQsSUFBVyxnQkFBWTtDQUFBO0VBQVUsTUFBRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuQyxJQUFJLGdCQUFtQjtDQUFBO0VBQUEsR0FBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN2QixJQUFJLGNBQXFCO0NBQUM7RUFBRSxHQUFPLE1BQU07RUFBQztFQUFLO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQy9DLElBQUEsU0FBQTtDQUFBO0VBQUEsR0FBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxTQUFBO0VBQUE7RUFBQTtFQUFBLFNBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxTQUFBO0VBQUEsU0FBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIQSxJQUFXLGdCQUFRO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ25CLElBQVcsZ0JBQVk7Q0FBQTtFQUFXLEdBQUMsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDbkMsSUFBSSxjQUFxQjtDQUFDO0VBQUUsR0FBTyxNQUFNO0VBQUM7RUFBSztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VB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YztDQUFDO09BQVc7RUFBQTtFQUFXO0VBQU87RUFBaUI7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDeEUsSUFBQSxhQUFlO0NBQUE7RUFBUyxHQUFBLE9BQVUsVUFBTztFQUFBO0VBQWM7RUFBQTtFQUFpQjtFQUFPO0VBQWE7RUFBTTtFQUFTO0VBQVU7RUFBTTtFQUFRO0VBQVk7RUFBTztFQUFBO0VBQU07RUFBSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUN0QmhLLElBQUEsV0FBVTtDQUFBO09BQVMsQ0FBQSxRQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ25CLElBQUksV0FBSztDQUFBO0VBQWEsR0FBRyxPQUFFLE1BQVE7RUFBSTtFQUFDO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFB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V0FBa0I7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDdEIsSUFBQSxtQkFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEQSxJQUFJLG1CQUFtQjtDQUFDO0VBQUksTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVCLElBQUksY0FBQTtDQUFlO0VBQUUsTUFBTztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNLNUIsSUFBSSxXQUFJO0NBQUE7T0FBbUIsRUFBQztDQUFBLENBQUEsSUFBTyxHQUFBO0NBQUE7QUFDbkMsSUFBSSxZQUFZO0NBQUM7RUFBQyxNQUFRO0VBQUE7RUFBUTtFQUFpQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLFNBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuRSxJQUFJLE9BQU87Q0FBQztPQUFPO0VBQUE7RUFBUTtFQUFZO0VBQVE7RUFBTztFQUFTLE9BQUs7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0pwRSxJQUFJLGdCQUFDO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsU0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0wsSUFBSSxXQUFTO0NBQUE7T0FBQSxDQUFBLGNBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0piLElBQUEsY0FBYztDQUFBO09BQWEsQ0FBQSxTQUFPO0NBQUksQ0FBQSxHQUFBO0NBQUE7QUFDdEMsSUFBQSxTQUFPO0NBQU87T0FBTztFQUFBO0VBQWUsTUFBQTtFQUFZO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFB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
2890
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5tdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci91dGlscy9wcmludFRhYmxlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvQ29udGFpbmVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9MaWZlY3ljbGVIb29rLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2NvbXBvc2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvTGlmZWN5Y2xlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25Bc3NpZ25tZW50U2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvblNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Rva2VuU2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Ib29rc01peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1Blcm1pc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvQWNsRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0ZpbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZU1ldGFFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvR2l0QnJhbmNoRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0dpdENvbW1pdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Nb2R1bGVNYW5pZmVzdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Nb2R1bGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUGFnaW5hdGlvbkVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9QbHVnaW5FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUm9sZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Vc2VyRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NsaVNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvQ2xpVGVzdGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9DbGlXcmFwcGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Db25maWdGU1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2NoZW1hcy9lbnZTY2hlbWEuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvRW52U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Db25maWdNYW5hZ2VyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9Ecml2ZUJhc2VHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2dhdGV3YXlzL0RyaXZlUzNHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NvbmZpZ1MzU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Eb3dubG9hZFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0RyaXZlQ29udHJhY3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvRHJpdmVTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QYWdlUmVxdWVzdENvbnRleHRFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvVXNlclJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvTWlncmF0aW9uRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL01pZ3JhdG9yU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9BY2xFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0h0dHBDb250ZXh0Q29udHJhY3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL1JvdXRlckNvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL1JvdXRlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvUm91dGluZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9TY2hlZHVsZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL1NlZWRlckVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9TZWVkZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2NvbnRyYWN0cy9FdmVudENvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9FbmNyeXB0U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9FeGNlcHRpb25TZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0hhc2hlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvSHR0cFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvSHR0cFRlc3RlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvTGlmZWN5Y2xlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVF1ZXJ5U2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUGx1Z2luSXBjQ2xpZW50LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1BsdWdpbklwY0hvc3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUGx1Z2luUm91dGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlckZpbGVCYXNlUm91dGluZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvUm91dGVyUmVnaXN0ZXJTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1JvdXRlclJlc291cmNlU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9taXhpbnMvTW9kZWxDb25maWdNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9Sb3V0ZXJSZXNvdXJjZUNvbmZpZ1NlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvU2hlbGxTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9Db25maWdSZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9GaWxlUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvR2l0QnJhbmNoUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvR2l0Q29tbWl0UmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvUGVybWlzc2lvbkFzc2lnbm1lbnRSZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlcG9zaXRvcmllcy9QZXJtaXNzaW9uUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9taXhpbnMvRGF0YWJhc2VSZXBvc2l0b3J5SW5mZXJNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZXBvc2l0b3JpZXMvVG9rZW5SZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2dhdGV3YXlzL0RhdGFiYXNlR2F0ZXdheS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9Ecml2ZUZTR2F0ZXdheS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9nYXRld2F5cy9HaXRHYXRld2F5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9NZXRhZGF0YU1peGluLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvZGF0YWJhc2UuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9jb21tb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy91cGRhdGVPckNyZWF0ZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2xpc3QuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9wYWdpbmF0ZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2NvdW50LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvY3JlYXRlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvdXBkYXRlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvZGVzdHJveS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9xdWVyaWVzL2ZpcnN0T3JDcmVhdGUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9maW5kT25lLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9Nb2RlbE1peGluLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21peGlucy9SZWxhdGlvbnNNaXhpbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2NvbmZpZy5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2NvbnRhaW5lci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2Rvd25sb2FkLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvZHJpdmUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9lbW1pdHRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL2VuY3J5cHQuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9lbnYuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9maWxlc1JlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9oYXNoZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9odHRwLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvbG9nZ2VyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvbWlncmF0b3IuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9wZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvZmFjYWRlcy9wZXJtaXNzaW9uUmVwb3NpdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3JvdXRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3NjaGVkdWxlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9mYWNhZGVzL3NoZWxsLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvdG9rZW5SZXBvc2l0b3J5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2ZhY2FkZXMvdXNlclJlcG9zaXRvcnkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvY29udHJhY3RzL0t5c2VseUNvbnRyYWN0LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9sb2FkZXJzL2ZpbGVMb2FkZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9maWxlVXJsTG9hZGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2xvYWRlcnMvaGFzTWFueVRocm91Z2hMb2FkZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9sb2FkTWV0YXMuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvbG9hZGVycy9wZXJtaXNzaW9uTG9hZGVyLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2xvYWRlcnMvdXNlckxvYWRlci5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9GaWxlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0ZpbGVNZXRhRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL01vZHVsZUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbHVnaW5FbnRyeUVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbHVnaW5FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9leGlzdHMuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcXVlcmllcy9zb2Z0RGVsZXRlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3F1ZXJpZXMvdGltZXN0YW1wLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlbGF0aW9ucy9CYXNlUmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL0JlbG9uZ3NUb1JlbGF0aW9uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlbGF0aW9ucy9CZWxvbmdzVG9GaWxlUmVsYXRpb24uZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvcmVsYXRpb25zL0JlbG9uZ3NUb1VzZXJSZWxhdGlvbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9yZWxhdGlvbnMvSGFzTWFueVJlbGF0aW9uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlbGF0aW9ucy9IYXNNZXRhc1JlbGF0aW9uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3JlbGF0aW9ucy9oYXNNYW55VGhyb3VnaFJlbGF0aW9uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21pZGRsZXdhcmVzL0F1dGhNaWRkbGV3YXJlLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL21pZGRsZXdhcmVzL0F1dGhTaWxlbmNlTWlkZGxld2FyZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci9taWRkbGV3YXJlcy9BdXRob3JpemF0aW9uTWlkZGxld2FyZS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci91dGlscy9hZGRJZENvbHVtbi5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci91dGlscy9hZGRTb2Z0RGVsZXRlQ29sdW1uLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2FkZFRpbWVzdGFtcENvbHVtbnMuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvYmFzZVBhdGguZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvY3JlYXRlTG9hZGVyRmFjdG9yeS5kLnRzIiwiLi4vLi4vc3JjL3NlcnZlci91dGlscy9jdWlkLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2RlZmluZUhhbmRsZXIuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvZ2VuZXJhdGVJbmRleEZpbGUuZC50cyIsIi4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvaW1wb3J0QWxsLmQudHMiLCIuLi8uLi9zcmMvc2VydmVyL3V0aWxzL2ltcG9ydE9uZS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW4ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZyB8ICgoaXRlbTogYW55KSA9PiBzdHJpbmcpO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIHJlYWxXaWR0aD86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0T3B0aW9ucyB7XG4gICAga2V5V2lkdGg/OiBudW1iZXI7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBwcmludE9iamVjdChvdXRwdXQ/OiBhbnksIG9wdGlvbnM/OiBPYmplY3RPcHRpb25zKTogdm9pZDtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHByaW50VGFibGUoaXRlbXM6IGFueVtdLCBjb2x1bW5zPzogVGFibGVDb2x1bW5bXSk6IHZvaWQ7XG4iLCJpbnRlcmZhY2UgRW50cnkge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG4gICAgc291cmNlOiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWdTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgZW50cmllczogTWFwPHN0cmluZywgRW50cnk+O1xuICAgIGNvbnN0cnVjdG9yKCk7XG4gICAgbGlzdCgpOiBFbnRyeVtdO1xuICAgIHBhcnNlVmFsdWUodmFsdWU6IGFueSk6IGFueTtcbiAgICBsb2FkRnJvbVJlY29yZChyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4sIHNvdXJjZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgbG9hZEZyb21FbnRyaWVzKGVudHJpZXM6IFtzdHJpbmcsIGFueV1bXSwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICB0b1JlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgZ2V0PFQgPSBhbnkgfCB1bmRlZmluZWQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBUO1xuICAgIGdldE9uZTxUID0gYW55IHwgdW5kZWZpbmVkPihrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlPzogYW55KTogVDtcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHNvdXJjZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgdW5zZXQoa2V5OiBzdHJpbmcpOiB2b2lkO1xuICAgIGNsZWFyKCk6IHZvaWQ7XG4gICAgZHVtcCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuZXhwb3J0IHt9O1xuIiwidHlwZSBDb25zdHJ1Y3RvcjxUID0gb2JqZWN0PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG50eXBlIEVudHJ5S2V5ID0gc3RyaW5nIHwgc3ltYm9sIHwgQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGVudHJpZXM7XG4gICAgbG9hZEZyb21SZWNvcmQocmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZDtcbiAgICB0b1JlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIHByaXZhdGUgZ2V0S2V5O1xuICAgIHNldChwYXlsb2FkOiBFbnRyeUtleSwgdmFsdWU6IGFueSk6IHRoaXM7XG4gICAgaGFzKHBheWxvYWQ6IEVudHJ5S2V5KTogYm9vbGVhbjtcbiAgICBnZXQ8VD4ocGF5bG9hZDogRW50cnlLZXkpOiBUO1xuICAgIHVuc2V0KHBheWxvYWQ6IEVudHJ5S2V5KTogdm9pZDtcbiAgICBzaW5nbGV0b248VD4oY2xhc3NDb25zdHJ1Y3RvcjogQ29uc3RydWN0b3I8VD4pOiBUO1xuICAgIGxvYWQoZW50cmllczogUmVjb3JkPGFueSwgYW55Pik6IHZvaWQ7XG4gICAgcHJveHk8VCA9IHVua25vd24+KGtleTogRW50cnlLZXkpOiBUO1xuICAgIGtleXMoKTogRW50cnlLZXlbXTtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgbWV0YT86IGFueSk6IHZvaWQ7XG4gICAgZGVidWcobWVzc2FnZTogc3RyaW5nLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgbWV0YT86IGFueSk6IHZvaWQ7XG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nIHwgRXJyb3IsIG1ldGE/OiBhbnkpOiB2b2lkO1xuICAgIGNoaWxkKG9wdGlvbnM6IGFueSk6IExvZ2dlclNlcnZpY2U7XG59XG4iLCJpbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcuL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBFbW1pdHRlckxpc3RlbmVyT3B0aW9ucyB7XG4gICAgZXZlbnQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRW1taXR0ZXJMaXN0ZW5lciB7XG4gICAgKGRhdGE6IGFueSwgb3B0aW9uczogRW1taXR0ZXJMaXN0ZW5lck9wdGlvbnMpOiB2b2lkO1xufVxuaW50ZXJmYWNlIEVtbWl0dGVySGFuZGxlciB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBldmVudDogc3RyaW5nO1xuICAgIGxpc3RlbmVyOiBFbW1pdHRlckxpc3RlbmVyO1xuICAgIG9yaWdpbmFsTGlzdGVuZXI/OiBFbW1pdHRlckxpc3RlbmVyO1xufVxuaW50ZXJmYWNlIE9uT3B0aW9ucyB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgdW5pcXVlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBPbkRlYm91bmNlT3B0aW9ucyBleHRlbmRzIE9uT3B0aW9ucyB7XG4gICAgZGVib3VuY2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEVtbWl0dGVyU2VydmljZU9wdGlvbnMge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW1taXR0ZXJTZXJ2aWNlPEV2ZW50cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGhhbmRsZXJzOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IEVtbWl0dGVyU2VydmljZU9wdGlvbnMpO1xuICAgIHN0YXRpYyBjcmVhdGU8RXZlbnRzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KG9wdGlvbnM/OiBFbW1pdHRlclNlcnZpY2VPcHRpb25zKTogRW1taXR0ZXJTZXJ2aWNlPEV2ZW50cz47XG4gICAgc2V0RGVidWcoZGVidWc6IGJvb2xlYW4pOiB2b2lkO1xuICAgIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlclNlcnZpY2UpOiB2b2lkO1xuICAgIG9uPEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBLLCBsaXN0ZW5lcjogKGFyZ3M6IEV2ZW50c1tLXSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKGFyZ3M6IGFueSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbmNlPEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBLLCBsaXN0ZW5lcjogKGFyZ3M6IEV2ZW50c1tLXSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbmNlKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uRGVib3VuY2U8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25EZWJvdW5jZU9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25EZWJvdW5jZShldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKGFyZ3M6IGFueSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uRGVib3VuY2VPcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uQW55T2Y8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnRzOiBLW10sIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgb25BbnlPZihldmVudHM6IHN0cmluZ1tdLCBsaXN0ZW5lcjogKGFyZ3M6IGFueSkgPT4gdm9pZCwgb3B0aW9ucz86IE9uT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIG9mZihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogRW1taXR0ZXJIYW5kbGVyWydsaXN0ZW5lciddKTogdm9pZDtcbiAgICBlbWl0PEsgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBLLCBhcmdzOiBFdmVudHNbS10pOiB2b2lkO1xuICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgYXJncz86IGFueSk6IHZvaWQ7XG4gICAgZW1pdEFuZFdhaXQ8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGFyZ3M6IEV2ZW50c1tLXSk6IFByb21pc2U8dm9pZD47XG4gICAgZW1pdEFuZFdhaXQoZXZlbnQ6IHN0cmluZywgYXJncz86IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgbGlzdCgpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICBsaXN0QnlFdmVudChldmVudDogc3RyaW5nKTogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgcmVtb3ZlKHBheWxvYWQ6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZDtcbiAgICBjbGVhcigpOiB2b2lkO1xuICAgIGhhc0hhbmRsZXJzKCk6IGJvb2xlYW47XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBMaWZlY3ljbGVIb29rIHtcbiAgICBob29rX2lkOiBzdHJpbmc7XG4gICAgaG9va19hbGlhc2VzPzogc3RyaW5nW107XG4gICAgb3JkZXI/OiBudW1iZXI7XG4gICAgc3ViaG9va3M/OiBMaWZlY3ljbGVIb29rW107XG4gICAgcmVnaXN0ZXIoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD47XG4gICAgYm9vdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHNodXRkb3duKCk6IFByb21pc2U8dm9pZD47XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSByZWdpc3RlciAqL1xuICAgIG9uUmVnaXN0ZXIoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIGxvYWQgKi9cbiAgICBvbkxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIGJvb3QgKi9cbiAgICBvbkJvb3QoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNodXRkb3duICovXG4gICAgb25TaHV0ZG93bigpOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBVbmlvblRvSW50ZXJzZWN0aW9uIH0gZnJvbSAnLi90eXBpbmcudHMnO1xuZXhwb3J0IHR5cGUgQW55Q2xhc3MgPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5leHBvcnQgdHlwZSBDb25zdHJ1Y3RvcjxUID0ge30+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbmV4cG9ydCB0eXBlIE1peGluPFQ+ID0gKGJhc2U6IENvbnN0cnVjdG9yKSA9PiBDb25zdHJ1Y3RvcjxUPjtcbi8qKlxuICogQ29tcG9zZXMgbXVsdGlwbGUgbWl4aW5zIGludG8gYSBzaW5nbGUgY2xhc3MgdGhhdCBjYW4gYmUgZXh0ZW5kZWQuXG4gKiBBbGxvd3MgZm9yIG11bHRpcGxlIGluaGVyaXRhbmNlLWxpa2UgYmVoYXZpb3IgYnkgYXBwbHlpbmcgbWl4aW5zIHNlcXVlbnRpYWxseS5cbiAqXG4gKiBAcGFyYW0gbWl4aW5zIC0gQXJyYXkgb2YgbWl4aW4gZnVuY3Rpb25zIHRvIGNvbXBvc2VcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBpbmNsdWRlcyBhbGwgbWl4aW4gZnVuY3Rpb25hbGl0eVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBVc2VyIGV4dGVuZHMgY29tcG9zZShUaW1lc3RhbXAsIFNvZnREZWxldGUpIHtcbiAqICAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZykge1xuICogICAgIHN1cGVyKClcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNvbXBvc2U8TSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3Rvcjxhbnk+KSA9PiBDb25zdHJ1Y3Rvcjxhbnk+Pj4oLi4ubWl4aW5zOiBNKTogVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuLyoqXG4gKiBBbHRlcm5hdGl2ZSBjb21wb3NlIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHdpdGggYSBiYXNlIGNsYXNzXG4gKlxuICogQHBhcmFtIGJhc2VDbGFzcyAtIFRoZSBiYXNlIGNsYXNzIHRvIHN0YXJ0IHdpdGhcbiAqIEBwYXJhbSBtaXhpbnMgLSBBcnJheSBvZiBtaXhpbiBmdW5jdGlvbnMgdG8gYXBwbHlcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBleHRlbmRzIHRoZSBiYXNlIGNsYXNzIHdpdGggYWxsIG1peGluIGZ1bmN0aW9uYWxpdHlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIGNvbXBvc2VXaXRoKEJhc2VFbnRpdHksIFRpbWVzdGFtcCwgU29mdERlbGV0ZSkge1xuICogICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nKSB7XG4gKiAgICAgc3VwZXIoKVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY29tcG9zZVdpdGg8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvciwgTSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3RvcikgPT4gQ29uc3RydWN0b3I8YW55Pj4+KGJhc2VDbGFzczogVEJhc2UsIC4uLm1peGluczogTSk6IFRCYXNlICYgVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oU291cmNlOiBUQmFzZSk6IDxUVGFyZ2V0IGV4dGVuZHMgQ29uc3RydWN0b3I+KFRhcmdldDogVFRhcmdldCkgPT4gVFRhcmdldCAmIFRCYXNlO1xuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnLi9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBMaWZlY3ljbGVIb29rIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbnR5cGUgTGlmZWN5Y2xlTWV0aG9kID0gJ3JlZ2lzdGVyJyB8ICdsb2FkJyB8ICdib290JyB8ICdzaHV0ZG93bic7XG5pbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICAgIGluY2x1ZGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBleGNsdWRlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIExpZmVjeWNsZVNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgaG9va3M/OiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yLCBjb250ZXh0OiB7XG4gICAgICAgIGhvb2tJZDogc3RyaW5nO1xuICAgICAgICBtZXRob2Q6IExpZmVjeWNsZU1ldGhvZDtcbiAgICB9KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlmZWN5Y2xlU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGhvb2tzOiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IExpZmVjeWNsZVNlcnZpY2VPcHRpb25zKTtcbiAgICBzZXRPbkVycm9yKGhhbmRsZXI6IFJlcXVpcmVkPExpZmVjeWNsZVNlcnZpY2VPcHRpb25zPlsnb25FcnJvciddKTogdm9pZDtcbiAgICBvbkVycm9yKGVycm9yOiBFcnJvciwgY29udGV4dDoge1xuICAgICAgICBob29rSWQ6IHN0cmluZztcbiAgICAgICAgbWV0aG9kOiBMaWZlY3ljbGVNZXRob2Q7XG4gICAgfSk6IHZvaWQ7XG4gICAgbWFwQWxpYXNlcyhhcmdzOiBzdHJpbmdbXSk6IHN0cmluZ1tdO1xuICAgIGxpc3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogTGlmZWN5Y2xlSG9va1tdO1xuICAgIGFkZCguLi5wYXlsb2FkOiAoTGlmZWN5Y2xlSG9vayB8IENvbnN0cnVjdG9yPExpZmVjeWNsZUhvb2s+KVtdKTogdm9pZDtcbiAgICBlbWl0TWV0aG9kKG1ldGhvZDogTGlmZWN5Y2xlTWV0aG9kLCBvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGVtaXQocGF5bG9hZDogTGlmZWN5Y2xlTWV0aG9kIHwgTGlmZWN5Y2xlTWV0aG9kW10sIG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgb24obWV0aG9kOiBMaWZlY3ljbGVNZXRob2QsIGhhbmRsZXI6ICgpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkO1xuICAgIHJlZ2lzdGVyKG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZChvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGJvb3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzaHV0ZG93bihvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGNsZWFyKCk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgUGVybWlzc2lvbkFzc2lnbm1lbnQgPSB2LkluZmVyT3V0cHV0PHR5cGVvZiBwZXJtaXNzaW9uQXNzaWdubWVudFNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwZXJtaXNzaW9uQXNzaWdubWVudFNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHBlcm1pc3Npb25faWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgYXNzaWduYWJsZV90eXBlOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFzc2lnbmFibGVfaWQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xufSwgdW5kZWZpbmVkPjtcbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgdHlwZSBQZXJtaXNzaW9uID0gdi5JbmZlck91dHB1dDx0eXBlb2YgcGVybWlzc2lvblNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwZXJtaXNzaW9uU2NoZW1hOiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgbmFtZTogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgYWN0aW9uOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHN1YmplY3Q6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgY29uZGl0aW9uczogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBleHBpcmVzX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xufSwgdW5kZWZpbmVkPjtcbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgdHlwZSBUb2tlbiA9IHYuSW5mZXJPdXRwdXQ8dHlwZW9mIHRva2VuU2NoZW1hPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHRva2VuU2NoZW1hOiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgbmFtZTogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHR5cGU6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXNlcl9pZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB0b2tlbjogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZXhwaXJlc19hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgTGlzdGVuZXIge1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGVtaXRIb29rKGNvbnN0cnVjdG9yOiBhbnksIGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIG9uSG9vayhjb25zdHJ1Y3RvcjogYW55LCBldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIEhvb2tzU3RhdGljPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7fTtcbiAgICBsaXN0ZW5lcnM6IEFycmF5PCguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZD47XG4gICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59ICYgVEJhc2U7XG5leHBvcnQgZGVjbGFyZSBuYW1lc3BhY2UgSG9va3NTdGF0aWMge1xuICAgIHZhciBlbWl0OiB0eXBlb2YgZW1pdEhvb2s7XG4gICAgdmFyIG9uOiB0eXBlb2Ygb25Ib29rO1xufVxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG9va3M8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbGlzdGVuZXJzOiBMaXN0ZW5lcltdO1xuICAgICAgICBvbihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgb2ZmKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgICAgICAgZW1pdEFzeW5jKGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xufSAmIFRCYXNlO1xuIiwiZGVjbGFyZSBjb25zdCBQZXJtaXNzaW9uRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGVybWlzc2lvbkVudGl0eSBleHRlbmRzIFBlcm1pc3Npb25FbnRpdHlfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG4gICAgb3JpZ2luOiBzdHJpbmc7XG4gICAgc3ViamVjdDogc3RyaW5nO1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM6IHN0cmluZyB8IG51bGwgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGdldCBlZGl0YWJsZSgpOiBib29sZWFuO1xuICAgIGdldCBwYXJzZWRDb25kaXRpb25zKCk6IGFueTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IGRlZmluZUFiaWxpdHkgfSBmcm9tICdAY2FzbC9hYmlsaXR5JztcbmltcG9ydCBQZXJtaXNzaW9uIGZyb20gJy4vUGVybWlzc2lvbkVudGl0eS50cyc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWNsRW50aXR5IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgYWJpbGl0eTogUmV0dXJuVHlwZTx0eXBlb2YgZGVmaW5lQWJpbGl0eT47XG4gICAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25bXTtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8QWNsRW50aXR5Pik7XG4gICAgY2FuKGFjdGlvbjogc3RyaW5nLCBzdWJqZWN0OiBhbnksIG9iamVjdD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuO1xuICAgIGNhbm5vdChhY3Rpb246IHN0cmluZywgc3ViamVjdDogYW55LCBvYmplY3Q/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYm9vbGVhbjtcbiAgICBzdWJqZWN0KHN1YmplY3Q6IHN0cmluZywgb2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiAmIGltcG9ydChcIkBjYXNsL2FiaWxpdHlcIikuRm9yY2VkU3ViamVjdDxzdHJpbmc+O1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBDb29raWVNYXBFbnRpdHlPcHRpb25zIHtcbiAgICBjb29raWVzPzogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb29raWVNYXBFbnRpdHkge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBjb29raWVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHByZWZpeDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBDb29raWVNYXBFbnRpdHlPcHRpb25zKTtcbiAgICBsb2FkKGNvb2tpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBNYXA8c3RyaW5nLCBzdHJpbmc+KTogdm9pZDtcbiAgICBnZXQobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbDtcbiAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogdm9pZDtcbiAgICB0b1JlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuIiwiZXhwb3J0IGRlY2xhcmUgY29uc3QgVFlQRVM6ICgpID0+ICh7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogYW55O1xuICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICBkaXJlY3Rvcnk6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIGFjY2Vzc0tleUlkPzogdW5kZWZpbmVkO1xuICAgICAgICBzZWNyZXRBY2Nlc3NLZXk/OiB1bmRlZmluZWQ7XG4gICAgICAgIGJ1Y2tldD86IHVuZGVmaW5lZDtcbiAgICAgICAgcmVnaW9uPzogdW5kZWZpbmVkO1xuICAgICAgICBwcmVmaXg/OiB1bmRlZmluZWQ7XG4gICAgICAgIGVuZHBvaW50PzogdW5kZWZpbmVkO1xuICAgIH07XG59IHwge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgIGNvbmZpZ19maWVsZHM6IHtcbiAgICAgICAgYWNjZXNzS2V5SWQ6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGJ1Y2tldDoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICByZWdpb246IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgcHJlZml4OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIGRpcmVjdG9yeT86IHVuZGVmaW5lZDtcbiAgICB9O1xufSlbXTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlQ29uZmlnIHtcbiAgICBzdGF0aWMgZ2V0IFRZUEVTKCk6ICh7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgICAgIGNvbmZpZ19maWVsZHM6IHtcbiAgICAgICAgICAgIGRpcmVjdG9yeToge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYWNjZXNzS2V5SWQ/OiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBzZWNyZXRBY2Nlc3NLZXk/OiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBidWNrZXQ/OiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZWdpb24/OiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBwcmVmaXg/OiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBlbmRwb2ludD86IHVuZGVmaW5lZDtcbiAgICAgICAgfTtcbiAgICB9IHwge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgICAgICBjb25maWdfZmllbGRzOiB7XG4gICAgICAgICAgICBhY2Nlc3NLZXlJZDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnVja2V0OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVnaW9uOiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcHJlZml4OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBkaXJlY3Rvcnk/OiB1bmRlZmluZWQ7XG4gICAgICAgIH07XG4gICAgfSlbXTtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgaXNfZGVmYXVsdDogYm9vbGVhbjtcbiAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3RydWN0b3IoZGF0YTogRHJpdmVDb25maWcpO1xuICAgIGdldCBjb25maWdfZmllbGRzKCk6IHt9O1xufVxuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJpdmVFbnRyeSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICB0eXBlOiAnZmlsZScgfCAnZGlyZWN0b3J5JztcbiAgICBtZXRhczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEcml2ZUVudHJ5KTtcbn1cbiIsImRlY2xhcmUgY29uc3QgRmlsZUVudGl0eV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvciAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBjcmVhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgIH07XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGRlbGV0ZWRfYXQ6IERhdGUgfCBzdHJpbmcgfCBudWxsO1xuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUVudGl0eSBleHRlbmRzIEZpbGVFbnRpdHlfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBkcml2ZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgcHVycG9zZTogc3RyaW5nO1xuICAgIGNsaWVudF9uYW1lOiBzdHJpbmc7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBwdWJsaWM6IGJvb2xlYW47XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG1ldGFzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBpc0ltYWdlKCk6IGJvb2xlYW47XG59XG5leHBvcnQge307XG4iLCJkZWNsYXJlIGNvbnN0IEZpbGVNZXRhX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlTWV0YSBleHRlbmRzIEZpbGVNZXRhX2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgZmlsZV9pZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEdpdEJyYW5jaEVudGl0eSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHJlbW90ZTogc3RyaW5nIHwgbnVsbDtcbiAgICBpc19jdXJyZW50OiBib29sZWFuO1xuICAgIGlzX3JlbW90ZTogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBHaXRCcmFuY2hFbnRpdHkpO1xufVxuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2l0Q29tbWl0RW50aXR5IHtcbiAgICBoYXNoOiBzdHJpbmc7XG4gICAgc2hvcnRfaGFzaDogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBib2R5OiBzdHJpbmc7XG4gICAgYXV0aG9yX25hbWU6IHN0cmluZztcbiAgICBhdXRob3JfZW1haWw6IHN0cmluZztcbiAgICBkYXRlOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoZGF0YTogR2l0Q29tbWl0RW50aXR5KTtcbn1cbiIsImV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTWFuaWZlc3RCdWlsZEltcG9ydCB7XG4gICAgZnJvbTogc3RyaW5nO1xuICAgIHRvPzogc3RyaW5nO1xuICAgIHR5cGU6ICdnbG9iYWxfaW1wb3J0Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTWFuaWZlc3RCdWlsZCB7XG4gICAgaW1wb3J0cz86IE1vZHVsZU1hbmlmZXN0QnVpbGRJbXBvcnRbXTtcbn1cbmRlY2xhcmUgY29uc3QgTW9kdWxlTWFuaWZlc3RfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2R1bGVNYW5pZmVzdCBleHRlbmRzIE1vZHVsZU1hbmlmZXN0X2Jhc2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGF1dGhvcj86IHN0cmluZztcbiAgICBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGJ1aWxkPzogTW9kdWxlTWFuaWZlc3RCdWlsZDtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSBNb2R1bGVNYW5pZmVzdCBmcm9tICcuL01vZHVsZU1hbmlmZXN0RW50aXR5LnRzJztcbmltcG9ydCBMaWZlY3ljbGVIb29rIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay50cyc7XG5pbnRlcmZhY2UgTW9kdWxlVXBncmFkZUluZm8ge1xuICAgIHNvdXJjZTogJ2dpdCcgfCAnemlwJztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5kZWNsYXJlIGNvbnN0IE1vZHVsZV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvciAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3Rvcjx7fT4gJiB0eXBlb2YgTGlmZWN5Y2xlSG9vaztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZHVsZSBleHRlbmRzIE1vZHVsZV9iYXNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBidWlsZDogTW9kdWxlTWFuaWZlc3RbJ2J1aWxkJ107XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgdXBncmFkZV9pbmZvPzogTW9kdWxlVXBncmFkZUluZm87XG4gICAgc2V0RGF0YShkYXRhOiBQYXJ0aWFsPE1vZHVsZSB8IE1vZHVsZU1hbmlmZXN0Pik6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBQYWdpbmF0aW9uRW50aXR5PFQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgaXRlbXM6IFRbXTtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBwZXJfcGFnZTogbnVtYmVyO1xuICAgIHRvdGFsX3BhZ2VzOiBudW1iZXI7XG4gICAgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxQYWdpbmF0aW9uRW50aXR5Pik7XG4gICAgc3RhdGljIGZyb208VCA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHBheWxvYWQ6IFBhcnRpYWw8UGFnaW5hdGlvbkVudGl0eTxUPj4pOiBQYWdpbmF0aW9uRW50aXR5PFQ+O1xufVxuIiwiZGVjbGFyZSBjb25zdCBQbHVnaW5FbnRpdHlfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQbHVnaW5FbnRpdHkgZXh0ZW5kcyBQbHVnaW5FbnRpdHlfYmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgYWxpYXNlczogc3RyaW5nW107XG4gICAgdmVyc2lvbl9jaGFubmVsOiBzdHJpbmc7XG4gICAgdmVyc2lvbl9hdmFpbGFibGVfY2hhbm5lbHM6IHN0cmluZ1tdO1xufVxuZXhwb3J0IHt9O1xuIiwiZGVjbGFyZSBjb25zdCBSb2xlX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb2xlIGV4dGVuZHMgUm9sZV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIFBlcm1pc3Npb24gZnJvbSAnLi9QZXJtaXNzaW9uRW50aXR5LnRzJztcbmltcG9ydCB0eXBlIFJvbGUgZnJvbSAnLi9Sb2xlRW50aXR5LnRzJztcbmRlY2xhcmUgY29uc3QgVXNlckVudGl0eV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvciAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBjcmVhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlIHwgc3RyaW5nO1xuICAgIH07XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGRlbGV0ZWRfYXQ6IERhdGUgfCBzdHJpbmcgfCBudWxsO1xuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXNlckVudGl0eSBleHRlbmRzIFVzZXJFbnRpdHlfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgIHZlcmlmaWVkX2F0PzogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgcGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uW107XG4gICAgcm9sZXM/OiBSb2xlW107XG4gICAgZ2V0IGluaXRpYWxzKCk6IHN0cmluZztcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IENvbW1hbmQgYXMgQ29tbWFuZGVyQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJpbnRUYWJsZSwgcHJpbnRPYmplY3QgfSBmcm9tICcuLi91dGlscy9wcmludFRhYmxlLnRzJztcbmltcG9ydCB7IEVtbWl0dGVyU2VydmljZSwgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgaW5xdWlyZXIgZnJvbSAnQGlucXVpcmVyL3Byb21wdHMnO1xuZXhwb3J0IGludGVyZmFjZSBDbGlFdmVudHMge1xuICAgICdjbGk6cmVnaXN0ZXJlZCc6IHtcbiAgICAgICAgY2xpOiBDbGlTZXJ2aWNlO1xuICAgIH07XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDbGlDb21tYW5kIGV4dGVuZHMgQ29tbWFuZGVyQ29tbWFuZCB7XG4gICAgX19pc19jbGlfY29tbWFuZDogYm9vbGVhbjtcbiAgICB0YWJsZTogdHlwZW9mIHByaW50VGFibGU7XG4gICAgb2JqZWN0OiB0eXBlb2YgcHJpbnRPYmplY3Q7XG4gICAgY29sb3JzOiBjaGFsay5DaGFsayAmIGNoYWxrLkNoYWxrRnVuY3Rpb24gJiB7XG4gICAgICAgIHN1cHBvcnRzQ29sb3I6IGNoYWxrLkNvbG9yU3VwcG9ydCB8IGZhbHNlO1xuICAgICAgICBMZXZlbDogY2hhbGsuTGV2ZWw7XG4gICAgICAgIENvbG9yOiAoXCJibGFja1wiIHwgXCJyZWRcIiB8IFwiZ3JlZW5cIiB8IFwieWVsbG93XCIgfCBcImJsdWVcIiB8IFwibWFnZW50YVwiIHwgXCJjeWFuXCIgfCBcIndoaXRlXCIgfCBcImdyYXlcIiB8IFwiZ3JleVwiIHwgXCJibGFja0JyaWdodFwiIHwgXCJyZWRCcmlnaHRcIiB8IFwiZ3JlZW5CcmlnaHRcIiB8IFwieWVsbG93QnJpZ2h0XCIgfCBcImJsdWVCcmlnaHRcIiB8IFwibWFnZW50YUJyaWdodFwiIHwgXCJjeWFuQnJpZ2h0XCIgfCBcIndoaXRlQnJpZ2h0XCIpIHwgKFwiYmdCbGFja1wiIHwgXCJiZ1JlZFwiIHwgXCJiZ0dyZWVuXCIgfCBcImJnWWVsbG93XCIgfCBcImJnQmx1ZVwiIHwgXCJiZ01hZ2VudGFcIiB8IFwiYmdDeWFuXCIgfCBcImJnV2hpdGVcIiB8IFwiYmdHcmF5XCIgfCBcImJnR3JleVwiIHwgXCJiZ0JsYWNrQnJpZ2h0XCIgfCBcImJnUmVkQnJpZ2h0XCIgfCBcImJnR3JlZW5CcmlnaHRcIiB8IFwiYmdZZWxsb3dCcmlnaHRcIiB8IFwiYmdCbHVlQnJpZ2h0XCIgfCBcImJnTWFnZW50YUJyaWdodFwiIHwgXCJiZ0N5YW5CcmlnaHRcIiB8IFwiYmdXaGl0ZUJyaWdodFwiKTtcbiAgICAgICAgRm9yZWdyb3VuZENvbG9yOiBcImJsYWNrXCIgfCBcInJlZFwiIHwgXCJncmVlblwiIHwgXCJ5ZWxsb3dcIiB8IFwiYmx1ZVwiIHwgXCJtYWdlbnRhXCIgfCBcImN5YW5cIiB8IFwid2hpdGVcIiB8IFwiZ3JheVwiIHwgXCJncmV5XCIgfCBcImJsYWNrQnJpZ2h0XCIgfCBcInJlZEJyaWdodFwiIHwgXCJncmVlbkJyaWdodFwiIHwgXCJ5ZWxsb3dCcmlnaHRcIiB8IFwiYmx1ZUJyaWdodFwiIHwgXCJtYWdlbnRhQnJpZ2h0XCIgfCBcImN5YW5CcmlnaHRcIiB8IFwid2hpdGVCcmlnaHRcIjtcbiAgICAgICAgQmFja2dyb3VuZENvbG9yOiBcImJnQmxhY2tcIiB8IFwiYmdSZWRcIiB8IFwiYmdHcmVlblwiIHwgXCJiZ1llbGxvd1wiIHwgXCJiZ0JsdWVcIiB8IFwiYmdNYWdlbnRhXCIgfCBcImJnQ3lhblwiIHwgXCJiZ1doaXRlXCIgfCBcImJnR3JheVwiIHwgXCJiZ0dyZXlcIiB8IFwiYmdCbGFja0JyaWdodFwiIHwgXCJiZ1JlZEJyaWdodFwiIHwgXCJiZ0dyZWVuQnJpZ2h0XCIgfCBcImJnWWVsbG93QnJpZ2h0XCIgfCBcImJnQmx1ZUJyaWdodFwiIHwgXCJiZ01hZ2VudGFCcmlnaHRcIiB8IFwiYmdDeWFuQnJpZ2h0XCIgfCBcImJnV2hpdGVCcmlnaHRcIjtcbiAgICAgICAgTW9kaWZpZXJzOiBcInJlc2V0XCIgfCBcImJvbGRcIiB8IFwiZGltXCIgfCBcIml0YWxpY1wiIHwgXCJ1bmRlcmxpbmVcIiB8IFwiaW52ZXJzZVwiIHwgXCJoaWRkZW5cIiB8IFwic3RyaWtldGhyb3VnaFwiIHwgXCJ2aXNpYmxlXCI7XG4gICAgICAgIHN0ZGVycjogY2hhbGsuQ2hhbGsgJiB7XG4gICAgICAgICAgICBzdXBwb3J0c0NvbG9yOiBjaGFsay5Db2xvclN1cHBvcnQgfCBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGlucXVpcmVyOiB0eXBlb2YgaW5xdWlyZXI7XG4gICAgbmVlZHM6IFNldDxzdHJpbmc+O1xuICAgIG5lZWQoLi4uYXJnczogc3RyaW5nW10pOiB0aGlzO1xuICAgIGNyZWF0ZUNvbW1hbmQobmFtZT86IHN0cmluZyk6IENsaUNvbW1hbmQ7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDbGlTZXJ2aWNlIGV4dGVuZHMgQ2xpQ29tbWFuZCB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGRpcnM6IFNldDxzdHJpbmc+O1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBlbW1pdHRlcjogRW1taXR0ZXJTZXJ2aWNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIHN0YXRpYyBjcmVhdGUobmFtZT86IHN0cmluZyk6IENsaVNlcnZpY2U7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHRoaXM7XG4gICAgc2V0RGVidWcoZGVidWc6IGJvb2xlYW4pOiB0aGlzO1xuICAgIHNldEVtbWl0dGVyKGVtbWl0dGVyOiBFbW1pdHRlclNlcnZpY2UpOiB0aGlzO1xuICAgIGNyZWF0ZUNvbW1hbmQobmFtZT86IHN0cmluZyk6IENsaVNlcnZpY2U7XG4gICAgYWRkRGlyKGRpcjogc3RyaW5nKTogdGhpcztcbiAgICBsb2FkRGlyKGRpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2FkKCk6IFByb21pc2U8dGhpcz47XG59XG4iLCJpbXBvcnQgQ2xpU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL0NsaVNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXJ0ZVRlc3RlclNlcnZpY2UgZXh0ZW5kcyBDbGlTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpO1xuICAgIGFkZChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGV4ZWN1dGUoYXJnczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2xpV3JhcHBlclNlcnZpY2Uge1xuICAgIHByb2Nlc3M6IGNwLkNoaWxkUHJvY2VzcyB8IG51bGw7XG4gICAgYXBwQmFzZVBhdGg6IHN0cmluZztcbiAgICBlbnY6IE1hcDxzdHJpbmcsIGFueT47XG4gICAgYXJnczogc3RyaW5nW107XG4gICAgY29uZmlnQXJndW1lbnRzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNvbmZpZ0ZpbGVzOiBzdHJpbmdbXTtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgc3RhdGljIGNyZWF0ZSgpOiBDbGlXcmFwcGVyU2VydmljZTtcbiAgICBzZXRCYXNlUGF0aChwYXRoOiBzdHJpbmcpOiB0aGlzO1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdGhpcztcbiAgICBzZXRMb2dnZXIobG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKTogdGhpcztcbiAgICBhZGRDb25maWdBcmd1bWVudChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXM7XG4gICAgYWRkQ29uZmlnRmlsZSguLi5maWxlUGF0aHM6IHN0cmluZ1tdKTogdGhpcztcbiAgICBhZGRFbnYoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB0aGlzO1xuICAgIGxvYWRDb25maWdBcmd1bWVudHMoKTogdm9pZDtcbiAgICBsb2FkQ29uZmlnRmlsZXMoKTogdm9pZDtcbiAgICBsb2FkRW52aXJvbm1lbnQoKTogdm9pZDtcbiAgICBsb2FkQXJndW1lbnRzKGFyZ3M/OiBzdHJpbmdbXSk6IHZvaWQ7XG4gICAga2lsbChjb2RlPzogbnVtYmVyKTogdm9pZDtcbiAgICBydW4oYXJncz86IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBDb25maWdTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvQ29uZmlnU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0ZTU2VydmljZU9wdGlvbnMge1xuICAgIGRpcmVjdG9yeT86IHN0cmluZztcbiAgICBmb3JtYXQ/OiAnanNvbicgfCAneW1sJztcbiAgICBmb3JtYXRPcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ0ZTU2VydmljZSBleHRlbmRzIENvbmZpZ1NlcnZpY2Uge1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBmb3JtYXQ6ICdqc29uJyB8ICd5bWwnO1xuICAgIGZvcm1hdE9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IENvbmZpZ0ZTU2VydmljZU9wdGlvbnMpO1xuICAgIHdyaXRlKGVudHJ5OiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgd3JpdGVTeW5jKGVudHJ5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQ7XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByaXZhdGUgcGFyc2VLZXk7XG4gICAgc2V0KGZ1bGxLZXk6IHN0cmluZywgdmFsdWU6IGFueSwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICB1bnNldChmdWxsS2V5OiBzdHJpbmcpOiB2b2lkO1xufVxuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmV4cG9ydCB0eXBlIEVudlNjaGVtYSA9IHYuSW5mZXJPdXRwdXQ8dHlwZW9mIGVudlNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBlbnZTY2hlbWE6IHYuTG9vc2VPYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IE5PREVfRU5WOiB2Lk9wdGlvbmFsU2NoZW1hPHYuVW5pb25TY2hlbWE8W3YuTGl0ZXJhbFNjaGVtYTxcImRldmVsb3BtZW50XCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcInByb2R1Y3Rpb25cIiwgdW5kZWZpbmVkPiwgdi5MaXRlcmFsU2NoZW1hPFwidGVzdFwiLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgXCJkZXZlbG9wbWVudFwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQkFTRV9QQVRIOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9TVE9SQUdFX1BBVEg6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBaRU5JVEhfQVBQX1VSTDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBcImh0dHA6Ly9sb2NhbGhvc3Q6MzAwMFwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfUE9SVDogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcsIG51bWJlcj5dPiwgXCIzMDAwXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9IT1NUOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIFwiMC4wLjAuMFwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfTE9HX0xFVkVMOiB2Lk9wdGlvbmFsU2NoZW1hPHYuUGlja2xpc3RTY2hlbWE8W1wiZXJyb3JcIiwgXCJ3YXJuXCIsIFwiaW5mb1wiLCBcImRlYnVnXCJdLCB1bmRlZmluZWQ+LCBcImluZm9cIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0xJRkVDWUNMRV9ERUJVRzogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LkxpdGVyYWxTY2hlbWE8XCJ0cnVlXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImZhbHNlXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcIjFcIiwgdW5kZWZpbmVkPiwgdi5MaXRlcmFsU2NoZW1hPFwiMFwiLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248XCIwXCIgfCBcIjFcIiB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiLCBib29sZWFuPiwgdi5Cb29sZWFuU2NoZW1hPHVuZGVmaW5lZD5dPiwgXCJmYWxzZVwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ0xJRU5UX0NPTkZJRzogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+XT4sIFwiXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUc6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pl0+LCBcIlwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX0FSR1VNRU5UUzogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+XT4sIFwiXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfRklMRVM6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBzdHJpbmdbXT5dPiwgXCJcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19ERUJVRzogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LkxpdGVyYWxTY2hlbWE8XCJ0cnVlXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImZhbHNlXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcIjFcIiwgdW5kZWZpbmVkPiwgdi5MaXRlcmFsU2NoZW1hPFwiMFwiLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248XCIwXCIgfCBcIjFcIiB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiLCBib29sZWFuPiwgdi5Cb29sZWFuU2NoZW1hPHVuZGVmaW5lZD5dPiwgXCJmYWxzZVwiPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX0RSSVZFUjogdi5PcHRpb25hbFNjaGVtYTx2LlBpY2tsaXN0U2NoZW1hPFtcImZzXCIsIFwiczNcIl0sIHVuZGVmaW5lZD4sIFwiZnNcIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19GU19QQVRIOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19GU19GT1JNQVQ6IHYuT3B0aW9uYWxTY2hlbWE8di5QaWNrbGlzdFNjaGVtYTxbXCJqc29uXCIsIFwieW1sXCJdLCB1bmRlZmluZWQ+LCBcImpzb25cIj47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19GU19GT1JNQVRfT1BUSU9OUzogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+XT4sIFwiXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfUzNfQlVDS0VUOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19TM19SRUdJT046IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX1MzX0FDQ0VTU19LRVlfSUQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBaRU5JVEhfQ09ORklHX1MzX1NFQ1JFVF9BQ0NFU1NfS0VZOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19TM19TRVNTSU9OX1RPS0VOOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgWkVOSVRIX0NPTkZJR19TM19FTkRQT0lOVDogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9DT05GSUdfUzNfUFJFRklYOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIFwiXCI+O1xuICAgIHJlYWRvbmx5IFpFTklUSF9QTFVHSU5TX0RJUlM6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nLCBzdHJpbmdbXT5dPiwgXCJcIj47XG59LCB1bmRlZmluZWQ+O1xuIiwiaW1wb3J0IGRvdGVudiBmcm9tICdkb3RlbnYnO1xuaW1wb3J0IHR5cGUgeyBFbnZTY2hlbWEgfSBmcm9tICcjc2VydmVyL3NjaGVtYXMvZW52U2NoZW1hLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVudlNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBwcml2YXRlIGVudjtcbiAgICBwcml2YXRlIGZpbGVzO1xuICAgIHN0YXRpYyBjcmVhdGUoKTogRW52U2VydmljZTtcbiAgICBzdGF0aWMgZG90RW52Q29uZmlnKG9wdGlvbnM/OiBkb3RlbnYuRG90ZW52Q29uZmlnT3B0aW9ucyk6IGRvdGVudi5Eb3RlbnZDb25maWdPdXRwdXQ7XG4gICAgc2V0RmlsZXMoZmlsZXM6IHN0cmluZ1tdKTogdGhpcztcbiAgICBhZGRGaWxlKGZpbGU6IHN0cmluZyk6IHRoaXM7XG4gICAgbG9hZCgpOiB0aGlzO1xuICAgIGdldCBwcm9kdWN0aW9uKCk6IGJvb2xlYW47XG4gICAgZ2V0IGRldmVsb3BtZW50KCk6IGJvb2xlYW47XG4gICAgZ2V0IHRlc3QoKTogYm9vbGVhbjtcbiAgICBoYXM8SyBleHRlbmRzIGtleW9mIEVudlNjaGVtYT4oa2V5OiBLKTogYm9vbGVhbjtcbiAgICBnZXQ8SyBleHRlbmRzIGtleW9mIEVudlNjaGVtYT4oa2V5OiBLLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBFbnZTY2hlbWFbS107XG4gICAgc2V0PEsgZXh0ZW5kcyBrZXlvZiBFbnZTY2hlbWE+KGtleTogSywgdmFsdWU6IEVudlNjaGVtYVtLXSk6IHZvaWQ7XG59XG4iLCJpbXBvcnQgeyB0eXBlIExvZ2dlclNlcnZpY2UgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmltcG9ydCBDb25maWdTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvQ29uZmlnU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSBFbnZTZXJ2aWNlIGZyb20gJy4vRW52U2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ01hbmFnZXJPcHRpb25zIHtcbiAgICBlbnY6IEVudlNlcnZpY2U7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIHNpbGVudD86IGJvb2xlYW47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWdNYW5hZ2VyU2VydmljZSB7XG4gICAgZW52OiBFbnZTZXJ2aWNlO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBzaWxlbnQ6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogQ29uZmlnTWFuYWdlck9wdGlvbnMpO1xuICAgIHN0YXRpYyBjcmVhdGUob3B0aW9uczogQ29uZmlnTWFuYWdlck9wdGlvbnMpOiBDb25maWdNYW5hZ2VyU2VydmljZTtcbiAgICBwcml2YXRlIGxvYWRTM0NvbmZpZztcbiAgICBwcml2YXRlIGxvYWRGU0NvbmZpZztcbiAgICBsb2FkQ29uZmlnRnJvbUVudihzZXJ2aWNlOiBDb25maWdTZXJ2aWNlKTogdm9pZDtcbiAgICBsb2FkQ29uZmlnRnJvbUZpbGUoc2VydmljZTogQ29uZmlnU2VydmljZSwgZmlsZTogc3RyaW5nKTogdm9pZDtcbiAgICBsb2FkQ29uZmlnRnJvbUZpbGVzKHNlcnZpY2U6IENvbmZpZ1NlcnZpY2UsIGZpbGVzOiBzdHJpbmdbXSk6IHZvaWQ7XG4gICAgbG9hZCgpOiBQcm9taXNlPENvbmZpZ1NlcnZpY2U+O1xufVxuIiwiaW1wb3J0IG1zIGZyb20gJ21zJztcbmltcG9ydCB0eXBlIERyaXZlRW50cnkgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgVXJsT3B0aW9ucyB7XG4gICAgZXhwaXJlcz86IG1zLlN0cmluZ1ZhbHVlO1xufVxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRVcmxPcHRpb25zIHtcbiAgICBleHBpcmVzPzogbXMuU3RyaW5nVmFsdWU7XG4gICAgbWltZV90eXBlcz86IHN0cmluZ1tdO1xuICAgIG1heF9zaXplPzogbnVtYmVyO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJpdmVCYXNlR2F0ZXdheSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBpY2s8RHJpdmVCYXNlR2F0ZXdheSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJz4pO1xuICAgIGxpc3QoZm9sZGVyPzogc3RyaW5nKTogUHJvbWlzZTxEcml2ZUVudHJ5W10+O1xuICAgIGZpbmQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeT47XG4gICAgZXhpc3RzKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIHJlYWQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8VWludDhBcnJheT47XG4gICAgcmVhZFN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+O1xuICAgIHdyaXRlKGZpbGVuYW1lOiBzdHJpbmcsIGRhdGE6IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHdyaXRlU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcsIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgdXJsKGZpbGVuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBVcmxPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIHVwbG9hZFVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zPzogVXBsb2FkVXJsT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbn1cbiIsImltcG9ydCB7IFMzQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB0eXBlIHsgSW5mZXJPdXRwdXQgfSBmcm9tICd2YWxpYm90JztcbmltcG9ydCBCYXNlRHJpdmUgZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZUJhc2VHYXRld2F5LnRzJztcbmRlY2xhcmUgY29uc3Qgc2NoZW1hOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdFNjaGVtYTx7XG4gICAgcmVhZG9ubHkgYnVja2V0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFtpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDEsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSByZWdpb246IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBhY2Nlc3NLZXlJZDogaW1wb3J0KFwidmFsaWJvdFwiKS5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgaW1wb3J0KFwidmFsaWJvdFwiKS5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCAxLCB1bmRlZmluZWQ+XT47XG4gICAgcmVhZG9ubHkgc2VjcmV0QWNjZXNzS2V5OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFtpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDEsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSBzZXNzaW9uVG9rZW46IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBlbmRwb2ludDogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHByZWZpeDogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xufSwgdW5kZWZpbmVkPjtcbmV4cG9ydCB0eXBlIFMzRHJpdmVDb25maWcgPSBJbmZlck91dHB1dDx0eXBlb2Ygc2NoZW1hPjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlUzMgZXh0ZW5kcyBCYXNlRHJpdmUge1xuICAgIHByaXZhdGUgc2NoZW1hO1xuICAgIHByaXZhdGUgX2NsaWVudD87XG4gICAgY29uc3RydWN0b3IoZGF0YTogUGljazxCYXNlRHJpdmUsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NvbmZpZyc+KTtcbiAgICBnZXQgdmFsaWQoKTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGNoZWNrVmFsaWQ7XG4gICAgcHJvdGVjdGVkIGdldCBidWNrZXQoKTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBnZXQgcHJlZml4KCk6IHN0cmluZztcbiAgICBwcml2YXRlIGdldEtleTtcbiAgICBwcm90ZWN0ZWQgZ2V0IGNsaWVudCgpOiBTM0NsaWVudDtcbiAgICBleGlzdHM6IEJhc2VEcml2ZVsnZXhpc3RzJ107XG4gICAgbGlzdDogQmFzZURyaXZlWydsaXN0J107XG4gICAgZmluZDogQmFzZURyaXZlWydmaW5kJ107XG4gICAgbWtkaXIoX2ZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHJlYWQ6IEJhc2VEcml2ZVsncmVhZCddO1xuICAgIHJlYWRTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgICB3cml0ZTogQmFzZURyaXZlWyd3cml0ZSddO1xuICAgIHdyaXRlU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcsIHN0cmVhbTogTm9kZUpTLlJlYWRhYmxlU3RyZWFtKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGU6IEJhc2VEcml2ZVsnZGVsZXRlJ107XG4gICAgdXJsOiBCYXNlRHJpdmVbJ3VybCddO1xuICAgIHVwbG9hZFVybDogQmFzZURyaXZlWyd1cGxvYWRVcmwnXTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCBDb25maWdTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvQ29uZmlnU2VydmljZS50cyc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW1wb3J0IFMzRHJpdmUgZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZVMzR2F0ZXdheS50cyc7XG5pbXBvcnQgdHlwZSB7IFMzRHJpdmVDb25maWcgfSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RyaXZlUzNHYXRld2F5LnRzJztcbmludGVyZmFjZSBJbml0aU9wdGlvbnMgZXh0ZW5kcyBPbWl0PFMzRHJpdmVDb25maWcsICduYW1lJyB8ICdkZXNjcmlwdGlvbic+IHtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWdTM1NlcnZpY2UgZXh0ZW5kcyBDb25maWdTZXJ2aWNlIHtcbiAgICBwcmVmaXg6IHN0cmluZztcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgZHJpdmU6IFMzRHJpdmU7XG4gICAgYnVja2V0OiBzdHJpbmc7XG4gICAgcmVnaW9uOiBzdHJpbmc7XG4gICAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSW5pdGlPcHRpb25zKTtcbiAgICBwcml2YXRlIHBhcnNlS2V5O1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzZXQoZnVsbEtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBzb3VyY2U/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHVuc2V0KGZ1bGxLZXk6IHN0cmluZyk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IFJlcXVlc3RJbml0IH0gZnJvbSAndW5kaWNpJztcbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRlZEZldGNoT3B0aW9ucyBleHRlbmRzIFJlcXVlc3RJbml0IHtcbiAgICBwcm94eT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvd25sb2FkU2VydmljZSB7XG4gICAgZmV0Y2godXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBEb3dubG9hZGVkRmV0Y2hPcHRpb25zKTogUHJvbWlzZTxpbXBvcnQoXCJ1bmRpY2lcIikuUmVzcG9uc2U+O1xuICAgIHN0cmVhbSh1cmw6IHN0cmluZywgb3B0aW9ucz86IERvd25sb2FkZWRGZXRjaE9wdGlvbnMpOiBQcm9taXNlPHtcbiAgICAgICAgc3RyZWFtOiBOb2RlSlMuUmVhZGFibGVTdHJlYW07XG4gICAgICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgfT47XG59XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWRTdHJlYW0gfSBmcm9tICdmcyc7XG5pbXBvcnQgdHlwZSBtcyBmcm9tICdtcyc7XG5pbXBvcnQgdHlwZSBEcml2ZUVudHJ5IGZyb20gJyNzaGFyZWQvZW50aXRpZXMvRHJpdmVFbnRyeUVudGl0eS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIERyaXZlVXJsT3B0aW9ucyB7XG4gICAgZXhwaXJlcz86IG1zLlN0cmluZ1ZhbHVlO1xufVxuZXhwb3J0IGludGVyZmFjZSBEcml2ZVVwbG9hZFVybE9wdGlvbnMge1xuICAgIGV4cGlyZXM/OiBtcy5TdHJpbmdWYWx1ZTtcbiAgICBtaW1lX3R5cGVzPzogc3RyaW5nW107XG4gICAgbWF4X3NpemU/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIERyaXZlQ29udHJhY3Qge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGxpc3QoZm9sZGVyPzogc3RyaW5nKTogUHJvbWlzZTxEcml2ZUVudHJ5W10+O1xuICAgIGZpbmQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeT47XG4gICAgZXhpc3RzKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIHJlYWQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8VWludDhBcnJheT47XG4gICAgd3JpdGUoZmlsZW5hbWU6IHN0cmluZywgZGF0YTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD47XG4gICAgd3JpdGVTdHJlYW0oZmlsZW5hbWU6IHN0cmluZywgc3RyZWFtOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlbGV0ZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICB1cmwoZmlsZW5hbWU6IHN0cmluZywgb3B0aW9ucz86IERyaXZlVXJsT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICB1cGxvYWRVcmwoZmlsZW5hbWU6IHN0cmluZywgb3B0aW9ucz86IERyaXZlVXBsb2FkVXJsT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICByZWFkU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFJlYWRTdHJlYW0+O1xufVxuIiwiaW1wb3J0IERyaXZlRW50cnkgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LnRzJztcbmltcG9ydCB0eXBlIHsgRHJpdmVVcmxPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRHJpdmVDb250cmFjdC50cyc7XG5pbXBvcnQgQmFzZURyaXZlIGZyb20gJyNzZXJ2ZXIvZ2F0ZXdheXMvRHJpdmVCYXNlR2F0ZXdheS50cyc7XG5pbXBvcnQgdHlwZSBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5pbnRlcmZhY2UgVmFsaWRhdGVVcGxvYWRPcHRpb25zIHtcbiAgICBtaW1lX3R5cGVzOiBzdHJpbmc7XG4gICAgbWF4U2l6ZT86IG51bWJlcjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGdhdGV3YXlzOiBNYXA8c3RyaW5nLCB0eXBlb2YgQmFzZURyaXZlPjtcbiAgICBkcml2ZXM6IE1hcDxzdHJpbmcsIEJhc2VEcml2ZT47XG4gICAgc2VsZWN0ZWQ/OiBzdHJpbmc7XG4gICAgZGVmYXVsdERyaXZlPzogc3RyaW5nO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBnZXQgY3VycmVudCgpOiBCYXNlRHJpdmUgfCB1bmRlZmluZWQ7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8RHJpdmVTZXJ2aWNlPik7XG4gICAgbGlzdERyaXZlcygpOiB7XG4gICAgICAgIGRlZmF1bHQ6IGJvb2xlYW47XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICB9W107XG4gICAgZ2V0KG5hbWU/OiBzdHJpbmcpOiBCYXNlRHJpdmU7XG4gICAgdXNlKG5hbWU/OiBzdHJpbmcpOiBEcml2ZVNlcnZpY2U7XG4gICAgbGlzdChmb2xkZXI/OiBzdHJpbmcpOiBQcm9taXNlPERyaXZlRW50cnlbXT47XG4gICAgZmluZChmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxEcml2ZUVudHJ5PjtcbiAgICBleGlzdHMoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj47XG4gICAgcmVhZChmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxVaW50OEFycmF5PjtcbiAgICByZWFkU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT47XG4gICAgcmVhZEFzVGV4dChmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIHdyaXRlKGZpbGVuYW1lOiBzdHJpbmcsIHBheWxvYWQ6IFVpbnQ4QXJyYXkgfCBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD47XG4gICAgd3JpdGVTdHJlYW0oZmlsZW5hbWU6IHN0cmluZywgc3RyZWFtOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0pOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIGEgVVJMIGZvciBhIGZpbGUgaW4gdGhlIGRyaXZlLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkICBGaWxlIGluc3RhbmNlLCBGaWxlIElELCBEcml2ZUVudHJ5IGluc3RhbmNlIG9yIGZpbGVuYW1lIHN0cmluZ1xuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgdXJsKGZpbGVuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBEcml2ZVVybE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gICAgdXBsb2FkVXJsKGZpbGVuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBEcml2ZVVybE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gICAgLyoqXG4gICAgICogVXBsb2FkIGEgZmlsZSBmcm9tIHRoZSBsb2NhbCBmaWxlc3lzdGVtIHRvIHRoZSBkcml2ZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIGZpbGVuYW1lIGluIGxvY2FsIGZpbGVzeXN0ZW1cbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb25cbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHVwbG9hZChzb3VyY2U6IHN0cmluZywgZGVzdGluYXRpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgYSBmaWxlIGZyb20gdGhlIGRyaXZlIHRvIHRoZSBsb2NhbCBmaWxlc3lzdGVtLlxuICAgICAqIEBwYXJhbSBmaWxlbmFtZSBmaWxlbmFtZSBpbiB0aGUgZHJpdmVcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb25cbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIGRvd25sb2FkKGZpbGVuYW1lOiBzdHJpbmcsIGRlc3RpbmF0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlbGV0ZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD47XG4gICAgY3JlYXRlRGVmYXVsdERyaXZlcygpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHZhbGlkYXRlVXBsb2FkKG9wdGlvbnM6IFZhbGlkYXRlVXBsb2FkT3B0aW9ucywgZmlsZToge1xuICAgICAgICBtaW1ldHlwZTogc3RyaW5nO1xuICAgICAgICBzaXplOiBudW1iZXI7XG4gICAgfSk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IFJlcXVlc3QsIFJlc3BvbnNlLCBDb29raWVPcHRpb25zIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb29raWVNYXBFbnRpdHkgZXh0ZW5kcyBCYXNlIHtcbiAgICByZXF1ZXN0OiBSZXF1ZXN0O1xuICAgIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgICBjb25zdHJ1Y3RvcihyZXF1ZXN0OiBSZXF1ZXN0LCByZXNwb25zZTogUmVzcG9uc2UpO1xuICAgIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBDb29raWVPcHRpb25zKTogdm9pZDtcbn1cbiIsImltcG9ydCBDb29raWVNYXBFbnRpdHkgZnJvbSBcIiNzZXJ2ZXIvZW50aXRpZXMvQ29va2llTWFwRW50aXR5LnRzXCI7XG5pbXBvcnQgQ29udGFpbmVyU2VydmljZSBmcm9tIFwiI3NoYXJlZC9zZXJ2aWNlcy9Db250YWluZXJTZXJ2aWNlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgdHlwZSB7IFJlc29sdmFibGVIZWFkIH0gZnJvbSAnQHVuaGVhZC92dWUnO1xuaW1wb3J0IENvbmZpZ1NlcnZpY2UgZnJvbSBcIiNzaGFyZWQvc2VydmljZXMvQ29uZmlnU2VydmljZS50c1wiO1xuZXhwb3J0IGludGVyZmFjZSBQYWdlUmVxdWVzdENvbnRleHRFbnRpdHlPcHRpb25zIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICByZXF1ZXN0OiBSZXF1ZXN0O1xuICAgIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgICBzdGF0ZT86IE1hcDxzdHJpbmcsIGFueT47XG4gICAgbm9kZUNvbnRhaW5lcj86IENvbnRhaW5lclNlcnZpY2U7XG4gICAgbm9kZUNvbmZpZz86IENvbmZpZ1NlcnZpY2U7XG4gICAgbm9kZVN0YXRlPzogTWFwPHN0cmluZywgYW55PjtcbiAgICBicm93c2VyQ29udGFpbmVyPzogQ29udGFpbmVyU2VydmljZTtcbiAgICBicm93c2VyQ29uZmlnPzogQ29uZmlnU2VydmljZTtcbiAgICBicm93c2VyU3RhdGU/OiBNYXA8c3RyaW5nLCBhbnk+O1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFnZVJlcXVlc3RDb250ZXh0RW50aXR5IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICByZXF1ZXN0OiBSZXF1ZXN0O1xuICAgIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgICBjb29raWVzOiBDb29raWVNYXBFbnRpdHk7XG4gICAgaGVhZDogUmVzb2x2YWJsZUhlYWRbXTtcbiAgICBub2RlQ29udGFpbmVyOiBDb250YWluZXJTZXJ2aWNlO1xuICAgIG5vZGVDb25maWc6IENvbmZpZ1NlcnZpY2U7XG4gICAgbm9kZVN0YXRlOiBNYXA8c3RyaW5nLCBhbnk+O1xuICAgIGJyb3dzZXJDb250YWluZXI6IENvbnRhaW5lclNlcnZpY2U7XG4gICAgYnJvd3NlckNvbmZpZzogQ29uZmlnU2VydmljZTtcbiAgICBicm93c2VyU3RhdGU6IE1hcDxzdHJpbmcsIGFueT47XG4gICAgY29uc3RydWN0b3IoZGF0YTogUGFnZVJlcXVlc3RDb250ZXh0RW50aXR5T3B0aW9ucyk7XG4gICAgc2V0QnJvd3NlclN0YXRlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXROb2RlU3RhdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICAgIHNldFN0YXRlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXRCcm93c2VyQ29udGFpbmVyVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICAgIHNldE5vZGVDb250YWluZXJWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gICAgc2V0Q29udGFpbmVyVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICAgIHNldEJyb3dzZXJDb25maWdWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gICAgc2V0Tm9kZUNvbmZpZ1ZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICBzZXRDb25maWdWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG59XG4iLCJpbXBvcnQgdHlwZSB7IEt5c2VseSB9IGZyb20gJ2t5c2VseSc7XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb248VCA9IGFueT4ge1xuICAgIGl0ZW1zOiBUW107XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIHBlcl9wYWdlOiBudW1iZXI7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICB0b3RhbF9wYWdlczogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBGaW5kTWFueU9wdGlvbnMge1xuICAgIGxpbWl0PzogbnVtYmVyO1xuICAgIG9mZnNldD86IG51bWJlcjtcbiAgICBvcmRlckJ5Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgb3JkZXJEaXJlY3Rpb24/OiAnYXNjJyB8ICdkZXNjJyB8ICgnYXNjJyB8ICdkZXNjJylbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVPcHRpb25zIHtcbiAgICBwYWdlPzogbnVtYmVyO1xuICAgIGxpbWl0PzogbnVtYmVyO1xuICAgIG9yZGVyQnk/OiBGaW5kTWFueU9wdGlvbnNbJ29yZGVyQnknXTtcbiAgICBvcmRlckRpcmVjdGlvbj86IEZpbmRNYW55T3B0aW9uc1snb3JkZXJEaXJlY3Rpb24nXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlTWFueU9wdGlvbnMge1xuICAgIGxpbWl0PzogbnVtYmVyO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2VSZXBvc2l0b3J5PFRFbnRpdHkgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUUHJpbWFyeUtleSA9IGFueSwgVE9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgcHJvdGVjdGVkIGRiOiBLeXNlbHk8YW55PjtcbiAgICBwcm90ZWN0ZWQgdGFibGU6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJpbWFyeUtleTogc3RyaW5nO1xuICAgIGF1dG9DcmVhdGVkQXQ6IGJvb2xlYW47XG4gICAgYXV0b1VwZGF0ZWRBdDogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3RvcihkYjogS3lzZWx5PGFueT4sIHRhYmxlOiBzdHJpbmcsIHByaW1hcnlLZXk6IHN0cmluZyk7XG4gICAgcXVlcnkob3B0aW9ucz86IHtcbiAgICAgICAgcWI/OiBhbnk7XG4gICAgfSAmIFRPcHRpb25zKTogYW55O1xuICAgIGNvdW50KG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxudW1iZXI+O1xuICAgIGZpbmRNYW55KG9wdGlvbnM/OiBGaW5kTWFueU9wdGlvbnMgJiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eVtdPjtcbiAgICBmaW5kT25lKG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eSB8IG51bGw+O1xuICAgIGZpbmRCeUlkKGlkOiBUUHJpbWFyeUtleSwgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5IHwgbnVsbD47XG4gICAgZmluZEJ5SWRPckZhaWwoaWQ6IFRQcmltYXJ5S2V5LCBvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPE5vbk51bGxhYmxlPEF3YWl0ZWQ8VEVudGl0eT4+PjtcbiAgICBwYWdpbmF0ZShvcHRpb25zPzogUGFnaW5hdGVPcHRpb25zICYgVE9wdGlvbnMpOiBQcm9taXNlPFBhZ2luYXRpb24+O1xuICAgIHByb3RlY3RlZCBiZWZvcmVDcmVhdGUoZGF0YTogUGFydGlhbDxURW50aXR5Pik6IFByb21pc2U8UGFydGlhbDxURW50aXR5Pj47XG4gICAgcHJvdGVjdGVkIGFmdGVyQ3JlYXRlKGRhdGE6IFRFbnRpdHkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGNyZWF0ZShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+KTogUHJvbWlzZTxURW50aXR5PjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlQ3JlYXRlTWFueShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+W10pOiBQcm9taXNlPFBhcnRpYWw8VEVudGl0eT5bXT47XG4gICAgcHJvdGVjdGVkIGFmdGVyQ3JlYXRlTWFueShkYXRhOiBURW50aXR5W10pOiBQcm9taXNlPFRFbnRpdHlbXT47XG4gICAgY3JlYXRlTWFueShkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+W10pOiBQcm9taXNlPGFueVtdPjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlVXBkYXRlKGRhdGE6IFBhcnRpYWw8VEVudGl0eT4sIGlkOiBUUHJpbWFyeUtleSk6IFByb21pc2U8UGFydGlhbDxURW50aXR5Pj47XG4gICAgcHJvdGVjdGVkIGFmdGVyVXBkYXRlKGRhdGE6IFRFbnRpdHkpOiBQcm9taXNlPFRFbnRpdHk+O1xuICAgIHVwZGF0ZUJ5SWQoaWQ6IFRQcmltYXJ5S2V5LCBkYXRhOiBQYXJ0aWFsPFRFbnRpdHk+KTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlRGVsZXRlKGlkOiBUUHJpbWFyeUtleSk6IFByb21pc2U8dm9pZD47XG4gICAgcHJvdGVjdGVkIGFmdGVyRGVsZXRlKGlkOiBUUHJpbWFyeUtleSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlQnlJZChpZDogVFByaW1hcnlLZXkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByb3RlY3RlZCBiZWZvcmVEZWxldGVNYW55KG9wdGlvbnM/OiBEZWxldGVNYW55T3B0aW9ucyAmIFRPcHRpb25zKTogKERlbGV0ZU1hbnlPcHRpb25zICYgVE9wdGlvbnMpIHwgdW5kZWZpbmVkO1xuICAgIHByb3RlY3RlZCBhZnRlckRlbGV0ZU1hbnkob3B0aW9ucz86IERlbGV0ZU1hbnlPcHRpb25zICYgVE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcbiAgICBkZWxldGVNYW55KG9wdGlvbnM/OiBEZWxldGVNYW55T3B0aW9ucyAmIFRPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCB0eXBlIHsgVXNlckVudGl0eSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuaW1wb3J0IERhdGFiYXNlUmVwb3NpdG9yeSBmcm9tICcuL0RhdGFiYXNlUmVwb3NpdG9yeSc7XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSZXBvc2l0b3J5UXVlcnlPcHRpb25zIHtcbiAgICBpZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIHNlYXJjaD86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICBzaG93RGVsZXRlZD86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSZXBvc2l0b3J5RXZlbnRzIHtcbiAgICAndXNlcjpjcmVhdGVkJzoge1xuICAgICAgICB1c2VyOiBVc2VyRW50aXR5O1xuICAgIH07XG4gICAgJ3VzZXI6dXBkYXRlZCc6IHtcbiAgICAgICAgdXNlcjogVXNlckVudGl0eTtcbiAgICB9O1xuICAgICd1c2VyOmRlbGV0ZWQnOiB7XG4gICAgICAgIHVzZXI6IFVzZXJFbnRpdHk7XG4gICAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVzZXJSZXBvc2l0b3J5IGV4dGVuZHMgRGF0YWJhc2VSZXBvc2l0b3J5PFVzZXJFbnRpdHksIG51bWJlciwgVXNlclJlcG9zaXRvcnlRdWVyeU9wdGlvbnM+IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgYXV0b0NyZWF0ZWRBdDogYm9vbGVhbjtcbiAgICBhdXRvVXBkYXRlZEF0OiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKGRiOiBEYXRhYmFzZVJlcG9zaXRvcnlbJ2RiJ10pO1xuICAgIGhhc2hVc2VyUGFzc3dvcmRJZkRlZmluZWQoZGF0YTogUGFydGlhbDxVc2VyRW50aXR5Pik6IFByb21pc2U8dm9pZD47XG4gICAgcHJvdGVjdGVkIGJlZm9yZUNyZWF0ZShkYXRhOiBQYXJ0aWFsPFVzZXJFbnRpdHk+KTogUHJvbWlzZTxQYXJ0aWFsPFVzZXJFbnRpdHk+PjtcbiAgICBwcm90ZWN0ZWQgYmVmb3JlQ3JlYXRlTWFueShkYXRhOiBQYXJ0aWFsPFVzZXJFbnRpdHk+W10pOiBQcm9taXNlPFBhcnRpYWw8VXNlckVudGl0eT5bXT47XG4gICAgcHJvdGVjdGVkIGJlZm9yZVVwZGF0ZShkYXRhOiBQYXJ0aWFsPFVzZXJFbnRpdHk+KTogUHJvbWlzZTxQYXJ0aWFsPFVzZXJFbnRpdHk+PjtcbiAgICBwcm90ZWN0ZWQgYWZ0ZXJDcmVhdGUoZGF0YTogVXNlckVudGl0eSk6IFByb21pc2U8dm9pZD47XG4gICAgcXVlcnkob3B0aW9ucz86IFVzZXJSZXBvc2l0b3J5UXVlcnlPcHRpb25zKTogYW55O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBLeXNlbHkgfSBmcm9tIFwia3lzZWx5XCI7XG5leHBvcnQgaW50ZXJmYWNlIE1pZ3JhdGlvbkVudGl5RGF0YSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGV4ZWN1dGVkQXQ6IERhdGUgfCBudWxsO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWlncmF0aW9uRW50aXR5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc291cmNlOiBzdHJpbmcgfCBudWxsO1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgZXhlY3V0ZWRBdDogRGF0ZSB8IG51bGw7XG4gICAgY29uc3RydWN0b3IoZGF0YTogTWlncmF0aW9uRW50aXlEYXRhKTtcbiAgICB1cChkYjogS3lzZWx5PGFueT4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRvd24oZGI6IEt5c2VseTxhbnk+KTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBFbW1pdHRlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9FbW1pdHRlclNlcnZpY2UudHMnO1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCB0eXBlIHsgS3lzZWx5IH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCBNaWdyYXRpb25FbnRpdHkgZnJvbSAnI3NlcnZlci9lbnRpdGllcy9NaWdyYXRpb25FbnRpdHkudHMnO1xuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRpb25Tb3VyY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE1pZ3JhdGlvbiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGV4ZWN1dGVkQXQ6IERhdGUgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBMaXN0RmlsdGVycyB7XG4gICAgc291cmNlPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBNaWdyYXRpb25SZXN1bHQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICByZXN1bHQ6ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuICAgIGVycm9yPzogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRvclNlcnZpY2VPcHRpb25zIHtcbiAgICBzb3VyY2VzOiBNaWdyYXRpb25Tb3VyY2VbXTtcbiAgICBkYjogS3lzZWx5PGFueT47XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGVtbWl0dGVyPzogRW1taXR0ZXJTZXJ2aWNlO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgaW50ZXJmYWNlIE1pZ3JhdG9yU2VydmljZUV2ZW50cyB7XG4gICAgJ21pZ3JhdG9yOmJlZm9yZS1taWdyYXRlJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXTtcbiAgICB9O1xuICAgICdtaWdyYXRvcjphZnRlci1taWdyYXRlJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXTtcbiAgICB9O1xuICAgICdtaWdyYXRvcjpiZWZvcmUtcm9sbGJhY2snOiB7XG4gICAgICAgIG1pZ3JhdGlvbnM6IE1pZ3JhdGlvbkVudGl0eVtdO1xuICAgIH07XG4gICAgJ21pZ3JhdG9yOmFmdGVyLXJvbGxiYWNrJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXTtcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWlncmF0b3JTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZTtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGI6IEt5c2VseTxhbnk+O1xuICAgIHNvdXJjZXM6IE1pZ3JhdGlvblNvdXJjZVtdO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1pZ3JhdG9yU2VydmljZU9wdGlvbnMpO1xuICAgIGFkZFNvdXJjZShzb3VyY2U6IE1pZ3JhdGlvblNvdXJjZSk6IHZvaWQ7XG4gICAgcHJpdmF0ZSBlbnN1cmVNaWdyYXRpb25zVGFibGU7XG4gICAgbGlzdFNvdXJjZShzb3VyY2U6IE1pZ3JhdGlvblNvdXJjZSk6IFByb21pc2U8TWlncmF0aW9uRW50aXR5W10+O1xuICAgIGxpc3QoZmlsdGVycz86IExpc3RGaWx0ZXJzKTogUHJvbWlzZTxNaWdyYXRpb25FbnRpdHlbXT47XG4gICAgcHJpdmF0ZSBtaWdyYXRlVXA7XG4gICAgcHJpdmF0ZSBtaWdyYXRlRG93bjtcbiAgICBwcml2YXRlIG1pZ3JhdGVGaWxlO1xuICAgIHByaXZhdGUgcm9sbGJhY2tGaWxlO1xuICAgIG1pZ3JhdGUoZmlsdGVycz86IExpc3RGaWx0ZXJzICYge1xuICAgICAgICBzdGVwcz86IG51bWJlcjtcbiAgICB9KTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT47XG4gICAgcm9sbGJhY2soZmlsdGVycz86IExpc3RGaWx0ZXJzICYge1xuICAgICAgICBzdGVwcz86IG51bWJlcjtcbiAgICB9KTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT47XG4gICAgdXAoc3RlcHM/OiBudW1iZXIsIGZpbHRlcnM/OiBMaXN0RmlsdGVycyk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xuICAgIGRvd24oc3RlcHM/OiBudW1iZXIsIGZpbHRlcnM/OiBMaXN0RmlsdGVycyk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+O1xuICAgIGxhdGVzdChmaWx0ZXJzPzogTGlzdEZpbHRlcnMpOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPjtcbiAgICBsYXRlc3RPckZhaWwoZmlsdGVycz86IExpc3RGaWx0ZXJzKTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT47XG4gICAgZnJlc2goZmlsdGVycz86IExpc3RGaWx0ZXJzICYge1xuICAgICAgICBzdGVwcz86IG51bWJlcjtcbiAgICB9KTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQmFzZUFjbCBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0FjbEVudGl0eS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBY2wgZXh0ZW5kcyBCYXNlQWNsIHtcbiAgICBhdXRob3JpemUoYWN0aW9uOiBzdHJpbmcsIHN1YmplY3Q6IGFueSwgb2JqZWN0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQ7XG59XG4iLCJpbXBvcnQgdHlwZSBBY2wgZnJvbSAnI3NlcnZlci9lbnRpdGllcy9BY2xFbnRpdHkudHMnO1xuaW1wb3J0IHR5cGUgeyBDb29raWVNYXBFbnRpdHkgfSBmcm9tICcjc2hhcmVkL2luZGV4LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ29udGV4dCB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG4gICAgYm9keTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb29raWU6IENvb2tpZU1hcEVudGl0eTtcbiAgICBhY2w6IEFjbDtcbiAgICByZXF1ZXN0OiBSZXF1ZXN0O1xuICAgIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IEh0dHBDb250ZXh0IH0gZnJvbSBcIi4vSHR0cENvbnRleHRDb250cmFjdFwiO1xuZXhwb3J0IGludGVyZmFjZSBSZWRpcmVjdCB7XG4gICAgcmVkaXJlY3Q6IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIEhhbmRsZVJlc3VsdCA9IFJlY29yZDxzdHJpbmcsIGFueT4gfCBSZWRpcmVjdCB8IHZvaWQ7XG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmUge1xuICAgIGhhbmRsZShjdHg6IGFueSk6IEhhbmRsZVJlc3VsdCB8IFByb21pc2U8SGFuZGxlUmVzdWx0Pjtcbn1cbnR5cGUgRXh0cmFjdE1pZGRsZXdhcmVDb250ZXh0PE0gZXh0ZW5kcyBNaWRkbGV3YXJlPiA9IEF3YWl0ZWQ8UmV0dXJuVHlwZTxNWydoYW5kbGUnXT4+IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA/IEF3YWl0ZWQ8UmV0dXJuVHlwZTxNWydoYW5kbGUnXT4+IDoge307XG50eXBlIFByb2Nlc3NNaWRkbGV3YXJlQXJyYXk8VCBleHRlbmRzIHJlYWRvbmx5IE1pZGRsZXdhcmVbXT4gPSBUIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIEZpcnN0IGV4dGVuZHMgTWlkZGxld2FyZSwgLi4uaW5mZXIgUmVzdCBleHRlbmRzIHJlYWRvbmx5IE1pZGRsZXdhcmVbXV0gPyBFeHRyYWN0TWlkZGxld2FyZUNvbnRleHQ8Rmlyc3Q+ICYgUHJvY2Vzc01pZGRsZXdhcmVBcnJheTxSZXN0PiA6IHt9O1xuZXhwb3J0IHR5cGUgTWlkZGxld2FyZUhhbmRsZVJlc3VsdDxUIGV4dGVuZHMgcmVhZG9ubHkgTWlkZGxld2FyZVtdID0gcmVhZG9ubHkgTWlkZGxld2FyZVtdPiA9IFByb2Nlc3NNaWRkbGV3YXJlQXJyYXk8VD47XG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZXI8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICAoY3R4OiBIdHRwQ29udGV4dCAmIFQpOiBQcm9taXNlPGFueT4gfCBhbnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IEhhbmRsZXIsIE1pZGRsZXdhcmUgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG50eXBlIFJvdXRlTWV0aG9kID0gJ2dldCcgfCAnR0VUJyB8ICdwb3N0JyB8ICdQT1NUJyB8ICdwdXQnIHwgJ1BVVCcgfCAncGF0Y2gnIHwgJ1BBVENIJyB8ICdkZWxldGUnIHwgJ0RFTEVURSc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb3V0ZSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIG1ldGhvZDogUm91dGVNZXRob2Q7XG4gICAgaGFuZGxlcjogSGFuZGxlcjxhbnk+IHwgbnVsbDtcbiAgICBtaWRkbGV3YXJlczogTWlkZGxld2FyZVtdO1xuICAgIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxSb3V0ZT4pO1xuICAgIHN0YXRpYyBwYXJhbXMocm91dGVQYXRoOiBzdHJpbmcsIHJlcXVlc3RQYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHN0YXRpYyBxdWVyeShyZXF1ZXN0UGF0aDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB0b0pTT04oKToge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIG1ldGhvZDogUm91dGVNZXRob2Q7XG4gICAgICAgIG1pZGRsZXdhcmVzOiBzdHJpbmdbXTtcbiAgICAgICAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsO1xuICAgIH07XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgUm91dGUgZnJvbSAnI3NlcnZlci9lbnRpdGllcy9Sb3V0ZUVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IEhhbmRsZXIsIE1pZGRsZXdhcmUsIE1pZGRsZXdhcmVIYW5kbGVSZXN1bHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnI3NoYXJlZC9pbmRleC50cyc7XG50eXBlIFJvdXRlQ29udGV4dCA9ICdnbG9iYWwnIHwgJ2dyb3VwJyB8ICdyb3V0ZSc7XG5pbnRlcmZhY2UgTWlkZGxld2FyZVJlZ2lzdGVyIHtcbiAgICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICAgIGNvbnRleHQ6IFJvdXRlQ29udGV4dDtcbn1cbmludGVyZmFjZSBMb2FkT3B0aW9ucyB7XG4gICAgZGVidWc/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJFdmVudHMge1xuICAgICdyb3V0ZXI6cmVnaXN0ZXJlZCc6IHtcbiAgICAgICAgcm91dGVyOiBSb3V0ZXJTZXJ2aWNlO1xuICAgIH07XG4gICAgJ3JvdXRlcjpsb2FkZWQnOiB7XG4gICAgICAgIHJvdXRlcjogUm91dGVyU2VydmljZTtcbiAgICB9O1xufVxuZGVjbGFyZSBjb25zdCBSb3V0ZXJTZXJ2aWNlX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBsaXN0ZW5lcnM6IGltcG9ydChcIiNzaGFyZWQvaW5kZXgudHNcIikuTGlzdGVuZXJbXTtcbiAgICAgICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIG9mZihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG4gICAgICAgIGVtaXRBc3luYyhldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL2luZGV4LnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm91dGVyU2VydmljZTxDID0ge30+IGV4dGVuZHMgUm91dGVyU2VydmljZV9iYXNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgcm91dGVzOiBSb3V0ZVtdO1xuICAgIG1pZGRsZXdhcmVzOiBNaWRkbGV3YXJlUmVnaXN0ZXJbXTtcbiAgICBwcmVmaXhlczogc3RyaW5nW107XG4gICAgZ3JvdXBzOiBSb3V0ZXJTZXJ2aWNlPGFueT5bXTtcbiAgICBncm91cFByZWZpeGVzOiBzdHJpbmdbXTtcbiAgICBkZWJ1ZzogYm9vbGVhbjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8Um91dGVyU2VydmljZTxDPj4pO1xuICAgIHVzZTxUIGV4dGVuZHMgTWlkZGxld2FyZT4obWlkZGxld2FyZTogVCwgY29udGV4dD86IFJvdXRlQ29udGV4dCk6IFJvdXRlclNlcnZpY2U8QyAmIE1pZGRsZXdhcmVIYW5kbGVSZXN1bHQ8W3R5cGVvZiBtaWRkbGV3YXJlXT4+O1xuICAgIHByZWZpeChwcmVmaXg6IHN0cmluZyk6IHRoaXM7XG4gICAgbWFrZVBhdGgoYXJnczogc3RyaW5nKTogc3RyaW5nO1xuICAgIGFkZChwYXlsb2FkOiBQaWNrPFJvdXRlLCAncGF0aCcgfCAnbWV0aG9kJyB8ICdoYW5kbGVyJz4pOiB2b2lkO1xuICAgIGdldChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IEhhbmRsZXI8Qz4pOiB2b2lkO1xuICAgIHBvc3QocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBIYW5kbGVyPEM+KTogdm9pZDtcbiAgICBwdXQocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBIYW5kbGVyPEM+KTogdm9pZDtcbiAgICBwYXRjaChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IEhhbmRsZXI8Qz4pOiB2b2lkO1xuICAgIG1hbnkobWV0aG9kczogUm91dGVbJ21ldGhvZCddW10sIHBhdGg6IHN0cmluZywgaGFuZGxlcjogSGFuZGxlcjxDPik6IHZvaWQ7XG4gICAgZGVsZXRlKHBhdGg6IHN0cmluZywgaGFuZGxlcjogSGFuZGxlcjxDPik6IHZvaWQ7XG4gICAgZ3JvdXAoKTogUm91dGVyU2VydmljZTxDPjtcbiAgICByZXNvbHZlKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBSb3V0ZSB8IG51bGw7XG4gICAgZXhlY3V0ZShyb3V0ZTogUm91dGUsIGluaXRpYWxDdHg6IGFueSk6IFByb21pc2U8YW55PjtcbiAgICBjbGVhcigpOiB2b2lkO1xuICAgIGxpc3QoKTogUm91dGVbXTtcbiAgICBsb2FkKG9wdGlvbnM/OiBMb2FkT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZFN5bmMob3B0aW9ucz86IExvYWRPcHRpb25zKTogdm9pZDtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IEpvYiB9IGZyb20gJ25vZGUtc2NoZWR1bGUnO1xuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5lSGFuZGxlciB7XG4gICAgKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5lRW50aXR5T3B0aW9ucyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjcm9uOiBzdHJpbmc7XG4gICAgaGFuZGxlcj86IFJvdXRpbmVIYW5kbGVyO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm91dGluZUVudGl0eSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjcm9uOiBzdHJpbmc7XG4gICAgam9iPzogSm9iO1xuICAgIHN0YXRpYyBjcmVhdGUoKTogUm91dGluZUVudGl0eTtcbiAgICBoYW5kbGU6IFJvdXRpbmVIYW5kbGVyO1xuICAgIHNldElkKGlkOiBzdHJpbmcpOiB0aGlzO1xuICAgIHNldENyb24oY3Jvbjogc3RyaW5nKTogdGhpcztcbiAgICBzZXRIYW5kbGVyKGhhbmRsZXI6IFJvdXRpbmVIYW5kbGVyKTogdGhpcztcbn1cbiIsImltcG9ydCBSb3V0aW5lRW50aXR5IGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvUm91dGluZUVudGl0eS50cyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnI3NoYXJlZC9pbmRleC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEFkZE9wdGlvbnMge1xuICAgIGlkPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZXJTZXJ2aWNlT3B0aW9ucyB7XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlckV2ZW50cyB7XG4gICAgJ3NjaGVkdWxlcjpyZWdpc3RlcmVkJzoge1xuICAgICAgICBzY2hlZHVsZXI6IFNjaGVkdWxlclNlcnZpY2U7XG4gICAgfTtcbiAgICAnc2NoZWR1bGVyOmxvYWRlZCc6IHtcbiAgICAgICAgc2NoZWR1bGVyOiBTY2hlZHVsZXJTZXJ2aWNlO1xuICAgIH07XG4gICAgJ3NjaGVkdWxlcjpib290ZWQnOiB7XG4gICAgICAgIHNjaGVkdWxlcjogU2NoZWR1bGVyU2VydmljZTtcbiAgICB9O1xuICAgICdzY2hlZHVsZXI6c2h1dGRvd25lZCc6IHtcbiAgICAgICAgc2NoZWR1bGVyOiBTY2hlZHVsZXJTZXJ2aWNlO1xuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTY2hlZHVsZXJTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgcm91dGluZXM6IFJvdXRpbmVFbnRpdHlbXTtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgZGlyczogc3RyaW5nW107XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IFNjaGVkdWxlclNlcnZpY2VPcHRpb25zKTtcbiAgICBzdGF0aWMgY3JlYXRlKG9wdGlvbnM/OiBTY2hlZHVsZXJTZXJ2aWNlT3B0aW9ucyk6IFNjaGVkdWxlclNlcnZpY2U7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHZvaWQ7XG4gICAgc2V0RGVidWcoZGVidWc6IGJvb2xlYW4pOiB2b2lkO1xuICAgIGFkZERpcihkaXI6IHN0cmluZyk6IHZvaWQ7XG4gICAgYWRkKHJvdXRpbmU6IE9taXQ8Um91dGluZUVudGl0eSwgJ2pvYic+KTogdm9pZDtcbiAgICByZW1vdmUoaWQ6IFJvdXRpbmVFbnRpdHlbJ2lkJ10gfCBSb3V0aW5lRW50aXR5WydpZCddW10pOiB2b2lkO1xuICAgIGxvYWRGaWxlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWREaXJlY3RvcnkoZGlyZWN0b3J5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBoYXMoaWQ6IFJvdXRpbmVFbnRpdHlbJ2lkJ10pOiBib29sZWFuO1xuICAgIHN0YXJ0Um91dGluZShpZDogUm91dGluZUVudGl0eVsnaWQnXSk6IFByb21pc2U8dm9pZD47XG4gICAgYWRkQW5kU3RhcnQocm91dGluZTogT21pdDxSb3V0aW5lRW50aXR5LCAnam9iJz4pOiBQcm9taXNlPHZvaWQ+O1xuICAgIHN0b3BSb3V0aW5lKGlkOiBSb3V0aW5lRW50aXR5WydpZCddKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzdG9wQW5kUmVtb3ZlKGlkOiBSb3V0aW5lRW50aXR5WydpZCddKTogUHJvbWlzZTx2b2lkPjtcbiAgICBib290KCk6IFByb21pc2U8dm9pZD47XG4gICAgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPjtcbiAgICBsaXN0KCk6IFJvdXRpbmVFbnRpdHlbXTtcbn1cbiIsImltcG9ydCB0eXBlIHsgS3lzZWx5IH0gZnJvbSBcImt5c2VseVwiO1xuZXhwb3J0IGludGVyZmFjZSBTZWVkZXJFbnRpeURhdGEge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlZWRlckVudGl0eSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFNlZWRlckVudGl5RGF0YSk7XG4gICAgcnVuKGRiOiBLeXNlbHk8YW55Pik6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgRW1taXR0ZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvRW1taXR0ZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IEt5c2VseSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgU2VlZGVyRW50aXR5IGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvU2VlZGVyRW50aXR5LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgU2VlZGVyU291cmNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBMaXN0RmlsdGVycyB7XG4gICAgc291cmNlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgbmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWVkZXJSZXN1bHQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgICByZXN1bHQ6ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuICAgIGVycm9yPzogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWVkZXJFdmVudHMge1xuICAgICdzZWVkZXI6YmVmb3JlLXJ1bic6IHtcbiAgICAgICAgc2VlZGVyczogc3RyaW5nW107XG4gICAgfTtcbiAgICAnc2VlZGVyOmFmdGVyLXJ1bic6IHtcbiAgICAgICAgc2VlZGVyczogc3RyaW5nW107XG4gICAgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VlZGVyU2VydmljZU9wdGlvbnMge1xuICAgIGRiOiBLeXNlbHk8YW55PjtcbiAgICBzb3VyY2VzPzogU2VlZGVyU291cmNlW107XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGVtbWl0dGVyPzogRW1taXR0ZXJTZXJ2aWNlO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWVlZGVyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGVtbWl0dGVyOiBFbW1pdHRlclNlcnZpY2U7XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGRiOiBLeXNlbHk8YW55PjtcbiAgICBzb3VyY2VzOiBTZWVkZXJTb3VyY2VbXTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTZWVkZXJTZXJ2aWNlT3B0aW9ucyk7XG4gICAgYWRkU291cmNlKHNvdXJjZTogU2VlZGVyU291cmNlKTogdm9pZDtcbiAgICBsaXN0U291cmNlKHNvdXJjZTogU2VlZGVyU291cmNlKTogUHJvbWlzZTxTZWVkZXJFbnRpdHlbXT47XG4gICAgbGlzdChmaWx0ZXJzPzogTGlzdEZpbHRlcnMpOiBQcm9taXNlPFNlZWRlckVudGl0eVtdPjtcbiAgICBydW5TZWVkZXIoc2VlZGVyOiBTZWVkZXJFbnRpdHkpOiBQcm9taXNlPFNlZWRlclJlc3VsdD47XG4gICAgcnVuKGZpbHRlcnM/OiBMaXN0RmlsdGVycyAmIHtcbiAgICAgICAgc3RlcHM/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8U2VlZGVyUmVzdWx0W10+O1xufVxuIiwiaW1wb3J0IHR5cGUgUGFnZVJlcXVlc3RDb250ZXh0RW50aXR5IGZyb20gXCIjc2VydmVyL2VudGl0aWVzL1BhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eS50c1wiO1xuaW1wb3J0IHR5cGUgeyBVc2VyUmVwb3NpdG9yeUV2ZW50cyB9IGZyb20gXCIjc2VydmVyL3JlcG9zaXRvcmllcy9Vc2VyUmVwb3NpdG9yeS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDbGlFdmVudHMgfSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9DbGlTZXJ2aWNlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IE1pZ3JhdG9yU2VydmljZUV2ZW50cyB9IGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL01pZ3JhdG9yU2VydmljZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZXJFdmVudHMgfSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9Sb3V0ZXJTZXJ2aWNlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFNjaGVkdWxlckV2ZW50cyB9IGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL1NjaGVkdWxlclNlcnZpY2UudHNcIjtcbmltcG9ydCB0eXBlIHsgU2VlZGVyRXZlbnRzIH0gZnJvbSBcIiNzZXJ2ZXIvc2VydmljZXMvU2VlZGVyU2VydmljZS50c1wiO1xuZXhwb3J0IGludGVyZmFjZSBFdmVudENvbnRyYWN0IGV4dGVuZHMgU2VlZGVyRXZlbnRzLCBSb3V0ZXJFdmVudHMsIENsaUV2ZW50cywgU2NoZWR1bGVyRXZlbnRzLCBNaWdyYXRvclNlcnZpY2VFdmVudHMsIFVzZXJSZXBvc2l0b3J5RXZlbnRzIHtcbiAgICAncGFnZTpyZXF1ZXN0OnN0YXJ0JzogUGFnZVJlcXVlc3RDb250ZXh0RW50aXR5O1xuICAgICdwYWdlOnJlcXVlc3Q6YmVmb3JlLXJlbmRlcic6IFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eTtcbiAgICAncGFnZTpyZXF1ZXN0OmFmdGVyLXJlbmRlcic6IFBhZ2VSZXF1ZXN0Q29udGV4dEVudGl0eTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQmFzZUVtbWl0dGVyU2VydmljZSBmcm9tIFwiLi4vLi4vc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZVwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudENvbnRyYWN0IH0gZnJvbSAnLi4vY29udHJhY3RzL0V2ZW50Q29udHJhY3QnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW1taXR0ZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZUVtbWl0dGVyU2VydmljZTxFdmVudENvbnRyYWN0PiB7XG59XG4iLCJpbXBvcnQgbXMgZnJvbSAnbXMnO1xuaW1wb3J0IEVudlNlcnZpY2UgZnJvbSAnLi9FbnZTZXJ2aWNlJztcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5pbnRlcmZhY2UgVVJMT3B0aW9ucyB7XG4gICAgZGF0YT86IGFueTtcbiAgICBleHBpcmVzPzogbXMuU3RyaW5nVmFsdWU7XG4gICAgZXhwaXJlQXQ/OiBudW1iZXIgfCBEYXRlO1xufVxuaW50ZXJmYWNlIEVuY3J5cHRTZXJ2aWNlT3B0aW9ucyB7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIGVudj86IEVudlNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbmNyeXB0U2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGVudjogRW52U2VydmljZTtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGdvcml0aG07XG4gICAgcHJpdmF0ZSBrZXk7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogRW5jcnlwdFNlcnZpY2VPcHRpb25zKTtcbiAgICBzdGF0aWMgY3JlYXRlKG9wdGlvbnM6IEVuY3J5cHRTZXJ2aWNlT3B0aW9ucyk6IEVuY3J5cHRTZXJ2aWNlO1xuICAgIHNldERlYnVnKGRlYnVnOiBib29sZWFuKTogdm9pZDtcbiAgICBzZXRMb2dnZXIobG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKTogdm9pZDtcbiAgICBzZXRFbnYoZW52OiBFbnZTZXJ2aWNlKTogdm9pZDtcbiAgICBzZXRLZXkoa2V5OiBzdHJpbmcpOiB2b2lkO1xuICAgIGVuY3J5cHQodGV4dDogc3RyaW5nKTogc3RyaW5nO1xuICAgIGRlY3J5cHQob3B0aW9uczogc3RyaW5nKTogc3RyaW5nO1xuICAgIGVuY3J5cHRPYmplY3Qob2JqOiBhbnkpOiBzdHJpbmc7XG4gICAgZGVjcnlwdE9iamVjdDxUPihlbmNyeXB0ZWRTdHJpbmc6IHN0cmluZyk6IFQ7XG4gICAgdXJsKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IFVSTE9wdGlvbnMpOiBzdHJpbmc7XG4gICAgdmVyaWZ5VXJsKGVuY3J5cHRlZEtleTogc3RyaW5nKTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuaW1wb3J0IEVudlNlcnZpY2UgZnJvbSAnLi9FbnZTZXJ2aWNlJztcbmV4cG9ydCBpbnRlcmZhY2UgRXhjZXB0aW9uU2VydmljZU9wdGlvbnMge1xuICAgIGlnbm9yZUNvZGVFcnJvcnM/OiBudW1iZXJbXTtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIGVudj86IEVudlNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeGNlcHRpb25TZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgaWdub3JlQ29kZUVycm9yczogbnVtYmVyW107XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGVudjogRW52U2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogRXhjZXB0aW9uU2VydmljZU9wdGlvbnMpO1xuICAgIGhhbmRsZShlcnJvcjogRXJyb3IsIHJlc3BvbnNlOiBSZXNwb25zZSk6IFJlc3BvbnNlPGFueSwgUmVjb3JkPHN0cmluZywgYW55Pj47XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBIYXNoZXJTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgaGFzaCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICAgIGNvbXBhcmUoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBTZXJ2ZXIgfSBmcm9tICdodHRwJztcbmltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGNvcnMgZnJvbSAnY29ycyc7XG5pbXBvcnQgUm91dGVyIGZyb20gJy4vUm91dGVyU2VydmljZS50cyc7XG5pbXBvcnQgRXhjZXB0aW9uU2VydmljZSBmcm9tICcuL0V4Y2VwdGlvblNlcnZpY2UudHMnO1xuaW1wb3J0IFJvdXRlIGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvUm91dGVFbnRpdHkudHMnO1xuaW1wb3J0IHsgRW1taXR0ZXJTZXJ2aWNlLCBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnI3NoYXJlZC9pbmRleC50cyc7XG5pbXBvcnQgRW52U2VydmljZSBmcm9tICcuL0VudlNlcnZpY2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBIdHRwU2VydmljZU9wdGlvbnMge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBleGNlcHRpb24/OiBFeGNlcHRpb25TZXJ2aWNlO1xuICAgIGVtbWl0dGVyPzogRW1taXR0ZXJTZXJ2aWNlO1xuICAgIGVudj86IEVudlNlcnZpY2U7XG4gICAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cFNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBhcHA6IGV4cHJlc3MuQXBwbGljYXRpb247XG4gICAgc2VydmVyOiBTZXJ2ZXIgfCBudWxsO1xuICAgIHJvdXRlcjogUm91dGVyO1xuICAgIGV4Y2VwdGlvbjogRXhjZXB0aW9uU2VydmljZTtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZTtcbiAgICBlbnY6IEVudlNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgb25VbmhhbmRsZXJSb3V0ZWQ6ICgocmVxOiBleHByZXNzLlJlcXVlc3QsIHJlczogZXhwcmVzcy5SZXNwb25zZSkgPT4gdm9pZCkgfCBudWxsO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEh0dHBTZXJ2aWNlT3B0aW9ucyk7XG4gICAgZ2V0RXhwcmVzc0FwcCgpOiBleHByZXNzLkFwcGxpY2F0aW9uO1xuICAgIGNvcnMob3B0aW9uczogY29ycy5Db3JzT3B0aW9ucyk6IHZvaWQ7XG4gICAgdXNlOiBleHByZXNzLkFwcGxpY2F0aW9uWyd1c2UnXTtcbiAgICByb3V0ZXMoKTogdm9pZDtcbiAgICBwYXJzZXIocmVxOiBleHByZXNzLlJlcXVlc3QsIHJlczogZXhwcmVzcy5SZXNwb25zZSwgbmV4dDogZXhwcmVzcy5OZXh0RnVuY3Rpb24pOiB2b2lkO1xuICAgIGV4ZWN1dGUodXJsOiBVUkwsIHJlcXVlc3Q6IGV4cHJlc3MuUmVxdWVzdCwgcmVzcG9uc2U6IGV4cHJlc3MuUmVzcG9uc2UsIHJvdXRlOiBSb3V0ZSk6IFByb21pc2U8dm9pZD47XG4gICAgc3RhcnQoKTogdm9pZDtcbiAgICBzdG9wKCk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgeyBVc2VyRW50aXR5IH0gZnJvbSBcIiNzaGFyZWQvaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlIEh0dHBTZXJ2aWNlIGZyb20gXCIuL0h0dHBTZXJ2aWNlXCI7XG5pbXBvcnQgc3VwZXJ0ZXN0LCB7IHR5cGUgVGVzdCB9IGZyb20gJ3N1cGVydGVzdCc7XG5leHBvcnQgaW50ZXJmYWNlIEh0dHBUZXN0ZXJTZXJ2aWNlT3B0aW9ucyB7XG4gICAgaHR0cDogSHR0cFNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIdHRwVGVzdGVyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGh0dHA6IEh0dHBTZXJ2aWNlO1xuICAgIHJlcXVlc3Q6IHN1cGVydGVzdC5TdXBlclRlc3Q8c3VwZXJ0ZXN0LlRlc3Q+O1xuICAgIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgY29va2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwVGVzdGVyU2VydmljZU9wdGlvbnMpO1xuICAgIGNyZWF0ZShyZXF1ZXN0OiBUZXN0KTogVGVzdDtcbiAgICBnZXQodXJsOiBzdHJpbmcpOiBUZXN0O1xuICAgIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnkpOiBUZXN0O1xuICAgIGxvZ2luQnlVc2VyKHVzZXI6IFVzZXJFbnRpdHkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvZ2luQnlVc2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBCYXNlTGlmZWN5Y2xlU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xpZmVjeWNsZVNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlmZWN5Y2xlU2VydmljZSBleHRlbmRzIEJhc2VMaWZlY3ljbGVTZXJ2aWNlIHtcbiAgICBhZGREaXJlY3RvcnkoZGlybmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCB0eXBlIHsgQ29sdW1uVHlwZSwgR2VuZXJhdGVkIH0gZnJvbSAna3lzZWx5JztcbmV4cG9ydCBpbnRlcmZhY2UgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBkZWxldGVkX2F0PzogQ29sdW1uVHlwZTxEYXRlIHwgc3RyaW5nIHwgbnVsbCwgRGF0ZSB8IHN0cmluZyB8IHVuZGVmaW5lZCwgRGF0ZSB8IHN0cmluZyB8IG51bGw+O1xufVxuZXhwb3J0IGludGVyZmFjZSBUaW1lc3RhbXBUYWJsZSB7XG4gICAgY3JlYXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlLCBzdHJpbmcgfCB1bmRlZmluZWQsIG5ldmVyPjtcbiAgICB1cGRhdGVkX2F0OiBDb2x1bW5UeXBlPERhdGUsIHN0cmluZyB8IHVuZGVmaW5lZCwgbmV2ZXI+O1xufVxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRpb25zVGFibGUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtb2R1bGU6IHN0cmluZyB8IG51bGw7XG4gICAgZXhlY3V0ZWRfYXQ6IENvbHVtblR5cGU8RGF0ZSwgc3RyaW5nIHwgdW5kZWZpbmVkLCBuZXZlcj47XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlLCBTb2Z0RGVsZXRlVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdmVyaWZpZWRfYXQ/OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXNlck1ldGFUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlLCBTb2Z0RGVsZXRlVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBUb2tlblRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgZXhwaXJlc19hdDogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUm9sZVRhYmxlIHtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgcm9sZV9pZDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICAgIG9yaWdpbjogc3RyaW5nO1xuICAgIHN1YmplY3Q6IHN0cmluZztcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICBjb25kaXRpb25zOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uQXNzaWdubWVudFRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgcGVybWlzc2lvbl9pZDogbnVtYmVyO1xuICAgIGFzc2lnbmFibGVfdHlwZTogc3RyaW5nO1xuICAgIGFzc2lnbmFibGVfaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUsIFNvZnREZWxldGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIGRyaXZlOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBjbGllbnRfbmFtZTogc3RyaW5nO1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgcHVycG9zZTogc3RyaW5nO1xuICAgIHB1YmxpYzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZU1ldGFUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlLCBTb2Z0RGVsZXRlVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICBmaWxlX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRTZXNzaW9uVGFibGUge1xuICAgIGlkOiBHZW5lcmF0ZWQ8bnVtYmVyPjtcbiAgICBwdXJwb3NlOiBzdHJpbmc7XG4gICAgbWltZV90eXBlczogc3RyaW5nO1xuICAgIG1heF9zaXplOiBudW1iZXI7XG4gICAgZXhwaXJlc19hdDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBKb2JUYWJsZSBleHRlbmRzIFRpbWVzdGFtcFRhYmxlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHF1ZXVlX2lkOiBzdHJpbmc7XG4gICAgc3RhdHVzOiAncGVuZGluZycgfCAnaW5fcHJvZ3Jlc3MnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJztcbiAgICBkYXRhOiBzdHJpbmcgfCBudWxsO1xuICAgIHJlc3VsdDogc3RyaW5nIHwgbnVsbDtcbiAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxUZW1wbGF0ZVRhYmxlIGV4dGVuZHMgVGltZXN0YW1wVGFibGUsIFNvZnREZWxldGVUYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgYm9keTogc3RyaW5nIHwgbnVsbDtcbiAgICBlbmdpbmU6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsVGVtcGxhdGVNZXRhVGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgdGVtcGxhdGVfaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT2F1dGhBY2NvdW50VGFibGUgZXh0ZW5kcyBUaW1lc3RhbXBUYWJsZSwgU29mdERlbGV0ZVRhYmxlIHtcbiAgICBpZDogR2VuZXJhdGVkPG51bWJlcj47XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHByb3ZpZGVyOiBzdHJpbmc7XG4gICAgcHJvdmlkZXJfdXNlcl9pZDogc3RyaW5nO1xuICAgIHByb3ZpZGVyX3VzZXJfZW1haWw6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9hdXRoVG9rZW5UYWJsZSB7XG4gICAgaWQ6IEdlbmVyYXRlZDxudW1iZXI+O1xuICAgIHVzZXJfaWQ6IG51bWJlciB8IG51bGw7XG4gICAgcHJvdmlkZXI6IHN0cmluZyB8IG51bGw7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBleHBpcmVzX2F0OiBzdHJpbmc7XG4gICAgbWV0YWRhdGE6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VDb250cmFjdCB7XG4gICAgdXNlcnM6IFVzZXJUYWJsZTtcbiAgICB1c2VyX21ldGFzOiBVc2VyTWV0YVRhYmxlO1xuICAgIHRva2VuczogVG9rZW5UYWJsZTtcbiAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25zVGFibGU7XG4gICAgZmlsZXM6IEZpbGVUYWJsZTtcbiAgICBmaWxlX21ldGFzOiBGaWxlTWV0YVRhYmxlO1xuICAgIGZpbGVfdXBsb2FkX3Nlc3Npb25zOiBVcGxvYWRTZXNzaW9uVGFibGU7XG4gICAgcm9sZXM6IFJvbGVUYWJsZTtcbiAgICB1c2VyX3JvbGVzOiBVc2VyUm9sZVRhYmxlO1xuICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uVGFibGU7XG4gICAgcGVybWlzc2lvbnNfYXNzaWdubWVudHM6IFBlcm1pc3Npb25Bc3NpZ25tZW50VGFibGU7XG4gICAgam9iczogSm9iVGFibGU7XG4gICAgZW1haWxfdGVtcGxhdGVzOiBFbWFpbFRlbXBsYXRlVGFibGU7XG4gICAgZW1haWxfdGVtcGxhdGVfbWV0YXM6IEVtYWlsVGVtcGxhdGVNZXRhVGFibGU7XG4gICAgb2F1dGhfYWNjb3VudHM6IE9hdXRoQWNjb3VudFRhYmxlO1xuICAgIG9hdXRoX3Rva2VuczogT2F1dGhUb2tlblRhYmxlO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhZmlsdGVyIHtcbiAgICBlcT86IHN0cmluZztcbiAgICBuZXE/OiBzdHJpbmc7XG4gICAgbGlrZT86IHN0cmluZztcbiAgICBubGlrZT86IHN0cmluZztcbiAgICBpbj86IHN0cmluZ1tdO1xuICAgIG5pbj86IHN0cmluZ1tdO1xuICAgIGd0Pzogc3RyaW5nO1xuICAgIGd0ZT86IHN0cmluZztcbiAgICBsdD86IHN0cmluZztcbiAgICBsdGU/OiBzdHJpbmc7XG4gICAgaXNfbnVsbD86IGJvb2xlYW47XG4gICAgZXhpc3RzPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFRdWVyeVBheWxvYWQge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IE1ldGFkYWZpbHRlcjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFkYXRhUXVlcnlTZXJ2aWNlPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4ge1xuICAgIHByaXZhdGUgcGF5bG9hZDtcbiAgICBwcml2YXRlIHRhYmxlO1xuICAgIHByaXZhdGUgZm9yZWlnbktleTtcbiAgICBwcml2YXRlIHBhcmVudEtleTtcbiAgICBjb25zdHJ1Y3RvcihwYXlsb2FkOiBNZXRhZGF0YVF1ZXJ5UGF5bG9hZCwgdGFibGU6IFQsIGZvcmVpZ25LZXk6IGtleW9mIERhdGFiYXNlW1RdLCBwYXJlbnRLZXk/OiBzdHJpbmcpO1xuICAgIGdldCBuZWVkV2hlcmVJbigpOiBib29sZWFuO1xuICAgIGdldCBuZWVkV2hlcmVOb3RJbigpOiBib29sZWFuO1xuICAgIGFwcGx5KGRiUXVlcnk6IGFueSk6IGFueTtcbiAgICBwcml2YXRlIGJ1aWxkUm93Q29uZGl0aW9ucztcbiAgICB3aGVyZUluOiA8REJRdWVyeT4oZWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gREJRdWVyeTtcbiAgICB3aGVyZU5vdEluOiA8REJRdWVyeT4oZWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gREJRdWVyeTtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFkYXRhU2VydmljZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB0YWJsZTogc3RyaW5nO1xuICAgIGZvcmVpZ25LZXk6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwYXlsb2FkOiBQaWNrPE1ldGFkYXRhU2VydmljZSwgJ3RhYmxlJyB8ICdmb3JlaWduS2V5JyB8ICdpZCc+KTtcbiAgICBzdGF0aWMgcGFyc2UodmFsdWU6IGFueSk6IGFueTtcbiAgICBzdGF0aWMgZmxhdHRlbihpdGVtczogQXJyYXk8e1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBhbnk7XG4gICAgfT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFByb21pc2U8VD47XG4gICAgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgbGlzdCgpOiBQcm9taXNlPEFycmF5PHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogYW55O1xuICAgIH0+PjtcbiAgICBhbGwoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pjtcbn1cbiIsImV4cG9ydCB0eXBlIElwY01lc3NhZ2U8VCA9IGFueT4gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBldmVudDogc3RyaW5nO1xuICAgIGRhdGE6IFQ7XG59O1xudHlwZSBJcGNMaXN0ZW5lcjxUID0gYW55PiA9IChkYXRhOiBUKSA9PiB2b2lkO1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgUGx1Z2luSXBjQ2xpZW50IHtcbiAgICBwcml2YXRlIGxpc3RlbmVycztcbiAgICBjb25zdHJ1Y3RvcigpO1xuICAgIG9uPFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBJcGNMaXN0ZW5lcjxUPik6IHZvaWQ7XG4gICAgb2ZmPFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBJcGNMaXN0ZW5lcjxUPik6IHZvaWQ7XG4gICAgZW1pdDxUID0gYW55PihldmVudDogc3RyaW5nLCBkYXRhPzogVCk6IHN0cmluZztcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbnR5cGUgSXBjTGlzdGVuZXI8VCA9IGFueT4gPSAoZGF0YTogVCkgPT4gdm9pZDtcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFBsdWdpbklwY0hvc3Qge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hpbGQ7XG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnM7XG4gICAgY29uc3RydWN0b3IoY2hpbGQ6IENoaWxkUHJvY2Vzcyk7XG4gICAgb248VCA9IGFueT4oZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IElwY0xpc3RlbmVyPFQ+KTogdm9pZDtcbiAgICBvZmY8VCA9IGFueT4oZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IElwY0xpc3RlbmVyPFQ+KTogdm9pZDtcbiAgICBlbWl0PFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGRhdGE/OiBUKTogc3RyaW5nO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgUGx1Z2luSXBjQ2xpZW50IH0gZnJvbSAnLi9QbHVnaW5JcGNDbGllbnQudHMnO1xuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnIHwgJ0RFTEVURSc7XG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlRGVmaW5pdGlvbiB7XG4gICAgbWV0aG9kOiBIdHRwTWV0aG9kO1xuICAgIHBhdGg6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVSZXF1ZXN0IHtcbiAgICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgICBtZXRob2Q6IEh0dHBNZXRob2Q7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgcXVlcnk/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUmVzcG9uc2VQYXlsb2FkIHtcbiAgICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgICBzdGF0dXM6IG51bWJlcjtcbiAgICBib2R5PzogYW55O1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVJlcGx5IHtcbiAgICBzdGF0dXMoY29kZTogbnVtYmVyKTogUm91dGVSZXBseTtcbiAgICBzZW5kKGJvZHk/OiBhbnkpOiB2b2lkO1xufVxuZXhwb3J0IHR5cGUgUm91dGVIYW5kbGVyID0gKHJlcTogUm91dGVSZXF1ZXN0LCByZXBseTogUm91dGVSZXBseSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBQbHVnaW5Sb3V0ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpZW50O1xuICAgIHByaXZhdGUgcm91dGVzO1xuICAgIGNvbnN0cnVjdG9yKGNsaWVudDogUGx1Z2luSXBjQ2xpZW50KTtcbiAgICBwcml2YXRlIGRpc3BhdGNoO1xuICAgIHByaXZhdGUgcmVnaXN0ZXI7XG4gICAgZ2V0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZDtcbiAgICBwb3N0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZDtcbiAgICBwdXQocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBSb3V0ZUhhbmRsZXIpOiB2b2lkO1xuICAgIHBhdGNoKHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZDtcbiAgICBkZWxldGUocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBSb3V0ZUhhbmRsZXIpOiB2b2lkO1xufVxuIiwiaW1wb3J0IHR5cGUgUm91dGVyIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvUm91dGVyU2VydmljZS50cyc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm91dGVyRmlsZUJhc2VSb3V0aW5nU2VydmljZSB7XG4gICAgcHJpdmF0ZSBkaXJlY3Rvcnk7XG4gICAgcHJpdmF0ZSBwcmVmaXg7XG4gICAgcHJpdmF0ZSBtb2R1bGU/O1xuICAgIHByaXZhdGUgcm91dGVyO1xuICAgIHByaXZhdGUgbG9nZ2VyO1xuICAgIHByaXZhdGUgcm91dGVzO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIHNldERpcmVjdG9yeShkaXJlY3Rvcnk6IHN0cmluZyk6IHRoaXM7XG4gICAgc2V0UHJlZml4KHByZWZpeDogc3RyaW5nKTogdGhpcztcbiAgICBzZXRSb3V0ZXIocm91dGVyOiBSb3V0ZXIpOiB0aGlzO1xuICAgIHNldE1vZHVsZShtb2R1bGU6IHN0cmluZyk6IHRoaXM7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHRoaXM7XG4gICAgc2V0RGVidWcoZGVidWc6IGJvb2xlYW4pOiB0aGlzO1xuICAgIHN0YXRpYyBjcmVhdGUoZGlyZWN0b3J5OiBzdHJpbmcpOiBSb3V0ZXJGaWxlQmFzZVJvdXRpbmdTZXJ2aWNlO1xuICAgIGxvYWRGaWxlcygpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHJlZ2lzdGVyUm91dGVzKCk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IFJvdXRlclNlcnZpY2UgZnJvbSAnLi9Sb3V0ZXJTZXJ2aWNlLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyUmVnaXN0ZXJFbnRyeSB7XG4gICAgZmlsZXBhdGg6IHN0cmluZztcbiAgICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRlclJlZ2lzdGVyPEMgPSB7fT4gZXh0ZW5kcyBSb3V0ZXJTZXJ2aWNlPEM+IHtcbiAgICBmaWxlczogTWFwPHN0cmluZywgUm91dGVyUmVnaXN0ZXJFbnRyeT47XG4gICAgZGlyczogTWFwPHN0cmluZywgUm91dGVyUmVnaXN0ZXJFbnRyeT47XG4gICAgY29uc3RydWN0b3Iocm91dGVyPzogUGFydGlhbDxSb3V0ZXJTZXJ2aWNlPEM+Pik7XG4gICAgYWRkRmlsZShmaWxlbmFtZTogc3RyaW5nLCBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xuICAgIGFkZERpcihkaXJuYW1lOiBzdHJpbmcsIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQ7XG4gICAgcHJpdmF0ZSBsb2FkRmlsZTtcbiAgICBwcml2YXRlIGxvYWREaXI7XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIiwiaW1wb3J0IHR5cGUgUm91dGVyIGZyb20gJy4vUm91dGVyU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG5pbXBvcnQgdHlwZSB7IEh0dHBDb250ZXh0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvSHR0cENvbnRleHRDb250cmFjdC50cyc7XG5leHBvcnQgdHlwZSBSZXNvdXJjZU1ldGhvZCA9ICdpbmRleCcgfCAnc2hvdycgfCAnc3RvcmUnIHwgJ3VwZGF0ZScgfCAnZGVzdHJveSc7XG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclJlc291cmNlT3B0aW9ucyB7XG4gICAgbWlkZGxld2FyZT86IFBhcnRpYWw8UmVjb3JkPFJlc291cmNlTWV0aG9kIHwgJ2FsbCcsIE1pZGRsZXdhcmU+PjtcbiAgICBleGNlcHQ/OiBSZXNvdXJjZU1ldGhvZFtdO1xufVxuZGVjbGFyZSBjb25zdCBSb3V0ZXJSZXNvdXJjZVNlcnZpY2VfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGxpc3RlbmVyczogaW1wb3J0KFwiI3NoYXJlZC9taXhpbnMvSG9va3NNaXhpbi50c1wiKS5MaXN0ZW5lcltdO1xuICAgICAgICBvbihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgb2ZmKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgICAgICAgZW1pdEFzeW5jKGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRlclJlc291cmNlU2VydmljZSBleHRlbmRzIFJvdXRlclJlc291cmNlU2VydmljZV9iYXNlIHtcbiAgICBwcml2YXRlIG9wdGlvbnM7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IFJvdXRlclJlc291cmNlT3B0aW9ucyk7XG4gICAgaW5kZXgoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8YW55PjtcbiAgICBzaG93KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT47XG4gICAgc3RvcmUoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8YW55PjtcbiAgICB1cGRhdGUoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8YW55PjtcbiAgICBkZXN0cm95KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPGFueT47XG4gICAgcHJpdmF0ZSB3cmFwO1xuICAgIHJlZ2lzdGVyKHJvdXRlcjogUm91dGVyKTogdm9pZDtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tICcjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHMnO1xuZXhwb3J0IHR5cGUgQ29uZmlnTW9kZWwgPSBSZXR1cm5UeXBlPFJldHVyblR5cGU8dHlwZW9mIE1vZGVsQ29uZmlnPj47XG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xufVxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9kZWxDb25maWcoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBPcHRpb25zKTogPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKSA9PiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHt9O1xuICAgIF9faXNDb25maWdNb2RlbDogYm9vbGVhbjtcbiAgICBzZXJpYWxpemU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgcm93OiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGxpc3Q8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IFByb21pc2U8VFtdPjtcbiAgICBmaW5kPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQgfCBudWxsPjtcbiAgICBmaW5kT3JGYWlsPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQ+O1xuICAgIGNyZWF0ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpdGVtOiBUICYge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+O1xuICAgIHVwZGF0ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nLCBkYXRhOiBUKTogUHJvbWlzZTx2b2lkPjtcbiAgICB1cGRhdGVPckNyZWF0ZTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZXN0cm95PFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xufSAmIFRCYXNlO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IFJvdXRlclJlc291cmNlU2VydmljZSBmcm9tICcuL1JvdXRlclJlc291cmNlU2VydmljZS50cyc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlclJlc291cmNlT3B0aW9ucyB9IGZyb20gJy4vUm91dGVyUmVzb3VyY2VTZXJ2aWNlLnRzJztcbmltcG9ydCB0eXBlIHsgSHR0cENvbnRleHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9IdHRwQ29udGV4dENvbnRyYWN0LnRzJztcbmltcG9ydCB0eXBlIHsgQ29uZmlnTW9kZWwgfSBmcm9tICcjc2VydmVyL21peGlucy9Nb2RlbENvbmZpZ01peGluLnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvdXRlclJlc291cmNlQ29uZmlnIGV4dGVuZHMgUm91dGVyUmVzb3VyY2VTZXJ2aWNlIHtcbiAgICBwcml2YXRlIG1vZGVsO1xuICAgIGNvbnN0cnVjdG9yKG1vZGVsOiBDb25maWdNb2RlbCwgb3B0aW9ucz86IFJvdXRlclJlc291cmNlT3B0aW9ucyk7XG4gICAgaW5kZXgoY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8e1xuICAgICAgICBwYWdlOiBudW1iZXI7XG4gICAgICAgIHRvdGFsOiBudW1iZXI7XG4gICAgICAgIHRvdGFsX3BhZ2VzOiBudW1iZXI7XG4gICAgICAgIGl0ZW1zOiB7fVtdO1xuICAgIH0+O1xuICAgIHNob3coY3R4OiBIdHRwQ29udGV4dCk6IFByb21pc2U8e30+O1xuICAgIHN0b3JlKGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPHtcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+O1xuICAgIHVwZGF0ZShjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZXN0cm95KGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPHtcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICB9Pjtcbn1cbiIsImltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5pbnRlcmZhY2UgQ29tbWFuZE9wdGlvbnMge1xuICAgIGN3ZD86IHN0cmluZztcbiAgICBlbnY/OiBOb2RlSlMuUHJvY2Vzc0VudjtcbiAgICBzaGVsbD86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNoZWxsU2VydmljZU9wdGlvbnMge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hlbGxTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBTaGVsbFNlcnZpY2VPcHRpb25zKTtcbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgc2hlbGwgY29tbWFuZCBhbmQgcmV0dXJuIGEgcHJvbWlzZVxuICAgICAqL1xuICAgIGNvbW1hbmQoYmluOiBzdHJpbmcsIGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zPzogQ29tbWFuZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKlxuICAgICAqIEV4ZWN1dGUgYSBzaGVsbCBjb21tYW5kIGFuZCByZXR1cm4gdGhlIG91dHB1dCBhcyBhIHN0cmluZ1xuICAgICAqL1xuICAgIGV4ZWN1dGVDb21tYW5kV2l0aE91dHB1dChiaW46IHN0cmluZywgYXJnczogc3RyaW5nW10sIG9wdGlvbnM/OiBDb21tYW5kT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIENvbmZpZ1NlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Db25maWdTZXJ2aWNlLnRzJztcbmltcG9ydCB0eXBlIHsgUGFnaW5hdGlvbiwgRmluZE1hbnlPcHRpb25zLCBQYWdpbmF0ZU9wdGlvbnMsIERlbGV0ZU1hbnlPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvRGF0YWJhc2VSZXBvc2l0b3J5LnRzJztcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ1JlcG9zaXRvcnk8VEVudGl0eSA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHByb3RlY3RlZCBjb25maWc6IENvbmZpZ1NlcnZpY2U7XG4gICAgcHJvdGVjdGVkIGtleTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBwcmltYXJ5S2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBDb25maWdTZXJ2aWNlLCBrZXk6IHN0cmluZywgcHJpbWFyeUtleT86IHN0cmluZyk7XG4gICAgcHJvdGVjdGVkIGdldEl0ZW1zKCk6IFRFbnRpdHlbXTtcbiAgICBwcm90ZWN0ZWQgc2V0SXRlbXMoaXRlbXM6IFRFbnRpdHlbXSk6IHZvaWQ7XG4gICAgcXVlcnkob3B0aW9ucz86IFRPcHRpb25zKTogVEVudGl0eVtdO1xuICAgIGNvdW50KG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8bnVtYmVyPjtcbiAgICBmaW5kTWFueShvcHRpb25zPzogRmluZE1hbnlPcHRpb25zICYgVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHlbXT47XG4gICAgZmluZE9uZShvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHkgfCBudWxsPjtcbiAgICBmaW5kQnlJZChpZDogc3RyaW5nLCBvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHkgfCBudWxsPjtcbiAgICBmaW5kQnlJZE9yRmFpbChpZDogc3RyaW5nLCBvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPFRFbnRpdHk+O1xuICAgIHBhZ2luYXRlKG9wdGlvbnM/OiBQYWdpbmF0ZU9wdGlvbnMgJiBUT3B0aW9ucyk6IFByb21pc2U8UGFnaW5hdGlvbjxURW50aXR5Pj47XG4gICAgY3JlYXRlKGRhdGE6IFBhcnRpYWw8VEVudGl0eT4pOiBQcm9taXNlPFRFbnRpdHk+O1xuICAgIGNyZWF0ZU1hbnkoZGF0YTogUGFydGlhbDxURW50aXR5PltdKTogUHJvbWlzZTxURW50aXR5W10+O1xuICAgIHVwZGF0ZUJ5SWQoaWQ6IHN0cmluZywgZGF0YTogUGFydGlhbDxURW50aXR5Pik6IFByb21pc2U8VEVudGl0eT47XG4gICAgZGVsZXRlQnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGVNYW55KG9wdGlvbnM/OiBEZWxldGVNYW55T3B0aW9ucyAmIFRPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBEYXRhYmFzZVJlcG9zaXRvcnkgZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvRGF0YWJhc2VSZXBvc2l0b3J5LnRzJztcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGFRdWVyeVBheWxvYWQgfSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL01ldGFkYXRhUXVlcnlTZXJ2aWNlLnRzJztcbmltcG9ydCB0eXBlIEZpbGVFbnRpdHkgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9GaWxlRW50aXR5LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVJlcG9zaXRvcnlRdWVyeU9wdGlvbnMge1xuICAgIGlkPzogbnVtYmVyIHwgbnVtYmVyW107XG4gICAgc2VhcmNoPzogc3RyaW5nO1xuICAgIHB1cnBvc2U/OiBzdHJpbmdbXTtcbiAgICBjbGllbnRfbmFtZT86IHN0cmluZ1tdO1xuICAgIG1ldGFzPzogTWV0YWRhdGFRdWVyeVBheWxvYWQ7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlUmVwb3NpdG9yeSBleHRlbmRzIERhdGFiYXNlUmVwb3NpdG9yeTxGaWxlRW50aXR5LCBGaWxlRW50aXR5WydpZCddLCBGaWxlUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucz4ge1xuICAgIGNvbnN0cnVjdG9yKGRiOiBEYXRhYmFzZVJlcG9zaXRvcnlbJ2RiJ10pO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBGaWxlUmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucyk6IGFueTtcbn1cbiIsImltcG9ydCBTaGVsbFNlcnZpY2UgZnJvbSBcIiNzZXJ2ZXIvc2VydmljZXMvU2hlbGxTZXJ2aWNlLnRzXCI7XG5pbXBvcnQgR2l0QnJhbmNoRW50aXR5IGZyb20gXCIjc2hhcmVkL2VudGl0aWVzL0dpdEJyYW5jaEVudGl0eS50c1wiO1xuZXhwb3J0IGludGVyZmFjZSBHaXRCcmFuY2hSZXBvc2l0b3J5T3B0aW9ucyB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgc2hlbGw/OiBTaGVsbFNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHaXRCcmFuY2hSZXBvc2l0b3J5IHtcbiAgICBjd2Q6IHN0cmluZztcbiAgICBzaGVsbDogU2hlbGxTZXJ2aWNlO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEdpdEJyYW5jaFJlcG9zaXRvcnlPcHRpb25zKTtcbiAgICBsaXN0KCk6IFByb21pc2U8R2l0QnJhbmNoRW50aXR5W10+O1xuICAgIGZldGNoKG9wdGlvbnM6IHtcbiAgICAgICAgcmVtb3RlOiBzdHJpbmc7XG4gICAgICAgIGJyYW5jaDogc3RyaW5nO1xuICAgICAgICBsb2NhbE5hbWU/OiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8dm9pZD47XG59XG4iLCJpbXBvcnQgU2hlbGxTZXJ2aWNlIGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL1NoZWxsU2VydmljZS50c1wiO1xuaW1wb3J0IEdpdENvbW1pdEVudGl0eSBmcm9tIFwiI3NoYXJlZC9lbnRpdGllcy9HaXRDb21taXRFbnRpdHkudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgR2l0Q29tbWl0UmVwb3NpdG9yeU9wdGlvbnMge1xuICAgIGN3ZDogc3RyaW5nO1xuICAgIHNoZWxsPzogU2hlbGxTZXJ2aWNlO1xufVxuZXhwb3J0IGludGVyZmFjZSBHaXRDb21taXRMaXN0T3B0aW9ucyB7XG4gICAgbGltaXQ/OiBudW1iZXI7XG4gICAgY3Vyc29yPzogc3RyaW5nO1xuICAgIGJyYW5jaGVzPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEdpdENvbW1pdExpc3RSZXN1bHQge1xuICAgIGl0ZW1zOiBHaXRDb21taXRFbnRpdHlbXTtcbiAgICBjdXJzb3JfcHJldmlvdXM6IHN0cmluZyB8IG51bGw7XG4gICAgY3Vyc29yX2N1cnJlbnQ6IHN0cmluZyB8IG51bGw7XG4gICAgY3Vyc29yX25leHQ6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHaXRDb21taXRSZXBvc2l0b3J5IHtcbiAgICBjd2Q6IHN0cmluZztcbiAgICBzaGVsbDogU2hlbGxTZXJ2aWNlO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEdpdENvbW1pdFJlcG9zaXRvcnlPcHRpb25zKTtcbiAgICBsaXN0KG9wdGlvbnM/OiBHaXRDb21taXRMaXN0T3B0aW9ucyk6IFByb21pc2U8R2l0Q29tbWl0TGlzdFJlc3VsdD47XG4gICAgY2hlY2tvdXQoaGFzaDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBEYXRhYmFzZVJlcG9zaXRvcnkgZnJvbSAnI3NlcnZlci9yZXBvc2l0b3JpZXMvRGF0YWJhc2VSZXBvc2l0b3J5LnRzJztcbmltcG9ydCB0eXBlIHsgUGVybWlzc2lvbkFzc2lnbm1lbnQgfSBmcm9tICcjc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWEudHMnO1xuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnlRdWVyeU9wdGlvbnMge1xuICAgIGlkPzogbnVtYmVyIHwgbnVtYmVyW107XG4gICAgcGVybWlzc2lvbklkPzogbnVtYmVyIHwgbnVtYmVyW107XG4gICAgYXNzaWduYWJsZUlkPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgYXNzaWduYWJsZVR5cGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBlcm1pc3Npb25Bc3NpZ25tZW50UmVwb3NpdG9yeSBleHRlbmRzIERhdGFiYXNlUmVwb3NpdG9yeTxQZXJtaXNzaW9uQXNzaWdubWVudCwgUGVybWlzc2lvbkFzc2lnbm1lbnRbJ2lkJ10sIFBlcm1pc3Npb25Bc3NpZ25tZW50UmVwb3NpdG9yeVF1ZXJ5T3B0aW9ucz4ge1xuICAgIGNvbnN0cnVjdG9yKGRiOiBEYXRhYmFzZVJlcG9zaXRvcnlbJ2RiJ10pO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBQZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnlRdWVyeU9wdGlvbnMpOiBhbnk7XG59XG4iLCJpbXBvcnQgRGF0YWJhc2VSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb24gfSBmcm9tICcjc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvblNjaGVtYS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25SZXBvc2l0b3J5UXVlcnlPcHRpb25zIHtcbiAgICBpZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIHNlYXJjaD86IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBlcm1pc3Npb25SZXBvc2l0b3J5IGV4dGVuZHMgRGF0YWJhc2VSZXBvc2l0b3J5PFBlcm1pc3Npb24sIFBlcm1pc3Npb25bJ2lkJ10sIFBlcm1pc3Npb25SZXBvc2l0b3J5UXVlcnlPcHRpb25zPiB7XG4gICAgY29uc3RydWN0b3IoZGI6IERhdGFiYXNlUmVwb3NpdG9yeVsnZGInXSk7XG4gICAgcXVlcnkob3B0aW9ucz86IFBlcm1pc3Npb25SZXBvc2l0b3J5UXVlcnlPcHRpb25zKTogYW55O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBGaW5kTWFueU9wdGlvbnMsIFBhZ2luYXRlT3B0aW9ucywgUGFnaW5hdGlvbiB9IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9zaXRvcnlUeXBlczxURW50aXR5ID0gUmVjb3JkPHN0cmluZywgYW55PiwgVFByaW1hcnlLZXlUeXBlID0gYW55LCBUT3B0aW9ucyA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb3VudChvcHRpb25zPzogVE9wdGlvbnMpOiBQcm9taXNlPG51bWJlcj47XG4gICAgZmluZE1hbnkob3B0aW9ucz86IFRPcHRpb25zICYgRmluZE1hbnlPcHRpb25zKTogUHJvbWlzZTxURW50aXR5W10+O1xuICAgIGZpbmRCeUlkKGlkOiBUUHJpbWFyeUtleVR5cGUsIG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eSB8IG51bGw+O1xuICAgIGZpbmRCeUlkT3JGYWlsKGlkOiBUUHJpbWFyeUtleVR5cGUsIG9wdGlvbnM/OiBUT3B0aW9ucyk6IFByb21pc2U8VEVudGl0eT47XG4gICAgcGFnaW5hdGUob3B0aW9ucz86IFRPcHRpb25zICYgUGFnaW5hdGVPcHRpb25zKTogUHJvbWlzZTxQYWdpbmF0aW9uPjtcbiAgICBjcmVhdGUoZGF0YTogUGFydGlhbDxURW50aXR5Piwgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5PjtcbiAgICBjcmVhdGVNYW55KGRhdGE6IFBhcnRpYWw8VEVudGl0eT5bXSwgb3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTxURW50aXR5W10+O1xuICAgIGRlbGV0ZUJ5SWQoaWQ6IFRQcmltYXJ5S2V5VHlwZSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVzdHJveU1hbnkob3B0aW9ucz86IFRPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERhdGFiYXNlUmVwb3NpdG9yeUluZmVyTWl4aW48VEVudGl0eSA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRQcmltYXJ5S2V5VHlwZSA9IGFueSwgVE9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PigpOiA8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpID0+IFRCYXNlICYgQ29uc3RydWN0b3I8SVJlcG9zaXRvcnlUeXBlczxURW50aXR5LCBUUHJpbWFyeUtleVR5cGUsIFRPcHRpb25zPj47XG4iLCJpbXBvcnQgRGF0YWJhc2VSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0RhdGFiYXNlUmVwb3NpdG9yeS50cyc7XG5pbXBvcnQgdHlwZSB7IFRva2VuIH0gZnJvbSAnI3NoYXJlZC9zY2hlbWFzL3Rva2VuU2NoZW1hLnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5SZXBvc2l0b3J5UXVlcnlPcHRpb25zIHtcbiAgICBpZD86IG51bWJlciB8IG51bWJlcltdO1xuICAgIHNlYXJjaD86IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuUmVwb3NpdG9yeUdlbmVyYXRlT3B0aW9ucyB7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgZXhwaXJlc19pbl9ob3Vycz86IG51bWJlcjtcbn1cbmRlY2xhcmUgY29uc3QgVG9rZW5SZXBvc2l0b3J5X2Jhc2U6IGltcG9ydChcIiNzaGFyZWQvdXRpbHMvaW5kZXgudHNcIikuQ29uc3RydWN0b3IgJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2luZGV4LnRzXCIpLkNvbnN0cnVjdG9yPGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL0RhdGFiYXNlUmVwb3NpdG9yeUluZmVyTWl4aW4udHNcIikuSVJlcG9zaXRvcnlUeXBlczx7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICAgIGV4cGlyZXNfYXQ6IHN0cmluZztcbn0sIG51bWJlciwgVG9rZW5SZXBvc2l0b3J5UXVlcnlPcHRpb25zPj4gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2luZGV4LnRzXCIpLkNvbnN0cnVjdG9yPHt9PiAmIHR5cGVvZiBEYXRhYmFzZVJlcG9zaXRvcnk7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUb2tlblJlcG9zaXRvcnkgZXh0ZW5kcyBUb2tlblJlcG9zaXRvcnlfYmFzZSB7XG4gICAgYXV0b0NyZWF0ZWRBdDogYm9vbGVhbjtcbiAgICBhdXRvVXBkYXRlZEF0OiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKGRiOiBEYXRhYmFzZVJlcG9zaXRvcnlbJ2RiJ10pO1xuICAgIHF1ZXJ5KG9wdGlvbnM/OiBUb2tlblJlcG9zaXRvcnlRdWVyeU9wdGlvbnMpOiBhbnk7XG4gICAgZmluZEJ5VG9rZW4odG9rZW46IHN0cmluZyk6IFByb21pc2U8VG9rZW4gfCBudWxsPjtcbiAgICBnZW5lcmF0ZShvcHRpb25zOiBUb2tlblJlcG9zaXRvcnlHZW5lcmF0ZU9wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgS3lzZWx5IH0gZnJvbSBcImt5c2VseVwiO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2VHYXRld2F5PERCPiBleHRlbmRzIEt5c2VseTxEQj4ge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBfZGlhbGVjdF9pZGVudGlmaWVyOiBzdHJpbmc7XG59XG4iLCJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IEJhc2VEcml2ZSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RyaXZlQmFzZUdhdGV3YXkudHMnO1xuZXhwb3J0IGludGVyZmFjZSBEcml2ZUZTQ29uZmlnIHtcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlRlMgZXh0ZW5kcyBCYXNlRHJpdmUge1xuICAgIHByaXZhdGUgc2NoZW1hO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBpY2s8QmFzZURyaXZlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnPik7XG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjaGVja1ZhbGlkO1xuICAgIHByb3RlY3RlZCBnZXQgcm9vdFBhdGgoKTogc3RyaW5nO1xuICAgIGV4aXN0czogQmFzZURyaXZlWydleGlzdHMnXTtcbiAgICBsaXN0OiBCYXNlRHJpdmVbJ2xpc3QnXTtcbiAgICBmaW5kOiBCYXNlRHJpdmVbJ2ZpbmQnXTtcbiAgICBta2RpcihmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICByZWFkOiBCYXNlRHJpdmVbJ3JlYWQnXTtcbiAgICByZWFkU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGZzLlJlYWRTdHJlYW0+O1xuICAgIHdyaXRlOiBCYXNlRHJpdmVbJ3dyaXRlJ107XG4gICAgd3JpdGVTdHJlYW0oZmlsZW5hbWU6IHN0cmluZywgc3RyZWFtOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0pOiBQcm9taXNlPHZvaWQ+O1xuICAgIGRlbGV0ZTogQmFzZURyaXZlWydkZWxldGUnXTtcbiAgICB1cmw6IEJhc2VEcml2ZVsndXJsJ107XG4gICAgdXBsb2FkVXJsOiBCYXNlRHJpdmVbJ3VwbG9hZFVybCddO1xufVxuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW1wb3J0IFNoZWxsU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL1NoZWxsU2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEdpdFJlcG9JbmZvIHtcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbiAgICBoZWFkOiBzdHJpbmcgfCBudWxsO1xuICAgIHNob3J0SGFzaDogc3RyaW5nO1xuICAgIGlzRGV0YWNoZWRIZWFkOiBib29sZWFuO1xuICAgIHJlbW90ZXM6IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBHaXRHYXRld2F5T3B0aW9ucyB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgc3NoS2V5Pzogc3RyaW5nO1xuICAgIHNzaEtleUZpbGU/OiBzdHJpbmc7XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBzaGVsbD86IFNoZWxsU2VydmljZTtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgR2l0R2F0ZXdheUV4ZWN1dGVPcHRpb25zIHtcbiAgICBhcmdzOiBzdHJpbmc7XG4gICAgY3dkPzogc3RyaW5nO1xuICAgIHNzaEtleT86IHN0cmluZztcbiAgICBzc2hLZXlGaWxlPzogc3RyaW5nO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG4gICAgc2hlbGw/OiBTaGVsbFNlcnZpY2U7XG4gICAgZGVidWc/OiBib29sZWFuO1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgR2l0R2F0ZXdheSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjd2Q7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzc2hLZXk/O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3NoS2V5RmlsZT87XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWJ1ZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWxsO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEdpdEdhdGV3YXlPcHRpb25zKTtcbiAgICBzdGF0aWMgZXhlY3V0ZShvcHRpb25zOiBHaXRHYXRld2F5RXhlY3V0ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gICAgc3RhdGljIGNsb25lKHJlcG9Vcmw6IHN0cmluZywgdGFyZ2V0RGlyOiBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8R2l0R2F0ZXdheU9wdGlvbnMsICdjd2QnPik6IFByb21pc2U8R2l0R2F0ZXdheT47XG4gICAgcnVuKGFyZ3M6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICB0cnlSdW4oYXJnczogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPjtcbiAgICBjaGVja291dChyZWY6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgICBmZXRjaEFsbCgpOiBQcm9taXNlPHN0cmluZz47XG4gICAgcHVsbCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGdldEluZm8oKTogUHJvbWlzZTxHaXRSZXBvSW5mbz47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tICcjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHMnO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdmFsdWVUb1N0cmluZyh2YWx1ZTogYW55KTogc3RyaW5nO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWV0YWRhdGE8VGFibGUgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4obWV0YXNUYWJsZTogVGFibGUsIGZvcmVpZ25LZXk6IGtleW9mIERhdGFiYXNlW1RhYmxlXSk6IDxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSkgPT4ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAgICAgICBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBQcm9taXNlPFQ+O1xuICAgICAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xufSAmIFRCYXNlO1xuIiwiaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbXBvcnQgRGF0YWJhc2VHYXRld2F5IGZyb20gJyNzZXJ2ZXIvZ2F0ZXdheXMvRGF0YWJhc2VHYXRld2F5LnRzJztcbmRlY2xhcmUgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlR2F0ZXdheTxEYXRhYmFzZUNvbnRyYWN0PjtcbmV4cG9ydCBkZWZhdWx0IGRhdGFiYXNlO1xuIiwiaW1wb3J0IHR5cGUgeyBTZWxlY3RhYmxlLCBTZWxlY3RRdWVyeUJ1aWxkZXIsIEV4cHJlc3Npb25CdWlsZGVyIGFzIEtFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgZGIgZnJvbSAnI3NlcnZlci9mYWNhZGVzL2RhdGFiYXNlLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuZXhwb3J0IHR5cGUgU2VsZWN0RnJvbTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gUmV0dXJuVHlwZTx0eXBlb2YgZGIuc2VsZWN0RnJvbTxUPj4gfCBTZWxlY3RRdWVyeUJ1aWxkZXI8RGF0YWJhc2UsIFQsIGFueT47XG5leHBvcnQgdHlwZSBJbnNlcnRGcm9tPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBSZXR1cm5UeXBlPHR5cGVvZiBkYi5pbnNlcnRJbnRvPFQ+PjtcbmV4cG9ydCB0eXBlIFVwZGF0ZUZyb208VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFJldHVyblR5cGU8dHlwZW9mIGRiLnVwZGF0ZVRhYmxlPFQ+PjtcbmV4cG9ydCB0eXBlIERlbGV0ZUZyb208VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFJldHVyblR5cGU8dHlwZW9mIGRiLmRlbGV0ZUZyb208VD4+O1xuZXhwb3J0IHR5cGUgU2VsZWN0QnVpbGRlcjxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gU2VsZWN0UXVlcnlCdWlsZGVyPERhdGFiYXNlLCBULCBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPj47XG5leHBvcnQgdHlwZSBFeHByZXNzaW9uQnVpbGRlcjxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gS0V4cHJlc3Npb25CdWlsZGVyPERhdGFiYXNlLCBUPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG5vdzogKCkgPT4gaW1wb3J0KFwia3lzZWx5XCIpLlJhd0J1aWxkZXI8c3RyaW5nPjtcbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBzZXJpYWxpemU/OiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gYW55O1xufVxuZXhwb3J0IHR5cGUgU2VyaWFsaXphYmxlUmVzdWx0PFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFNlcmlhbGl6ZU9wdGlvbnM8VD4gfCB1bmRlZmluZWQ+ID0gTyBleHRlbmRzIHVuZGVmaW5lZCA/IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+IDogTyBleHRlbmRzIHtcbiAgICBzZXJpYWxpemU6IChyb3c6IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+KSA9PiBpbmZlciBSO1xufSA/IFIgOiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPjtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkJ1aWxkZXIsIEV4cHJlc3Npb25XcmFwcGVyLCBJbnNlcnRhYmxlIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VsZWN0RnJvbSwgU2VyaWFsaXphYmxlUmVzdWx0LCBTZXJpYWxpemVPcHRpb25zLCBVcGRhdGVGcm9tIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9yQ3JlYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IGV4dGVuZHMgU2VyaWFsaXplT3B0aW9uczxUPiB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xuICAgIHNlbGVjdD86IChxYjogU2VsZWN0RnJvbTxUPikgPT4gU2VsZWN0RnJvbTxUPjtcbiAgICB1cGRhdGU/OiAocWI6IFVwZGF0ZUZyb208VD4pID0+IFVwZGF0ZUZyb208VD47XG4gICAgdmFsdWVzOiBJbnNlcnRhYmxlPERhdGFiYXNlW1RdPiB8IEluc2VydGFibGU8RGF0YWJhc2VbVF0+W107XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1cGRhdGVPckNyZWF0ZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBVcGRhdGVPckNyZWF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8U2VyaWFsaXphYmxlUmVzdWx0PFQsIE8+PjtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkJ1aWxkZXIsIEV4cHJlc3Npb25XcmFwcGVyIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VsZWN0RnJvbSwgU2VyaWFsaXplT3B0aW9ucywgU2VyaWFsaXphYmxlUmVzdWx0IH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIExpc3RPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHtcbiAgICBsaW1pdD86IG51bWJlcjtcbiAgICBvZmZzZXQ/OiBudW1iZXI7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xuICAgIHF1ZXJ5PzogKHFiOiBTZWxlY3RGcm9tPFQ+KSA9PiBTZWxlY3RGcm9tPFQ+O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbGlzdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBMaXN0T3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz5bXT47XG4iLCJpbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25CdWlsZGVyLCBFeHByZXNzaW9uV3JhcHBlciwgU2VsZWN0YWJsZSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdEZyb20gfSBmcm9tICcuL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmltcG9ydCBQYWdpbmF0aW9uIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvUGFnaW5hdGlvbkVudGl0eS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBsaW1pdD86IG51bWJlcjtcbiAgICBvcmRlckJ5PzogRGF0YWJhc2VbVF0gfCAoa2V5b2YgRGF0YWJhc2VbVF0pW107XG4gICAgb3JkZXJEZXNjPzogKCdhc2MnIHwgJ2Rlc2MnKSB8ICgnYXNjJyB8ICdkZXNjJylbXTtcbiAgICB3aGVyZT86IChxYjogRXhwcmVzc2lvbkJ1aWxkZXI8RGF0YWJhc2UsIFQ+KSA9PiBFeHByZXNzaW9uV3JhcHBlcjxEYXRhYmFzZSwgVCwgYW55PjtcbiAgICBzZXJpYWxpemU/OiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gYW55O1xuICAgIHF1ZXJ5PzogKHFiOiBTZWxlY3RGcm9tPFQ+KSA9PiBhbnk7XG59XG5leHBvcnQgdHlwZSBQYWdpbmF0ZVJlc3VsdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBQYWdpbmF0ZU9wdGlvbnM8VD4gfCB1bmRlZmluZWQ+ID0gTyBleHRlbmRzIHVuZGVmaW5lZCA/IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+IDogTyBleHRlbmRzIHtcbiAgICBzZXJpYWxpemU6IChyb3c6IFNlbGVjdGFibGU8RGF0YWJhc2VbVF0+KSA9PiBpbmZlciBSO1xufSA/IFIgOiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHBhZ2luYXRlPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFBhZ2luYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxQYWdpbmF0aW9uPFBhZ2luYXRlUmVzdWx0PFQsIE8+Pj47XG4iLCJpbXBvcnQgdHlwZSB7IFNlbGVjdEZyb20gfSBmcm9tICcuL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4ge1xuICAgIHF1ZXJ5PzogKHFiOiBTZWxlY3RGcm9tPFQ+KSA9PiBTZWxlY3RGcm9tPFQ+O1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNvdW50PFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIENvdW50T3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxudW1iZXI+O1xuIiwiaW1wb3J0IHR5cGUgeyBJbnNlcnRhYmxlIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXphYmxlUmVzdWx0LCBTZXJpYWxpemVPcHRpb25zIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiBleHRlbmRzIFNlcmlhbGl6ZU9wdGlvbnM8VD4ge1xuICAgIHZhbHVlczogSW5zZXJ0YWJsZTxEYXRhYmFzZVtUXT47XG4gICAgcHJpbWFyeUtleT86IHN0cmluZztcbiAgICBub3JtYWxpemU/OiBib29sZWFuIHwgKCh2YWx1ZTogYW55KSA9PiBhbnkpO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBDcmVhdGVPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPj47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVNeXNxbDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBDcmVhdGVPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPj47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGU8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgQ3JlYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxpbXBvcnQoXCJreXNlbHlcIikuRHJhaW5PdXRlckdlbmVyaWM8eyBbS18xIGluIChEYXRhYmFzZVtUXSBleHRlbmRzIGluZmVyIFRfMSA/IHsgW0sgaW4ga2V5b2YgVF8xXTogaW1wb3J0KFwia3lzZWx5XCIpLlNlbGVjdFR5cGU8VF8xW0tdPiBleHRlbmRzIGluZmVyIFRfMiA/IFRfMiBleHRlbmRzIGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPFRfMVtLXT4gPyBUXzIgZXh0ZW5kcyBuZXZlciA/IG5ldmVyIDogSyA6IG5ldmVyIDogbmV2ZXI7IH0gOiBuZXZlcilba2V5b2YgRGF0YWJhc2VbVF1dXTogaW1wb3J0KFwia3lzZWx5XCIpLlNlbGVjdFR5cGU8RGF0YWJhc2VbVF1bS18xXT47IH0+PjtcbiIsImltcG9ydCB0eXBlIHsgVXBkYXRlYWJsZSwgRXhwcmVzc2lvbkJ1aWxkZXIsIEV4cHJlc3Npb25XcmFwcGVyIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgVXBkYXRlRnJvbSwgU2VyaWFsaXphYmxlUmVzdWx0LCBTZXJpYWxpemVPcHRpb25zIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiBleHRlbmRzIFNlcmlhbGl6ZU9wdGlvbnM8VD4ge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICB2YWx1ZXM6IFVwZGF0ZWFibGU8RGF0YWJhc2VbVF0+O1xuICAgIG5vcm1hbGl6ZT86IGJvb2xlYW4gfCAoKHZhbHVlOiBhbnkpID0+IGFueSk7XG4gICAgd2hlcmU/OiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPERhdGFiYXNlLCBUPikgPT4gRXhwcmVzc2lvbldyYXBwZXI8RGF0YWJhc2UsIFQsIGFueT47XG4gICAgcXVlcnk/OiAocWI6IFVwZGF0ZUZyb208VD4pID0+IFVwZGF0ZUZyb208VD47XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1cGRhdGVEZWZhdWx0PFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIFVwZGF0ZU9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8U2VyaWFsaXphYmxlUmVzdWx0PFQsIE8+W10+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdXBkYXRlTXlzcWw8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgVXBkYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz5bXT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1cGRhdGU8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgVXBkYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxpbXBvcnQoXCJreXNlbHlcIikuRHJhaW5PdXRlckdlbmVyaWM8eyBbS18xIGluIChEYXRhYmFzZVtUXSBleHRlbmRzIGluZmVyIFRfMSA/IHsgW0sgaW4ga2V5b2YgVF8xXTogaW1wb3J0KFwia3lzZWx5XCIpLlNlbGVjdFR5cGU8VF8xW0tdPiBleHRlbmRzIGluZmVyIFRfMiA/IFRfMiBleHRlbmRzIGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RUeXBlPFRfMVtLXT4gPyBUXzIgZXh0ZW5kcyBuZXZlciA/IG5ldmVyIDogSyA6IG5ldmVyIDogbmV2ZXI7IH0gOiBuZXZlcilba2V5b2YgRGF0YWJhc2VbVF1dXTogaW1wb3J0KFwia3lzZWx5XCIpLlNlbGVjdFR5cGU8RGF0YWJhc2VbVF1bS18xXT47IH0+W10+O1xuIiwiaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uV3JhcHBlciwgRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbXBvcnQgZGIgZnJvbSAnI3NlcnZlci9mYWNhZGVzL2RhdGFiYXNlLnRzJztcbnR5cGUgRGVsZXRlRnJvbTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gUmV0dXJuVHlwZTx0eXBlb2YgZGIuZGVsZXRlRnJvbTxUPj47XG5leHBvcnQgaW50ZXJmYWNlIERlc3Ryb3lPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4ge1xuICAgIHF1ZXJ5PzogKHFiOiBEZWxldGVGcm9tPFQ+KSA9PiBEZWxldGVGcm9tPFQ+O1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZGVzdHJveTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBEZXN0cm95T3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkJ1aWxkZXIsIEV4cHJlc3Npb25XcmFwcGVyLCBJbnNlcnRhYmxlIH0gZnJvbSAna3lzZWx5JztcbmltcG9ydCB0eXBlIHsgU2VsZWN0RnJvbSwgU2VyaWFsaXphYmxlUmVzdWx0LCBTZXJpYWxpemVPcHRpb25zIH0gZnJvbSAnLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEZpcnN0T3JDcmVhdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zPFQ+IHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgc2VsZWN0PzogKHFiOiBTZWxlY3RGcm9tPFQ+KSA9PiBTZWxlY3RGcm9tPFQ+O1xuICAgIHdoZXJlPzogKHFiOiBFeHByZXNzaW9uQnVpbGRlcjxEYXRhYmFzZSwgVD4pID0+IEV4cHJlc3Npb25XcmFwcGVyPERhdGFiYXNlLCBULCBhbnk+O1xuICAgIHZhbHVlczogSW5zZXJ0YWJsZTxEYXRhYmFzZVtUXT4gfCBJbnNlcnRhYmxlPERhdGFiYXNlW1RdPltdO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZmlyc3RPckNyZWF0ZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBGaXJzdE9yQ3JlYXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTZXJpYWxpemFibGVSZXN1bHQ8VCwgTz4+O1xuIiwiaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uQnVpbGRlciwgRXhwcmVzc2lvbldyYXBwZXIgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RGcm9tLCBTZXJpYWxpemFibGVSZXN1bHQsIFNlcmlhbGl6ZU9wdGlvbnMgfSBmcm9tICcuL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmV4cG9ydCBpbnRlcmZhY2UgRmluZE9uZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiBleHRlbmRzIFNlcmlhbGl6ZU9wdGlvbnM8VD4ge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgcXVlcnk/OiAocWI6IFNlbGVjdEZyb208VD4pID0+IFNlbGVjdEZyb208VD47XG4gICAgd2hlcmU/OiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPERhdGFiYXNlLCBUPikgPT4gRXhwcmVzc2lvbldyYXBwZXI8RGF0YWJhc2UsIFQsIGFueT47XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmaW5kT25lPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZSwgTyBleHRlbmRzIEZpbmRPbmVPcHRpb25zPFQ+Pih0YWJsZTogVCwgb3B0aW9ucz86IE8pOiBQcm9taXNlPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPiB8IG51bGw+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZmluZE9uZU9yRmFpbDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBGaW5kT25lT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxOb25OdWxsYWJsZTxBd2FpdGVkPFNlcmlhbGl6YWJsZVJlc3VsdDxULCBPPj4+PjtcbiIsImltcG9ydCB0eXBlIHsgVXBkYXRlT3JDcmVhdGVPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL3VwZGF0ZU9yQ3JlYXRlLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuaW1wb3J0IHR5cGUgeyBMaXN0T3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9saXN0LnRzJztcbmltcG9ydCB0eXBlIHsgUGFnaW5hdGVPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL3BhZ2luYXRlLnRzJztcbmltcG9ydCB0eXBlIHsgQ291bnRPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL2NvdW50LnRzJztcbmltcG9ydCB0eXBlIHsgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9jcmVhdGUudHMnO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL3VwZGF0ZS50cyc7XG5pbXBvcnQgdHlwZSB7IERlc3Ryb3lPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9xdWVyaWVzL2Rlc3Ryb3kudHMnO1xuaW1wb3J0IHR5cGUgeyBGaXJzdE9yQ3JlYXRlT3B0aW9ucyB9IGZyb20gJyNzZXJ2ZXIvcXVlcmllcy9maXJzdE9yQ3JlYXRlLnRzJztcbmltcG9ydCB0eXBlIHsgRmluZE9uZU9wdGlvbnMgfSBmcm9tICcjc2VydmVyL3F1ZXJpZXMvZmluZE9uZS50cyc7XG5pbXBvcnQgdHlwZSBQYWdpbmF0aW9uIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvUGFnaW5hdGlvbkVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmltcG9ydCB0eXBlIHsgU2VsZWN0UXVlcnlCdWlsZGVyIH0gZnJvbSAna3lzZWx5JztcbmV4cG9ydCB0eXBlIE1vZGVsTGlzdE9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IE9taXQ8TGlzdE9wdGlvbnM8VD4sICdzZXJpYWxpemUnPjtcbmV4cG9ydCB0eXBlIE1vZGVsRmluZE9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IE9taXQ8RmluZE9uZU9wdGlvbnM8VD4sICdzZXJpYWxpemUnIHwgJ29yZGVyQnknPjtcbmV4cG9ydCB0eXBlIE1vZGVsUGFnaW5hdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBPbWl0PFBhZ2luYXRlT3B0aW9uczxUPiwgJ3NlcmlhbGl6ZSc+O1xuZXhwb3J0IHR5cGUgTW9kZWxDb3VudE9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IENvdW50T3B0aW9uczxUPjtcbmV4cG9ydCB0eXBlIE1vZGVsQ3JlYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gT21pdDxDcmVhdGVPcHRpb25zPFQ+LCAnc2VyaWFsaXplJz47XG5leHBvcnQgdHlwZSBNb2RlbFVwZGF0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IE9taXQ8VXBkYXRlT3B0aW9uczxUPiwgJ3NlcmlhbGl6ZSc+O1xuZXhwb3J0IHR5cGUgTW9kZWxEZXN0cm95T3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gRGVzdHJveU9wdGlvbnM8VD47XG5leHBvcnQgdHlwZSBNb2RlbEZpcnN0T3JDcmVhdGVPcHRpb25zPFQgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4gPSBPbWl0PEZpcnN0T3JDcmVhdGVPcHRpb25zPFQ+LCAnc2VyaWFsaXplJz47XG5leHBvcnQgdHlwZSBNb2RlbFVwZGF0ZU9yQ3JlYXRlT3B0aW9uczxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+ID0gT21pdDxVcGRhdGVPckNyZWF0ZU9wdGlvbnM8VD4sICdzZXJpYWxpemUnPjtcbmV4cG9ydCB0eXBlIE1vZGVsRW50aXR5ID0gUmV0dXJuVHlwZTxSZXR1cm5UeXBlPHR5cGVvZiBNb2RlbE1peGluPGFueT4+PjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGVsTWl4aW48VGFibGUgZXh0ZW5kcyBrZXlvZiBEYXRhYmFzZT4odGFibGU6IFRhYmxlLCBwcmltYXJ5S2V5Pzoga2V5b2YgRGF0YWJhc2VbVGFibGVdKTogPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKSA9PiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgICBkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG4gICAgICAgIHNvZnREZWxldGUoKTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xuICAgIF9fbW9kZWw6IHtcbiAgICAgICAgdGFibGU6IFRhYmxlO1xuICAgICAgICBwcmltYXJ5S2V5OiBrZXlvZiBEYXRhYmFzZVtUYWJsZV07XG4gICAgfTtcbiAgICBzZXJpYWxpemU8VD4odGhpczogbmV3ICgpID0+IFQsIHJvdzogYW55KTogUHJvbWlzZTxUPjtcbiAgICBzZWxlY3QoKTogU2VsZWN0UXVlcnlCdWlsZGVyPERhdGFiYXNlLCBUYWJsZSwgYW55PjtcbiAgICBwYWdpbmF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IE1vZGVsUGFnaW5hdGVPcHRpb25zPFRhYmxlPik6IFByb21pc2U8UGFnaW5hdGlvbjxUPj47XG4gICAgbGlzdDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IE1vZGVsTGlzdE9wdGlvbnM8VGFibGU+KTogUHJvbWlzZTxUW10+O1xuICAgIGZpbmRPbmU8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBNb2RlbEZpbmRPcHRpb25zPFRhYmxlPik6IFByb21pc2U8VCB8IHVuZGVmaW5lZD47XG4gICAgZmluZE9uZU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IE1vZGVsRmluZE9wdGlvbnM8VGFibGU+KTogUHJvbWlzZTxUPjtcbiAgICBmaW5kPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55KTogUHJvbWlzZTxUIHwgbnVsbD47XG4gICAgZmluZE9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIERhdGFiYXNlW1RhYmxlXSwgdmFsdWU6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5T3JGYWlsPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIERhdGFiYXNlW1RhYmxlXSwgdmFsdWU6IGFueSk6IFByb21pc2U8VD47XG4gICAgZXhpc3RzPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogTW9kZWxMaXN0T3B0aW9uczxUYWJsZT4pOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIGNvdW50PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogTW9kZWxDb3VudE9wdGlvbnM8VGFibGU+KTogUHJvbWlzZTxudW1iZXI+O1xuICAgIGNyZWF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgcGF5bG9hZDogTW9kZWxDcmVhdGVPcHRpb25zPFRhYmxlPltcInZhbHVlc1wiXSk6IFByb21pc2U8VD47XG4gICAgY3JlYXRlTWFueTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgdmFsdWVzOiBBcnJheTxNb2RlbENyZWF0ZU9wdGlvbnM8VGFibGU+W1widmFsdWVzXCJdPik6IFByb21pc2U8VFtdPjtcbiAgICB1cGRhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG86IE1vZGVsVXBkYXRlT3B0aW9uczxUYWJsZT4pOiBQcm9taXNlPFQ+O1xuICAgIHVwZGF0ZUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnksIHZhbHVlczogTW9kZWxVcGRhdGVPcHRpb25zPFRhYmxlPltcInZhbHVlc1wiXSwgb3B0aW9ucz86IHtcbiAgICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgIH0pOiBQcm9taXNlPFQ+O1xuICAgIGRlc3Ryb3k8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBNb2RlbERlc3Ryb3lPcHRpb25zPFRhYmxlPik6IFByb21pc2U8dm9pZD47XG4gICAgZmlyc3RPckNyZWF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbzogTW9kZWxGaXJzdE9yQ3JlYXRlT3B0aW9uczxUYWJsZT4pOiBUO1xuICAgIHVwZGF0ZU9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIG86IE1vZGVsVXBkYXRlT3JDcmVhdGVPcHRpb25zPFRhYmxlPik6IFQ7XG4gICAgZGVzdHJveUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xufSAmIFRCYXNlO1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5pbnRlcmZhY2UgUmVsYXRpb24ge1xuICAgIGxvYWQoZW50aXRpZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJlbGF0aW9uPFIgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbj4+KHJlbGF0aW9uczogUik6IDxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSkgPT4ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7fTtcbiAgICBsb2FkPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBlbnRpdGllczogVCB8IFRbXSwgbmFtZXM6IGtleW9mIFIgfCAoa2V5b2YgUilbXSk6IFByb21pc2U8dm9pZD47XG59ICYgVEJhc2U7XG5leHBvcnQge307XG4iLCJpbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBjb25maWc6IENvbmZpZ1NlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBjb25maWc7XG4iLCJpbXBvcnQgQ29udGFpbmVyU2VydmljZSBmcm9tIFwiI3NoYXJlZC9zZXJ2aWNlcy9Db250YWluZXJTZXJ2aWNlLnRzXCI7XG5kZWNsYXJlIGNvbnN0IF9kZWZhdWx0OiBDb250YWluZXJTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgX2RlZmF1bHQ7XG4iLCJpbXBvcnQgRG93bmxvYWRTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvRG93bmxvYWRTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3QgZG93bmxvYWQ6IERvd25sb2FkU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IGRvd25sb2FkO1xuIiwiaW1wb3J0IERyaXZlU2VydmljZSBmcm9tICcjc2VydmVyL3NlcnZpY2VzL0RyaXZlU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IGRyaXZlOiBEcml2ZVNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBkcml2ZTtcbiIsImltcG9ydCB7IEVtbWl0dGVyU2VydmljZSB9IGZyb20gJyNzaGFyZWQvaW5kZXgudHMnO1xuZGVjbGFyZSBjb25zdCBlbW1pdHRlcjogRW1taXR0ZXJTZXJ2aWNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuZXhwb3J0IGRlZmF1bHQgZW1taXR0ZXI7XG4iLCJpbXBvcnQgRW5jcnlwdFNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9FbmNyeXB0U2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IGVuY3J5cHQ6IEVuY3J5cHRTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgZW5jcnlwdDtcbiIsImltcG9ydCBFbnZTZXJ2aWNlIGZyb20gXCIjc2VydmVyL3NlcnZpY2VzL0VudlNlcnZpY2UudHNcIjtcbmRlY2xhcmUgY29uc3QgZW52OiBFbnZTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgZW52O1xuIiwiaW1wb3J0IEZpbGVSZXBvc2l0b3J5IGZyb20gXCIjc2VydmVyL3JlcG9zaXRvcmllcy9GaWxlUmVwb3NpdG9yeS50c1wiO1xuZGVjbGFyZSBjb25zdCBmaWxlUmVwb3NpdG9yeTogRmlsZVJlcG9zaXRvcnk7XG5leHBvcnQgZGVmYXVsdCBmaWxlUmVwb3NpdG9yeTtcbiIsImltcG9ydCBIYXNoZXJTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvSGFzaGVyU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IGhhc2hlcjogSGFzaGVyU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IGhhc2hlcjtcbiIsImltcG9ydCBIdHRwU2VydmljZSBmcm9tIFwiI3NlcnZlci9zZXJ2aWNlcy9IdHRwU2VydmljZS50c1wiO1xuZGVjbGFyZSBjb25zdCBodHRwOiBIdHRwU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IGh0dHA7XG4iLCJpbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iLCJpbXBvcnQgTWlncmF0b3JTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvTWlncmF0b3JTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3QgbWlncmF0b3I6IE1pZ3JhdG9yU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IG1pZ3JhdG9yO1xuIiwiaW1wb3J0IFBlcm1pc3Npb25Bc3NpZ25tZW50UmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9QZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnkudHMnO1xuZGVjbGFyZSBjb25zdCBwZXJtaXNzaW9uQXNzaWdubWVudFJlcG9zaXRvcnk6IFBlcm1pc3Npb25Bc3NpZ25tZW50UmVwb3NpdG9yeTtcbmV4cG9ydCBkZWZhdWx0IHBlcm1pc3Npb25Bc3NpZ25tZW50UmVwb3NpdG9yeTtcbiIsImltcG9ydCBQZXJtaXNzaW9uUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9QZXJtaXNzaW9uUmVwb3NpdG9yeS50cyc7XG5kZWNsYXJlIGNvbnN0IHBlcm1pc3Npb25SZXBvc2l0b3J5OiBQZXJtaXNzaW9uUmVwb3NpdG9yeTtcbmV4cG9ydCBkZWZhdWx0IHBlcm1pc3Npb25SZXBvc2l0b3J5O1xuIiwiaW1wb3J0IHR5cGUgeyBIdHRwQ29udGV4dCB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0h0dHBDb250ZXh0Q29udHJhY3QudHMnO1xuaW1wb3J0IFJvdXRlclNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9Sb3V0ZXJTZXJ2aWNlLnRzJztcbmRlY2xhcmUgY29uc3Qgcm91dGVyOiBSb3V0ZXJTZXJ2aWNlPEh0dHBDb250ZXh0PjtcbmV4cG9ydCBkZWZhdWx0IHJvdXRlcjtcbiIsImltcG9ydCBTY2hlZHVsZXJTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvU2NoZWR1bGVyU2VydmljZS50cyc7XG5kZWNsYXJlIGNvbnN0IHNjaGVkdWxlcjogU2NoZWR1bGVyU2VydmljZTtcbmV4cG9ydCBkZWZhdWx0IHNjaGVkdWxlcjtcbiIsImltcG9ydCBTaGVsbFNlcnZpY2UgZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9TaGVsbFNlcnZpY2UudHMnO1xuZGVjbGFyZSBjb25zdCBzaGVsbDogU2hlbGxTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgc2hlbGw7XG4iLCJpbXBvcnQgVG9rZW5SZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL1Rva2VuUmVwb3NpdG9yeS50cyc7XG5kZWNsYXJlIGNvbnN0IHRva2VuUmVwb3NpdG9yeTogVG9rZW5SZXBvc2l0b3J5O1xuZXhwb3J0IGRlZmF1bHQgdG9rZW5SZXBvc2l0b3J5O1xuIiwiaW1wb3J0IFVzZXJSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL1VzZXJSZXBvc2l0b3J5LnRzJztcbmRlY2xhcmUgY29uc3QgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5O1xuZXhwb3J0IGRlZmF1bHQgdXNlclJlcG9zaXRvcnk7XG4iLCJpbXBvcnQgdHlwZSB7IEt5c2VseSB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgfSBmcm9tICcuL0RhdGFiYXNlQ29udHJhY3QnO1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUt5c2VseSBleHRlbmRzIEt5c2VseTxEYXRhYmFzZUNvbnRyYWN0PiB7XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIExvYWRlcjxUID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGxvYWQoZW50aXRpZXM6IFRbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgaW50ZXJmYWNlIExvYWRlclJlY29yZDxUID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIFtrZXk6IHN0cmluZ106IExvYWRlcjxUPjtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGRlZmluZUxvYWRlcjxUID0gUmVjb3JkPHN0cmluZywgYW55Pj4obG9hZGVyOiBMb2FkZXI8VD4pOiBMb2FkZXI8VD47XG4iLCJpbnRlcmZhY2UgRmlsZUxvYWRlck9wdGlvbnMge1xuICAgIGZpbGVJZFByb3BlcnR5OiBzdHJpbmc7XG4gICAgZmlsZVByb3BlcnR5OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVGaWxlTG9hZGVyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zOiBGaWxlTG9hZGVyT3B0aW9ucyk6IGltcG9ydChcIiNzZXJ2ZXIvdXRpbHMvZGVmaW5lTG9hZGVyLnRzXCIpLkxvYWRlcjxUPjtcbmV4cG9ydCB7fTtcbiIsImludGVyZmFjZSBGaWxlTG9hZGVyT3B0aW9ucyB7XG4gICAgZmlsZUlkUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsZVVybFByb3BlcnR5Pzogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbG9hZEZpbGVVcmw8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KGVudGl0aWVzOiBUW10sIG9wdGlvbnM/OiBGaWxlTG9hZGVyT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVGaWxlVXJsTG9hZGVyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zPzogRmlsZUxvYWRlck9wdGlvbnMpOiBpbXBvcnQoXCIjc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci50c1wiKS5Mb2FkZXI8VD47XG5leHBvcnQge307XG4iLCJ0eXBlIEtleU9yRnVuY3Rpb248VD4gPSBrZXlvZiBUIHwgKChlbnRpdHk6IFQpID0+IGFueSk7XG5leHBvcnQgaW50ZXJmYWNlIEhhc01hbnlUaHJvdWdoTG9hZGVyT3B0aW9uczxURW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRQaXZvdEVudGl0eSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBUVGFyZ2V0RW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBwaXZvdDoge1xuICAgICAgICBzb3VyY2VLZXk6IEtleU9yRnVuY3Rpb248VEVudGl0eT47XG4gICAgICAgIHRhcmdldEtleTogS2V5T3JGdW5jdGlvbjxUUGl2b3RFbnRpdHk+O1xuICAgICAgICBmaW5kRW50aXRpZXMoaWRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdKTogUHJvbWlzZTxUUGl2b3RFbnRpdHlbXT47XG4gICAgfTtcbiAgICB0YXJnZXQ6IHtcbiAgICAgICAgc291cmNlS2V5OiBLZXlPckZ1bmN0aW9uPFRQaXZvdEVudGl0eT47XG4gICAgICAgIHRhcmdldEtleTogS2V5T3JGdW5jdGlvbjxUVGFyZ2V0RW50aXR5PjtcbiAgICAgICAgZmluZEVudGl0aWVzKGlkczogKHN0cmluZyB8IG51bWJlcilbXSk6IFByb21pc2U8VFRhcmdldEVudGl0eVtdPjtcbiAgICB9O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbG9hZEhhc01hbnlUaHJvdWdoPFRFbnRpdHkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55PiwgVFBpdm90RW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRUYXJnZXRFbnRpdHkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ocGF5bG9hZDogYW55IHwgYW55W10sIG9wdGlvbnM6IEhhc01hbnlUaHJvdWdoTG9hZGVyT3B0aW9uczxURW50aXR5LCBUUGl2b3RFbnRpdHksIFRUYXJnZXRFbnRpdHk+KTogUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZUhhc01hbnlUaHJvdWdoTG9hZGVyPFRFbnRpdHkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55PiwgVFBpdm90RW50aXR5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sIFRUYXJnZXRFbnRpdHkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9uczogSGFzTWFueVRocm91Z2hMb2FkZXJPcHRpb25zPFRFbnRpdHksIFRQaXZvdEVudGl0eSwgVFRhcmdldEVudGl0eT4pOiBpbXBvcnQoXCIjc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci50c1wiKS5Mb2FkZXI8VEVudGl0eT47XG5leHBvcnQge307XG4iLCJpbnRlcmZhY2UgUmVwb3NpdG9yeU1ldGEge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xufVxuaW50ZXJmYWNlIExvYWRNZXRhc09wdGlvbnMge1xuICAgIGZpbmRNYW55KGlkczogYW55W10pOiBQcm9taXNlPFJlcG9zaXRvcnlNZXRhW10+O1xuICAgIGVudGl0eUlkS2V5Pzogc3RyaW5nO1xuICAgIGZvcmVpZ25LZXk/OiBzdHJpbmc7XG4gICAgdGFyZ2V0S2V5Pzogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbG9hZE1ldGFzPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihwYXlsb2FkOiBUIHwgVFtdLCBvcHRpb25zOiBMb2FkTWV0YXNPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZU1ldGFzTG9hZGVyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zOiBMb2FkTWV0YXNPcHRpb25zKTogaW1wb3J0KFwiI3NlcnZlci91dGlscy9kZWZpbmVMb2FkZXIudHNcIikuTG9hZGVyPFQ+O1xuZXhwb3J0IHt9O1xuIiwiaW50ZXJmYWNlIFBlcm1pc3Npb25Mb2FkZXJPcHRpb25zIHtcbiAgICBhc3NpZ25hYmxlVHlwZTogc3RyaW5nIHwgKChlOiBhbnkpID0+IHN0cmluZyk7XG4gICAgYXNzaWduYWJsZUlkOiBzdHJpbmcgfCAoKGU6IGFueSkgPT4gc3RyaW5nKTtcbiAgICB0YXJnZXRLZXk/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBsb2FkUGVybWlzc2lvbnM8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KHBheWxvYWQ6IFQgfCBUW10sIG9wdGlvbnM/OiBQZXJtaXNzaW9uTG9hZGVyT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBjcmVhdGVQZXJtaXNzaW9uTG9hZGVyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zPzogUGVybWlzc2lvbkxvYWRlck9wdGlvbnMpOiBpbXBvcnQoXCIjc2VydmVyL3V0aWxzL2RlZmluZUxvYWRlci50c1wiKS5Mb2FkZXI8VD47XG5leHBvcnQge307XG4iLCJpbnRlcmZhY2UgVXNlckxvYWRlck9wdGlvbnMge1xuICAgIGlkS2V5Pzogc3RyaW5nO1xuICAgIHRhcmdldEtleT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGxvYWRVc2VyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihlbnRpdGllczogVFtdLCBvcHRpb25zPzogVXNlckxvYWRlck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlVXNlckxvYWRlcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucz86IFVzZXJMb2FkZXJPcHRpb25zKTogaW1wb3J0KFwiI3NlcnZlci91dGlscy9kZWZpbmVMb2FkZXIudHNcIikuTG9hZGVyPFQ+O1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IEJhc2UgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS50cyc7XG5kZWNsYXJlIGNvbnN0IERyaXZlQ29uZmlnX2Jhc2U6IHR5cGVvZiBCYXNlICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7fTtcbiAgICBfX2lzQ29uZmlnTW9kZWw6IGJvb2xlYW47XG4gICAgc2VyaWFsaXplPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIHJvdzogYW55KTogUHJvbWlzZTxUPjtcbiAgICBsaXN0PFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQpOiBQcm9taXNlPFRbXT47XG4gICAgZmluZDxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTxUIHwgbnVsbD47XG4gICAgZmluZE9yRmFpbDxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTxUPjtcbiAgICBjcmVhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaXRlbTogVCAmIHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTx2b2lkPjtcbiAgICB1cGRhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZywgZGF0YTogVCk6IFByb21pc2U8dm9pZD47XG4gICAgdXBkYXRlT3JDcmVhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgaWQ6IHN0cmluZywgZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD47XG4gICAgZGVzdHJveTxUPih0aGlzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULCBpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZUNvbmZpZyBleHRlbmRzIERyaXZlQ29uZmlnX2Jhc2Uge1xuICAgIHN0YXRpYyBzZXJpYWxpemU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgcm93OiBhbnkpOiBQcm9taXNlPFQ+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IEJhc2UgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9GaWxlRW50aXR5LnRzJztcbmltcG9ydCB0eXBlIHsgRHJpdmVVcmxPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRHJpdmVDb250cmFjdC50cyc7XG5pbnRlcmZhY2UgVVJMQ2FjaGUge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGV4cGlyZXM6IG51bWJlcjtcbn1cbmRlY2xhcmUgY29uc3QgRmlsZV9iYXNlOiB0eXBlb2YgQmFzZSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBsaXN0ZW5lcnM6IGltcG9ydChcIiNzaGFyZWQvbWl4aW5zL0hvb2tzTWl4aW4udHNcIikuTGlzdGVuZXJbXTtcbiAgICAgICAgb24oZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIG9mZihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICAgICAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG4gICAgICAgIGVtaXRBc3luYyhldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgICBkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG4gICAgICAgIHNvZnREZWxldGUoKTogUHJvbWlzZTx2b2lkPjtcbiAgICB9O1xuICAgIF9fbW9kZWw6IHtcbiAgICAgICAgdGFibGU6IFwiZmlsZXNcIjtcbiAgICAgICAgcHJpbWFyeUtleToga2V5b2YgaW1wb3J0KFwiLi4vaW5kZXgudHNcIikuRmlsZVRhYmxlO1xuICAgIH07XG4gICAgc2VyaWFsaXplPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCByb3c6IGFueSk6IFByb21pc2U8VD47XG4gICAgc2VsZWN0KCk6IGltcG9ydChcImt5c2VseVwiKS5TZWxlY3RRdWVyeUJ1aWxkZXI8aW1wb3J0KFwiLi4vaW5kZXgudHNcIikuRGF0YWJhc2VDb250cmFjdCwgXCJmaWxlc1wiLCBhbnk+O1xuICAgIHBhZ2luYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbFBhZ2luYXRlT3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxpbXBvcnQoXCIuLi8uLi9zaGFyZWQvaW5kZXgudHNcIikuUGFnaW5hdGlvbkVudGl0eTxUPj47XG4gICAgbGlzdDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxMaXN0T3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxUW10+O1xuICAgIGZpbmRPbmU8VD4odGhpczogbmV3ICgpID0+IFQsIG8/OiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRmluZE9wdGlvbnM8XCJmaWxlc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD47XG4gICAgZmluZE9uZU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxGaW5kT3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxUPjtcbiAgICBmaW5kPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55KTogUHJvbWlzZTxUIHwgbnVsbD47XG4gICAgZmluZE9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIGltcG9ydChcIi4uL2luZGV4LnRzXCIpLkZpbGVUYWJsZSwgdmFsdWU6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5T3JGYWlsPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIGltcG9ydChcIi4uL2luZGV4LnRzXCIpLkZpbGVUYWJsZSwgdmFsdWU6IGFueSk6IFByb21pc2U8VD47XG4gICAgZXhpc3RzPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbExpc3RPcHRpb25zPFwiZmlsZXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIGNvdW50PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbENvdW50T3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTxudW1iZXI+O1xuICAgIGNyZWF0ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgcGF5bG9hZDogb2JqZWN0ICYge1xuICAgICAgICBkcml2ZTogc3RyaW5nO1xuICAgICAgICBtaW1ldHlwZTogc3RyaW5nO1xuICAgICAgICBjbGllbnRfbmFtZTogc3RyaW5nO1xuICAgICAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgICAgICBwdXJwb3NlOiBzdHJpbmc7XG4gICAgICAgIHB1YmxpYzogYm9vbGVhbjtcbiAgICB9ICYge1xuICAgICAgICBpZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgY3JlYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgdXBkYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgZGVsZXRlZF9hdD86IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgfSk6IFByb21pc2U8VD47XG4gICAgY3JlYXRlTWFueTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgdmFsdWVzOiAob2JqZWN0ICYge1xuICAgICAgICBkcml2ZTogc3RyaW5nO1xuICAgICAgICBtaW1ldHlwZTogc3RyaW5nO1xuICAgICAgICBjbGllbnRfbmFtZTogc3RyaW5nO1xuICAgICAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgICAgICBwdXJwb3NlOiBzdHJpbmc7XG4gICAgICAgIHB1YmxpYzogYm9vbGVhbjtcbiAgICB9ICYge1xuICAgICAgICBpZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgY3JlYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgdXBkYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgZGVsZXRlZF9hdD86IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgfSlbXSk6IFByb21pc2U8VFtdPjtcbiAgICB1cGRhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxVcGRhdGVPcHRpb25zPFwiZmlsZXNcIj4pOiBQcm9taXNlPFQ+O1xuICAgIHVwZGF0ZUJ5SWQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnksIHZhbHVlczoge1xuICAgICAgICBpZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgZGVsZXRlZF9hdD86IHN0cmluZyB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgICBkcml2ZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbWltZXR5cGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNsaWVudF9uYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBmaWxlbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgcHVycG9zZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgcHVibGljPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICB9LCBvcHRpb25zPzoge1xuICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfSB8IHVuZGVmaW5lZCk6IFByb21pc2U8VD47XG4gICAgZGVzdHJveTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxEZXN0cm95T3B0aW9uczxcImZpbGVzXCI+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPjtcbiAgICBmaXJzdE9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvOiBpbXBvcnQoXCIjc2VydmVyL21peGlucy9Nb2RlbE1peGluLnRzXCIpLk1vZGVsRmlyc3RPckNyZWF0ZU9wdGlvbnM8XCJmaWxlc1wiPik6IFQ7XG4gICAgdXBkYXRlT3JDcmVhdGU8VD4odGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCwgbzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbFVwZGF0ZU9yQ3JlYXRlT3B0aW9uczxcImZpbGVzXCI+KTogVDtcbiAgICBkZXN0cm95QnlJZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8dm9pZD47XG59ICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7fTtcbiAgICBsb2FkPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBlbnRpdGllczogVCB8IFRbXSwgbmFtZXM6IFwibWV0YXNcIiB8IFwibWV0YXNcIltdKTogUHJvbWlzZTx2b2lkPjtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZ2V0PFQgPSBhbnk+KG5hbWU6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD47XG4gICAgICAgIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFByb21pc2U8VD47XG4gICAgICAgIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZSBleHRlbmRzIEZpbGVfYmFzZSB7XG4gICAgc3RhdGljIGNhY2hlOiBNYXA8c3RyaW5nLCBVUkxDYWNoZT47XG4gICAgc3RhdGljIGhhcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICBzdGF0aWMgZmluZEJ5RmlsZW5hbWUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZSB8IHVuZGVmaW5lZD47XG4gICAgcmVhZFN0cmVhbSgpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT47XG4gICAgcmVhZCgpOiBQcm9taXNlPFVpbnQ4QXJyYXk8QXJyYXlCdWZmZXJMaWtlPj47XG4gICAgbG9hZFVybChvcHRpb25zPzogRHJpdmVVcmxPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzdGF0aWMgbG9hZFVybHMoaXRlbXM6IEZpbGVbXSwgb3B0aW9ucz86IERyaXZlVXJsT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgc3RhdGljIGxvYWRNZXRhcyhpdGVtczogRmlsZVtdKTogUHJvbWlzZTx2b2lkPjtcbiAgICBkZWxldGVGcm9tRHJpdmUoKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCBCYXNlTWV0YSBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0ZpbGVNZXRhRW50aXR5LnRzJztcbmRlY2xhcmUgY29uc3QgRmlsZU1ldGFfYmFzZTogdHlwZW9mIEJhc2VNZXRhICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIHNhdmUoKTogUHJvbWlzZTx2b2lkPjtcbiAgICAgICAgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgICBzb2Z0RGVsZXRlKCk6IFByb21pc2U8dm9pZD47XG4gICAgfTtcbiAgICBfX21vZGVsOiB7XG4gICAgICAgIHRhYmxlOiBcImZpbGVfbWV0YXNcIjtcbiAgICAgICAgcHJpbWFyeUtleToga2V5b2YgaW1wb3J0KFwiLi5cIikuRmlsZU1ldGFUYWJsZTtcbiAgICB9O1xuICAgIHNlcmlhbGl6ZTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgcm93OiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIHNlbGVjdCgpOiBpbXBvcnQoXCJreXNlbHlcIikuU2VsZWN0UXVlcnlCdWlsZGVyPGltcG9ydChcIi4uXCIpLkRhdGFiYXNlQ29udHJhY3QsIFwiZmlsZV9tZXRhc1wiLCBhbnk+O1xuICAgIHBhZ2luYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbFBhZ2luYXRlT3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPGltcG9ydChcIi4uLy4uL3NoYXJlZFwiKS5QYWdpbmF0aW9uRW50aXR5PFQ+PjtcbiAgICBsaXN0PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbExpc3RPcHRpb25zPFwiZmlsZV9tZXRhc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8VFtdPjtcbiAgICBmaW5kT25lPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbEZpbmRPcHRpb25zPFwiZmlsZV9tZXRhc1wiPiB8IHVuZGVmaW5lZCk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD47XG4gICAgZmluZE9uZU9yRmFpbDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxGaW5kT3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPFQ+O1xuICAgIGZpbmQ8VD4odGhpczogbmV3ICgpID0+IFQsIGlkOiBhbnkpOiBQcm9taXNlPFQgfCBudWxsPjtcbiAgICBmaW5kT3JGYWlsPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBpZDogYW55KTogUHJvbWlzZTxUPjtcbiAgICBmaW5kQnk8VD4odGhpczogbmV3ICgpID0+IFQsIGNvbHVtbjoga2V5b2YgaW1wb3J0KFwiLi5cIikuRmlsZU1ldGFUYWJsZSwgdmFsdWU6IGFueSk6IFByb21pc2U8VD47XG4gICAgZmluZEJ5T3JGYWlsPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBjb2x1bW46IGtleW9mIGltcG9ydChcIi4uXCIpLkZpbGVNZXRhVGFibGUsIHZhbHVlOiBhbnkpOiBQcm9taXNlPFQ+O1xuICAgIGV4aXN0czxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxMaXN0T3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIGNvdW50PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBvPzogaW1wb3J0KFwiI3NlcnZlci9taXhpbnMvTW9kZWxNaXhpbi50c1wiKS5Nb2RlbENvdW50T3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPG51bWJlcj47XG4gICAgY3JlYXRlPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBwYXlsb2FkOiBvYmplY3QgJiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgZmlsZV9pZDogbnVtYmVyO1xuICAgIH0gJiB7XG4gICAgICAgIGlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICB2YWx1ZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIHVwZGF0ZWRfYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkO1xuICAgIH0pOiBQcm9taXNlPFQ+O1xuICAgIGNyZWF0ZU1hbnk8VD4odGhpczogbmV3ICgpID0+IFQsIHZhbHVlczogKG9iamVjdCAmIHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBmaWxlX2lkOiBudW1iZXI7XG4gICAgfSAmIHtcbiAgICAgICAgaWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIHZhbHVlPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgICAgY3JlYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgdXBkYXRlZF9hdD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgZGVsZXRlZF9hdD86IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgfSlbXSk6IFByb21pc2U8VFtdPjtcbiAgICB1cGRhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxVcGRhdGVPcHRpb25zPFwiZmlsZV9tZXRhc1wiPik6IFByb21pc2U8VD47XG4gICAgdXBkYXRlQnlJZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSwgdmFsdWVzOiB7XG4gICAgICAgIGlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICB2YWx1ZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgICAgZmlsZV9pZD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICB9LCBvcHRpb25zPzoge1xuICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfSB8IHVuZGVmaW5lZCk6IFByb21pc2U8VD47XG4gICAgZGVzdHJveTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgbz86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxEZXN0cm95T3B0aW9uczxcImZpbGVfbWV0YXNcIj4gfCB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGZpcnN0T3JDcmVhdGU8VD4odGhpczogbmV3ICgpID0+IFQsIG86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxGaXJzdE9yQ3JlYXRlT3B0aW9uczxcImZpbGVfbWV0YXNcIj4pOiBUO1xuICAgIHVwZGF0ZU9yQ3JlYXRlPFQ+KHRoaXM6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsIG86IGltcG9ydChcIiNzZXJ2ZXIvbWl4aW5zL01vZGVsTWl4aW4udHNcIikuTW9kZWxVcGRhdGVPckNyZWF0ZU9wdGlvbnM8XCJmaWxlX21ldGFzXCI+KTogVDtcbiAgICBkZXN0cm95QnlJZDxUPih0aGlzOiBuZXcgKCkgPT4gVCwgaWQ6IGFueSk6IFByb21pc2U8dm9pZD47XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZU1ldGEgZXh0ZW5kcyBGaWxlTWV0YV9iYXNlIHtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IEdpdEdhdGV3YXkgfSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0dpdEdhdGV3YXkudHMnO1xuaW1wb3J0IEJhc2UgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9Nb2R1bGVFbnRpdHkudHMnO1xuaW1wb3J0IHNoZWxsIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9zaGVsbC50cyc7XG5kZWNsYXJlIGNvbnN0IE1vZHVsZV9iYXNlOiB0eXBlb2YgQmFzZTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZHVsZSBleHRlbmRzIE1vZHVsZV9iYXNlIHtcbiAgICBnZXQgZ2l0KCk6IEdpdEdhdGV3YXk7XG4gICAgbWFrZVBhdGgoLi4ucGFydHM6IHN0cmluZ1tdKTogc3RyaW5nO1xuICAgIHN0YXRpY1BhdGgoLi4ucGFydHM6IHN0cmluZ1tdKTogc3RyaW5nO1xuICAgIGNvbW1hbmQ6IHR5cGVvZiBzaGVsbC5jb21tYW5kO1xuICAgIGxvYWQoKTogdm9pZDtcbiAgICBmaW5kQ2xpZW50RW50cnlwb2ludEZpbGVuYW1lKGNvbnRleHQ/OiAnZGV2JyB8ICdub2RlJyB8ICdicm93c2VyJyk6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgY29uZmlnIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9jb25maWcudHMnO1xuaW1wb3J0IHsgR2l0R2F0ZXdheSB9IGZyb20gJyNzZXJ2ZXIvZ2F0ZXdheXMvR2l0R2F0ZXdheS50cyc7XG5pbXBvcnQgR2l0QnJhbmNoUmVwb3NpdG9yeSBmcm9tICcjc2VydmVyL3JlcG9zaXRvcmllcy9HaXRCcmFuY2hSZXBvc2l0b3J5LnRzJztcbmltcG9ydCBHaXRDb21taXRSZXBvc2l0b3J5IGZyb20gJyNzZXJ2ZXIvcmVwb3NpdG9yaWVzL0dpdENvbW1pdFJlcG9zaXRvcnkudHMnO1xuaW1wb3J0IEJhc2UgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9QbHVnaW5FbnRpdHkudHMnO1xuZGVjbGFyZSBjb25zdCBQbHVnaW5FbnRyeUVudGl0eV9iYXNlOiB0eXBlb2YgQmFzZTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsdWdpbkVudHJ5RW50aXR5IGV4dGVuZHMgUGx1Z2luRW50cnlFbnRpdHlfYmFzZSB7XG4gICAgZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgbWFrZVBhdGgoLi4ucGFydHM6IHN0cmluZ1tdKTogc3RyaW5nO1xuICAgIHNldDogdHlwZW9mIGNvbmZpZy5zZXQ7XG4gICAgZ2V0OiB0eXBlb2YgY29uZmlnLmdldDtcbiAgICBnZXQgZ2l0KCk6IEdpdEdhdGV3YXk7XG4gICAgZ2V0IGNvbW1pdHMoKTogR2l0Q29tbWl0UmVwb3NpdG9yeTtcbiAgICBnZXQgYnJhbmNoZXMoKTogR2l0QnJhbmNoUmVwb3NpdG9yeTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCBQbHVnaW5FbnRyeUVudGl0eSBmcm9tICcuL1BsdWdpbkVudHJ5RW50aXR5LnRzJztcbmltcG9ydCB0eXBlIHsgUm91dGVyRXZlbnRzIH0gZnJvbSAnI3NlcnZlci9zZXJ2aWNlcy9Sb3V0ZXJTZXJ2aWNlLnRzJztcbmludGVyZmFjZSBBZGRBcGlGb2xkZXJPcHRpb25zIHtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQbHVnaW5FbnRpdHkgZXh0ZW5kcyBQbHVnaW5FbnRyeUVudGl0eSB7XG4gICAgYXBpRm9sZGVyczogTWFwPHN0cmluZywgQWRkQXBpRm9sZGVyT3B0aW9ucz47XG4gICAgYXBpRGlyZWN0b3JpZXM6IFNldDxzdHJpbmc+O1xuICAgIGNvbnN0cnVjdG9yKCk7XG4gICAgc3RhdGljUGF0aCguLi5wYXJ0czogc3RyaW5nW10pOiBzdHJpbmc7XG4gICAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIG9uUm91dGVyUmVnaXN0ZXJlZChjdHg6IFJvdXRlckV2ZW50c1sncm91dGVyOnJlZ2lzdGVyZWQnXSk6IFByb21pc2U8dm9pZD47XG4gICAgYWRkQXBpRm9sZGVyKGRpcmVjdG9yeTogc3RyaW5nLCBvcHRpb25zPzogQWRkQXBpRm9sZGVyT3B0aW9ucyk6IHZvaWQ7XG4gICAgYWRkUm91dGVyRm9sZGVyKGRpcmVjdG9yeTogc3RyaW5nKTogdm9pZDtcbiAgICBzdGF0aWMgZnJvbVBsdWdpbkRpc2NvdmVyRW50aXR5PFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBlbnRpdHk6IFBsdWdpbkVudHJ5RW50aXR5KTogVDtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgTGlzdE9wdGlvbnMgfSBmcm9tICcuL2xpc3QudHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBleGlzdHM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlLCBPIGV4dGVuZHMgTGlzdE9wdGlvbnM8VD4+KHRhYmxlOiBULCBvcHRpb25zPzogTyk6IFByb21pc2U8Ym9vbGVhbj47XG4iLCJpbXBvcnQgeyBDcmVhdGVUYWJsZUJ1aWxkZXIgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdGFibGUgfSBmcm9tICdreXNlbHknO1xuaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbXBvcnQgZGIgZnJvbSAnI3NlcnZlci9mYWNhZGVzL2RhdGFiYXNlLnRzJztcbnR5cGUgV2hlcmVDYXBhYmxlPFFCPiA9IHtcbiAgICB3aGVyZTogKC4uLmFyZ3M6IGFueVtdKSA9PiBRQjtcbn07XG50eXBlIFVwZGF0ZUZyb208VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiA9IFJldHVyblR5cGU8dHlwZW9mIGRiLnVwZGF0ZVRhYmxlPFQ+PjtcbmV4cG9ydCBpbnRlcmZhY2UgU29mdERlbGV0ZU9wdGlvbnM8VCBleHRlbmRzIGtleW9mIERhdGFiYXNlPiB7XG4gICAgc2VyaWFsaXplPzogKHJvdzogU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT4pID0+IGFueTtcbiAgICBxdWVyeTogKHFiOiBVcGRhdGVGcm9tPFQ+KSA9PiBVcGRhdGVGcm9tPFQ+O1xufVxuZXhwb3J0IHR5cGUgU29mdERlbGV0ZVJlc3VsdDxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBTb2Z0RGVsZXRlT3B0aW9uczxUPiB8IHVuZGVmaW5lZD4gPSBPIGV4dGVuZHMgdW5kZWZpbmVkID8gU2VsZWN0YWJsZTxEYXRhYmFzZVtUXT5bXSA6IE8gZXh0ZW5kcyB7XG4gICAgc2VyaWFsaXplOiAocm93OiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPikgPT4gaW5mZXIgUjtcbn0gPyBSW10gOiBTZWxlY3RhYmxlPERhdGFiYXNlW1RdPltdO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gd2hlcmVOb3REZWxldGVkPFFCIGV4dGVuZHMgV2hlcmVDYXBhYmxlPFFCPj4ocWI6IFFCKTogUUI7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1bmRlbGV0ZWQocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55Pik6IGltcG9ydChcImt5c2VseVwiKS5FeHByZXNzaW9uV3JhcHBlcjxhbnksIGFueSwgaW1wb3J0KFwia3lzZWx5XCIpLlNxbEJvb2w+O1xuZXhwb3J0IGRlY2xhcmUgbmFtZXNwYWNlIHVuZGVsZXRlZCB7XG4gICAgdmFyIGNvbHVtbjogKGNvbDogc3RyaW5nKSA9PiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gaW1wb3J0KFwia3lzZWx5XCIpLkV4cHJlc3Npb25XcmFwcGVyPGFueSwgYW55LCBpbXBvcnQoXCJreXNlbHlcIikuU3FsQm9vbD47XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkZWxldGVkOiAocWI6IEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4gaW1wb3J0KFwia3lzZWx5XCIpLkV4cHJlc3Npb25XcmFwcGVyPGFueSwgYW55LCBpbXBvcnQoXCJreXNlbHlcIikuU3FsQm9vbD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRTb2Z0RGVsZXRlQ29sdW1uOiAoY3RiOiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+KSA9PiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc29mdERlbGV0ZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2UsIE8gZXh0ZW5kcyBTb2Z0RGVsZXRlT3B0aW9uczxUPj4odGFibGU6IFQsIG9wdGlvbnM/OiBPKTogUHJvbWlzZTxTb2Z0RGVsZXRlUmVzdWx0PFQsIE8+PjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IENyZWF0ZVRhYmxlQnVpbGRlciB9IGZyb20gJ2t5c2VseSc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRDcmVhdGVkQ29sdW1uOiAoY3RiOiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+KSA9PiBDcmVhdGVUYWJsZUJ1aWxkZXI8YW55LCBhbnk+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkVXBkYXRlZENvbHVtbjogKGN0YjogQ3JlYXRlVGFibGVCdWlsZGVyPGFueSwgYW55PikgPT4gQ3JlYXRlVGFibGVCdWlsZGVyPGFueSwgYW55PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFkZFRpbWVzdGFtcENvbHVtbnM6IChjdGI6IENyZWF0ZVRhYmxlQnVpbGRlcjxhbnksIGFueT4pID0+IENyZWF0ZVRhYmxlQnVpbGRlcjxhbnksIGFueT47XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBCYXNlUmVsYXRpb24ge1xuICAgIGxvYWQoZW50aXRpZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cbiIsImltcG9ydCBCYXNlUmVsYXRpb24gZnJvbSAnLi9CYXNlUmVsYXRpb24udHMnO1xuaW50ZXJmYWNlIEJlbG9uZ3NUb09wdGlvbnMge1xuICAgIHRhYmxlOiBzdHJpbmc7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZTogc3RyaW5nO1xuICAgIHRhcmdldEtleTogc3RyaW5nO1xuICAgIHByb3BlcnR5OiBzdHJpbmc7XG4gICAgc2VyaWFsaXplPzogKHJvdzogYW55KSA9PiBhbnk7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCZWxvbmdzVG8gZXh0ZW5kcyBCYXNlUmVsYXRpb24ge1xuICAgIHRhYmxlOiBzdHJpbmc7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZTogc3RyaW5nO1xuICAgIHRhcmdldEtleTogc3RyaW5nO1xuICAgIHByb3BlcnR5OiBzdHJpbmc7XG4gICAgc2VyaWFsaXplOiAocm93OiBhbnkpID0+IGFueTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCZWxvbmdzVG9PcHRpb25zKTtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgQmVsb25nc1RvIGZyb20gJy4vQmVsb25nc1RvUmVsYXRpb24udHMnO1xuaW1wb3J0IEJhc2VSZWxhdGlvbiBmcm9tICcuL0Jhc2VSZWxhdGlvbi50cyc7XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBMb2FkRmlsZU1ldGFzIGV4dGVuZHMgQmFzZVJlbGF0aW9uIHtcbiAgICBmaWxlS2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihmaWxlS2V5Pzogc3RyaW5nLCBwcm9wZXJ0eT86IHN0cmluZyk7XG4gICAgbG9hZChlbnRpdGllczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTG9hZEZpbGVVcmwgZXh0ZW5kcyBCYXNlUmVsYXRpb24ge1xuICAgIGZpbGVLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKGZpbGVLZXk/OiBzdHJpbmcsIHByb3BlcnR5Pzogc3RyaW5nKTtcbiAgICBsb2FkKGVudGl0aWVzOiBhbnlbXSk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCZWxvbmdzVG9GaWxlIGV4dGVuZHMgQmVsb25nc1RvIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eT86IHN0cmluZywgdGFyZ2V0S2V5Pzogc3RyaW5nKTtcbiAgICB1cmwocHJvcGVydHk/OiBzdHJpbmcpOiBMb2FkRmlsZVVybDtcbiAgICBtZXRhcyhwcm9wZXJ0eT86IHN0cmluZyk6IExvYWRGaWxlTWV0YXM7XG59XG4iLCJpbXBvcnQgQmVsb25nc1RvIGZyb20gJy4vQmVsb25nc1RvUmVsYXRpb24udHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmVsb25nc1RvVXNlciBleHRlbmRzIEJlbG9uZ3NUbyB7XG4gICAgY29uc3RydWN0b3IoKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnO1xuaW50ZXJmYWNlIEhhc01hbnlPcHRpb25zIHtcbiAgICB0YWJsZToga2V5b2YgRGF0YWJhc2U7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZToga2V5b2YgRGF0YWJhc2U7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU/OiAocm93OiBhbnkpID0+IGFueTtcbiAgICBhZnRlcj86IChyb3dzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+O1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFzTWFueSB7XG4gICAgdGFibGU6IHN0cmluZztcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBzdHJpbmc7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU6IChyb3c6IGFueSkgPT4gYW55O1xuICAgIGFmdGVyOiAocm93czogYW55W10pID0+IFByb21pc2U8YW55PjtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIYXNNYW55T3B0aW9ucyk7XG4gICAgbG9hZChlbnRpdGllczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEYXRhYmFzZUNvbnRyYWN0IGFzIERhdGFiYXNlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRGF0YWJhc2VDb250cmFjdC50cyc7XG5pbnRlcmZhY2UgSGFzTWV0YXNPcHRpb25zIHtcbiAgICB0YWJsZToga2V5b2YgRGF0YWJhc2U7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZToga2V5b2YgRGF0YWJhc2U7XG4gICAgdGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhhc01ldGFzIHtcbiAgICB0YWJsZTogc3RyaW5nO1xuICAgIHRhYmxlS2V5OiBzdHJpbmc7XG4gICAgdGFyZ2V0VGFibGU6IHN0cmluZztcbiAgICB0YXJnZXRLZXk6IHN0cmluZztcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEhhc01ldGFzT3B0aW9ucyk7XG4gICAgbG9hZChlbnRpdGllczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IEJhc2VSZWxhdGlvbiBmcm9tICcuL0Jhc2VSZWxhdGlvbi50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQ29udHJhY3QgYXMgRGF0YWJhc2UgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9EYXRhYmFzZUNvbnRyYWN0LnRzJztcbmludGVyZmFjZSBIYXNNYW55VGhyb3VnaE9wdGlvbnMge1xuICAgIHRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YWJsZUtleTogc3RyaW5nO1xuICAgIHRhcmdldFRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICB0YXJnZXRLZXk6IHN0cmluZztcbiAgICBwaXZvdFRhYmxlOiBrZXlvZiBEYXRhYmFzZTtcbiAgICBwaXZvdFNvdXJjZUtleTogc3RyaW5nO1xuICAgIHBpdm90VGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU/OiAocm93OiBhbnkpID0+IGFueTtcbiAgICBhZnRlcj86IChyb3dzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+O1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFzTWFueVRocm91Z2ggZXh0ZW5kcyBCYXNlUmVsYXRpb24ge1xuICAgIHRhYmxlOiBzdHJpbmc7XG4gICAgdGFibGVLZXk6IHN0cmluZztcbiAgICB0YXJnZXRUYWJsZTogc3RyaW5nO1xuICAgIHRhcmdldEtleTogc3RyaW5nO1xuICAgIHBpdm90VGFibGU6IHN0cmluZztcbiAgICBwaXZvdFNvdXJjZUtleTogc3RyaW5nO1xuICAgIHBpdm90VGFyZ2V0S2V5OiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICBzZXJpYWxpemU6IChyb3c6IGFueSkgPT4gYW55O1xuICAgIGFmdGVyOiAocm93czogYW55W10pID0+IFByb21pc2U8YW55PjtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIYXNNYW55VGhyb3VnaE9wdGlvbnMpO1xuICAgIGxvYWQoZW50aXRpZXM6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgVG9rZW4sIFVzZXJFbnRpdHkgfSBmcm9tICdAc2lkZWtpY2stY29kZXIvemVuaXRoLWtpdC9zaGFyZWQnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvUm91dGVyQ29udHJhY3QudHMnO1xuZXhwb3J0IHR5cGUgQXV0aE1pZGRsZXdhcmVDb250ZXh0ID0ge1xuICAgIHVzZXI6IFVzZXJFbnRpdHk7XG4gICAgdG9rZW46IFRva2VuO1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dGhNaWRkbGV3YXJlIGltcGxlbWVudHMgTWlkZGxld2FyZSB7XG4gICAgaGFuZGxlKGN0eDogYW55KTogUHJvbWlzZTxBdXRoTWlkZGxld2FyZUNvbnRleHQ+O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBUb2tlbiB9IGZyb20gJ0BzaWRla2ljay1jb2Rlci96ZW5pdGgta2l0L3NoYXJlZCc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9Sb3V0ZXJDb250cmFjdC50cyc7XG5pbXBvcnQgdHlwZSBVc2VyIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvVXNlckVudGl0eS50cyc7XG5pbXBvcnQgdHlwZSB7IEh0dHBDb250ZXh0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvSHR0cENvbnRleHRDb250cmFjdC50cyc7XG5leHBvcnQgdHlwZSBBdXRoU2lsZW5jZU1pZGRsZXdhcmVDb250ZXh0ID0ge1xuICAgIHVzZXI/OiBVc2VyO1xuICAgIHRva2VuPzogVG9rZW47XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXV0aFNpbGVuY2VNaWRkbGV3YXJlIGltcGxlbWVudHMgTWlkZGxld2FyZSB7XG4gICAgaGFuZGxlKGN0eDogSHR0cENvbnRleHQpOiBQcm9taXNlPEF1dGhTaWxlbmNlTWlkZGxld2FyZUNvbnRleHQ+O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBBdXRoU2lsZW5jZU1pZGRsZXdhcmVDb250ZXh0IH0gZnJvbSAnLi9BdXRoU2lsZW5jZU1pZGRsZXdhcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlSGFuZGxlUmVzdWx0IH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvUm91dGVyQ29udHJhY3QudHMnO1xuaW1wb3J0IEFjbCBmcm9tICcjc2VydmVyL2VudGl0aWVzL0FjbEVudGl0eS50cyc7XG5leHBvcnQgdHlwZSBBdXRob3JpemF0aW9uQ29udGV4dCA9IE1pZGRsZXdhcmVIYW5kbGVSZXN1bHQ8W0F1dGhvcml6YXRpb25NaWRkbGV3YXJlXT47XG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvcml6ZVBlcm1pc3Npb25QYXlsb2FkIHtcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICByZXNvdXJjZTogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQXV0aG9yaXplUGVybWlzc2lvbiBpbXBsZW1lbnRzIE1pZGRsZXdhcmUge1xuICAgIHByaXZhdGUgcGVybWlzc2lvbnM7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZDogQXV0aG9yaXplUGVybWlzc2lvblBheWxvYWQgfCBBdXRob3JpemVQZXJtaXNzaW9uUGF5bG9hZFtdKTtcbiAgICBoYW5kbGUoY3R4OiBBdXRob3JpemF0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdXRob3JpemF0aW9uTWlkZGxld2FyZSBpbXBsZW1lbnRzIE1pZGRsZXdhcmUge1xuICAgIGhhbmRsZShjdHg6IEF1dGhTaWxlbmNlTWlkZGxld2FyZUNvbnRleHQpOiBQcm9taXNlPHtcbiAgICAgICAgYWNsOiBBY2w7XG4gICAgfT47XG4gICAgc3RhdGljIGNyZWF0ZShwYXlsb2FkOiBBdXRob3JpemVQZXJtaXNzaW9uUGF5bG9hZCB8IEF1dGhvcml6ZVBlcm1pc3Npb25QYXlsb2FkW10pOiBBdXRob3JpemVQZXJtaXNzaW9uO1xufVxuIiwiZGVjbGFyZSBtb2R1bGUgJ2t5c2VseScge1xuICAgIGludGVyZmFjZSBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIgZXh0ZW5kcyBzdHJpbmcsIEMgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcj4ge1xuICAgICAgICBhZGRJZENvbHVtbjxDTiBleHRlbmRzIHN0cmluZyA9ICdpZCc+KGNvbD86IENOKTogQ3JlYXRlVGFibGVCdWlsZGVyPFRCLCBDIHwgQ04+O1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IHR5cGUgQ29sdW1uVHlwZSB9IGZyb20gJ2t5c2VseSc7XG5leHBvcnQgaW50ZXJmYWNlIFNvZnREZWxldGVUYWJsZSB7XG4gICAgZGVsZXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlIHwgbnVsbCwgbmV2ZXIgfCBudWxsIHwgc3RyaW5nIHwgbnVsbD47XG59XG5kZWNsYXJlIG1vZHVsZSAna3lzZWx5JyB7XG4gICAgaW50ZXJmYWNlIENyZWF0ZVRhYmxlQnVpbGRlcjxUQiBleHRlbmRzIHN0cmluZywgQyBleHRlbmRzIHN0cmluZyA9IG5ldmVyPiB7XG4gICAgICAgIGFkZFNvZnREZWxldGVDb2x1bW4oKTogQ3JlYXRlVGFibGVCdWlsZGVyPFRCLCBDIHwgJ2RlbGV0ZWRfYXQnPjtcbiAgICB9XG59XG4iLCJpbXBvcnQgdHlwZSB7IENvbHVtblR5cGUgfSBmcm9tICdreXNlbHknO1xuZXhwb3J0IGludGVyZmFjZSBUaW1lc3RhbXBUYWJsZSB7XG4gICAgY3JlYXRlZF9hdDogQ29sdW1uVHlwZTxEYXRlLCBzdHJpbmcgfCB1bmRlZmluZWQsIG5ldmVyPjtcbiAgICB1cGRhdGVkX2F0OiBDb2x1bW5UeXBlPERhdGUsIHN0cmluZyB8IHVuZGVmaW5lZCwgRGF0ZSB8IHN0cmluZyB8IFJldHVyblR5cGU8dHlwZW9mIG5vdz4+O1xufVxuZGVjbGFyZSBtb2R1bGUgJ2t5c2VseScge1xuICAgIGludGVyZmFjZSBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIgZXh0ZW5kcyBzdHJpbmcsIEMgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcj4ge1xuICAgICAgICBhZGRUaW1lc3RhbXBDb2x1bW5zKCk6IENyZWF0ZVRhYmxlQnVpbGRlcjxUQiwgQyB8ICdjcmVhdGVkX2F0JyB8ICd1cGRhdGVkX2F0Jz47XG4gICAgICAgIGFkZENyZWF0ZWRDb2x1bW4oKTogQ3JlYXRlVGFibGVCdWlsZGVyPFRCLCBDIHwgJ2NyZWF0ZWRfYXQnPjtcbiAgICAgICAgYWRkVXBkYXRlZENvbHVtbigpOiBDcmVhdGVUYWJsZUJ1aWxkZXI8VEIsIEMgfCAndXBkYXRlZF9hdCc+O1xuICAgIH1cbn1cbmRlY2xhcmUgY29uc3Qgbm93OiAoKSA9PiBpbXBvcnQoXCJreXNlbHlcIikuUmF3QnVpbGRlcjxzdHJpbmc+O1xuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYmFzZVBhdGgoLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmc7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBzdG9yYWdlUGF0aCguLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZztcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHJlbGF0aXZlVG9CYXNlUGF0aCguLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZztcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRtcFBhdGgoLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmc7XG4iLCJpbXBvcnQgdHlwZSB7IExvYWRlclJlY29yZCB9IGZyb20gJy4vZGVmaW5lTG9hZGVyLnRzJztcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZUxvYWRlckZhY3Rvcnk8RSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBSIGV4dGVuZHMgTG9hZGVyUmVjb3JkPEU+ID0gTG9hZGVyUmVjb3JkPEU+Pihsb2FkZXJzOiBSKToge1xuICAgIGtleXM6IChrZXlvZiBSKVtdO1xuICAgIGxvYWRlcnM6IFI7XG4gICAgbG9hZDogKGVudGl0aWVzOiBFIHwgRVtdLCBuYW1lczoga2V5b2YgUiB8IChrZXlvZiBSKVtdKSA9PiBQcm9taXNlPHZvaWQ+O1xufTtcbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGN1aWQoKTogc3RyaW5nO1xuIiwiaW1wb3J0IHR5cGUgeyBIdHRwQ29udGV4dCB9IGZyb20gXCIjc2VydmVyL2NvbnRyYWN0cy9IdHRwQ29udGV4dENvbnRyYWN0LnRzXCI7XG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZXIge1xuICAgIChjdHg6IEh0dHBDb250ZXh0KTogUHJvbWlzZTxhbnk+IHwgKCgpID0+IGFueSk7XG59XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBkZWZpbmVIYW5kbGVyKGhhbmRsZXI6IEhhbmRsZXIpOiBIYW5kbGVyO1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZ2VuZXJhdGVJbmRleEZpbGUob3B0aW9uczogYW55KTogdm9pZDtcbiIsImludGVyZmFjZSBPcHRpb25zIHtcbiAgICBjYWNoZT86IGJvb2xlYW47XG4gICAgb25CZWZvcmVJbXBvcnQ/OiAoY3R4OiB7XG4gICAgICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gICAgb25BZnRlckltcG9ydD86IChjdHg6IHtcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICAgICAgbW9kdWxlOiBhbnk7XG4gICAgfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gICAgb25FcnJvcj86IChjdHg6IHtcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICAgICAgZXJyb3I6IEVycm9yO1xuICAgIH0pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGltcG9ydEZpbGVzKGZpbGVzOiBzdHJpbmdbXSwgb3B0aW9ucz86IE9wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW1wb3J0R2xvYihwYXR0ZXJuOiBzdHJpbmcsIG9wdGlvbnM/OiBPcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGltcG9ydEFsbChkaXJlY3Rvcnk6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW1wb3J0T25lKGZpbGVuYW1lczogc3RyaW5nW10pOiBQcm9taXNlPGFueT47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBTyxjQUFVO0NBQUE7T0FBWSxFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM3QixJQUFXLGdCQUFNO0NBQUE7T0FBQSxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFD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QUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ1AxQixJQUFBLGdCQUFvQjtDQUFDO09BQUE7RUFBQTtFQUFjO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0VuQyxJQUFXLGNBQWM7Q0FBQztFQUFLLE1BQUcsQ0FBRyxFQUFFO0NBQUU7RUFBQztFQUFJO0VBQUU7RUFBSztDQUFDOzs7O0FDQ3RELElBQUksa0JBQWtCO0NBQUM7T0FBVyxFQUFFO0NBQUMsRUFBQTtDQUFJO0FBQ3pDLElBQUEsZ0JBQVU7Q0FBQTtPQUFZLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ3RCLElBQVcsMEJBQW9CO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQy9CLElBQUkscUJBQW1CO0NBQUE7T0FBUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNML0IsSUFBVyx1QkFBdUI7Q0FBQztPQUFFLENBQUEsNEJBQW1CLEVBQUEs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SSxnQkFBYztDQUFDO0VBQUcsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QixJQUFBLFdBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTEEsSUFBQSxtQkFBcUI7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFxQjtFQUFBO0VBQXFCO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDL0QsSUFBSSxvQkFBb0I7Q0FBQztFQUFDLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksaUJBQWU7Q0FBQztPQUFVLENBQUEsa0JBQWtCO0NBQUE7RUFBQTtFQUFTO0VBQUc7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Q1RCxJQUFJLFlBQVk7Q0FBQztFQUFLLE1BQUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLE9BQUk7Q0FBQTtPQUFZLENBQUEsVUFBVTtDQUFNO0VBQUM7RUFBRTtFQUFNO0VBQUc7RUFBQTtDQUFBOzs7O0FDQ2hELElBQUksa0JBQWtCO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxlQUFVO0NBQUk7T0FBVztFQUFDO0VBQU07RUFBWTtFQUFNO0VBQU07Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0M1RCxJQUFPLFlBQVU7Q0FBQTtPQUFVLENBQUEsV0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMzQixJQUFTLGFBQWE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBLE1BQUE7RUFBQSxNQUFBO0VBQUEsTUFBQTtFQUFBLE1BQUE7RUFBQSxNQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDdEIsSUFBSSxhQUFTO0NBQUE7T0FBVTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTnZCLElBQUEsb0JBQXFCO0NBQUE7T0FBQTtFQUFBO0VBQWtCO0VBQVE7RUFBVztDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDMUQsSUFBQSxvQkFBcUI7Q0FBQTtPQUFBO0VBQUEsR0FBaUI7RUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQXZDLElBQU8seUJBQVU7Q0FBQTtPQUF1QixDQUFBLFFBQUEsY0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3hDLElBQUksa0JBQWtCO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRnRCLElBQVcsWUFBWTtDQUFDO09BQUUsQ0FBQSxXQUFtQixFQUFBLFlBQVU7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDdkQsSUFBTyxZQUFjO0NBQUE7T0FBYTtFQUFBLEVBQUE7RUFBa0IsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FwRCxJQUFBLGFBQWU7Q0FBQTtFQUFNLE1BQUE7RUFBQTtFQUFXLE9BQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ2hDLElBQU8sdUJBQVU7Q0FBQTtPQUFxQixDQUFBLFlBQUEsY0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDdEMsSUFBSSx1QkFBZTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNGbkIsSUFBTyxhQUFVO0NBQUE7T0FBVyxDQUFBLEdBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM1QixJQUFXLG1CQUFpQjtDQUFBO09BQUEsQ0FBQSxHQUFBLFlBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVCLElBQUEsbUJBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsT0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FBLElBQUksU0FBUztDQUFBO09BQVE7RUFBQSxFQUFlO0VBQUcsRUFBZTtFQUFrQixFQUFVO0VBQWEsRUFBa0I7RUFBWSxFQUFBO0VBQTJCLEVBQVc7RUFBQyxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3BLLElBQUksZ0JBQXVCO0NBQUM7T0FBVyxDQUFBLFFBQUEsWUFBcUI7Q0FBRSxDQUFBLElBQUEsR0FBUTtDQUFDO0FBQ3ZFLElBQUksVUFBUztDQUFBO09BQWE7RUFBQTtFQUFRO0VBQVU7RUFBQTtFQUFlO0VBQWlCO0VBQVc7RUFBQTtFQUFhO0VBQVk7RUFBZSxPQUFHO0VBQWdCO0VBQVc7RUFBWTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Z6SyxJQUFBLGVBQVU7Q0FBQTtPQUFhO0VBQU87RUFBTTtFQUF3QjtFQUFDO0NBQUE7RUFBQTtFQUFXO0VBQUc7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzNFLElBQUksa0JBQWU7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIbkIsSUFBVyx5QkFBTztDQUFBO09BQUEsQ0FBQSxZQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUNsQixJQUFBLGtCQUFBO0NBQUE7T0FBQTtFQUFBO0VBQUEsU0FBQTtFQUFBO0VBQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FBLElBQU8sa0JBQVU7Q0FBQTtPQUFnQixDQUFBLEdBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNqQyxJQUFXLHdCQUFpQjtDQUFBO09BQUEsQ0FBQSxHQUFBLFlBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVCLElBQUEsZ0JBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsT0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDREEsSUFBQSx3QkFBVTtDQUFBO09BQXNCLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ2hDLElBQUksZUFBWTtDQUFBO09BQU07RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLE9BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0h0QixJQUFBLGtCQUFxQjtDQUFBO09BQUE7RUFBQTtFQUF1QjtFQUFNO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNHbEQsSUFBTyxrQ0FBVTtDQUFBO09BQWdDO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNqRCxJQUFJLDJCQUFXO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0xmLElBQU8sYUFBVTtDQUFBO0VBQVksTUFBRyxDQUFHLEVBQUU7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNyQyxJQUFXLGtCQUFHO0NBQUE7T0FBQSxFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDZCxJQUFVLG9CQUFNO0NBQUE7T0FBQSxDQUFBLGlCQUFBLGdCQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2hCLElBQUksb0JBQWdCO0NBQUE7T0FBQSxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDcEIsSUFBSSxxQkFBYTtDQUFBO0VBQUEsU0FBQSxhQUFBLGFBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0hqQixJQUFPLDZCQUFVO0NBQUE7T0FBMkIsRUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUMsSUFBUyx1QkFBaUI7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxpQkFBZTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSG5CLElBQU8scUJBQVU7Q0FBQTtPQUFtQixDQUFBLEtBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3BDLElBQUksa0JBQVk7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0VoQixJQUFPLGtCQUFVO0NBQUE7T0FBZ0IsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDakMsSUFBUSxZQUFNO0NBQUE7T0FBQSxDQUFBLEtBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2QsSUFBSSxnQkFBaUI7Q0FBQTtPQUFBLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ3JCLElBQUEsa0JBQUE7Q0FBQTtPQUFBLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBTyx5QkFBb0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMzQixJQUFVLHdCQUFNO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBSSxrQkFBaUI7Q0FBQTtPQUFJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDVHpCLElBQUEsTUFBTztDQUFBO09BQWMsQ0FBQSxRQUFJLFVBQVE7Q0FBUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDekMsSUFBTyxVQUFVO0NBQUE7T0FBUSxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDekIsSUFBVSxXQUFZO0NBQUE7T0FBQSxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDdEIsSUFBQSxjQUFBO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSEEsSUFBTyxXQUFVO0NBQUE7T0FBUyxFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDMUIsSUFBSSxlQUFnQjtDQUFBO09BQUEsQ0FBQSxRQUFBLFNBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ3BCLElBQUEsYUFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFBLDJCQUEyQjtDQUFBO0VBQU8sTUFBUTtFQUFBO0VBQU87RUFBUztFQUFNO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNoRSxJQUFBLHlCQUE0QjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUIsSUFBVyx5QkFBeUI7Q0FBQztFQUFBLE1BQVE7RUFBQTtFQUFhO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxRCxJQUFBLFlBQUE7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTkEsSUFBSSxjQUFjO0NBQUM7T0FBUyxFQUFJO0NBQUUsRUFBRTtDQUFBO0FBQ3BDLElBQUEsUUFBTztDQUFBO09BQWM7RUFBQTtFQUFNO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRTNCLElBQUEsZUFBVTtDQUFBO09BQW1CLEVBQUE7Q0FBQSxFQUFBO0NBQUE7QUFDN0IsSUFBSSxxQkFBWTtDQUFVO09BQUEsQ0FBQSxZQUFBLGFBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLGNBQVM7Q0FBQTtPQUFZLEVBQUE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTtBQUN6QixJQUFBLGVBQUE7Q0FBQTtPQUFBLENBQUEsZUFBQSxjQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBQSxxQkFBc0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QixJQUFJLGdCQUFlO0NBQUE7RUFBQSxHQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNSbkIsSUFBTyxpQkFBVTtDQUFBO09BQWUsQ0FBQSxRQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDaEMsSUFBUSx1QkFBb0I7Q0FBQTtPQUFBLENBQUEsZUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVCLElBQUEsZ0JBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RBLElBQU8sYUFBVTtDQUFBO09BQVcsRUFBQTtDQUFBLENBQUEsR0FBQTtDQUFBO0FBQzVCLElBQVMsMEJBQU07Q0FBQTtPQUFBLENBQUEsY0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNmLElBQUEsa0JBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNBLElBQUEsbUJBQWlCO0NBQUE7T0FBQTtFQUFBO0VBQXdCO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNKekMsSUFBTyxrQkFBVTtDQUFBO09BQWdCLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDakMsSUFBSSxlQUFZO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNFaEIsSUFBTyxlQUFVO0NBQUE7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QUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDcEMsSUFBSSxjQUFRO0NBQU87T0FBQTtFQUFBLFFBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxRQUFBO0VBQUEsUUFBQTtFQUFBO0VBQUEsUUFBQTtFQUFBLEtBQUE7RUFBQSxRQUFBO0VBQUEsUUFBQTtFQUFBLFFBQUE7RUFBQSxRQUFBO0VBQUE7RUFBQSxRQUFBO0VBQUEsUUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTm5CLElBQU8sMkJBQVU7Q0FBQTtPQUF5QixDQUFBLFlBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQzFDLElBQUksb0JBQWlCO0NBQUE7T0FBQTtFQUFBO0VBQUEsVUFBQTtFQUFBLFVBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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O0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNHcEIsSUFBSSxpQkFBcUI7Q0FBQTtPQUFPLEVBQUE7Q0FBQSxFQUFBO0NBQWM7QUFDOUMsSUFBVyx3QkFBa0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDN0IsSUFBQSw2QkFBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBQSx3QkFBYztDQUFBO09BQUE7RUFBMEI7RUFBRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNQMUMsSUFBVyxjQUFjO0NBQUM7T0FBVztFQUFBO0VBQVc7RUFBTztFQUFhO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3BFLElBQUEsWUFBVTtDQUFBO09BQVEsRUFBQTtDQUFBLENBQUEsR0FBQTtDQUFBO0FBQ2xCLElBQUksY0FBVztDQUFBO0VBQU8sR0FBQSxVQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ3RCLElBQUEsdUJBQXFCO0NBQUE7T0FBQTtFQUFBO0VBQTZCO0VBQXNCO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0h4RSxJQUFBLGlCQUFVO0NBQUE7T0FBZSxDQUFBLE9BQUEsV0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDekIsSUFBVSxzQkFBTTtDQUFBO09BQUEsQ0FBQSxjQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2hCLElBQUksZUFBYTtDQUFBO09BQVU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDNCLElBQUEsbUJBQXFCO0NBQUE7RUFBQSxTQUFpQixhQUFVO0VBQUE7RUFBTztFQUFhO0VBQVk7RUFBa0I7RUFBRztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDckcsSUFBTyw2QkFBVTtDQUFBO09BQTJCLENBQUEscUJBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUMsSUFBSSxpQkFBYztDQUFBO09BQVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRjFCLElBQU8sNkJBQVU7Q0FBQTtPQUEyQixDQUFBLGFBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUMsSUFBSSxzQkFBVztDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEZixJQUFPLDZCQUFVO0NBQUE7T0FBMkIsQ0FBQSxhQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVDLElBQVMsdUJBQU07Q0FBQTtPQUFBLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDZixJQUFXLHNCQUFhO0NBQUE7T0FBQSxDQUFBLGdCQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN4QixJQUFBLHNCQUFBO0NBQUE7T0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0hBLElBQU8sNkNBQVU7Q0FBQTtPQUEyQyxFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUQsSUFBSSxpQ0FBc0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0QxQixJQUFPLG1DQUFVO0NBQUE7T0FBaUMsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDbEQsSUFBSSx1QkFBc0I7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0QxQixJQUFPLG1CQUFVO0NBQUE7RUFBaUIsU0FBVSxpQkFBbUIsYUFBRTtFQUFBO0VBQWtCO0VBQUs7RUFBVztFQUFhO0VBQVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN4SCxJQUFJLCtCQUEyQjtDQUFBO0VBQVEsT0FBTyxTQUFB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RUFBTTtFQUFDO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuRSxJQUFPLE1BQVU7Q0FBQTtPQUFBLENBQUEsU0FBbUIsV0FBYztDQUFBLENBQUEsR0FBQTtDQUFBO0FBQ2xELElBQUksbUJBQWtCO0NBQUE7RUFBVyxNQUFRO0VBQUM7RUFBUTtFQUFHO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3JELElBQUEscUJBQUE7Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNUQSxJQUFPLHdCQUFVO0NBQUE7RUFBd0IsTUFBQTtFQUFBO0VBQWM7RUFBQTtFQUFVO0VBQVE7RUFBbUI7RUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzdGLElBQVcsaUJBQVE7Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEbkIsSUFBTyxjQUFVO0NBQUE7RUFBYyxNQUFBO0VBQUE7RUFBYztFQUFBO0VBQVU7RUFBUTtFQUFtQjtFQUFDO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDbkYsSUFBVyxPQUFPO0NBQUE7RUFBQSxHQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQWxCLElBQU8sa0JBQVU7Q0FBQTtFQUFrQixNQUFBO0VBQUE7RUFBYztFQUFVO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzNELElBQVcsaUJBQVE7Q0FBQTtFQUFBLEdBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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O0VBQUEsTUFBUTtFQUFBO0VBQU07RUFBVTtFQUFPO0VBQXFCO0NBQUU7RUFBQztFQUFHO0VBQUE7RUFBUztFQUFFO0VBQUE7Q0FBQTtBQUM5RyxJQUFXLGNBQWM7Q0FBQztPQUFXO0VBQUE7RUFBVztFQUFPO0VBQWlCO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3hFLElBQUEsYUFBZTtDQUFBO0VBQVMsR0FBQSxPQUFVLFVBQU87RUFBQTtFQUFjO0VBQUE7RUFBaUI7RUFBTztFQUFhO0VBQU07RUFBUztFQUFVO0VBQU07RUFBUTtFQUFZO0VBQU87RUFBQTtFQUFNO0VBQUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDdEJoSyxJQUFBLFdBQVU7Q0FBQTtPQUFTLENBQUEsUUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuQixJQUFJLFdBQUs7Q0FBQTtFQUFhLEdBQUcsT0FBRSxNQUFRO0VBQUk7RUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0R4QyxJQUFBLFNBQWE7Q0FBQztPQUFRLENBQUEsY0FBYTtDQUFBLENBQUEsR0FBQTtDQUFBOzs7O0FDQW5DLElBQUEsV0FBYztDQUFBO09BQVUsQ0FBQSxpQkFBZ0I7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0F4QyxJQUFBLFdBQWM7Q0FBQTtPQUFVLENBQUEsZ0JBQWU7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0F2QyxJQUFBLFFBQVE7Q0FBSztPQUFRLENBQUEsYUFBWTtDQUFBLENBQUEsR0FBQTtDQUFBOzs7O0FDQWpDLElBQUEsV0FBYztDQUFBO09BQVUsQ0FBQSxRQUFBLGtCQUF1QjtDQUFPLENBQUMsSUFBSSxHQUFDO0NBQUE7Ozs7QUNBNUQsSUFBQSxVQUFjO0NBQUE7T0FBUyxDQUFBLGVBQWM7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0FyQyxJQUFBLE1BQVE7Q0FBQTtPQUFXLENBQUEsV0FBVTtDQUFBLENBQUEsR0FBQTtDQUFBOzs7O0FDQTdCLElBQUEsaUJBQWM7Q0FBQTtPQUFnQixDQUFBLGVBQWM7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0E1QyxJQUFBLFNBQWE7Q0FBQztPQUFRLENBQUEsY0FBYTtDQUFBLENBQUEsR0FBQTtDQUFBOzs7O0FDQW5DLElBQUEsT0FBUTtDQUFBO09BQVksQ0FBQSxZQUFXO0NBQUEsQ0FBQSxHQUFBO0NBQUE7Ozs7QUNBL0IsSUFBQSxTQUFhO0NBQUM7T0FBUSxDQUFBLGNBQWE7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0FuQyxJQUFBLFdBQWM7Q0FBQTtPQUFVLENBQUEsZ0JBQWU7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0F2QyxJQUFBLGlDQUFjO0NBQUE7T0FBZ0MsQ0FBQSwrQkFBOEI7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0E1RSxJQUFBLHVCQUFjO0NBQUE7T0FBc0IsQ0FBQSxxQkFBb0I7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0N4RCxJQUFBLFNBQWE7Q0FBQztPQUFRLENBQUEsYUFBYyxjQUFZO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTs7OztBQ0RoRCxJQUFBLFlBQWM7Q0FBQTtPQUFXLENBQUEsaUJBQWdCO0NBQUEsQ0FBQSxHQUFBO0NBQUE7Ozs7QUNBekMsSUFBQSxRQUFRO0NBQUs7T0FBUSxDQUFBLGFBQVk7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0FqQyxJQUFBLGtCQUFjO0NBQUE7T0FBaUIsQ0FBQSxnQkFBZTtDQUFBLENBQUEsR0FBQTtDQUFBOzs7O0FDQTlDLElBQUEsaUJBQWM7Q0FBQTtPQUFnQixDQUFBLGVBQWM7Q0FBQSxDQUFBLEdBQUE7Q0FBQTs7OztBQ0M1QyxJQUFPLGlCQUFVO0NBQUE7T0FBdUIsQ0FBQSxrQkFBTyxPQUFrQjtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7Ozs7QUNGakUsSUFBTyxTQUFVO0NBQUE7RUFBUyxNQUFFO0VBQUE7RUFBTztFQUFRO0VBQU07Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDakQsSUFBUyxlQUFnQjtDQUFBO0VBQU8sTUFBSztFQUFDO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QyxJQUFBLGVBQUE7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RBLElBQUksc0JBQWdCO0NBQUE7T0FBTSxFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUMxQixJQUFJLG1CQUFvQjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEeEIsSUFBSSxvQkFBaUI7Q0FBQTtPQUFNLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQzNCLElBQUksY0FBa0I7Q0FBQTtFQUFNLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDNUIsSUFBQSxzQkFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNGQSxJQUFBLGdCQUFpQjtDQUFBO0VBQUEsTUFBQSxDQUFBLEdBQUEsRUFBQTtDQUFBO0VBQUE7RUFBMkI7RUFBQztFQUFPO0VBQUM7Q0FBQTtBQUNyRCxJQUFTLDhCQUFNO0NBQUE7RUFBQSxTQUFBLGNBQUEsa0JBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDZixJQUFXLHFCQUFBO0NBQUE7RUFBQSxTQUFBLGNBQUEsa0JBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNYLElBQVEsNkJBQWdDO0NBQUM7RUFBQSxTQUFBLGNBQUEsa0JBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSHpDLElBQUksaUJBQVk7Q0FBQTtPQUFBLEVBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ2hCLElBQUksbUJBQVU7Q0FBQTtPQUFBLENBQUEsZ0JBQUEsUUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2QsSUFBQSxZQUFBO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNBLElBQVUsb0JBQWlCO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0gzQixJQUFJLDBCQUEwQjtDQUFDO09BQVcsRUFBQTtDQUFBO0VBQUE7RUFBTztFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDakQsSUFBSSxrQkFBeUI7Q0FBQztFQUFLLE1BQUs7RUFBQTtFQUFPO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQy9DLElBQUkseUJBQWtCO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Z0QixJQUFJLG9CQUFjO0NBQUE7T0FBQSxFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUNsQixJQUFJLFdBQWtCO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3RCLElBQUEsbUJBQUE7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDREEsSUFBSSxtQkFBbUI7Q0FBQztFQUFJLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM1QixJQUFJLGNBQUE7Q0FBZTtFQUFFLE1BQU87RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDSzVCLElBQUksV0FBSTtDQUFBO09BQW1CLEVBQUM7Q0FBQSxDQUFBLElBQU8sR0FBQTtDQUFBO0FBQ25DLElBQUksWUFBWTtDQUFDO0VBQUMsTUFBUTtFQUFBO0VBQVE7RUFBaUM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxTQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDbkUsSUFBSSxPQUFPO0NBQUM7T0FBTztFQUFBO0VBQVE7RUFBWTtFQUFRO0VBQU87RUFBUyxPQUFLO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNKcEUsSUFBSSxnQkFBQztDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLFNBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNMLElBQUksV0FBUztDQUFBO09BQUEsQ0FBQSxjQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7Ozs7QUNKYixJQUFBLGNBQWM7Q0FBQTtPQUFhLENBQUEsU0FBTztDQUFJLENBQUEsR0FBQTtDQUFBO0FBQ3RDLElBQUEsU0FBTztDQUFPO09BQU87RUFB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