@decaf-ts/for-nest 0.11.2-refactor.4 → 0.11.2-refactor.5

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.
@@ -38,7 +38,9 @@ class FromModelController {
38
38
  static toDecafError(error, fallbackMessage) {
39
39
  if (error instanceof db_decorators_1.BaseError)
40
40
  return error;
41
- return new db_decorators_1.InternalError(error instanceof Error ? `${fallbackMessage}: ${error.message}` : fallbackMessage);
41
+ return new db_decorators_1.InternalError(error instanceof Error
42
+ ? `${fallbackMessage}: ${error.message}`
43
+ : fallbackMessage);
42
44
  }
43
45
  static getPersistence(ModelClazz) {
44
46
  try {
@@ -55,7 +57,6 @@ class FromModelController {
55
57
  }
56
58
  static createQueryRoutesFromRepository(persistence, prefix = core_1.PersistenceKeys.QUERY) {
57
59
  const repo = persistence instanceof core_1.ModelService ? persistence.repo : persistence;
58
- const ModelConstr = repo.class;
59
60
  const queryMethods = decoration_1.Metadata.get(repo.constructor, decoration_1.Metadata.key(core_1.PersistenceKeys.QUERY)) ?? {};
60
61
  const routeMethods = decoration_1.Metadata.get(persistence.constructor, decoration_1.Metadata.key(constants_js_1.DECAF_ROUTE)) ?? {};
61
62
  class QueryController extends controllers_js_1.DecafModelController {
@@ -74,7 +75,10 @@ class FromModelController {
74
75
  FromModelController.defineMethod(QueryController, methodName, handler);
75
76
  const httpDecorator = (0, utils_js_1.HttpVerbToDecorator)(params.httpMethod)(routePath || undefined);
76
77
  const decorators = FromModelController.getQueryDecorators(methodName, routePath, params.httpMethod);
77
- FromModelController.applyDecorators(QueryController, methodName, [httpDecorator, ...decorators]);
78
+ FromModelController.applyDecorators(QueryController, methodName, [
79
+ httpDecorator,
80
+ ...decorators,
81
+ ]);
78
82
  }
79
83
  for (const [methodName, objValues] of Object.entries(queryMethods)) {
80
84
  const fields = objValues.fields ?? [];
@@ -85,7 +89,10 @@ class FromModelController {
85
89
  FromModelController.defineMethod(QueryController, methodName, handler);
86
90
  const httpDecorator = (0, utils_js_1.HttpVerbToDecorator)("GET")(routePath || undefined);
87
91
  const decorators = FromModelController.getQueryDecorators(methodName, routePath, "GET", true);
88
- FromModelController.applyDecorators(QueryController, methodName, [httpDecorator, ...decorators]);
92
+ FromModelController.applyDecorators(QueryController, methodName, [
93
+ httpDecorator,
94
+ ...decorators,
95
+ ]);
89
96
  }
90
97
  return QueryController;
91
98
  }
@@ -108,7 +115,7 @@ class FromModelController {
108
115
  };
109
116
  const FactoryController = server_1.ModelControllerFactory.create(ModelConstr, factoryPersistence, mergedConfig);
110
117
  const factoryRoutes = FactoryController.__routes__;
111
- const { getPK, apiProperties, path: pkPath } = FromModelController.getRouteParametersFromModel(ModelConstr);
118
+ const { getPK, apiProperties, path: pkPath, } = FromModelController.getRouteParametersFromModel(ModelConstr);
112
119
  log.debug(`Creating controller for model: ${modelClazzName} with ${factoryRoutes?.length ?? 0} factory routes`);
113
120
  const authConfig = mergedConfig.auth;
114
121
  function applyClassAuth(target) {
@@ -161,7 +168,7 @@ class FromModelController {
161
168
  });
162
169
  for (const route of sortedRoutes) {
163
170
  const methodName = route.implementation?.name || route.method.toLowerCase();
164
- const registration = FromModelController.matchRoute(methodName, route, pkPath, apiProperties, getPK, ModelConstr, modelClazzName, factoryPersistence);
171
+ const registration = FromModelController.matchRoute(methodName, route, pkPath, apiProperties, getPK, ModelConstr, modelClazzName);
165
172
  if (!registration)
166
173
  continue;
167
174
  const { methodName: registeredMethodName, handler, decorators, paramDecorators, } = registration;
@@ -205,10 +212,14 @@ class FromModelController {
205
212
  .filter(Boolean)
206
213
  .flatMap((segment) => {
207
214
  if (segment.startsWith(":")) {
208
- return [{ decorator: (0, common_1.Param)(segment.slice(1)), index: paramIndex++ }];
215
+ return [
216
+ { decorator: (0, common_1.Param)(segment.slice(1)), index: paramIndex++ },
217
+ ];
209
218
  }
210
219
  if (segment.startsWith("*")) {
211
- return [{ decorator: (0, common_1.Param)(segment.slice(1)), index: paramIndex++ }];
220
+ return [
221
+ { decorator: (0, common_1.Param)(segment.slice(1)), index: paramIndex++ },
222
+ ];
212
223
  }
213
224
  return [];
214
225
  });
@@ -228,24 +239,36 @@ class FromModelController {
228
239
  methodDecorators.forEach((d) => d(proto, methodName, descriptor));
229
240
  paramDecorators.forEach(({ decorator, index }) => decorator(proto, methodName, index));
230
241
  }
231
- static matchRoute(methodName, route, pkPath, apiProperties, getPK, ModelConstr, modelClazzName, persistence) {
242
+ static matchRoute(methodName, route, pkPath, apiProperties, getPK, ModelConstr, modelClazzName) {
232
243
  const { method, path } = route;
233
244
  const normalizedPath = path.replace(/^\/+|\/+$/g, "");
234
245
  const handler = route.implementation;
235
246
  if (method === "POST" && normalizedPath === "") {
236
- return FromModelController.createRegistration("create", handler, FromModelController.createCreateDecorators(ModelConstr, modelClazzName), [{ decorator: (0, index_js_1.DecafBody)(), index: 0 }, { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 }]);
247
+ return FromModelController.createRegistration("create", handler, FromModelController.createCreateDecorators(ModelConstr, modelClazzName), [
248
+ { decorator: (0, index_js_1.DecafBody)(), index: 0 },
249
+ { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 },
250
+ ]);
237
251
  }
238
252
  if (method === "POST" && normalizedPath === "bulk") {
239
- return FromModelController.createRegistration("createAll", handler, FromModelController.bulkCreateDecorators(ModelConstr, modelClazzName), [{ decorator: (0, index_js_1.DecafBody)(), index: 0 }, { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 }]);
253
+ return FromModelController.createRegistration("createAll", handler, FromModelController.bulkCreateDecorators(ModelConstr, modelClazzName), [
254
+ { decorator: (0, index_js_1.DecafBody)(), index: 0 },
255
+ { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 },
256
+ ]);
240
257
  }
241
258
  if (method === "GET" && normalizedPath === "bulk") {
242
259
  return FromModelController.createRegistration("readAll", handler, FromModelController.bulkReadDecorators(ModelConstr, modelClazzName), [{ decorator: (0, common_1.Query)("ids"), index: 0 }]);
243
260
  }
244
261
  if (method === "PUT" && normalizedPath === "bulk") {
245
- return FromModelController.createRegistration("updateAll", handler, FromModelController.bulkUpdateDecorators(ModelConstr, modelClazzName, apiProperties), [{ decorator: (0, index_js_1.DecafBody)(), index: 0 }, { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 }]);
262
+ return FromModelController.createRegistration("updateAll", handler, FromModelController.bulkUpdateDecorators(ModelConstr, modelClazzName, apiProperties), [
263
+ { decorator: (0, index_js_1.DecafBody)(), index: 0 },
264
+ { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 },
265
+ ]);
246
266
  }
247
267
  if (method === "DELETE" && normalizedPath === "bulk") {
248
- return FromModelController.createRegistration("deleteAll", handler, FromModelController.bulkDeleteDecorators(ModelConstr, modelClazzName, apiProperties), [{ decorator: (0, common_1.Query)("ids"), index: 0 }, { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 }]);
268
+ return FromModelController.createRegistration("deleteAll", handler, FromModelController.bulkDeleteDecorators(ModelConstr, modelClazzName, apiProperties), [
269
+ { decorator: (0, common_1.Query)("ids"), index: 0 },
270
+ { decorator: (0, common_1.Response)({ passthrough: true }), index: 1 },
271
+ ]);
249
272
  }
250
273
  if (method === "GET" && normalizedPath === pkPath) {
251
274
  return FromModelController.createRegistration("read", handler, FromModelController.readDecorators(ModelConstr, modelClazzName, apiProperties, pkPath), FromModelController.routeParamDecorators(normalizedPath));
@@ -266,9 +289,12 @@ class FromModelController {
266
289
  }
267
290
  // Composed PK fallback routes (filterEmpty) — path differs from pkPath
268
291
  const fallbackSegments = normalizedPath.split("/").filter(Boolean);
269
- const isAllParams = fallbackSegments.length > 0 && fallbackSegments.every((s) => s.startsWith(":"));
292
+ const isAllParams = fallbackSegments.length > 0 &&
293
+ fallbackSegments.every((s) => s.startsWith(":"));
270
294
  if (isAllParams && normalizedPath !== pkPath) {
271
- const fallbackApiProps = fallbackSegments.map((s) => s.slice(1)).map((name) => ({
295
+ const fallbackApiProps = fallbackSegments
296
+ .map((s) => s.slice(1))
297
+ .map((name) => ({
272
298
  name,
273
299
  description: `${name} parameter`,
274
300
  required: true,
@@ -327,9 +353,23 @@ class FromModelController {
327
353
  }
328
354
  const pathSegments = normalizedPath.split("/").filter(Boolean);
329
355
  const knownPrefixes = new Set([
330
- "listBy", "findBy", "findByPaginate", "findOneBy", "paginateBy",
331
- "find", "page", "countOf", "maxOf", "minOf", "avgOf", "sumOf",
332
- "distinctOf", "groupOf", "statement", "bulk", "query",
356
+ "listBy",
357
+ "findBy",
358
+ "findByPaginate",
359
+ "findOneBy",
360
+ "paginateBy",
361
+ "find",
362
+ "page",
363
+ "countOf",
364
+ "maxOf",
365
+ "minOf",
366
+ "avgOf",
367
+ "sumOf",
368
+ "distinctOf",
369
+ "groupOf",
370
+ "statement",
371
+ "bulk",
372
+ "query",
333
373
  ]);
334
374
  if (pathSegments.length > 0 &&
335
375
  !normalizedPath.startsWith("query/") &&
@@ -348,7 +388,9 @@ class FromModelController {
348
388
  ...apiPathParams.map((p) => (0, swagger_1.ApiParam)(p)),
349
389
  (0, swagger_1.ApiOperation)({ summary: `Retrieve records using "${methodName}".` }),
350
390
  (0, swagger_1.ApiOkResponse)({ description: "Result successfully retrieved." }),
351
- (0, swagger_1.ApiNoContentResponse)({ description: "No content returned by the method." }),
391
+ (0, swagger_1.ApiNoContentResponse)({
392
+ description: "No content returned by the method.",
393
+ }),
352
394
  ], FromModelController.routeParamDecorators(normalizedPath));
353
395
  }
354
396
  return undefined;
@@ -387,256 +429,6 @@ class FromModelController {
387
429
  }
388
430
  return params;
389
431
  }
390
- static createCreateHandler(ModelConstr, modelClazzName) {
391
- return async function create(data, resp) {
392
- const { ctx, log } = (await this.logCtx([], db_decorators_1.OperationKeys.CREATE, true)).for(create);
393
- log.verbose(`creating new ${modelClazzName}`);
394
- let created;
395
- try {
396
- created = await this.persistence(ctx).create(data, ctx);
397
- }
398
- catch (e) {
399
- log.error(`Failed to create new ${modelClazzName}`, e);
400
- throw FromModelController.toDecafError(e, `Failed to create new ${modelClazzName}`);
401
- }
402
- log.info(`created new ${modelClazzName} with id ${created[this.pk]}`);
403
- if (resp)
404
- ctx.toResponse(resp);
405
- return created;
406
- };
407
- }
408
- static createBulkCreateHandler(ModelConstr, modelClazzName) {
409
- return async function createAll(data, resp) {
410
- const { ctx, log } = (await this.logCtx([], db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, true)).for(createAll);
411
- log.verbose(`creating new ${modelClazzName}`);
412
- let created;
413
- try {
414
- created = await this.persistence(ctx).createAll(data.map((d) => new ModelConstr(d)), ctx);
415
- }
416
- catch (e) {
417
- log.error(`Failed to create new ${modelClazzName}`, e);
418
- throw FromModelController.toDecafError(e, `Failed to create new ${modelClazzName}`);
419
- }
420
- log.info(`created new ${modelClazzName} with id ${created[this.pk]}`);
421
- if (resp)
422
- ctx.toResponse(resp);
423
- return created;
424
- };
425
- }
426
- static createBulkReadHandler(modelClazzName) {
427
- return async function readAll(ids) {
428
- const { ctx, log } = (await this.logCtx([], db_decorators_1.BulkCrudOperationKeys.READ_ALL, true)).for(readAll);
429
- const normalizedIds = Array.isArray(ids) ? ids : [ids];
430
- let read;
431
- try {
432
- log.debug(`reading ${normalizedIds} ${modelClazzName}`);
433
- read = await this.persistence(ctx).readAll(normalizedIds, ctx);
434
- }
435
- catch (e) {
436
- log.error(`Failed to read ${modelClazzName}`, e);
437
- throw FromModelController.toDecafError(e, `Failed to read ${modelClazzName}`);
438
- }
439
- log.info(`read ${read.length} ${modelClazzName}`);
440
- return read;
441
- };
442
- }
443
- static createBulkUpdateHandler(modelClazzName) {
444
- return async function updateAll(body, resp) {
445
- const { ctx, log } = (await this.logCtx([], db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, true)).for(updateAll);
446
- let updated;
447
- try {
448
- log.info(`updating ${body.length} ${modelClazzName}`);
449
- updated = await this.persistence(ctx).updateAll(body, ctx);
450
- }
451
- catch (e) {
452
- log.error(e);
453
- throw FromModelController.toDecafError(e, `Failed to update ${modelClazzName}`);
454
- }
455
- if (resp)
456
- ctx.toResponse(resp);
457
- return updated;
458
- };
459
- }
460
- static createBulkDeleteHandler(modelClazzName) {
461
- return async function deleteAll(ids, resp) {
462
- const { ctx, log } = (await this.logCtx([], db_decorators_1.BulkCrudOperationKeys.DELETE_ALL, true)).for(deleteAll);
463
- const normalizedIds = Array.isArray(ids) ? ids : [ids];
464
- let read;
465
- try {
466
- log.debug(`deleting ${normalizedIds.length} ${modelClazzName}`);
467
- read = await this.persistence(ctx).deleteAll(normalizedIds, ctx);
468
- }
469
- catch (e) {
470
- log.error(`Failed to delete ${modelClazzName}`, e);
471
- throw FromModelController.toDecafError(e, `Failed to delete ${modelClazzName}`);
472
- }
473
- log.info(`deleted ${read.length} ${modelClazzName}`);
474
- if (resp)
475
- ctx.toResponse(resp);
476
- return read;
477
- };
478
- }
479
- static createReadHandler(getPK, modelClazzName) {
480
- return async function read(routeParams) {
481
- const { ctx, log } = (await this.logCtx([], db_decorators_1.OperationKeys.READ, true)).for(read);
482
- const id = getPK(...routeParams.valuesInOrder);
483
- if (typeof id === "undefined")
484
- throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
485
- let readResult;
486
- try {
487
- log.debug(`reading ${modelClazzName} with ${this.pk} ${id}`);
488
- readResult = await this.persistence(ctx).read(id, ctx);
489
- }
490
- catch (e) {
491
- log.error(`Failed to read ${modelClazzName} with id ${id}`, e);
492
- throw FromModelController.toDecafError(e, `Failed to read ${modelClazzName} with id ${id}`);
493
- }
494
- log.info(`read ${modelClazzName} with id ${readResult[this.pk]}`);
495
- return readResult;
496
- };
497
- }
498
- static createUpdateHandler(getPK, ModelConstr, modelClazzName) {
499
- return async function update(routeParams, body, resp) {
500
- const { ctx, log } = (await this.logCtx([], db_decorators_1.OperationKeys.UPDATE, true)).for(update);
501
- const id = getPK(...routeParams.valuesInOrder);
502
- if (typeof id === "undefined")
503
- throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
504
- let updated;
505
- try {
506
- log.info(`updating ${modelClazzName} with ${this.pk} ${id}`);
507
- const payload = JSON.parse(JSON.stringify(body));
508
- updated = await this.persistence(ctx).update(new ModelConstr({ ...payload, [this.pk]: id }), ctx);
509
- }
510
- catch (e) {
511
- log.error(e);
512
- throw FromModelController.toDecafError(e, `Failed to update ${modelClazzName} with id ${id}`);
513
- }
514
- if (resp)
515
- ctx.toResponse(resp);
516
- return updated;
517
- };
518
- }
519
- static createDeleteHandler(getPK, modelClazzName) {
520
- return async function remove(routeParams, resp) {
521
- const { ctx, log } = (await this.logCtx([], db_decorators_1.OperationKeys.DELETE, true)).for(remove);
522
- const id = getPK(...routeParams.valuesInOrder);
523
- if (typeof id === "undefined")
524
- throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
525
- let del;
526
- try {
527
- log.debug(`deleting ${modelClazzName} with ${this.pk} ${id}`);
528
- del = await this.persistence(ctx).delete(id, ctx);
529
- }
530
- catch (e) {
531
- log.error(`Failed to delete ${modelClazzName} with id ${id}`, e);
532
- throw FromModelController.toDecafError(e, `Failed to delete ${modelClazzName} with id ${id}`);
533
- }
534
- log.info(`deleted ${modelClazzName} with id ${id}`);
535
- if (resp)
536
- ctx.toResponse(resp);
537
- return del;
538
- };
539
- }
540
- static createStatementHandler(modelClazzName) {
541
- return async function statement(name, args, details) {
542
- const { ctx } = (await this.logCtx([], core_1.PersistenceKeys.STATEMENT, true)).for(statement);
543
- const { direction, offset, limit, bookmark } = details;
544
- args = args.map((a) => (typeof a === "string" ? parseInt(a) : a) || a);
545
- const pathDirection = args.length > 1 ? args[1] : undefined;
546
- const resolvedDirection = (direction ?? pathDirection);
547
- if (resolvedDirection && args.length > 1)
548
- args[1] = resolvedDirection;
549
- switch (name) {
550
- case core_1.PreparedStatementKeys.FIND:
551
- case core_1.PreparedStatementKeys.FIND_BY:
552
- break;
553
- case core_1.PreparedStatementKeys.LIST_BY:
554
- args.push(direction);
555
- break;
556
- case core_1.PreparedStatementKeys.PAGE:
557
- case core_1.PreparedStatementKeys.PAGE_BY:
558
- args = [
559
- args[0],
560
- resolvedDirection,
561
- { limit, offset, bookmark },
562
- ];
563
- break;
564
- case core_1.PreparedStatementKeys.FIND_ONE_BY:
565
- break;
566
- case core_1.PreparedStatementKeys.COUNT_OF:
567
- case core_1.PreparedStatementKeys.MAX_OF:
568
- case core_1.PreparedStatementKeys.MIN_OF:
569
- case core_1.PreparedStatementKeys.AVG_OF:
570
- case core_1.PreparedStatementKeys.SUM_OF:
571
- case core_1.PreparedStatementKeys.DISTINCT_OF:
572
- case core_1.PreparedStatementKeys.GROUP_OF:
573
- break;
574
- }
575
- return this.persistence(ctx).statement(name, ...args, ctx);
576
- };
577
- }
578
- static createStatementShortcutHandler(statementKey, modelClazzName) {
579
- return async function statementShortcut(...args) {
580
- const { ctx } = (await this.logCtx([], statementKey, true)).for(statementShortcut);
581
- switch (statementKey) {
582
- case core_1.PreparedStatementKeys.LIST_BY: {
583
- const [key, details] = args;
584
- return this.persistence(ctx).listBy(key, details?.direction, ctx);
585
- }
586
- case core_1.PreparedStatementKeys.PAGE_BY: {
587
- const [key, page, details] = args;
588
- return this.persistence(ctx).paginateBy(key, details?.direction, {
589
- limit: details?.limit,
590
- offset: details?.offset,
591
- page,
592
- }, ctx);
593
- }
594
- case core_1.PreparedStatementKeys.FIND: {
595
- const [value, details] = args;
596
- const direction = details?.direction ?? core_1.OrderDirection.ASC;
597
- const persistence = this.persistence(ctx);
598
- if (typeof persistence.find === "function")
599
- return persistence.find(value, direction, ctx);
600
- return persistence.statement(core_1.PreparedStatementKeys.FIND, value, direction, ctx);
601
- }
602
- case core_1.PreparedStatementKeys.PAGE: {
603
- const [value, details] = args;
604
- const ref = {
605
- offset: details?.offset ?? 1,
606
- limit: details?.limit ?? 10,
607
- bookmark: details?.bookmark,
608
- };
609
- const persistence = this.persistence(ctx);
610
- const direction = details?.direction ?? core_1.OrderDirection.ASC;
611
- if (typeof persistence.page === "function")
612
- return persistence.page(value, direction, ref, ctx);
613
- return persistence.statement(core_1.PreparedStatementKeys.PAGE, value, direction, ref, ctx);
614
- }
615
- case core_1.PreparedStatementKeys.FIND_ONE_BY: {
616
- const [key, value] = args;
617
- return this.persistence(ctx).findOneBy(key, value, ctx);
618
- }
619
- case core_1.PreparedStatementKeys.FIND_BY: {
620
- const [key, value] = args;
621
- return this.persistence(ctx)
622
- .for(ctx.toOverrides())
623
- .findBy(key, value, ctx);
624
- }
625
- default:
626
- if (statementKey === core_1.PreparedStatementKeys.COUNT_OF ||
627
- statementKey === core_1.PreparedStatementKeys.MAX_OF ||
628
- statementKey === core_1.PreparedStatementKeys.MIN_OF ||
629
- statementKey === core_1.PreparedStatementKeys.AVG_OF ||
630
- statementKey === core_1.PreparedStatementKeys.SUM_OF ||
631
- statementKey === core_1.PreparedStatementKeys.DISTINCT_OF ||
632
- statementKey === core_1.PreparedStatementKeys.GROUP_OF) {
633
- const [field] = args;
634
- return this.persistence(ctx).statement(statementKey, field, ctx);
635
- }
636
- throw new db_decorators_1.InternalError(`Unknown statement: ${statementKey}`);
637
- }
638
- };
639
- }
640
432
  static createComplexQueryHandler(methodName) {
641
433
  return async function complexQuery(...args) {
642
434
  const log = this.log?.for?.(complexQuery);
@@ -646,7 +438,8 @@ class FromModelController {
646
438
  const { ctx } = (await this.logCtx([], methodName, true)).for(complexQuery);
647
439
  const persistence = this.persistence(ctx);
648
440
  const spreadArgs = FromModelController.normalizeQueryArgs(args);
649
- if (persistence?.repo && typeof persistence.repo[methodName] === "function") {
441
+ if (persistence?.repo &&
442
+ typeof persistence.repo[methodName] === "function") {
650
443
  return persistence.repo[methodName](...spreadArgs);
651
444
  }
652
445
  if (typeof persistence[methodName] === "function") {
@@ -667,33 +460,11 @@ class FromModelController {
667
460
  }
668
461
  };
669
462
  }
670
- static createCustomRouteHandler(methodName) {
671
- return async function customRoute(...args) {
672
- const log = this.log?.for?.(customRoute);
673
- const { ctx } = (await this.logCtx([], methodName, true)).for(customRoute);
674
- const persistence = this.persistence(ctx);
675
- const spreadArgs = FromModelController.normalizeQueryArgs(args);
676
- // Try the persistence directly (works when it's a custom Repository)
677
- if (persistence?.repo && typeof persistence.repo[methodName] === "function") {
678
- return persistence.repo[methodName](...spreadArgs);
679
- }
680
- if (typeof persistence[methodName] === "function") {
681
- return persistence[methodName](...spreadArgs);
682
- }
683
- // Fall back to statement gateway
684
- if (typeof persistence.statement === "function") {
685
- return persistence.statement(methodName, ...spreadArgs, ctx);
686
- }
687
- throw new db_decorators_1.InternalError(`Method "${methodName}" not found on ${persistence?.constructor?.name} or its repo`);
688
- };
689
- }
690
463
  static extractQueryArgs(args) {
691
464
  if (args.length === 0)
692
465
  return args;
693
466
  const last = args[args.length - 1];
694
- if (last &&
695
- typeof last === "object" &&
696
- !Array.isArray(last)) {
467
+ if (last && typeof last === "object" && !Array.isArray(last)) {
697
468
  const queryObj = args.pop();
698
469
  const hasDirection = queryObj.direction !== undefined;
699
470
  const hasLimit = queryObj.limit !== undefined;
@@ -900,7 +671,10 @@ class FromModelController {
900
671
  (0, swagger_1.ApiOperation)({
901
672
  summary: `Executes a prepared statement on ${modelClazzName}.`,
902
673
  }),
903
- (0, swagger_1.ApiParam)({ name: "method", description: "the prepared statement to execute" }),
674
+ (0, swagger_1.ApiParam)({
675
+ name: "method",
676
+ description: "the prepared statement to execute",
677
+ }),
904
678
  (0, swagger_1.ApiParam)({
905
679
  name: "args",
906
680
  description: "concatenated list of arguments the prepared statement can accept",
@@ -911,8 +685,16 @@ class FromModelController {
911
685
  enum: core_1.OrderDirection,
912
686
  description: "the sort order when applicable",
913
687
  }),
914
- (0, swagger_1.ApiQuery)({ name: "limit", required: true, description: "limit or page size when applicable" }),
915
- (0, swagger_1.ApiQuery)({ name: "offset", required: true, description: "offset or bookmark when applicable" }),
688
+ (0, swagger_1.ApiQuery)({
689
+ name: "limit",
690
+ required: true,
691
+ description: "limit or page size when applicable",
692
+ }),
693
+ (0, swagger_1.ApiQuery)({
694
+ name: "offset",
695
+ required: true,
696
+ description: "offset or bookmark when applicable",
697
+ }),
916
698
  (0, swagger_1.ApiOkResponse)({ description: `${modelClazzName} listed found.` }),
917
699
  (0, swagger_1.ApiNotFoundResponse)({
918
700
  description: `No ${modelClazzName} record matches the provided identifier.`,
@@ -923,7 +705,9 @@ class FromModelController {
923
705
  const base = [
924
706
  (0, index_js_1.ApiOperationFromModel)(ModelConstr, "GET", path),
925
707
  (0, swagger_1.ApiOperation)({ summary: `Retrieve ${modelClazzName} records.` }),
926
- (0, swagger_1.ApiOkResponse)({ description: `${modelClazzName} retrieved successfully.` }),
708
+ (0, swagger_1.ApiOkResponse)({
709
+ description: `${modelClazzName} retrieved successfully.`,
710
+ }),
927
711
  ];
928
712
  const segments = path.split("/").filter((s) => s.startsWith(":"));
929
713
  segments.forEach((seg) => {
@@ -942,7 +726,15 @@ class FromModelController {
942
726
  }));
943
727
  }
944
728
  if (path.startsWith("paginateBy/") || path.startsWith("page/")) {
945
- base.push((0, swagger_1.ApiQuery)({ name: "limit", required: false, description: "page size" }), (0, swagger_1.ApiQuery)({ name: "offset", required: false, description: "page number" }), (0, swagger_1.ApiQuery)({ name: "bookmark", required: false, description: "bookmark for cursor pagination" }));
729
+ base.push((0, swagger_1.ApiQuery)({ name: "limit", required: false, description: "page size" }), (0, swagger_1.ApiQuery)({
730
+ name: "offset",
731
+ required: false,
732
+ description: "page number",
733
+ }), (0, swagger_1.ApiQuery)({
734
+ name: "bookmark",
735
+ required: false,
736
+ description: "bookmark for cursor pagination",
737
+ }));
946
738
  }
947
739
  if (path.startsWith("findOneBy/") || path.startsWith("findBy/")) {
948
740
  base.push((0, swagger_1.ApiNotFoundResponse)({
@@ -952,15 +744,24 @@ class FromModelController {
952
744
  if (statementKey === core_1.PreparedStatementKeys.COUNT_OF ||
953
745
  statementKey === core_1.PreparedStatementKeys.AVG_OF ||
954
746
  statementKey === core_1.PreparedStatementKeys.SUM_OF) {
955
- base.push((0, swagger_1.ApiOkResponse)({ description: `Result for ${modelClazzName}.`, type: Number }));
747
+ base.push((0, swagger_1.ApiOkResponse)({
748
+ description: `Result for ${modelClazzName}.`,
749
+ type: Number,
750
+ }));
956
751
  }
957
752
  if (statementKey === core_1.PreparedStatementKeys.DISTINCT_OF) {
958
- base.push((0, swagger_1.ApiOkResponse)({ description: `Distinct values for ${modelClazzName}.`, type: [String] }));
753
+ base.push((0, swagger_1.ApiOkResponse)({
754
+ description: `Distinct values for ${modelClazzName}.`,
755
+ type: [String],
756
+ }));
959
757
  }
960
758
  return base;
961
759
  }
962
760
  static getQueryDecorators(methodName, routePath, httpVerb, includeQueryParams = false) {
963
- const extractPathParams = (p) => p.split("/").filter((s) => s.startsWith(":")).map((s) => s.slice(1));
761
+ const extractPathParams = (p) => p
762
+ .split("/")
763
+ .filter((s) => s.startsWith(":"))
764
+ .map((s) => s.slice(1));
964
765
  const apiPathParams = extractPathParams(routePath).map((name) => ({
965
766
  name,
966
767
  description: `${name} parameter for the query`,
@@ -971,7 +772,9 @@ class FromModelController {
971
772
  ...apiPathParams.map((p) => (0, swagger_1.ApiParam)(p)),
972
773
  (0, swagger_1.ApiOperation)({ summary: `Retrieve records using "${methodName}".` }),
973
774
  (0, swagger_1.ApiOkResponse)({ description: "Result successfully retrieved." }),
974
- (0, swagger_1.ApiNoContentResponse)({ description: "No content returned by the method." }),
775
+ (0, swagger_1.ApiNoContentResponse)({
776
+ description: "No content returned by the method.",
777
+ }),
975
778
  ];
976
779
  if (httpVerb === "GET" && includeQueryParams) {
977
780
  decorators.push((0, swagger_1.ApiQuery)({
@@ -979,11 +782,19 @@ class FromModelController {
979
782
  required: false,
980
783
  enum: core_1.OrderDirection,
981
784
  description: "the sort order when applicable",
982
- }), (0, swagger_1.ApiQuery)({ name: "limit", required: false, description: "limit or page size" }), (0, swagger_1.ApiQuery)({ name: "offset", required: false, description: "offset or bookmark" }));
785
+ }), (0, swagger_1.ApiQuery)({
786
+ name: "limit",
787
+ required: false,
788
+ description: "limit or page size",
789
+ }), (0, swagger_1.ApiQuery)({
790
+ name: "offset",
791
+ required: false,
792
+ description: "offset or bookmark",
793
+ }));
983
794
  }
984
795
  return decorators;
985
796
  }
986
797
  }
987
798
  exports.FromModelController = FromModelController;
988
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbU1vZGVsQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNhZi1tb2RlbC9Gcm9tTW9kZWxDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLGtCQUFrQixFQUNsQixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLDhCQUE4QixFQUM5QixhQUFhLEdBQ2QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBRUwsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YscUJBQXFCLEVBRXJCLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFvQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEVBQ2IsZUFBZSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBZSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUVsQixTQUFTLEVBQ1QsVUFBVSxHQUNYLDhCQUFxQjtBQUN0QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQTJCO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBbUI7QUFDakQsT0FBTyxF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Q0FBQyxDQUNqRixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sbGVyLCBQYXJhbSwgUXVlcnksIFJlc3BvbnNlLCBTZXRNZXRhZGF0YSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlLFxuICBBcGlCb2R5LFxuICBBcGlDcmVhdGVkUmVzcG9uc2UsXG4gIEFwaUV4dHJhTW9kZWxzLFxuICBBcGlOb0NvbnRlbnRSZXNwb25zZSxcbiAgQXBpTm90Rm91bmRSZXNwb25zZSxcbiAgQXBpT2tSZXNwb25zZSxcbiAgQXBpT3BlcmF0aW9uLFxuICBBcGlQYXJhbSxcbiAgQXBpUXVlcnksXG4gIEFwaVRhZ3MsXG4gIEFwaVVucHJvY2Vzc2FibGVFbnRpdHlSZXNwb25zZSxcbiAgZ2V0U2NoZW1hUGF0aCxcbn0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBEaXJlY3Rpb25MaW1pdE9mZnNldCxcbiAgTW9kZWxTZXJ2aWNlLFxuICBPcmRlckRpcmVjdGlvbixcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBQcmVwYXJlZFN0YXRlbWVudEtleXMsXG4gIHR5cGUgUmVwbyxcbiAgUmVwb3NpdG9yeSxcbiAgU2VydmljZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCwgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvS2ViYWJDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQge1xuICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsXG4gIERCS2V5cyxcbiAgQmFzZUVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwsXG4gIEFwaVBhcmFtc0Zyb21Nb2RlbCxcbiAgdHlwZSBEZWNhZkFwaVByb3BlcnR5LFxuICBEZWNhZkJvZHksXG4gIERlY2FmUXVlcnksXG59IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEh0dHBWZXJiVG9EZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3V0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IEh0dHBWZXJicyB9IGZyb20gXCIuL2RlY29yYXRvcnMvdHlwZXNcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi4vcmVxdWVzdFwiO1xuaW1wb3J0IHsgREVDQUZfQ09OVFJPTExFUl9DT05GSUcsIERFQ0FGX1JPVVRFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgU0tJUF9NT0RFTF9ST0xFU19LRVkgfSBmcm9tIFwiLi4vYXV0aC9jb25zdGFudHNcIjtcbmltcG9ydCB7IEF1dGgsIFB1YmxpYywgUmVxdWlyZVJvbGVzIH0gZnJvbSBcIi4uL2F1dGgvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29udHJvbGxlckNvbnN0cnVjdG9yIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IERlY2FmTW9kZWxDb250cm9sbGVyIH0gZnJvbSBcIi4uL2NvbnRyb2xsZXJzXCI7XG5pbXBvcnQgeyBEdG9Gb3IgfSBmcm9tIFwiLi4vZmFjdG9yeS9vcGVuYXBpL0R0b0J1aWxkZXJcIjtcbmltcG9ydCBcIi4uL292ZXJyaWRlc1wiO1xuaW1wb3J0IHtcbiAgTW9kZWxDb250cm9sbGVyRmFjdG9yeSxcbiAgdHlwZSBNb2RlbENvbnRyb2xsZXJGYWN0b3J5Q29uZmlnLFxuICB0eXBlIEF1dGhDb25maWcsXG4gIHR5cGUgU2VydmVyUm91dGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5cbmV4cG9ydCBjbGFzcyBGcm9tTW9kZWxDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgbG9nID0gTG9nZ2luZy5mb3IoRnJvbU1vZGVsQ29udHJvbGxlci5uYW1lKTtcblxuICBwcml2YXRlIHN0YXRpYyB0b0RlY2FmRXJyb3IoXG4gICAgZXJyb3I6IHVua25vd24sXG4gICAgZmFsbGJhY2tNZXNzYWdlOiBzdHJpbmdcbiAgKTogQmFzZUVycm9yIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBCYXNlRXJyb3IpIHJldHVybiBlcnJvcjtcbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gYCR7ZmFsbGJhY2tNZXNzYWdlfTogJHtlcnJvci5tZXNzYWdlfWAgOiBmYWxsYmFja01lc3NhZ2VcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFBlcnNpc3RlbmNlPFQgZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gICAgTW9kZWxDbGF6ejogTW9kZWxDb25zdHJ1Y3RvcjxUPlxuICApOiBSZXBvPFQ+IHwgTW9kZWxTZXJ2aWNlPFQ+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIFNlcnZpY2UuZ2V0PE1vZGVsU2VydmljZTxUPj4oTW9kZWxDbGF6eik7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIE1vZGVsU2VydmljZS5nZXRTZXJ2aWNlKE1vZGVsQ2xhenopIGFzIE1vZGVsU2VydmljZTxUPjtcbiAgICAgIH0gY2F0Y2ggKGUyOiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBSZXBvc2l0b3J5LmZvck1vZGVsKE1vZGVsQ2xhenopIGFzIFJlcG88VD47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVF1ZXJ5Um91dGVzRnJvbVJlcG9zaXRvcnk8VCBleHRlbmRzIE1vZGVsPGJvb2xlYW4+PihcbiAgICBwZXJzaXN0ZW5jZTogUmVwbzxUPiB8IE1vZGVsU2VydmljZTxUPixcbiAgICBwcmVmaXg6IHN0cmluZyA9IFBlcnNpc3RlbmNlS2V5cy5RVUVSWVxuICApOiBDb250cm9sbGVyQ29uc3RydWN0b3I8VD4ge1xuICAgIGNvbnN0IHJlcG86IFJlcG88VD4gPVxuICAgICAgcGVyc2lzdGVuY2UgaW5zdGFuY2VvZiBNb2RlbFNlcnZpY2UgPyBwZXJzaXN0ZW5jZS5yZXBvIDogcGVyc2lzdGVuY2U7XG4gICAgY29uc3QgTW9kZWxDb25zdHI6IENvbnN0cnVjdG9yID0gcmVwby5jbGFzcztcbiAgICBjb25zdCBxdWVyeU1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIHsgZmllbGRzPzogc3RyaW5nW10gfCB1bmRlZmluZWQgfT4gPVxuICAgICAgTWV0YWRhdGEuZ2V0KFxuICAgICAgICByZXBvLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICBNZXRhZGF0YS5rZXkoUGVyc2lzdGVuY2VLZXlzLlFVRVJZKVxuICAgICAgKSA/PyB7fTtcblxuICAgIGNvbnN0IHJvdXRlTWV0aG9kczogUmVjb3JkPHN0cmluZywgYW55PiA9XG4gICAgICBNZXRhZGF0YS5nZXQoXG4gICAgICAgIHBlcnNpc3RlbmNlLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICBNZXRhZGF0YS5rZXkoREVDQUZfUk9VVEUpXG4gICAgICApID8/IHt9O1xuXG4gICAgY2xhc3MgUXVlcnlDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZNb2RlbENvbnRyb2xsZXI8VD4ge1xuICAgICAgb3ZlcnJpZGUgZ2V0IGNsYXNzKCk6IE1vZGVsQ29uc3RydWN0b3I8VD4ge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgICAgfVxuICAgICAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dCwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKGNsaWVudENvbnRleHQsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIHBhcmFtc10gb2YgT2JqZWN0LmVudHJpZXMocm91dGVNZXRob2RzKSkge1xuICAgICAgY29uc3Qgcm91dGVQYXRoID0gW3BhcmFtcy5wYXRoLnJlcGxhY2UoL15cXC8rfFxcLyskL2csIFwiXCIpXVxuICAgICAgICAuZmlsdGVyKChzZWdtZW50OiBzdHJpbmcpID0+IHNlZ21lbnQgJiYgc2VnbWVudC50cmltKCkpXG4gICAgICAgIC5qb2luKFwiL1wiKTtcblxuICAgICAgY29uc3QgaGFuZGxlciA9IEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlQ29tcGxleFF1ZXJ5SGFuZGxlcihcbiAgICAgICAgbWV0aG9kTmFtZVxuICAgICAgKSBhcyBhbnk7XG4gICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmRlZmluZU1ldGhvZChcbiAgICAgICAgUXVlcnlDb250cm9sbGVyLFxuICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICBoYW5kbGVyXG4gICAgICApO1xuXG4gICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihwYXJhbXMuaHR0cE1ldGhvZCBhcyBIdHRwVmVyYnMpKHJvdXRlUGF0aCB8fCB1bmRlZmluZWQpO1xuICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UXVlcnlEZWNvcmF0b3JzKFxuICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICByb3V0ZVBhdGgsXG4gICAgICAgIHBhcmFtcy5odHRwTWV0aG9kXG4gICAgICApO1xuICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5hcHBseURlY29yYXRvcnMoXG4gICAgICAgIFF1ZXJ5Q29udHJvbGxlcixcbiAgICAgICAgbWV0aG9kTmFtZSxcbiAgICAgICAgW2h0dHBEZWNvcmF0b3IsIC4uLmRlY29yYXRvcnNdXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIG9ialZhbHVlc10gb2YgT2JqZWN0LmVudHJpZXMocXVlcnlNZXRob2RzKSkge1xuICAgICAgY29uc3QgZmllbGRzID0gb2JqVmFsdWVzLmZpZWxkcyA/PyBbXTtcbiAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IFtwcmVmaXgsIG1ldGhvZE5hbWUsIC4uLmZpZWxkcy5tYXAoKGYpID0+IGA6JHtmfWApXVxuICAgICAgICAuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50ICYmIHNlZ21lbnQudHJpbSgpKVxuICAgICAgICAuam9pbihcIi9cIik7XG5cbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZUNvbXBsZXhRdWVyeUhhbmRsZXIoXG4gICAgICAgIG1ldGhvZE5hbWVcbiAgICAgICkgYXMgYW55O1xuICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoXG4gICAgICAgIFF1ZXJ5Q29udHJvbGxlcixcbiAgICAgICAgbWV0aG9kTmFtZSxcbiAgICAgICAgaGFuZGxlclxuICAgICAgKTtcblxuICAgICAgY29uc3QgaHR0cERlY29yYXRvciA9IEh0dHBWZXJiVG9EZWNvcmF0b3IoXCJHRVRcIiBhcyBIdHRwVmVyYnMpKHJvdXRlUGF0aCB8fCB1bmRlZmluZWQpO1xuICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UXVlcnlEZWNvcmF0b3JzKFxuICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICByb3V0ZVBhdGgsXG4gICAgICAgIFwiR0VUXCIsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhcbiAgICAgICAgUXVlcnlDb250cm9sbGVyLFxuICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICBbaHR0cERlY29yYXRvciwgLi4uZGVjb3JhdG9yc11cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFF1ZXJ5Q29udHJvbGxlcjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGU8VCBleHRlbmRzIE1vZGVsPGFueT4+KFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPFQ+LFxuICAgIG1vZHVsZUNvbmZpZ092ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIE1vZGVsQ29udHJvbGxlckZhY3RvcnlDb25maWc+LFxuICAgIGdsb2JhbERlZmF1bHRzPzogUGFydGlhbDxNb2RlbENvbnRyb2xsZXJGYWN0b3J5Q29uZmlnPlxuICApOiBDb250cm9sbGVyQ29uc3RydWN0b3I8VD4ge1xuICAgIGNvbnN0IGxvZyA9IEZyb21Nb2RlbENvbnRyb2xsZXIubG9nLmZvcihGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZSk7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKE1vZGVsQ29uc3RyKTtcbiAgICBjb25zdCByb3V0ZVBhdGggPSB0b0tlYmFiQ2FzZSh0YWJsZU5hbWUpO1xuICAgIGNvbnN0IG1vZGVsQ2xhenpOYW1lID0gTW9kZWxDb25zdHIubmFtZTtcbiAgICBjb25zdCBwZXJzaXN0ZW5jZSA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UGVyc2lzdGVuY2UoTW9kZWxDb25zdHIpO1xuXG4gICAgLy8gV2hlbiBwZXJzaXN0ZW5jZSBpcyBhIE1vZGVsU2VydmljZSwgdGhlIEBxdWVyeS9Acm91dGUgbWV0YWRhdGEgbGl2ZXMgb25cbiAgICAvLyB0aGUgdW5kZXJseWluZyByZXBvc2l0b3J5IGNsYXNzIChjdXN0b20gcmVwbyksIG5vdCBvbiBNb2RlbFNlcnZpY2UgaXRzZWxmLlxuICAgIC8vIFBhc3MgdGhlIHJlcG8gdG8gdGhlIGZhY3Rvcnkgc28gYWRkQ29tcGxleFF1ZXJpZXMoKSBjYW4gZGlzY292ZXIgdGhlbS5cbiAgICBjb25zdCBmYWN0b3J5UGVyc2lzdGVuY2UgPVxuICAgICAgcGVyc2lzdGVuY2UgaW5zdGFuY2VvZiBNb2RlbFNlcnZpY2UgPyBwZXJzaXN0ZW5jZS5yZXBvIDogcGVyc2lzdGVuY2U7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JDb25maWcgPSBNZXRhZGF0YS5nZXQoXG4gICAgICBNb2RlbENvbnN0cixcbiAgICAgIE1ldGFkYXRhLmtleShERUNBRl9DT05UUk9MTEVSX0NPTkZJRylcbiAgICApIGFzIE1vZGVsQ29udHJvbGxlckZhY3RvcnlDb25maWcgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgbW9kdWxlT3ZlcnJpZGUgPSBtb2R1bGVDb25maWdPdmVycmlkZXM/LltNb2RlbENvbnN0ci5uYW1lXTtcbiAgICBjb25zdCBtZXJnZWRDb25maWc6IE1vZGVsQ29udHJvbGxlckZhY3RvcnlDb25maWcgPSB7XG4gICAgICAuLi4oZ2xvYmFsRGVmYXVsdHMgfHwge30pLFxuICAgICAgLi4uKGRlY29yYXRvckNvbmZpZyB8fCB7fSksXG4gICAgICAuLi4obW9kdWxlT3ZlcnJpZGUgfHwge30pLFxuICAgIH07XG5cbiAgICBjb25zdCBGYWN0b3J5Q29udHJvbGxlciA9IE1vZGVsQ29udHJvbGxlckZhY3RvcnkuY3JlYXRlPFQ+KFxuICAgICAgTW9kZWxDb25zdHIsXG4gICAgICBmYWN0b3J5UGVyc2lzdGVuY2UsXG4gICAgICBtZXJnZWRDb25maWdcbiAgICApO1xuICAgIGNvbnN0IGZhY3RvcnlSb3V0ZXMgPSAoRmFjdG9yeUNvbnRyb2xsZXIgYXMgYW55KS5fX3JvdXRlc19fIGFzXG4gICAgICB8IFNlcnZlclJvdXRlW11cbiAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeyBnZXRQSywgYXBpUHJvcGVydGllcywgcGF0aDogcGtQYXRoIH0gPVxuICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5nZXRSb3V0ZVBhcmFtZXRlcnNGcm9tTW9kZWwoTW9kZWxDb25zdHIpO1xuXG4gICAgbG9nLmRlYnVnKFxuICAgICAgYENyZWF0aW5nIGNvbnRyb2xsZXIgZm9yIG1vZGVsOiAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7ZmFjdG9yeVJvdXRlcz8ubGVuZ3RoID8/IDB9IGZhY3Rvcnkgcm91dGVzYFxuICAgICk7XG5cbiAgICBjb25zdCBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnIHwgdW5kZWZpbmVkID0gbWVyZ2VkQ29uZmlnLmF1dGg7XG5cbiAgICBmdW5jdGlvbiBhcHBseUNsYXNzQXV0aCh0YXJnZXQ6IGFueSkge1xuICAgICAgaWYgKGF1dGhDb25maWc/LnB1YmxpYykge1xuICAgICAgICBQdWJsaWMoKSh0YXJnZXQpO1xuICAgICAgfSBlbHNlIGlmIChhdXRoQ29uZmlnPy5yb2xlcz8ubGVuZ3RoKSB7XG4gICAgICAgIFJlcXVpcmVSb2xlcyguLi5hdXRoQ29uZmlnLnJvbGVzKSh0YXJnZXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgQXV0aChNb2RlbENvbnN0cikodGFyZ2V0KTtcbiAgICAgIH1cbiAgICAgIGlmIChhdXRoQ29uZmlnPy5za2lwTW9kZWxSb2xlcykge1xuICAgICAgICBTZXRNZXRhZGF0YShTS0lQX01PREVMX1JPTEVTX0tFWSwgdHJ1ZSkodGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAQ29udHJvbGxlcihyb3V0ZVBhdGgpXG4gICAgQEFwaVRhZ3MobW9kZWxDbGF6ek5hbWUpXG4gICAgQEFwaUV4dHJhTW9kZWxzKE1vZGVsQ29uc3RyKVxuICAgIGNsYXNzIER5bmFtaWNNb2RlbENvbnRyb2xsZXIgZXh0ZW5kcyBEZWNhZk1vZGVsQ29udHJvbGxlcjxUPiB7XG4gICAgICBwcml2YXRlIHJlYWRvbmx5IHBrOiBzdHJpbmcgPSBNb2RlbC5wayhNb2RlbENvbnN0cikgYXMgc3RyaW5nO1xuXG4gICAgICBwcm90ZWN0ZWQgc3RhdGljIGdldCBjbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIE1vZGVsQ29uc3RyO1xuICAgICAgfVxuXG4gICAgICBvdmVycmlkZSBnZXQgY2xhc3MoKTogTW9kZWxDb25zdHJ1Y3RvcjxUPiB7XG4gICAgICAgIHJldHVybiBNb2RlbENvbnN0cjtcbiAgICAgIH1cblxuICAgICAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dCkge1xuICAgICAgICBzdXBlcihjbGllbnRDb250ZXh0LCBEeW5hbWljTW9kZWxDb250cm9sbGVyLm5hbWUpO1xuICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICBgUmVnaXN0ZXJpbmcgZHluYW1pYyBjb250cm9sbGVyIGZvciBtb2RlbDogJHt0aGlzLmNsYXNzLm5hbWV9IHJvdXRlOiAvJHtyb3V0ZVBhdGh9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5Q2xhc3NBdXRoKER5bmFtaWNNb2RlbENvbnRyb2xsZXIpO1xuXG4gICAgaWYgKGZhY3RvcnlSb3V0ZXMpIHtcbiAgICAgIGNvbnN0IHNvcnRlZFJvdXRlcyA9IFsuLi5mYWN0b3J5Um91dGVzXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGFTZWdtZW50cyA9IGEucGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBjb25zdCBiU2VnbWVudHMgPSBiLnBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgY29uc3QgYVBhcmFtQ291bnQgPSBhU2VnbWVudHMuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGJQYXJhbUNvdW50ID0gYlNlZ21lbnRzLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSkubGVuZ3RoO1xuICAgICAgICBjb25zdCBhTGl0ZXJhbENvdW50ID0gYVNlZ21lbnRzLmxlbmd0aCAtIGFQYXJhbUNvdW50O1xuICAgICAgICBjb25zdCBiTGl0ZXJhbENvdW50ID0gYlNlZ21lbnRzLmxlbmd0aCAtIGJQYXJhbUNvdW50O1xuICAgICAgICBpZiAoYUxpdGVyYWxDb3VudCAhPT0gYkxpdGVyYWxDb3VudClcbiAgICAgICAgICByZXR1cm4gYkxpdGVyYWxDb3VudCAtIGFMaXRlcmFsQ291bnQ7XG4gICAgICAgIGlmIChhUGFyYW1Db3VudCAhPT0gYlBhcmFtQ291bnQpXG4gICAgICAgICAgcmV0dXJuIGFQYXJhbUNvdW50IC0gYlBhcmFtQ291bnQ7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3Qgcm91dGUgb2Ygc29ydGVkUm91dGVzKSB7XG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSByb3V0ZS5pbXBsZW1lbnRhdGlvbj8ubmFtZSB8fCByb3V0ZS5tZXRob2QudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gRnJvbU1vZGVsQ29udHJvbGxlci5tYXRjaFJvdXRlKFxuICAgICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgICAgcm91dGUsXG4gICAgICAgICAgcGtQYXRoLFxuICAgICAgICAgIGFwaVByb3BlcnRpZXMsXG4gICAgICAgICAgZ2V0UEssXG4gICAgICAgICAgTW9kZWxDb25zdHIsXG4gICAgICAgICAgbW9kZWxDbGF6ek5hbWUsXG4gICAgICAgICAgZmFjdG9yeVBlcnNpc3RlbmNlXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmVnaXN0cmF0aW9uKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgbWV0aG9kTmFtZTogcmVnaXN0ZXJlZE1ldGhvZE5hbWUsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBkZWNvcmF0b3JzLFxuICAgICAgICAgIHBhcmFtRGVjb3JhdG9ycyxcbiAgICAgICAgfSA9IHJlZ2lzdHJhdGlvbjtcblxuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoXG4gICAgICAgICAgRHluYW1pY01vZGVsQ29udHJvbGxlcixcbiAgICAgICAgICByZWdpc3RlcmVkTWV0aG9kTmFtZSxcbiAgICAgICAgICBoYW5kbGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihyb3V0ZS5tZXRob2QgYXMgSHR0cFZlcmJzKShcbiAgICAgICAgICAgIHJvdXRlLnBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIikgfHwgdW5kZWZpbmVkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhcbiAgICAgICAgICAgIER5bmFtaWNNb2RlbENvbnRyb2xsZXIsXG4gICAgICAgICAgICByZWdpc3RlcmVkTWV0aG9kTmFtZSxcbiAgICAgICAgICAgIFtodHRwRGVjb3JhdG9yLCAuLi5kZWNvcmF0b3JzXSxcbiAgICAgICAgICAgIHBhcmFtRGVjb3JhdG9yc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRHluYW1pY01vZGVsQ29udHJvbGxlciBhcyBhbnk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Um91dGVQYXJhbWV0ZXJzRnJvbU1vZGVsPFQgZXh0ZW5kcyBNb2RlbDxhbnk+PihcbiAgICBNb2RlbENsYXp6OiBNb2RlbENvbnN0cnVjdG9yPFQ+XG4gICk6IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBhcGlQcm9wZXJ0aWVzOiBEZWNhZkFwaVByb3BlcnR5W107XG4gICAgZ2V0UEs6ICguLi5wYXJhbXM6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pID0+IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgcGsgPSBNb2RlbC5wayhNb2RlbENsYXp6KSBhcyBrZXlvZiBNb2RlbDxhbnk+O1xuICAgIGNvbnN0IGNvbXBvc2VkID0gTWV0YWRhdGEuZ2V0KFxuICAgICAgTW9kZWxDbGF6eixcbiAgICAgIE1ldGFkYXRhLmtleShEQktleXMuQ09NUE9TRUQsIHBrKVxuICAgICk7XG4gICAgY29uc3QgY29tcG9zZWRLZXlzID0gY29tcG9zZWQ/LmFyZ3MgPz8gW107XG5cbiAgICBjb25zdCB1bmlxdWVLZXlzID1cbiAgICAgIEFycmF5LmlzQXJyYXkoY29tcG9zZWRLZXlzKSAmJiBjb21wb3NlZEtleXMubGVuZ3RoID4gMFxuICAgICAgICA/IEFycmF5LmZyb20obmV3IFNldChbLi4uY29tcG9zZWRLZXlzXSkpXG4gICAgICAgIDogQXJyYXkuZnJvbShuZXcgU2V0KFtwa10pKTtcblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24oTW9kZWxDbGF6eikgPz8gXCJcIjtcbiAgICBjb25zdCBwYXRoID0gYDoke3VuaXF1ZUtleXMuam9pbihcIi86XCIpfWA7XG4gICAgY29uc3QgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdID0gdW5pcXVlS2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZToga2V5LFxuICAgICAgICBkZXNjcmlwdGlvbjogTWV0YWRhdGEuZGVzY3JpcHRpb24oTW9kZWxDbGF6eiwga2V5KSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgYXBpUHJvcGVydGllcyxcbiAgICAgIGdldFBLOiAoLi4ucGFyYW1zOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSA9PlxuICAgICAgICBjb21wb3NlZD8uc2VwYXJhdG9yID8gcGFyYW1zLmpvaW4oY29tcG9zZWQuc2VwYXJhdG9yKSA6IHBhcmFtcy5qb2luKFwiXCIpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByb3V0ZVBhcmFtRGVjb3JhdG9ycyhcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PiB7XG4gICAgbGV0IHBhcmFtSW5kZXggPSAwO1xuICAgIHJldHVybiBwYXRoXG4gICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAuZmxhdE1hcCgoc2VnbWVudCkgPT4ge1xuICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiOlwiKSkge1xuICAgICAgICAgIHJldHVybiBbeyBkZWNvcmF0b3I6IFBhcmFtKHNlZ21lbnQuc2xpY2UoMSkpIGFzIGFueSwgaW5kZXg6IHBhcmFtSW5kZXgrKyB9XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiKlwiKSkge1xuICAgICAgICAgIHJldHVybiBbeyBkZWNvcmF0b3I6IFBhcmFtKHNlZ21lbnQuc2xpY2UoMSkpIGFzIGFueSwgaW5kZXg6IHBhcmFtSW5kZXgrKyB9XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlZmluZU1ldGhvZChcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgaGFuZGxlcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbiAgKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICB0YXJnZXQucHJvdG90eXBlIHx8IHRhcmdldCxcbiAgICAgIG1ldGhvZE5hbWUsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBoYW5kbGVyLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgdGFyZ2V0LnByb3RvdHlwZSB8fCB0YXJnZXQsXG4gICAgICBtZXRob2ROYW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGFwcGx5RGVjb3JhdG9ycyhcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgbWV0aG9kRGVjb3JhdG9yczogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPixcbiAgICBwYXJhbURlY29yYXRvcnM6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT4gPSBbXVxuICApIHtcbiAgICBjb25zdCBwcm90byA9IHRhcmdldD8ucHJvdG90eXBlID8/IHRhcmdldDtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgbWV0aG9kTmFtZSk7XG4gICAgbWV0aG9kRGVjb3JhdG9ycy5mb3JFYWNoKChkKSA9PiBkKHByb3RvLCBtZXRob2ROYW1lLCBkZXNjcmlwdG9yKSk7XG4gICAgcGFyYW1EZWNvcmF0b3JzLmZvckVhY2goKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PlxuICAgICAgZGVjb3JhdG9yKHByb3RvLCBtZXRob2ROYW1lLCBpbmRleClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWF0Y2hSb3V0ZShcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgcm91dGU6IFNlcnZlclJvdXRlLFxuICAgIHBrUGF0aDogc3RyaW5nLFxuICAgIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXSxcbiAgICBnZXRQSzogKC4uLnA6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pID0+IHN0cmluZyxcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgcGVyc2lzdGVuY2U/OiBhbnlcbiAgKToge1xuICAgIG1ldGhvZE5hbWU6IHN0cmluZztcbiAgICBoYW5kbGVyOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbiAgICBkZWNvcmF0b3JzOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+O1xuICAgIHBhcmFtRGVjb3JhdG9yczogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PjtcbiAgfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgeyBtZXRob2QsIHBhdGggfSA9IHJvdXRlO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gcGF0aC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCBcIlwiKTtcbiAgICBjb25zdCBoYW5kbGVyID0gcm91dGUuaW1wbGVtZW50YXRpb24gYXMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbiAgICBpZiAobWV0aG9kID09PSBcIlBPU1RcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gXCJcIikge1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcImNyZWF0ZVwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZUNyZWF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSxcbiAgICAgICAgW3sgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSBhcyBhbnksIGluZGV4OiAwIH0sIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pIGFzIGFueSwgaW5kZXg6IDEgfV1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJQT1NUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwiY3JlYXRlQWxsXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa0NyZWF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSxcbiAgICAgICAgW3sgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSBhcyBhbnksIGluZGV4OiAwIH0sIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pIGFzIGFueSwgaW5kZXg6IDEgfV1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gXCJidWxrXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJyZWFkQWxsXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1JlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksXG4gICAgICAgIFt7IGRlY29yYXRvcjogUXVlcnkoXCJpZHNcIikgYXMgYW55LCBpbmRleDogMCB9XVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcInVwZGF0ZUFsbFwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmJ1bGtVcGRhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcyksXG4gICAgICAgIFt7IGRlY29yYXRvcjogRGVjYWZCb2R5KCkgYXMgYW55LCBpbmRleDogMCB9LCB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSBhcyBhbnksIGluZGV4OiAxIH1dXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwiZGVsZXRlQWxsXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa0RlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSxcbiAgICAgICAgW3sgZGVjb3JhdG9yOiBRdWVyeShcImlkc1wiKSBhcyBhbnksIGluZGV4OiAwIH0sIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pIGFzIGFueSwgaW5kZXg6IDEgfV1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwicmVhZFwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnJlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcywgcGtQYXRoKSxcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5yb3V0ZVBhcmFtRGVjb3JhdG9ycyhub3JtYWxpemVkUGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJQVVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcInVwZGF0ZVwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnVwZGF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzLCBwa1BhdGgpLFxuICAgICAgICBbXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IERlY2FmQm9keSgpIGFzIGFueSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAuLi5yb3V0ZVBhcmFtcy5tYXAoKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PiAoe1xuICAgICAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIF1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJERUxFVEVcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcImRlbGV0ZVwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmRlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzLCBwa1BhdGgpLFxuICAgICAgICByb3V0ZVBhcmFtc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NlZCBQSyBmYWxsYmFjayByb3V0ZXMgKGZpbHRlckVtcHR5KSDigJQgcGF0aCBkaWZmZXJzIGZyb20gcGtQYXRoXG4gICAgY29uc3QgZmFsbGJhY2tTZWdtZW50cyA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY29uc3QgaXNBbGxQYXJhbXMgPSBmYWxsYmFja1NlZ21lbnRzLmxlbmd0aCA+IDAgJiYgZmFsbGJhY2tTZWdtZW50cy5ldmVyeSgocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSk7XG4gICAgaWYgKGlzQWxsUGFyYW1zICYmIG5vcm1hbGl6ZWRQYXRoICE9PSBwa1BhdGgpIHtcbiAgICAgIGNvbnN0IGZhbGxiYWNrQXBpUHJvcHMgPSBmYWxsYmFja1NlZ21lbnRzLm1hcCgocykgPT4gcy5zbGljZSgxKSkubWFwKChuYW1lKSA9PiAoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyYCxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IHN1ZmZpeCA9IGZhbGxiYWNrU2VnbWVudHMubWFwKChzKSA9PiBzLnNsaWNlKDEpKS5qb2luKFwiQW5kXCIpO1xuICAgICAgY29uc3Qgcm91dGVQYXJhbXMgPSBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIpIHtcbiAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICAgIGByZWFkQnkke3N1ZmZpeH1gLFxuICAgICAgICAgIGhhbmRsZXIsXG4gICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5yZWFkRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGZhbGxiYWNrQXBpUHJvcHMsIG5vcm1hbGl6ZWRQYXRoKSxcbiAgICAgICAgICByb3V0ZVBhcmFtc1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGhvZCA9PT0gXCJQVVRcIikge1xuICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgICAgYHVwZGF0ZUJ5JHtzdWZmaXh9YCxcbiAgICAgICAgICBoYW5kbGVyLFxuICAgICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIudXBkYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGZhbGxiYWNrQXBpUHJvcHMsIG5vcm1hbGl6ZWRQYXRoKSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCkgYXMgYW55LCBpbmRleDogMCB9LFxuICAgICAgICAgICAgLi4ucm91dGVQYXJhbXMubWFwKCh7IGRlY29yYXRvciwgaW5kZXggfSkgPT4gKHtcbiAgICAgICAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIpIHtcbiAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICAgIGBkZWxldGVCeSR7c3VmZml4fWAsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmRlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBmYWxsYmFja0FwaVByb3BzLCBub3JtYWxpemVkUGF0aCksXG4gICAgICAgICAgcm91dGVQYXJhbXNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcInN0YXRlbWVudC86bWV0aG9kLyphcmdzXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJzdGF0ZW1lbnRcIixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksXG4gICAgICAgIFtcbiAgICAgICAgICB7IGRlY29yYXRvcjogUGFyYW0oXCJtZXRob2RcIikgYXMgYW55LCBpbmRleDogMCB9LFxuICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShcImFyZ3NcIikgYXMgYW55LCBpbmRleDogMSB9LFxuICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZlF1ZXJ5KCkgYXMgYW55LCBpbmRleDogMiB9LFxuICAgICAgICBdXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiZmluZE9uZUJ5LzprZXkvOnZhbHVlXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJmaW5kT25lQnlcIixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dERlY29yYXRvcnMoXG4gICAgICAgICAgTW9kZWxDb25zdHIsXG4gICAgICAgICAgbW9kZWxDbGF6ek5hbWUsXG4gICAgICAgICAgbm9ybWFsaXplZFBhdGgsXG4gICAgICAgICAgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZXG4gICAgICAgICksXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXRQYXJhbXMobm9ybWFsaXplZFBhdGgpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXRlbWVudFJvdXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwibGlzdEJ5LzprZXlcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkxJU1RfQlksXG4gICAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICAgIFwiZmluZC86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkQsXG4gICAgICBcInBhZ2UvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFLFxuICAgICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgICAgXCJmaW5kQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlksXG4gICAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICAgIFwibWF4T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NQVhfT0YsXG4gICAgICBcIm1pbk9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUlOX09GLFxuICAgICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICAgIFwic3VtT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0YsXG4gICAgICBcImRpc3RpbmN0T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5ESVNUSU5DVF9PRixcbiAgICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRLZXkgPSBzdGF0ZW1lbnRSb3V0ZXNbbm9ybWFsaXplZFBhdGhdO1xuICAgIGlmIChzdGF0ZW1lbnRLZXkgJiYgbWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50TWV0aG9kTmFtZShub3JtYWxpemVkUGF0aCksXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgbm9ybWFsaXplZFBhdGgsIHN0YXRlbWVudEtleSksXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXRQYXJhbXMobm9ybWFsaXplZFBhdGgpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgY29uc3QgcXVlcnlNZXRob2QgPSBub3JtYWxpemVkUGF0aC5yZXBsYWNlKC9ecXVlcnlcXC8vLCBcIlwiKS5zcGxpdChcIi9cIilbMF07XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIHF1ZXJ5TWV0aG9kLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhxdWVyeU1ldGhvZCwgbm9ybWFsaXplZFBhdGgsIFwiR0VUXCIsIHRydWUpLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmNvbXBsZXhRdWVyeVBhcmFtcyhub3JtYWxpemVkUGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFNlZ21lbnRzID0gbm9ybWFsaXplZFBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICBjb25zdCBrbm93blByZWZpeGVzID0gbmV3IFNldDxzdHJpbmc+KFtcbiAgICAgIFwibGlzdEJ5XCIsIFwiZmluZEJ5XCIsIFwiZmluZEJ5UGFnaW5hdGVcIiwgXCJmaW5kT25lQnlcIiwgXCJwYWdpbmF0ZUJ5XCIsXG4gICAgICBcImZpbmRcIiwgXCJwYWdlXCIsIFwiY291bnRPZlwiLCBcIm1heE9mXCIsIFwibWluT2ZcIiwgXCJhdmdPZlwiLCBcInN1bU9mXCIsXG4gICAgICBcImRpc3RpbmN0T2ZcIiwgXCJncm91cE9mXCIsIFwic3RhdGVtZW50XCIsIFwiYnVsa1wiLCBcInF1ZXJ5XCIsXG4gICAgXSk7XG4gICAgaWYgKFxuICAgICAgcGF0aFNlZ21lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICFub3JtYWxpemVkUGF0aC5zdGFydHNXaXRoKFwicXVlcnkvXCIpICYmXG4gICAgICAhbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInN0YXRlbWVudC9cIikgJiZcbiAgICAgICFrbm93blByZWZpeGVzLmhhcyhwYXRoU2VnbWVudHNbMF0pXG4gICAgKSB7XG4gICAgICBjb25zdCBhcGlQYXRoUGFyYW1zID0gcGF0aFNlZ21lbnRzXG4gICAgICAgIC5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpXG4gICAgICAgIC5tYXAoKHMpID0+IHMuc2xpY2UoMSkpXG4gICAgICAgIC5tYXAoKG5hbWUpID0+ICh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgfSkpO1xuXG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIFtcbiAgICAgICAgICAuLi5hcGlQYXRoUGFyYW1zLm1hcCgocCkgPT4gQXBpUGFyYW0ocCkpLFxuICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSByZWNvcmRzIHVzaW5nIFwiJHttZXRob2ROYW1lfVwiLmAgfSksXG4gICAgICAgICAgQXBpT2tSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlJlc3VsdCBzdWNjZXNzZnVsbHkgcmV0cmlldmVkLlwiIH0pLFxuICAgICAgICAgIEFwaU5vQ29udGVudFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiTm8gY29udGVudCByZXR1cm5lZCBieSB0aGUgbWV0aG9kLlwiIH0pLFxuICAgICAgICBdLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgICBoYW5kbGVyOiAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgICBkZWNvcmF0b3JzOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+LFxuICAgIHBhcmFtRGVjb3JhdG9yczogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PlxuICApIHtcbiAgICByZXR1cm4geyBtZXRob2ROYW1lLCBoYW5kbGVyLCBkZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHN0YXRlbWVudE1ldGhvZE5hbWUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaXJzdFNlZ21lbnQgPSBwYXRoLnNwbGl0KFwiL1wiKVswXTtcbiAgICByZXR1cm4gZmlyc3RTZWdtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc3RhdGVtZW50U2hvcnRjdXRQYXJhbXMoXG4gICAgcGF0aDogc3RyaW5nXG4gICk6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT4ge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICBjb25zdCBwYXJhbXM6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT4gPSBbXTtcbiAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcsIGkpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogUGFyYW0obmFtZSkgYXMgYW55LCBpbmRleDogaSB9KTtcbiAgICB9KTtcbiAgICBpZiAoXG4gICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJsaXN0QnkvXCIpIHx8XG4gICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdpbmF0ZUJ5L1wiKSB8fFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwiZmluZC9cIikgfHxcbiAgICAgIHBhdGguc3RhcnRzV2l0aChcInBhZ2UvXCIpXG4gICAgKSB7XG4gICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogRGVjYWZRdWVyeSgpIGFzIGFueSwgaW5kZXg6IHNlZ21lbnRzLmxlbmd0aCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbXBsZXhRdWVyeVBhcmFtcyhcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PiB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgIGNvbnN0IHBhcmFtczogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PiA9IFtdO1xuICAgIHNlZ21lbnRzLmZvckVhY2goKHNlZywgaSkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IHNlZy5yZXBsYWNlKFwiOlwiLCBcIlwiKTtcbiAgICAgIHBhcmFtcy5wdXNoKHsgZGVjb3JhdG9yOiBQYXJhbShuYW1lKSBhcyBhbnksIGluZGV4OiBpIH0pO1xuICAgIH0pO1xuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJxdWVyeS9cIikpIHtcbiAgICAgIHBhcmFtcy5wdXNoKHsgZGVjb3JhdG9yOiBEZWNhZlF1ZXJ5KCkgYXMgYW55LCBpbmRleDogc2VnbWVudHMubGVuZ3RoIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQ3JlYXRlSGFuZGxlcihcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmdcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZShcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIGRhdGE6IGFueSxcbiAgICAgIHJlc3A/OiBhbnlcbiAgICApOiBQcm9taXNlPE1vZGVsPGFueT4+IHtcbiAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW10sIE9wZXJhdGlvbktleXMuQ1JFQVRFLCB0cnVlKVxuICAgICAgKS5mb3IoY3JlYXRlKTtcbiAgICAgIGxvZy52ZXJib3NlKGBjcmVhdGluZyBuZXcgJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgIGxldCBjcmVhdGVkOiBNb2RlbDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNyZWF0ZWQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuY3JlYXRlKGRhdGEsIGN0eCk7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIGNyZWF0ZSBuZXcgJHttb2RlbENsYXp6TmFtZX1gLCBlIGFzIEVycm9yKTtcbiAgICAgICAgdGhyb3cgRnJvbU1vZGVsQ29udHJvbGxlci50b0RlY2FmRXJyb3IoXG4gICAgICAgICAgZSxcbiAgICAgICAgICBgRmFpbGVkIHRvIGNyZWF0ZSBuZXcgJHttb2RlbENsYXp6TmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBsb2cuaW5mbyhgY3JlYXRlZCBuZXcgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAkeyhjcmVhdGVkIGFzIGFueSlbdGhpcy5wa119YCk7XG4gICAgICBpZiAocmVzcCkgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQnVsa0NyZWF0ZUhhbmRsZXIoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiBjcmVhdGVBbGwoXG4gICAgICB0aGlzOiBhbnksXG4gICAgICBkYXRhOiBhbnlbXSxcbiAgICAgIHJlc3A/OiBhbnlcbiAgICApOiBQcm9taXNlPE1vZGVsW10+IHtcbiAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW10sIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLCB0cnVlKVxuICAgICAgKS5mb3IoY3JlYXRlQWxsKTtcbiAgICAgIGxvZy52ZXJib3NlKGBjcmVhdGluZyBuZXcgJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgIGxldCBjcmVhdGVkOiBhbnlbXTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNyZWF0ZWQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuY3JlYXRlQWxsKFxuICAgICAgICAgIGRhdGEubWFwKChkKSA9PiBuZXcgTW9kZWxDb25zdHIoZCkpLFxuICAgICAgICAgIGN0eFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgbmV3ICR7bW9kZWxDbGF6ek5hbWV9YCwgZSBhcyBFcnJvcik7XG4gICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgYEZhaWxlZCB0byBjcmVhdGUgbmV3ICR7bW9kZWxDbGF6ek5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbG9nLmluZm8oYGNyZWF0ZWQgbmV3ICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHsoY3JlYXRlZCBhcyBhbnkpW3RoaXMucGtdfWApO1xuICAgICAgaWYgKHJlc3ApIGN0eC50b1Jlc3BvbnNlKHJlc3ApO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUJ1bGtSZWFkSGFuZGxlcihtb2RlbENsYXp6TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlYWRBbGwoXG4gICAgICB0aGlzOiBhbnksXG4gICAgICBpZHM6IHN0cmluZ1tdXG4gICAgKTogUHJvbWlzZTxNb2RlbFtdPiB7XG4gICAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSAoXG4gICAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsIHRydWUpXG4gICAgICApLmZvcihyZWFkQWxsKTtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRJZHMgPSBBcnJheS5pc0FycmF5KGlkcykgPyBpZHMgOiBbaWRzXTtcbiAgICAgIGxldCByZWFkOiBNb2RlbFtdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9nLmRlYnVnKGByZWFkaW5nICR7bm9ybWFsaXplZElkc30gJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgICAgcmVhZCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS5yZWFkQWxsKG5vcm1hbGl6ZWRJZHMgYXMgYW55LCBjdHgpO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byByZWFkICR7bW9kZWxDbGF6ek5hbWV9YCwgZSBhcyBFcnJvcik7XG4gICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgYEZhaWxlZCB0byByZWFkICR7bW9kZWxDbGF6ek5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbG9nLmluZm8oYHJlYWQgJHtyZWFkLmxlbmd0aH0gJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgIHJldHVybiByZWFkO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVCdWxrVXBkYXRlSGFuZGxlcihtb2RlbENsYXp6TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFsbChcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIGJvZHk6IGFueVtdLFxuICAgICAgcmVzcD86IGFueVxuICAgICk6IFByb21pc2U8YW55W10+IHtcbiAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW10sIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCB0cnVlKVxuICAgICAgKS5mb3IodXBkYXRlQWxsKTtcbiAgICAgIGxldCB1cGRhdGVkOiBhbnlbXTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZy5pbmZvKGB1cGRhdGluZyAke2JvZHkubGVuZ3RofSAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICB1cGRhdGVkID0gYXdhaXQgdGhpcy5wZXJzaXN0ZW5jZShjdHgpLnVwZGF0ZUFsbChib2R5LCBjdHgpO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICBsb2cuZXJyb3IoZSBhcyBFcnJvcik7XG4gICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgYEZhaWxlZCB0byB1cGRhdGUgJHttb2RlbENsYXp6TmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocmVzcCkgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQnVsa0RlbGV0ZUhhbmRsZXIobW9kZWxDbGF6ek5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGwoXG4gICAgICB0aGlzOiBhbnksXG4gICAgICBpZHM6IHN0cmluZ1tdLFxuICAgICAgcmVzcD86IGFueVxuICAgICk6IFByb21pc2U8TW9kZWxbXT4ge1xuICAgICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmxvZ0N0eChbXSwgQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsIHRydWUpXG4gICAgICApLmZvcihkZWxldGVBbGwpO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZElkcyA9IEFycmF5LmlzQXJyYXkoaWRzKSA/IGlkcyA6IFtpZHNdO1xuICAgICAgbGV0IHJlYWQ6IE1vZGVsW107XG4gICAgICB0cnkge1xuICAgICAgICBsb2cuZGVidWcoYGRlbGV0aW5nICR7bm9ybWFsaXplZElkcy5sZW5ndGh9ICR7bW9kZWxDbGF6ek5hbWV9YCk7XG4gICAgICAgIHJlYWQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuZGVsZXRlQWxsKG5vcm1hbGl6ZWRJZHMsIGN0eCk7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke21vZGVsQ2xhenpOYW1lfWAsIGUgYXMgRXJyb3IpO1xuICAgICAgICB0aHJvdyBGcm9tTW9kZWxDb250cm9sbGVyLnRvRGVjYWZFcnJvcihcbiAgICAgICAgICBlLFxuICAgICAgICAgIGBGYWlsZWQgdG8gZGVsZXRlICR7bW9kZWxDbGF6ek5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbG9nLmluZm8oYGRlbGV0ZWQgJHtyZWFkLmxlbmd0aH0gJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgIGlmIChyZXNwKSBjdHgudG9SZXNwb25zZShyZXNwKTtcbiAgICAgIHJldHVybiByZWFkO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVSZWFkSGFuZGxlcihcbiAgICBnZXRQSzogKC4uLnA6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pID0+IHN0cmluZyxcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiByZWFkKFxuICAgICAgdGhpczogYW55LFxuICAgICAgcm91dGVQYXJhbXM6IGFueVxuICAgICk6IFByb21pc2U8TW9kZWw+IHtcbiAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW10sIE9wZXJhdGlvbktleXMuUkVBRCwgdHJ1ZSlcbiAgICAgICkuZm9yKHJlYWQpO1xuICAgICAgY29uc3QgaWQgPSBnZXRQSyguLi5yb3V0ZVBhcmFtcy52YWx1ZXNJbk9yZGVyKTtcbiAgICAgIGlmICh0eXBlb2YgaWQgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYE5vICR7dGhpcy5wa30gcHJvdmlkZWRgKTtcbiAgICAgIGxldCByZWFkUmVzdWx0OiBNb2RlbDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgcmVhZGluZyAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7dGhpcy5wa30gJHtpZH1gKTtcbiAgICAgICAgcmVhZFJlc3VsdCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS5yZWFkKGlkLCBjdHgpO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byByZWFkICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtpZH1gLCBlIGFzIEVycm9yKTtcbiAgICAgICAgdGhyb3cgRnJvbU1vZGVsQ29udHJvbGxlci50b0RlY2FmRXJyb3IoXG4gICAgICAgICAgZSxcbiAgICAgICAgICBgRmFpbGVkIHRvIHJlYWQgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAke2lkfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGxvZy5pbmZvKGByZWFkICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHsocmVhZFJlc3VsdCBhcyBhbnkpW3RoaXMucGtdfWApO1xuICAgICAgcmV0dXJuIHJlYWRSZXN1bHQ7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVVwZGF0ZUhhbmRsZXIoXG4gICAgZ2V0UEs6ICguLi5wOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSA9PiBzdHJpbmcsXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiB1cGRhdGUoXG4gICAgICB0aGlzOiBhbnksXG4gICAgICByb3V0ZVBhcmFtczogYW55LFxuICAgICAgYm9keTogYW55LFxuICAgICAgcmVzcD86IGFueVxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSAoXG4gICAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBPcGVyYXRpb25LZXlzLlVQREFURSwgdHJ1ZSlcbiAgICAgICkuZm9yKHVwZGF0ZSk7XG4gICAgICBjb25zdCBpZCA9IGdldFBLKC4uLnJvdXRlUGFyYW1zLnZhbHVlc0luT3JkZXIpO1xuICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgTm8gJHt0aGlzLnBrfSBwcm92aWRlZGApO1xuICAgICAgbGV0IHVwZGF0ZWQ6IGFueTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZy5pbmZvKGB1cGRhdGluZyAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7dGhpcy5wa30gJHtpZH1gKTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYm9keSkpO1xuICAgICAgICB1cGRhdGVkID0gYXdhaXQgdGhpcy5wZXJzaXN0ZW5jZShjdHgpLnVwZGF0ZShcbiAgICAgICAgICBuZXcgTW9kZWxDb25zdHIoeyAuLi5wYXlsb2FkLCBbdGhpcy5wa106IGlkIH0pLFxuICAgICAgICAgIGN0eFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICBsb2cuZXJyb3IoZSBhcyBFcnJvcik7XG4gICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgYEZhaWxlZCB0byB1cGRhdGUgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAke2lkfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXNwKSBjdHgudG9SZXNwb25zZShyZXNwKTtcbiAgICAgIHJldHVybiB1cGRhdGVkO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVEZWxldGVIYW5kbGVyKFxuICAgIGdldFBLOiAoLi4ucDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPikgPT4gc3RyaW5nLFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmdcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlbW92ZShcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIHJvdXRlUGFyYW1zOiBhbnksXG4gICAgICByZXNwPzogYW55XG4gICAgKTogUHJvbWlzZTxNb2RlbD4ge1xuICAgICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmxvZ0N0eChbXSwgT3BlcmF0aW9uS2V5cy5ERUxFVEUsIHRydWUpXG4gICAgICApLmZvcihyZW1vdmUpO1xuICAgICAgY29uc3QgaWQgPSBnZXRQSyguLi5yb3V0ZVBhcmFtcy52YWx1ZXNJbk9yZGVyKTtcbiAgICAgIGlmICh0eXBlb2YgaWQgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYE5vICR7dGhpcy5wa30gcHJvdmlkZWRgKTtcbiAgICAgIGxldCBkZWw6IE1vZGVsO1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9nLmRlYnVnKGBkZWxldGluZyAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7dGhpcy5wa30gJHtpZH1gKTtcbiAgICAgICAgZGVsID0gYXdhaXQgdGhpcy5wZXJzaXN0ZW5jZShjdHgpLmRlbGV0ZShpZCwgY3R4KTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gZGVsZXRlICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtpZH1gLCBlIGFzIEVycm9yKTtcbiAgICAgICAgdGhyb3cgRnJvbU1vZGVsQ29udHJvbGxlci50b0RlY2FmRXJyb3IoXG4gICAgICAgICAgZSxcbiAgICAgICAgICBgRmFpbGVkIHRvIGRlbGV0ZSAke21vZGVsQ2xhenpOYW1lfSB3aXRoIGlkICR7aWR9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbG9nLmluZm8oYGRlbGV0ZWQgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAke2lkfWApO1xuICAgICAgaWYgKHJlc3ApIGN0eC50b1Jlc3BvbnNlKHJlc3ApO1xuICAgICAgcmV0dXJuIGRlbDtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlU3RhdGVtZW50SGFuZGxlcihtb2RlbENsYXp6TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudChcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIGFyZ3M6IChzdHJpbmcgfCBudW1iZXIpW10sXG4gICAgICBkZXRhaWxzOiBEaXJlY3Rpb25MaW1pdE9mZnNldFxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICBjb25zdCB7IGN0eCB9ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmxvZ0N0eChbXSwgUGVyc2lzdGVuY2VLZXlzLlNUQVRFTUVOVCwgdHJ1ZSlcbiAgICAgICkuZm9yKHN0YXRlbWVudCk7XG4gICAgICBjb25zdCB7IGRpcmVjdGlvbiwgb2Zmc2V0LCBsaW1pdCwgYm9va21hcmsgfSA9IGRldGFpbHM7XG4gICAgICBhcmdzID0gYXJncy5tYXAoXG4gICAgICAgIChhKSA9PiAodHlwZW9mIGEgPT09IFwic3RyaW5nXCIgPyBwYXJzZUludChhIGFzIHN0cmluZykgOiBhKSB8fCBhXG4gICAgICApIGFzIGFueVtdO1xuICAgICAgY29uc3QgcGF0aERpcmVjdGlvbiA9IGFyZ3MubGVuZ3RoID4gMSA/IGFyZ3NbMV0gOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCByZXNvbHZlZERpcmVjdGlvbiA9IChkaXJlY3Rpb24gPz8gcGF0aERpcmVjdGlvbikgYXNcbiAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAocmVzb2x2ZWREaXJlY3Rpb24gJiYgYXJncy5sZW5ndGggPiAxKSBhcmdzWzFdID0gcmVzb2x2ZWREaXJlY3Rpb247XG4gICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORDpcbiAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWTpcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWTpcbiAgICAgICAgICBhcmdzLnB1c2goZGlyZWN0aW9uIGFzIHN0cmluZyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0U6XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0VfQlk6XG4gICAgICAgICAgYXJncyA9IFtcbiAgICAgICAgICAgIGFyZ3NbMF0sXG4gICAgICAgICAgICByZXNvbHZlZERpcmVjdGlvbiBhcyBhbnksXG4gICAgICAgICAgICB7IGxpbWl0LCBvZmZzZXQsIGJvb2ttYXJrIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQlk6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkNPVU5UX09GOlxuICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5NQVhfT0Y6XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1JTl9PRjpcbiAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GOlxuICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0Y6XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GOlxuICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5HUk9VUF9PRjpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuc3RhdGVtZW50KG5hbWUsIC4uLmFyZ3MsIGN0eCk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVN0YXRlbWVudFNob3J0Y3V0SGFuZGxlcihcbiAgICBzdGF0ZW1lbnRLZXk6IHN0cmluZyxcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRTaG9ydGN1dChcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIC4uLmFyZ3M6IGFueVtdXG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIGNvbnN0IHsgY3R4IH0gPSAoXG4gICAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBzdGF0ZW1lbnRLZXksIHRydWUpXG4gICAgICApLmZvcihzdGF0ZW1lbnRTaG9ydGN1dCk7XG5cbiAgICAgIHN3aXRjaCAoc3RhdGVtZW50S2V5KSB7XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkxJU1RfQlk6IHtcbiAgICAgICAgICBjb25zdCBba2V5LCBkZXRhaWxzXSA9IGFyZ3M7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KS5saXN0QnkoXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAoZGV0YWlscyBhcyBhbnkpPy5kaXJlY3Rpb24gYXMgT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgICAgICBjdHhcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0VfQlk6IHtcbiAgICAgICAgICBjb25zdCBba2V5LCBwYWdlLCBkZXRhaWxzXSA9IGFyZ3M7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KS5wYWdpbmF0ZUJ5KFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKGRldGFpbHMgYXMgYW55KT8uZGlyZWN0aW9uIGFzIE9yZGVyRGlyZWN0aW9uLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsaW1pdDogKGRldGFpbHMgYXMgYW55KT8ubGltaXQsXG4gICAgICAgICAgICAgIG9mZnNldDogKGRldGFpbHMgYXMgYW55KT8ub2Zmc2V0LFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfSBhcyBhbnksXG4gICAgICAgICAgICBjdHhcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkQ6IHtcbiAgICAgICAgICBjb25zdCBbdmFsdWUsIGRldGFpbHNdID0gYXJncztcbiAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKGRldGFpbHMgYXMgYW55KT8uZGlyZWN0aW9uID8/IE9yZGVyRGlyZWN0aW9uLkFTQztcbiAgICAgICAgICBjb25zdCBwZXJzaXN0ZW5jZSA9IHRoaXMucGVyc2lzdGVuY2UoY3R4KTtcbiAgICAgICAgICBpZiAodHlwZW9mIHBlcnNpc3RlbmNlLmZpbmQgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5maW5kKHZhbHVlLCBkaXJlY3Rpb24sIGN0eCk7XG4gICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnN0YXRlbWVudChQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCwgdmFsdWUsIGRpcmVjdGlvbiwgY3R4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFOiB7XG4gICAgICAgICAgY29uc3QgW3ZhbHVlLCBkZXRhaWxzXSA9IGFyZ3M7XG4gICAgICAgICAgY29uc3QgcmVmID0ge1xuICAgICAgICAgICAgb2Zmc2V0OiAoZGV0YWlscyBhcyBhbnkpPy5vZmZzZXQgPz8gMSxcbiAgICAgICAgICAgIGxpbWl0OiAoZGV0YWlscyBhcyBhbnkpPy5saW1pdCA/PyAxMCxcbiAgICAgICAgICAgIGJvb2ttYXJrOiAoZGV0YWlscyBhcyBhbnkpPy5ib29rbWFyayxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gdGhpcy5wZXJzaXN0ZW5jZShjdHgpO1xuICAgICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IChkZXRhaWxzIGFzIGFueSk/LmRpcmVjdGlvbiA/PyBPcmRlckRpcmVjdGlvbi5BU0M7XG4gICAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZS5wYWdlID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2UucGFnZSh2YWx1ZSwgZGlyZWN0aW9uLCByZWYsIGN0eCk7XG4gICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnN0YXRlbWVudChQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRSwgdmFsdWUsIGRpcmVjdGlvbiwgcmVmLCBjdHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZOiB7XG4gICAgICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gYXJncztcbiAgICAgICAgICByZXR1cm4gdGhpcy5wZXJzaXN0ZW5jZShjdHgpLmZpbmRPbmVCeShrZXksIHZhbHVlLCBjdHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlk6IHtcbiAgICAgICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBhcmdzO1xuICAgICAgICAgIHJldHVybiB0aGlzLnBlcnNpc3RlbmNlKGN0eClcbiAgICAgICAgICAgIC5mb3IoY3R4LnRvT3ZlcnJpZGVzKCkpXG4gICAgICAgICAgICAuZmluZEJ5KGtleSwgdmFsdWUsIGN0eCk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRiB8fFxuICAgICAgICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUFYX09GIHx8XG4gICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NSU5fT0YgfHxcbiAgICAgICAgICAgIHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRiB8fFxuICAgICAgICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuU1VNX09GIHx8XG4gICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5ESVNUSU5DVF9PRiB8fFxuICAgICAgICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuR1JPVVBfT0ZcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZF0gPSBhcmdzO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KS5zdGF0ZW1lbnQoc3RhdGVtZW50S2V5LCBmaWVsZCwgY3R4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFVua25vd24gc3RhdGVtZW50OiAke3N0YXRlbWVudEtleX1gKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQ29tcGxleFF1ZXJ5SGFuZGxlcihtZXRob2ROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gY29tcGxleFF1ZXJ5KFxuICAgICAgdGhpczogYW55LFxuICAgICAgLi4uYXJnczogYW55W11cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgY29uc3QgbG9nOiBhbnkgPSB0aGlzLmxvZz8uZm9yPy4oY29tcGxleFF1ZXJ5KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChsb2cpIGxvZy5kZWJ1ZyhgSW52b2tpbmcgY3VzdG9tIHF1ZXJ5IFwiJHttZXRob2ROYW1lfVwiYCk7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSAoXG4gICAgICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoW10sIG1ldGhvZE5hbWUsIHRydWUpXG4gICAgICAgICkuZm9yKGNvbXBsZXhRdWVyeSk7XG4gICAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gdGhpcy5wZXJzaXN0ZW5jZShjdHgpO1xuICAgICAgICBjb25zdCBzcHJlYWRBcmdzID0gRnJvbU1vZGVsQ29udHJvbGxlci5ub3JtYWxpemVRdWVyeUFyZ3MoYXJncyk7XG4gICAgICAgIGlmIChwZXJzaXN0ZW5jZT8ucmVwbyAmJiB0eXBlb2YgcGVyc2lzdGVuY2UucmVwb1ttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnJlcG9bbWV0aG9kTmFtZV0oLi4uc3ByZWFkQXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZXJzaXN0ZW5jZT8ucXVlcnkgJiYgdHlwZW9mIHBlcnNpc3RlbmNlLnF1ZXJ5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2UucXVlcnkobWV0aG9kTmFtZSwgLi4uc3ByZWFkQXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZS5zdGF0ZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5zdGF0ZW1lbnQobWV0aG9kTmFtZSwgLi4uc3ByZWFkQXJncywgY3R4KTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgUGVyc2lzdGVuY2UgbWV0aG9kIFwiJHttZXRob2ROYW1lfVwiIG5vdCBmb3VuZCBvbiAke3BlcnNpc3RlbmNlPy5jb25zdHJ1Y3Rvcj8ubmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgaWYgKGxvZykgbG9nLmVycm9yKGBDdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCIgZmFpbGVkYCwgZSk7XG4gICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgYEN1c3RvbSBxdWVyeSBcIiR7bWV0aG9kTmFtZX1cIiBmYWlsZWRgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUN1c3RvbVJvdXRlSGFuZGxlcihtZXRob2ROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gY3VzdG9tUm91dGUoXG4gICAgICB0aGlzOiBhbnksXG4gICAgICAuLi5hcmdzOiBhbnlbXVxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICBjb25zdCBsb2c6IGFueSA9IHRoaXMubG9nPy5mb3I/LihjdXN0b21Sb3V0ZSk7XG4gICAgICBjb25zdCB7IGN0eCB9ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmxvZ0N0eChbXSwgbWV0aG9kTmFtZSwgdHJ1ZSlcbiAgICAgICkuZm9yKGN1c3RvbVJvdXRlKTtcbiAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gdGhpcy5wZXJzaXN0ZW5jZShjdHgpO1xuICAgICAgY29uc3Qgc3ByZWFkQXJncyA9IEZyb21Nb2RlbENvbnRyb2xsZXIubm9ybWFsaXplUXVlcnlBcmdzKGFyZ3MpO1xuXG4gICAgICAvLyBUcnkgdGhlIHBlcnNpc3RlbmNlIGRpcmVjdGx5ICh3b3JrcyB3aGVuIGl0J3MgYSBjdXN0b20gUmVwb3NpdG9yeSlcbiAgICAgIGlmIChwZXJzaXN0ZW5jZT8ucmVwbyAmJiB0eXBlb2YgcGVyc2lzdGVuY2UucmVwb1ttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5yZXBvW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZVttZXRob2ROYW1lXSguLi5zcHJlYWRBcmdzKTtcbiAgICAgIH1cbiAgICAgIC8vIEZhbGwgYmFjayB0byBzdGF0ZW1lbnQgZ2F0ZXdheVxuICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZS5zdGF0ZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2Uuc3RhdGVtZW50KG1ldGhvZE5hbWUsIC4uLnNwcmVhZEFyZ3MsIGN0eCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYE1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9IG9yIGl0cyByZXBvYFxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZXh0cmFjdFF1ZXJ5QXJncyhhcmdzOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHJldHVybiBhcmdzO1xuICAgIGNvbnN0IGxhc3QgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gICAgaWYgKFxuICAgICAgbGFzdCAmJlxuICAgICAgdHlwZW9mIGxhc3QgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KGxhc3QpXG4gICAgKSB7XG4gICAgICBjb25zdCBxdWVyeU9iaiA9IGFyZ3MucG9wKCk7XG4gICAgICBjb25zdCBoYXNEaXJlY3Rpb24gPSBxdWVyeU9iai5kaXJlY3Rpb24gIT09IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGhhc0xpbWl0ID0gcXVlcnlPYmoubGltaXQgIT09IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGhhc09mZnNldCA9IHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkO1xuICAgICAgaWYgKCFoYXNEaXJlY3Rpb24gJiYgIWhhc0xpbWl0ICYmICFoYXNPZmZzZXQpIHJldHVybiBhcmdzO1xuICAgICAgY29uc3QgZXh0cmFzOiBhbnlbXSA9IFtdO1xuICAgICAgaWYgKGhhc0RpcmVjdGlvbikgZXh0cmFzLnB1c2gocXVlcnlPYmouZGlyZWN0aW9uKTtcbiAgICAgIGVsc2UgaWYgKGhhc0xpbWl0IHx8IGhhc09mZnNldCkgZXh0cmFzLnB1c2godW5kZWZpbmVkKTtcbiAgICAgIGlmIChoYXNMaW1pdCkgZXh0cmFzLnB1c2gocXVlcnlPYmoubGltaXQpO1xuICAgICAgaWYgKGhhc09mZnNldCkgZXh0cmFzLnB1c2gocXVlcnlPYmoub2Zmc2V0KTtcbiAgICAgIHJldHVybiBbLi4uYXJncywgLi4uZXh0cmFzXTtcbiAgICB9XG4gICAgcmV0dXJuIGFyZ3M7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBub3JtYWxpemVRdWVyeUFyZ3MoYXJnczogYW55W10pOiBhbnlbXSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZXh0cmFjdFF1ZXJ5QXJncyhhcmdzKTtcbiAgICBpZiAobm9ybWFsaXplZC5sZW5ndGggPT09IDApIHJldHVybiBub3JtYWxpemVkO1xuXG4gICAgY29uc3QgbGFzdCA9IG5vcm1hbGl6ZWRbbm9ybWFsaXplZC5sZW5ndGggLSAxXTtcbiAgICBpZiAoIWxhc3QgfHwgdHlwZW9mIGxhc3QgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShsYXN0KSkge1xuICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnlPYmogPSBsYXN0IGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3QgaGFzUXVlcnlGaWVsZHMgPVxuICAgICAgcXVlcnlPYmouZGlyZWN0aW9uICE9PSB1bmRlZmluZWQgfHxcbiAgICAgIHF1ZXJ5T2JqLmxpbWl0ICE9PSB1bmRlZmluZWQgfHxcbiAgICAgIHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBxdWVyeU9iai5ib29rbWFyayAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKCFoYXNRdWVyeUZpZWxkcykge1xuICAgICAgbm9ybWFsaXplZC5wb3AoKTtcbiAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgIH1cblxuICAgIG5vcm1hbGl6ZWQucG9wKCk7XG4gICAgaWYgKHF1ZXJ5T2JqLmRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSBub3JtYWxpemVkLnB1c2gocXVlcnlPYmouZGlyZWN0aW9uKTtcbiAgICBpZiAocXVlcnlPYmoubGltaXQgIT09IHVuZGVmaW5lZCkgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmxpbWl0KTtcbiAgICBpZiAocXVlcnlPYmoub2Zmc2V0ICE9PSB1bmRlZmluZWQpIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5vZmZzZXQpO1xuICAgIGlmIChxdWVyeU9iai5ib29rbWFyayAhPT0gdW5kZWZpbmVkKSBub3JtYWxpemVkLnB1c2gocXVlcnlPYmouYm9va21hcmspO1xuICAgIHJldHVybiBub3JtYWxpemVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQ3JlYXRlRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJQT1NUXCIpLFxuICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYENyZWF0ZSBhIG5ldyAke21vZGVsQ2xhenpOYW1lfS5gIH0pLFxuICAgICAgQXBpQm9keSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgJHttb2RlbENsYXp6TmFtZX1gLFxuICAgICAgICB0eXBlOiBEdG9Gb3IoT3BlcmF0aW9uS2V5cy5DUkVBVEUsIE1vZGVsQ29uc3RyKSxcbiAgICAgIH0pLFxuICAgICAgQXBpQ3JlYXRlZFJlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBjcmVhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiUGF5bG9hZCB2YWxpZGF0aW9uIGZhaWxlZC5cIiB9KSxcbiAgICAgIEFwaVVucHJvY2Vzc2FibGVFbnRpdHlSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcG9zaXRvcnkgcmVqZWN0ZWQgdGhlIHByb3ZpZGVkIHBheWxvYWQuXCIsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVsa0NyZWF0ZURlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUE9TVFwiLCBcImJ1bGtcIiksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgQ3JlYXRlIGEgbmV3ICR7bW9kZWxDbGF6ek5hbWV9LmAgfSksXG4gICAgICBBcGlCb2R5KHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBQYXlsb2FkIGZvciAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBBcGlDcmVhdGVkUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgICAgQXBpVW5wcm9jZXNzYWJsZUVudGl0eVJlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IFwiUmVwb3NpdG9yeSByZWplY3RlZCB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cIixcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWxrUmVhZERlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiR0VUXCIsIFwiYnVsa1wiKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSAke21vZGVsQ2xhenpOYW1lfSByZWNvcmRzIGJ5IGlkcy5gIH0pLFxuICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcImlkc1wiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJhcnJheVwiIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWxrVXBkYXRlRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUFVUXCIsIFwiYnVsa1wiKSxcbiAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgIHN1bW1hcnk6IGBSZXBsYWNlIGV4aXN0aW5nICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZHMgd2l0aCBuZXcgcGF5bG9hZHMuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpQm9keSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgcmVwbGFjaW5nIGV4aXN0aW5nIHJlY29yZHMgb2YgJHttb2RlbENsYXp6TmFtZX1gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgJHJlZjogZ2V0U2NoZW1hUGF0aChEdG9Gb3IoT3BlcmF0aW9uS2V5cy5VUERBVEUsIE1vZGVsQ29uc3RyKSksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgfSksXG4gICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWxrRGVsZXRlRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiREVMRVRFXCIsIFwiYnVsa1wiKSxcbiAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBEZWxldGUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkcyBieSBpZHMuYCB9KSxcbiAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJpZHNcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiYXJyYXlcIiB9KSxcbiAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWREZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZyxcbiAgICBhcGlQcm9wZXJ0aWVzOiBEZWNhZkFwaVByb3BlcnR5W10sXG4gICAgcGtQYXRoOiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgcGtQYXRoKSxcbiAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSBhICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBieSBpZC5gIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB1cGRhdGVEZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZyxcbiAgICBhcGlQcm9wZXJ0aWVzOiBEZWNhZkFwaVByb3BlcnR5W10sXG4gICAgcGtQYXRoOiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJQVVRcIiwgcGtQYXRoKSxcbiAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgIHN1bW1hcnk6IGBSZXBsYWNlIGFuIGV4aXN0aW5nICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCB3aXRoIGEgbmV3IHBheWxvYWQuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpQm9keSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgcmVwbGFjaW5nIGFuIGV4aXN0aW5nIHJlY29yZCBvZiAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgIHR5cGU6IER0b0ZvcihPcGVyYXRpb25LZXlzLlVQREFURSwgTW9kZWxDb25zdHIpLFxuICAgICAgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiUGF5bG9hZCB2YWxpZGF0aW9uIGZhaWxlZC5cIiB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZGVsZXRlRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdLFxuICAgIHBrUGF0aDogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiREVMRVRFXCIsIHBrUGF0aCksXG4gICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgRGVsZXRlIGEgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIGJ5IGlkLmAgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBkZWxldGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzdGF0ZW1lbnREZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZ1xuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkdFVFwiLCBcInN0YXRlbWVudC86bWV0aG9kLyphcmdzXCIpLFxuICAgICAgQXBpT3BlcmF0aW9uKHtcbiAgICAgICAgc3VtbWFyeTogYEV4ZWN1dGVzIGEgcHJlcGFyZWQgc3RhdGVtZW50IG9uICR7bW9kZWxDbGF6ek5hbWV9LmAsXG4gICAgICB9KSxcbiAgICAgIEFwaVBhcmFtKHsgbmFtZTogXCJtZXRob2RcIiwgZGVzY3JpcHRpb246IFwidGhlIHByZXBhcmVkIHN0YXRlbWVudCB0byBleGVjdXRlXCIgfSksXG4gICAgICBBcGlQYXJhbSh7XG4gICAgICAgIG5hbWU6IFwiYXJnc1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJjb25jYXRlbmF0ZWQgbGlzdCBvZiBhcmd1bWVudHMgdGhlIHByZXBhcmVkIHN0YXRlbWVudCBjYW4gYWNjZXB0XCIsXG4gICAgICB9KSxcbiAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGVudW06IE9yZGVyRGlyZWN0aW9uLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlciB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgIH0pLFxuICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcImxpbWl0XCIsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJsaW1pdCBvciBwYWdlIHNpemUgd2hlbiBhcHBsaWNhYmxlXCIgfSksXG4gICAgICBBcGlRdWVyeSh7IG5hbWU6IFwib2Zmc2V0XCIsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJvZmZzZXQgb3IgYm9va21hcmsgd2hlbiBhcHBsaWNhYmxlXCIgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBsaXN0ZWQgZm91bmQuYCB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc3RhdGVtZW50U2hvcnRjdXREZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgc3RhdGVtZW50S2V5OiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgY29uc3QgYmFzZTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiA9IFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgcGF0aCksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3Jkcy5gIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS5gIH0pLFxuICAgIF07XG5cbiAgICBjb25zdCBzZWdtZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSk7XG4gICAgc2VnbWVudHMuZm9yRWFjaCgoc2VnKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gc2VnLnJlcGxhY2UoXCI6XCIsIFwiXCIpO1xuICAgICAgYmFzZS5wdXNoKEFwaVBhcmFtKHsgbmFtZSwgZGVzY3JpcHRpb246IGBUaGUgJHtuYW1lfSBwYXJhbWV0ZXJgIH0pKTtcbiAgICB9KTtcblxuICAgIGlmIChcbiAgICAgIHBhdGguc3RhcnRzV2l0aChcImxpc3RCeS9cIikgfHxcbiAgICAgIHBhdGguc3RhcnRzV2l0aChcInBhZ2luYXRlQnkvXCIpIHx8XG4gICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kL1wiKSB8fFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnZS9cIilcbiAgICApIHtcbiAgICAgIGJhc2UucHVzaChcbiAgICAgICAgQXBpUXVlcnkoe1xuICAgICAgICAgIG5hbWU6IFwiZGlyZWN0aW9uXCIsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgZW51bTogT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwidGhlIHNvcnQgb3JkZXJcIixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJwYWdpbmF0ZUJ5L1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKSkge1xuICAgICAgYmFzZS5wdXNoKFxuICAgICAgICBBcGlRdWVyeSh7IG5hbWU6IFwibGltaXRcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJwYWdlIHNpemVcIiB9KSxcbiAgICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcIm9mZnNldFwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcInBhZ2UgbnVtYmVyXCIgfSksXG4gICAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJib29rbWFya1wiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcImJvb2ttYXJrIGZvciBjdXJzb3IgcGFnaW5hdGlvblwiIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kT25lQnkvXCIpIHx8IHBhdGguc3RhcnRzV2l0aChcImZpbmRCeS9cIikpIHtcbiAgICAgIGJhc2UucHVzaChcbiAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRiB8fFxuICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GIHx8XG4gICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0ZcbiAgICApIHtcbiAgICAgIGJhc2UucHVzaChBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IGBSZXN1bHQgZm9yICR7bW9kZWxDbGF6ek5hbWV9LmAsIHR5cGU6IE51bWJlciB9KSk7XG4gICAgfVxuICAgIGlmIChzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5ESVNUSU5DVF9PRikge1xuICAgICAgYmFzZS5wdXNoKEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogYERpc3RpbmN0IHZhbHVlcyBmb3IgJHttb2RlbENsYXp6TmFtZX0uYCwgdHlwZTogW1N0cmluZ10gfSkpO1xuICAgIH1cblxuICAgIHJldHVybiBiYXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UXVlcnlEZWNvcmF0b3JzKFxuICAgIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgICByb3V0ZVBhdGg6IHN0cmluZyxcbiAgICBodHRwVmVyYjogc3RyaW5nLFxuICAgIGluY2x1ZGVRdWVyeVBhcmFtczogYm9vbGVhbiA9IGZhbHNlXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIGNvbnN0IGV4dHJhY3RQYXRoUGFyYW1zID0gKHA6IHN0cmluZyk6IHN0cmluZ1tdID0+XG4gICAgICBwLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpLm1hcCgocykgPT4gcy5zbGljZSgxKSk7XG5cbiAgICBjb25zdCBhcGlQYXRoUGFyYW1zID0gZXh0cmFjdFBhdGhQYXJhbXMocm91dGVQYXRoKS5tYXAoKG5hbWUpID0+ICh7XG4gICAgICBuYW1lLFxuICAgICAgZGVzY3JpcHRpb246IGAke25hbWV9IHBhcmFtZXRlciBmb3IgdGhlIHF1ZXJ5YCxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGRlY29yYXRvcnM6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4gPSBbXG4gICAgICAuLi5hcGlQYXRoUGFyYW1zLm1hcCgocCkgPT4gQXBpUGFyYW0ocCkpLFxuICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlIHJlY29yZHMgdXNpbmcgXCIke21ldGhvZE5hbWV9XCIuYCB9KSxcbiAgICAgIEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJSZXN1bHQgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZC5cIiB9KSxcbiAgICAgIEFwaU5vQ29udGVudFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiTm8gY29udGVudCByZXR1cm5lZCBieSB0aGUgbWV0aG9kLlwiIH0pLFxuICAgIF07XG5cbiAgICBpZiAoaHR0cFZlcmIgPT09IFwiR0VUXCIgJiYgaW5jbHVkZVF1ZXJ5UGFyYW1zKSB7XG4gICAgICBkZWNvcmF0b3JzLnB1c2goXG4gICAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgICBuYW1lOiBcImRpcmVjdGlvblwiLFxuICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlciB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgICAgfSksXG4gICAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJsaW1pdFwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcImxpbWl0IG9yIHBhZ2Ugc2l6ZVwiIH0pLFxuICAgICAgICBBcGlRdWVyeSh7IG5hbWU6IFwib2Zmc2V0XCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwib2Zmc2V0IG9yIGJvb2ttYXJrXCIgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlY29yYXRvcnM7XG4gIH1cbn1cbiJdfQ==
989
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbU1vZGVsQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZyb21Nb2RlbENvbnRyb2xsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFN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RUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzSyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBdDdCRCxrREFzN0JDO0FBQ0QsOG82SEFBOG82SCIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG52YXIgRHluYW1pY01vZGVsQ29udHJvbGxlcl8xO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgUGFyYW0sIFF1ZXJ5LCBSZXNwb25zZSwgU2V0TWV0YWRhdGEgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IEFwaUJhZFJlcXVlc3RSZXNwb25zZSwgQXBpQm9keSwgQXBpQ3JlYXRlZFJlc3BvbnNlLCBBcGlFeHRyYU1vZGVscywgQXBpTm9Db250ZW50UmVzcG9uc2UsIEFwaU5vdEZvdW5kUmVzcG9uc2UsIEFwaU9rUmVzcG9uc2UsIEFwaU9wZXJhdGlvbiwgQXBpUGFyYW0sIEFwaVF1ZXJ5LCBBcGlUYWdzLCBBcGlVbnByb2Nlc3NhYmxlRW50aXR5UmVzcG9uc2UsIGdldFNjaGVtYVBhdGgsIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHsgTW9kZWxTZXJ2aWNlLCBPcmRlckRpcmVjdGlvbiwgUGVyc2lzdGVuY2VLZXlzLCBQcmVwYXJlZFN0YXRlbWVudEtleXMsIFJlcG9zaXRvcnksIFNlcnZpY2UsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvS2ViYWJDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsIERCS2V5cywgQmFzZUVycm9yLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCBWYWxpZGF0aW9uRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQXBpT3BlcmF0aW9uRnJvbU1vZGVsLCBBcGlQYXJhbXNGcm9tTW9kZWwsIERlY2FmQm9keSwgRGVjYWZRdWVyeSwgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBIdHRwVmVyYlRvRGVjb3JhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9ycy91dGlscy5qc1wiO1xuaW1wb3J0IHsgRGVjYWZSZXF1ZXN0Q29udGV4dCB9IGZyb20gXCIuLy4uL3JlcXVlc3QvaW5kZXguanNcIjtcbmltcG9ydCB7IERFQ0FGX0NPTlRST0xMRVJfQ09ORklHLCBERUNBRl9ST1VURSB9IGZyb20gXCIuLy4uL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgU0tJUF9NT0RFTF9ST0xFU19LRVkgfSBmcm9tIFwiLi8uLi9hdXRoL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgQXV0aCwgUHVibGljLCBSZXF1aXJlUm9sZXMgfSBmcm9tIFwiLi8uLi9hdXRoL2RlY29yYXRvcnMuanNcIjtcbmltcG9ydCB7IERlY2FmTW9kZWxDb250cm9sbGVyIH0gZnJvbSBcIi4vLi4vY29udHJvbGxlcnMuanNcIjtcbmltcG9ydCB7IER0b0ZvciB9IGZyb20gXCIuLy4uL2ZhY3Rvcnkvb3BlbmFwaS9EdG9CdWlsZGVyLmpzXCI7XG5pbXBvcnQgXCIuLy4uL292ZXJyaWRlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgTW9kZWxDb250cm9sbGVyRmFjdG9yeSwgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1odHRwL3NlcnZlclwiO1xuZXhwb3J0IGNsYXNzIEZyb21Nb2RlbENvbnRyb2xsZXIge1xuICAgIHN0YXRpYyB7IHRoaXMubG9nID0gTG9nZ2luZy5mb3IoRnJvbU1vZGVsQ29udHJvbGxlci5uYW1lKTsgfVxuICAgIHN0YXRpYyB0b0RlY2FmRXJyb3IoZXJyb3IsIGZhbGxiYWNrTWVzc2FnZSkge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBCYXNlRXJyb3IpXG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gYCR7ZmFsbGJhY2tNZXNzYWdlfTogJHtlcnJvci5tZXNzYWdlfWAgOiBmYWxsYmFja01lc3NhZ2UpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0UGVyc2lzdGVuY2UoTW9kZWxDbGF6eikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2UuZ2V0KE1vZGVsQ2xhenopO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiBNb2RlbFNlcnZpY2UuZ2V0U2VydmljZShNb2RlbENsYXp6KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlMikge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZXBvc2l0b3J5LmZvck1vZGVsKE1vZGVsQ2xhenopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVRdWVyeVJvdXRlc0Zyb21SZXBvc2l0b3J5KHBlcnNpc3RlbmNlLCBwcmVmaXggPSBQZXJzaXN0ZW5jZUtleXMuUVVFUlkpIHtcbiAgICAgICAgY29uc3QgcmVwbyA9IHBlcnNpc3RlbmNlIGluc3RhbmNlb2YgTW9kZWxTZXJ2aWNlID8gcGVyc2lzdGVuY2UucmVwbyA6IHBlcnNpc3RlbmNlO1xuICAgICAgICBjb25zdCBNb2RlbENvbnN0ciA9IHJlcG8uY2xhc3M7XG4gICAgICAgIGNvbnN0IHF1ZXJ5TWV0aG9kcyA9IE1ldGFkYXRhLmdldChyZXBvLmNvbnN0cnVjdG9yLCBNZXRhZGF0YS5rZXkoUGVyc2lzdGVuY2VLZXlzLlFVRVJZKSkgPz8ge307XG4gICAgICAgIGNvbnN0IHJvdXRlTWV0aG9kcyA9IE1ldGFkYXRhLmdldChwZXJzaXN0ZW5jZS5jb25zdHJ1Y3RvciwgTWV0YWRhdGEua2V5KERFQ0FGX1JPVVRFKSkgPz8ge307XG4gICAgICAgIGNsYXNzIFF1ZXJ5Q29udHJvbGxlciBleHRlbmRzIERlY2FmTW9kZWxDb250cm9sbGVyIHtcbiAgICAgICAgICAgIGdldCBjbGFzcygpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dCwgbmFtZSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKGNsaWVudENvbnRleHQsIG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIHBhcmFtc10gb2YgT2JqZWN0LmVudHJpZXMocm91dGVNZXRob2RzKSkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVQYXRoID0gW3BhcmFtcy5wYXRoLnJlcGxhY2UoL15cXC8rfFxcLyskL2csIFwiXCIpXVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQgJiYgc2VnbWVudC50cmltKCkpXG4gICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlQ29tcGxleFF1ZXJ5SGFuZGxlcihtZXRob2ROYW1lKTtcbiAgICAgICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVmaW5lTWV0aG9kKFF1ZXJ5Q29udHJvbGxlciwgbWV0aG9kTmFtZSwgaGFuZGxlcik7XG4gICAgICAgICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihwYXJhbXMuaHR0cE1ldGhvZCkocm91dGVQYXRoIHx8IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBjb25zdCBkZWNvcmF0b3JzID0gRnJvbU1vZGVsQ29udHJvbGxlci5nZXRRdWVyeURlY29yYXRvcnMobWV0aG9kTmFtZSwgcm91dGVQYXRoLCBwYXJhbXMuaHR0cE1ldGhvZCk7XG4gICAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhRdWVyeUNvbnRyb2xsZXIsIG1ldGhvZE5hbWUsIFtodHRwRGVjb3JhdG9yLCAuLi5kZWNvcmF0b3JzXSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBbbWV0aG9kTmFtZSwgb2JqVmFsdWVzXSBvZiBPYmplY3QuZW50cmllcyhxdWVyeU1ldGhvZHMpKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZHMgPSBvYmpWYWx1ZXMuZmllbGRzID8/IFtdO1xuICAgICAgICAgICAgY29uc3Qgcm91dGVQYXRoID0gW3ByZWZpeCwgbWV0aG9kTmFtZSwgLi4uZmllbGRzLm1hcCgoZikgPT4gYDoke2Z9YCldXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudCAmJiBzZWdtZW50LnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuam9pbihcIi9cIik7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVDb21wbGV4UXVlcnlIYW5kbGVyKG1ldGhvZE5hbWUpO1xuICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoUXVlcnlDb250cm9sbGVyLCBtZXRob2ROYW1lLCBoYW5kbGVyKTtcbiAgICAgICAgICAgIGNvbnN0IGh0dHBEZWNvcmF0b3IgPSBIdHRwVmVyYlRvRGVjb3JhdG9yKFwiR0VUXCIpKHJvdXRlUGF0aCB8fCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UXVlcnlEZWNvcmF0b3JzKG1ldGhvZE5hbWUsIHJvdXRlUGF0aCwgXCJHRVRcIiwgdHJ1ZSk7XG4gICAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhRdWVyeUNvbnRyb2xsZXIsIG1ldGhvZE5hbWUsIFtodHRwRGVjb3JhdG9yLCAuLi5kZWNvcmF0b3JzXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFF1ZXJ5Q29udHJvbGxlcjtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZShNb2RlbENvbnN0ciwgbW9kdWxlQ29uZmlnT3ZlcnJpZGVzLCBnbG9iYWxEZWZhdWx0cykge1xuICAgICAgICBjb25zdCBsb2cgPSBGcm9tTW9kZWxDb250cm9sbGVyLmxvZy5mb3IoRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGUpO1xuICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoTW9kZWxDb25zdHIpO1xuICAgICAgICBjb25zdCByb3V0ZVBhdGggPSB0b0tlYmFiQ2FzZSh0YWJsZU5hbWUpO1xuICAgICAgICBjb25zdCBtb2RlbENsYXp6TmFtZSA9IE1vZGVsQ29uc3RyLm5hbWU7XG4gICAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gRnJvbU1vZGVsQ29udHJvbGxlci5nZXRQZXJzaXN0ZW5jZShNb2RlbENvbnN0cik7XG4gICAgICAgIC8vIFdoZW4gcGVyc2lzdGVuY2UgaXMgYSBNb2RlbFNlcnZpY2UsIHRoZSBAcXVlcnkvQHJvdXRlIG1ldGFkYXRhIGxpdmVzIG9uXG4gICAgICAgIC8vIHRoZSB1bmRlcmx5aW5nIHJlcG9zaXRvcnkgY2xhc3MgKGN1c3RvbSByZXBvKSwgbm90IG9uIE1vZGVsU2VydmljZSBpdHNlbGYuXG4gICAgICAgIC8vIFBhc3MgdGhlIHJlcG8gdG8gdGhlIGZhY3Rvcnkgc28gYWRkQ29tcGxleFF1ZXJpZXMoKSBjYW4gZGlzY292ZXIgdGhlbS5cbiAgICAgICAgY29uc3QgZmFjdG9yeVBlcnNpc3RlbmNlID0gcGVyc2lzdGVuY2UgaW5zdGFuY2VvZiBNb2RlbFNlcnZpY2UgPyBwZXJzaXN0ZW5jZS5yZXBvIDogcGVyc2lzdGVuY2U7XG4gICAgICAgIGNvbnN0IGRlY29yYXRvckNvbmZpZyA9IE1ldGFkYXRhLmdldChNb2RlbENvbnN0ciwgTWV0YWRhdGEua2V5KERFQ0FGX0NPTlRST0xMRVJfQ09ORklHKSk7XG4gICAgICAgIGNvbnN0IG1vZHVsZU92ZXJyaWRlID0gbW9kdWxlQ29uZmlnT3ZlcnJpZGVzPy5bTW9kZWxDb25zdHIubmFtZV07XG4gICAgICAgIGNvbnN0IG1lcmdlZENvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLihnbG9iYWxEZWZhdWx0cyB8fCB7fSksXG4gICAgICAgICAgICAuLi4oZGVjb3JhdG9yQ29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLihtb2R1bGVPdmVycmlkZSB8fCB7fSksXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IEZhY3RvcnlDb250cm9sbGVyID0gTW9kZWxDb250cm9sbGVyRmFjdG9yeS5jcmVhdGUoTW9kZWxDb25zdHIsIGZhY3RvcnlQZXJzaXN0ZW5jZSwgbWVyZ2VkQ29uZmlnKTtcbiAgICAgICAgY29uc3QgZmFjdG9yeVJvdXRlcyA9IEZhY3RvcnlDb250cm9sbGVyLl9fcm91dGVzX187XG4gICAgICAgIGNvbnN0IHsgZ2V0UEssIGFwaVByb3BlcnRpZXMsIHBhdGg6IHBrUGF0aCB9ID0gRnJvbU1vZGVsQ29udHJvbGxlci5nZXRSb3V0ZVBhcmFtZXRlcnNGcm9tTW9kZWwoTW9kZWxDb25zdHIpO1xuICAgICAgICBsb2cuZGVidWcoYENyZWF0aW5nIGNvbnRyb2xsZXIgZm9yIG1vZGVsOiAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7ZmFjdG9yeVJvdXRlcz8ubGVuZ3RoID8/IDB9IGZhY3Rvcnkgcm91dGVzYCk7XG4gICAgICAgIGNvbnN0IGF1dGhDb25maWcgPSBtZXJnZWRDb25maWcuYXV0aDtcbiAgICAgICAgZnVuY3Rpb24gYXBwbHlDbGFzc0F1dGgodGFyZ2V0KSB7XG4gICAgICAgICAgICBpZiAoYXV0aENvbmZpZz8ucHVibGljKSB7XG4gICAgICAgICAgICAgICAgUHVibGljKCkodGFyZ2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGF1dGhDb25maWc/LnJvbGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBSZXF1aXJlUm9sZXMoLi4uYXV0aENvbmZpZy5yb2xlcykodGFyZ2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIEF1dGgoTW9kZWxDb25zdHIpKHRhcmdldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYXV0aENvbmZpZz8uc2tpcE1vZGVsUm9sZXMpIHtcbiAgICAgICAgICAgICAgICBTZXRNZXRhZGF0YShTS0lQX01PREVMX1JPTEVTX0tFWSwgdHJ1ZSkodGFyZ2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgRHluYW1pY01vZGVsQ29udHJvbGxlciA9IER5bmFtaWNNb2RlbENvbnRyb2xsZXJfMSA9IGNsYXNzIER5bmFtaWNNb2RlbENvbnRyb2xsZXIgZXh0ZW5kcyBEZWNhZk1vZGVsQ29udHJvbGxlciB7XG4gICAgICAgICAgICBzdGF0aWMgZ2V0IGNsYXNzKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBNb2RlbENvbnN0cjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdldCBjbGFzcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gTW9kZWxDb25zdHI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgc3VwZXIoY2xpZW50Q29udGV4dCwgRHluYW1pY01vZGVsQ29udHJvbGxlcl8xLm5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMucGsgPSBNb2RlbC5wayhNb2RlbENvbnN0cik7XG4gICAgICAgICAgICAgICAgbG9nLmluZm8oYFJlZ2lzdGVyaW5nIGR5bmFtaWMgY29udHJvbGxlciBmb3IgbW9kZWw6ICR7dGhpcy5jbGFzcy5uYW1lfSByb3V0ZTogLyR7cm91dGVQYXRofWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBEeW5hbWljTW9kZWxDb250cm9sbGVyID0gRHluYW1pY01vZGVsQ29udHJvbGxlcl8xID0gX19kZWNvcmF0ZShbXG4gICAgICAgICAgICBDb250cm9sbGVyKHJvdXRlUGF0aCksXG4gICAgICAgICAgICBBcGlUYWdzKG1vZGVsQ2xhenpOYW1lKSxcbiAgICAgICAgICAgIEFwaUV4dHJhTW9kZWxzKE1vZGVsQ29uc3RyKSxcbiAgICAgICAgICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbRGVjYWZSZXF1ZXN0Q29udGV4dF0pXG4gICAgICAgIF0sIER5bmFtaWNNb2RlbENvbnRyb2xsZXIpO1xuICAgICAgICBhcHBseUNsYXNzQXV0aChEeW5hbWljTW9kZWxDb250cm9sbGVyKTtcbiAgICAgICAgaWYgKGZhY3RvcnlSb3V0ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnRlZFJvdXRlcyA9IFsuLi5mYWN0b3J5Um91dGVzXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYVNlZ21lbnRzID0gYS5wYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgICAgICAgY29uc3QgYlNlZ21lbnRzID0gYi5wYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgICAgICAgY29uc3QgYVBhcmFtQ291bnQgPSBhU2VnbWVudHMuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgYlBhcmFtQ291bnQgPSBiU2VnbWVudHMuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgYUxpdGVyYWxDb3VudCA9IGFTZWdtZW50cy5sZW5ndGggLSBhUGFyYW1Db3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCBiTGl0ZXJhbENvdW50ID0gYlNlZ21lbnRzLmxlbmd0aCAtIGJQYXJhbUNvdW50O1xuICAgICAgICAgICAgICAgIGlmIChhTGl0ZXJhbENvdW50ICE9PSBiTGl0ZXJhbENvdW50KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYkxpdGVyYWxDb3VudCAtIGFMaXRlcmFsQ291bnQ7XG4gICAgICAgICAgICAgICAgaWYgKGFQYXJhbUNvdW50ICE9PSBiUGFyYW1Db3VudClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFQYXJhbUNvdW50IC0gYlBhcmFtQ291bnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm91dGUgb2Ygc29ydGVkUm91dGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IHJvdXRlLmltcGxlbWVudGF0aW9uPy5uYW1lIHx8IHJvdXRlLm1ldGhvZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IEZyb21Nb2RlbENvbnRyb2xsZXIubWF0Y2hSb3V0ZShtZXRob2ROYW1lLCByb3V0ZSwgcGtQYXRoLCBhcGlQcm9wZXJ0aWVzLCBnZXRQSywgTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBmYWN0b3J5UGVyc2lzdGVuY2UpO1xuICAgICAgICAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG1ldGhvZE5hbWU6IHJlZ2lzdGVyZWRNZXRob2ROYW1lLCBoYW5kbGVyLCBkZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMsIH0gPSByZWdpc3RyYXRpb247XG4gICAgICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZGVmaW5lTWV0aG9kKER5bmFtaWNNb2RlbENvbnRyb2xsZXIsIHJlZ2lzdGVyZWRNZXRob2ROYW1lLCBoYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihyb3V0ZS5tZXRob2QpKHJvdXRlLnBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIikgfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5hcHBseURlY29yYXRvcnMoRHluYW1pY01vZGVsQ29udHJvbGxlciwgcmVnaXN0ZXJlZE1ldGhvZE5hbWUsIFtodHRwRGVjb3JhdG9yLCAuLi5kZWNvcmF0b3JzXSwgcGFyYW1EZWNvcmF0b3JzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIER5bmFtaWNNb2RlbENvbnRyb2xsZXI7XG4gICAgfVxuICAgIHN0YXRpYyBnZXRSb3V0ZVBhcmFtZXRlcnNGcm9tTW9kZWwoTW9kZWxDbGF6eikge1xuICAgICAgICBjb25zdCBwayA9IE1vZGVsLnBrKE1vZGVsQ2xhenopO1xuICAgICAgICBjb25zdCBjb21wb3NlZCA9IE1ldGFkYXRhLmdldChNb2RlbENsYXp6LCBNZXRhZGF0YS5rZXkoREJLZXlzLkNPTVBPU0VELCBwaykpO1xuICAgICAgICBjb25zdCBjb21wb3NlZEtleXMgPSBjb21wb3NlZD8uYXJncyA/PyBbXTtcbiAgICAgICAgY29uc3QgdW5pcXVlS2V5cyA9IEFycmF5LmlzQXJyYXkoY29tcG9zZWRLZXlzKSAmJiBjb21wb3NlZEtleXMubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLmNvbXBvc2VkS2V5c10pKVxuICAgICAgICAgICAgOiBBcnJheS5mcm9tKG5ldyBTZXQoW3BrXSkpO1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKE1vZGVsQ2xhenopID8/IFwiXCI7XG4gICAgICAgIGNvbnN0IHBhdGggPSBgOiR7dW5pcXVlS2V5cy5qb2luKFwiLzpcIil9YDtcbiAgICAgICAgY29uc3QgYXBpUHJvcGVydGllcyA9IHVuaXF1ZUtleXMubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZToga2V5LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBNZXRhZGF0YS5kZXNjcmlwdGlvbihNb2RlbENsYXp6LCBrZXkpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgYXBpUHJvcGVydGllcyxcbiAgICAgICAgICAgIGdldFBLOiAoLi4ucGFyYW1zKSA9PiBjb21wb3NlZD8uc2VwYXJhdG9yID8gcGFyYW1zLmpvaW4oY29tcG9zZWQuc2VwYXJhdG9yKSA6IHBhcmFtcy5qb2luKFwiXCIpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGF0aWMgcm91dGVQYXJhbURlY29yYXRvcnMocGF0aCkge1xuICAgICAgICBsZXQgcGFyYW1JbmRleCA9IDA7XG4gICAgICAgIHJldHVybiBwYXRoXG4gICAgICAgICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAuZmxhdE1hcCgoc2VnbWVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChcIjpcIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3sgZGVjb3JhdG9yOiBQYXJhbShzZWdtZW50LnNsaWNlKDEpKSwgaW5kZXg6IHBhcmFtSW5kZXgrKyB9XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCIqXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFt7IGRlY29yYXRvcjogUGFyYW0oc2VnbWVudC5zbGljZSgxKSksIGluZGV4OiBwYXJhbUluZGV4KysgfV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgZGVmaW5lTWV0aG9kKHRhcmdldCwgbWV0aG9kTmFtZSwgaGFuZGxlcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSB8fCB0YXJnZXQsIG1ldGhvZE5hbWUsIHtcbiAgICAgICAgICAgIHZhbHVlOiBoYW5kbGVyLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQucHJvdG90eXBlIHx8IHRhcmdldCwgbWV0aG9kTmFtZSk7XG4gICAgfVxuICAgIHN0YXRpYyBhcHBseURlY29yYXRvcnModGFyZ2V0LCBtZXRob2ROYW1lLCBtZXRob2REZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMgPSBbXSkge1xuICAgICAgICBjb25zdCBwcm90byA9IHRhcmdldD8ucHJvdG90eXBlID8/IHRhcmdldDtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIG1ldGhvZE5hbWUpO1xuICAgICAgICBtZXRob2REZWNvcmF0b3JzLmZvckVhY2goKGQpID0+IGQocHJvdG8sIG1ldGhvZE5hbWUsIGRlc2NyaXB0b3IpKTtcbiAgICAgICAgcGFyYW1EZWNvcmF0b3JzLmZvckVhY2goKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PiBkZWNvcmF0b3IocHJvdG8sIG1ldGhvZE5hbWUsIGluZGV4KSk7XG4gICAgfVxuICAgIHN0YXRpYyBtYXRjaFJvdXRlKG1ldGhvZE5hbWUsIHJvdXRlLCBwa1BhdGgsIGFwaVByb3BlcnRpZXMsIGdldFBLLCBNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIHBlcnNpc3RlbmNlKSB7XG4gICAgICAgIGNvbnN0IHsgbWV0aG9kLCBwYXRoIH0gPSByb3V0ZTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBwYXRoLnJlcGxhY2UoL15cXC8rfFxcLyskL2csIFwiXCIpO1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gcm91dGUuaW1wbGVtZW50YXRpb247XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiUE9TVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJjcmVhdGVcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVDcmVhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksIFt7IGRlY29yYXRvcjogRGVjYWZCb2R5KCksIGluZGV4OiAwIH0sIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pLCBpbmRleDogMSB9XSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJQT1NUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJjcmVhdGVBbGxcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5idWxrQ3JlYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpLCBbeyBkZWNvcmF0b3I6IERlY2FmQm9keSgpLCBpbmRleDogMCB9LCB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSwgaW5kZXg6IDEgfV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJyZWFkQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1JlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksIFt7IGRlY29yYXRvcjogUXVlcnkoXCJpZHNcIiksIGluZGV4OiAwIH1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwidXBkYXRlQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1VwZGF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSwgW3sgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSwgaW5kZXg6IDAgfSwgeyBkZWNvcmF0b3I6IFJlc3BvbnNlKHsgcGFzc3Rocm91Z2g6IHRydWUgfSksIGluZGV4OiAxIH1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIkRFTEVURVwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwiZGVsZXRlQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa0RlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSwgW3sgZGVjb3JhdG9yOiBRdWVyeShcImlkc1wiKSwgaW5kZXg6IDAgfSwgeyBkZWNvcmF0b3I6IFJlc3BvbnNlKHsgcGFzc3Rocm91Z2g6IHRydWUgfSksIGluZGV4OiAxIH1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBwa1BhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcInJlYWRcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5yZWFkRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCksIEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBwa1BhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlUGFyYW1zID0gRnJvbU1vZGVsQ29udHJvbGxlci5yb3V0ZVBhcmFtRGVjb3JhdG9ycyhub3JtYWxpemVkUGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJ1cGRhdGVcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci51cGRhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcywgcGtQYXRoKSwgW1xuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAgICAgICAuLi5yb3V0ZVBhcmFtcy5tYXAoKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBkZWNvcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJERUxFVEVcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwiZGVsZXRlXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVsZXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCksIHJvdXRlUGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDb21wb3NlZCBQSyBmYWxsYmFjayByb3V0ZXMgKGZpbHRlckVtcHR5KSDigJQgcGF0aCBkaWZmZXJzIGZyb20gcGtQYXRoXG4gICAgICAgIGNvbnN0IGZhbGxiYWNrU2VnbWVudHMgPSBub3JtYWxpemVkUGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBjb25zdCBpc0FsbFBhcmFtcyA9IGZhbGxiYWNrU2VnbWVudHMubGVuZ3RoID4gMCAmJiBmYWxsYmFja1NlZ21lbnRzLmV2ZXJ5KChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICAgICAgaWYgKGlzQWxsUGFyYW1zICYmIG5vcm1hbGl6ZWRQYXRoICE9PSBwa1BhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrQXBpUHJvcHMgPSBmYWxsYmFja1NlZ21lbnRzLm1hcCgocykgPT4gcy5zbGljZSgxKSkubWFwKChuYW1lKSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke25hbWV9IHBhcmFtZXRlcmAsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gZmFsbGJhY2tTZWdtZW50cy5tYXAoKHMpID0+IHMuc2xpY2UoMSkpLmpvaW4oXCJBbmRcIik7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihgcmVhZEJ5JHtzdWZmaXh9YCwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5yZWFkRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGZhbGxiYWNrQXBpUHJvcHMsIG5vcm1hbGl6ZWRQYXRoKSwgcm91dGVQYXJhbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJQVVRcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihgdXBkYXRlQnkke3N1ZmZpeH1gLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLnVwZGF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBmYWxsYmFja0FwaVByb3BzLCBub3JtYWxpemVkUGF0aCksIFtcbiAgICAgICAgICAgICAgICAgICAgeyBkZWNvcmF0b3I6IERlY2FmQm9keSgpLCBpbmRleDogMCB9LFxuICAgICAgICAgICAgICAgICAgICAuLi5yb3V0ZVBhcmFtcy5tYXAoKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJERUxFVEVcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihgZGVsZXRlQnkke3N1ZmZpeH1gLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLmRlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBmYWxsYmFja0FwaVByb3BzLCBub3JtYWxpemVkUGF0aCksIHJvdXRlUGFyYW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcInN0YXRlbWVudC86bWV0aG9kLyphcmdzXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcInN0YXRlbWVudFwiLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLnN0YXRlbWVudERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSwgW1xuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShcIm1ldGhvZFwiKSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogUGFyYW0oXCJhcmdzXCIpLCBpbmRleDogMSB9LFxuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZlF1ZXJ5KCksIGluZGV4OiAyIH0sXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImZpbmRPbmVCeS86a2V5Lzp2YWx1ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJmaW5kT25lQnlcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBub3JtYWxpemVkUGF0aCwgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZKSwgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dFBhcmFtcyhub3JtYWxpemVkUGF0aCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudFJvdXRlcyA9IHtcbiAgICAgICAgICAgIFwibGlzdEJ5LzprZXlcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkxJU1RfQlksXG4gICAgICAgICAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICAgICAgICAgIFwiZmluZC86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkQsXG4gICAgICAgICAgICBcInBhZ2UvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFLFxuICAgICAgICAgICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgICAgICAgICAgXCJmaW5kQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlksXG4gICAgICAgICAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICAgICAgICAgIFwibWF4T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NQVhfT0YsXG4gICAgICAgICAgICBcIm1pbk9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUlOX09GLFxuICAgICAgICAgICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICAgICAgICAgIFwic3VtT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0YsXG4gICAgICAgICAgICBcImRpc3RpbmN0T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5ESVNUSU5DVF9PRixcbiAgICAgICAgICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnRLZXkgPSBzdGF0ZW1lbnRSb3V0ZXNbbm9ybWFsaXplZFBhdGhdO1xuICAgICAgICBpZiAoc3RhdGVtZW50S2V5ICYmIG1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50TWV0aG9kTmFtZShub3JtYWxpemVkUGF0aCksIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgbm9ybWFsaXplZFBhdGgsIHN0YXRlbWVudEtleSksIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXRQYXJhbXMobm9ybWFsaXplZFBhdGgpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWRQYXRoLnN0YXJ0c1dpdGgoXCJxdWVyeS9cIikpIHtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5TWV0aG9kID0gbm9ybWFsaXplZFBhdGgucmVwbGFjZSgvXnF1ZXJ5XFwvLywgXCJcIikuc3BsaXQoXCIvXCIpWzBdO1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKHF1ZXJ5TWV0aG9kLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhxdWVyeU1ldGhvZCwgbm9ybWFsaXplZFBhdGgsIFwiR0VUXCIsIHRydWUpLCBGcm9tTW9kZWxDb250cm9sbGVyLmNvbXBsZXhRdWVyeVBhcmFtcyhub3JtYWxpemVkUGF0aCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGNvbnN0IGtub3duUHJlZml4ZXMgPSBuZXcgU2V0KFtcbiAgICAgICAgICAgIFwibGlzdEJ5XCIsIFwiZmluZEJ5XCIsIFwiZmluZEJ5UGFnaW5hdGVcIiwgXCJmaW5kT25lQnlcIiwgXCJwYWdpbmF0ZUJ5XCIsXG4gICAgICAgICAgICBcImZpbmRcIiwgXCJwYWdlXCIsIFwiY291bnRPZlwiLCBcIm1heE9mXCIsIFwibWluT2ZcIiwgXCJhdmdPZlwiLCBcInN1bU9mXCIsXG4gICAgICAgICAgICBcImRpc3RpbmN0T2ZcIiwgXCJncm91cE9mXCIsIFwic3RhdGVtZW50XCIsIFwiYnVsa1wiLCBcInF1ZXJ5XCIsXG4gICAgICAgIF0pO1xuICAgICAgICBpZiAocGF0aFNlZ21lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICFub3JtYWxpemVkUGF0aC5zdGFydHNXaXRoKFwicXVlcnkvXCIpICYmXG4gICAgICAgICAgICAhbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInN0YXRlbWVudC9cIikgJiZcbiAgICAgICAgICAgICFrbm93blByZWZpeGVzLmhhcyhwYXRoU2VnbWVudHNbMF0pKSB7XG4gICAgICAgICAgICBjb25zdCBhcGlQYXRoUGFyYW1zID0gcGF0aFNlZ21lbnRzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSlcbiAgICAgICAgICAgICAgICAubWFwKChzKSA9PiBzLnNsaWNlKDEpKVxuICAgICAgICAgICAgICAgIC5tYXAoKG5hbWUpID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihtZXRob2ROYW1lLCBoYW5kbGVyLCBbXG4gICAgICAgICAgICAgICAgLi4uYXBpUGF0aFBhcmFtcy5tYXAoKHApID0+IEFwaVBhcmFtKHApKSxcbiAgICAgICAgICAgICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgcmVjb3JkcyB1c2luZyBcIiR7bWV0aG9kTmFtZX1cIi5gIH0pLFxuICAgICAgICAgICAgICAgIEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJSZXN1bHQgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZC5cIiB9KSxcbiAgICAgICAgICAgICAgICBBcGlOb0NvbnRlbnRSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIk5vIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIG1ldGhvZC5cIiB9KSxcbiAgICAgICAgICAgIF0sIEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlUmVnaXN0cmF0aW9uKG1ldGhvZE5hbWUsIGhhbmRsZXIsIGRlY29yYXRvcnMsIHBhcmFtRGVjb3JhdG9ycykge1xuICAgICAgICByZXR1cm4geyBtZXRob2ROYW1lLCBoYW5kbGVyLCBkZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMgfTtcbiAgICB9XG4gICAgc3RhdGljIHN0YXRlbWVudE1ldGhvZE5hbWUocGF0aCkge1xuICAgICAgICBjb25zdCBmaXJzdFNlZ21lbnQgPSBwYXRoLnNwbGl0KFwiL1wiKVswXTtcbiAgICAgICAgcmV0dXJuIGZpcnN0U2VnbWVudDtcbiAgICB9XG4gICAgc3RhdGljIHN0YXRlbWVudFNob3J0Y3V0UGFyYW1zKHBhdGgpIHtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICAgICAgc2VnbWVudHMuZm9yRWFjaCgoc2VnLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gc2VnLnJlcGxhY2UoXCI6XCIsIFwiXCIpO1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IFBhcmFtKG5hbWUpLCBpbmRleDogaSB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJsaXN0QnkvXCIpIHx8XG4gICAgICAgICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdpbmF0ZUJ5L1wiKSB8fFxuICAgICAgICAgICAgcGF0aC5zdGFydHNXaXRoKFwiZmluZC9cIikgfHxcbiAgICAgICAgICAgIHBhdGguc3RhcnRzV2l0aChcInBhZ2UvXCIpKSB7XG4gICAgICAgICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogRGVjYWZRdWVyeSgpLCBpbmRleDogc2VnbWVudHMubGVuZ3RoIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuICAgIHN0YXRpYyBjb21wbGV4UXVlcnlQYXJhbXMocGF0aCkge1xuICAgICAgICBjb25zdCBzZWdtZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICAgICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogUGFyYW0obmFtZSksIGluZGV4OiBpIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IERlY2FmUXVlcnkoKSwgaW5kZXg6IHNlZ21lbnRzLmxlbmd0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlQ3JlYXRlSGFuZGxlcihNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZShkYXRhLCByZXNwKSB7XG4gICAgICAgICAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIE9wZXJhdGlvbktleXMuQ1JFQVRFLCB0cnVlKSkuZm9yKGNyZWF0ZSk7XG4gICAgICAgICAgICBsb2cudmVyYm9zZShgY3JlYXRpbmcgbmV3ICR7bW9kZWxDbGF6ek5hbWV9YCk7XG4gICAgICAgICAgICBsZXQgY3JlYXRlZDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY3JlYXRlZCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS5jcmVhdGUoZGF0YSwgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gY3JlYXRlIG5ldyAke21vZGVsQ2xhenpOYW1lfWAsIGUpO1xuICAgICAgICAgICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKGUsIGBGYWlsZWQgdG8gY3JlYXRlIG5ldyAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmluZm8oYGNyZWF0ZWQgbmV3ICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtjcmVhdGVkW3RoaXMucGtdfWApO1xuICAgICAgICAgICAgaWYgKHJlc3ApXG4gICAgICAgICAgICAgICAgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZUJ1bGtDcmVhdGVIYW5kbGVyKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gY3JlYXRlQWxsKGRhdGEsIHJlc3ApIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbXSwgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEwsIHRydWUpKS5mb3IoY3JlYXRlQWxsKTtcbiAgICAgICAgICAgIGxvZy52ZXJib3NlKGBjcmVhdGluZyBuZXcgJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgICAgICAgIGxldCBjcmVhdGVkO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjcmVhdGVkID0gYXdhaXQgdGhpcy5wZXJzaXN0ZW5jZShjdHgpLmNyZWF0ZUFsbChkYXRhLm1hcCgoZCkgPT4gbmV3IE1vZGVsQ29uc3RyKGQpKSwgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gY3JlYXRlIG5ldyAke21vZGVsQ2xhenpOYW1lfWAsIGUpO1xuICAgICAgICAgICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKGUsIGBGYWlsZWQgdG8gY3JlYXRlIG5ldyAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmluZm8oYGNyZWF0ZWQgbmV3ICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtjcmVhdGVkW3RoaXMucGtdfWApO1xuICAgICAgICAgICAgaWYgKHJlc3ApXG4gICAgICAgICAgICAgICAgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZUJ1bGtSZWFkSGFuZGxlcihtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVhZEFsbChpZHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbXSwgQnVsa0NydWRPcGVyYXRpb25LZXlzLlJFQURfQUxMLCB0cnVlKSkuZm9yKHJlYWRBbGwpO1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZElkcyA9IEFycmF5LmlzQXJyYXkoaWRzKSA/IGlkcyA6IFtpZHNdO1xuICAgICAgICAgICAgbGV0IHJlYWQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhgcmVhZGluZyAke25vcm1hbGl6ZWRJZHN9ICR7bW9kZWxDbGF6ek5hbWV9YCk7XG4gICAgICAgICAgICAgICAgcmVhZCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS5yZWFkQWxsKG5vcm1hbGl6ZWRJZHMsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIHJlYWQgJHttb2RlbENsYXp6TmFtZX1gLCBlKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBGcm9tTW9kZWxDb250cm9sbGVyLnRvRGVjYWZFcnJvcihlLCBgRmFpbGVkIHRvIHJlYWQgJHttb2RlbENsYXp6TmFtZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZy5pbmZvKGByZWFkICR7cmVhZC5sZW5ndGh9ICR7bW9kZWxDbGF6ek5hbWV9YCk7XG4gICAgICAgICAgICByZXR1cm4gcmVhZDtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZUJ1bGtVcGRhdGVIYW5kbGVyKG1vZGVsQ2xhenpOYW1lKSB7XG4gICAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiB1cGRhdGVBbGwoYm9keSwgcmVzcCkge1xuICAgICAgICAgICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCwgdHJ1ZSkpLmZvcih1cGRhdGVBbGwpO1xuICAgICAgICAgICAgbGV0IHVwZGF0ZWQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKGB1cGRhdGluZyAke2JvZHkubGVuZ3RofSAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgICAgIHVwZGF0ZWQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkudXBkYXRlQWxsKGJvZHksIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBGcm9tTW9kZWxDb250cm9sbGVyLnRvRGVjYWZFcnJvcihlLCBgRmFpbGVkIHRvIHVwZGF0ZSAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlc3ApXG4gICAgICAgICAgICAgICAgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZUJ1bGtEZWxldGVIYW5kbGVyKG1vZGVsQ2xhenpOYW1lKSB7XG4gICAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGwoaWRzLCByZXNwKSB7XG4gICAgICAgICAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMLCB0cnVlKSkuZm9yKGRlbGV0ZUFsbCk7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkSWRzID0gQXJyYXkuaXNBcnJheShpZHMpID8gaWRzIDogW2lkc107XG4gICAgICAgICAgICBsZXQgcmVhZDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbG9nLmRlYnVnKGBkZWxldGluZyAke25vcm1hbGl6ZWRJZHMubGVuZ3RofSAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgICAgIHJlYWQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuZGVsZXRlQWxsKG5vcm1hbGl6ZWRJZHMsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke21vZGVsQ2xhenpOYW1lfWAsIGUpO1xuICAgICAgICAgICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKGUsIGBGYWlsZWQgdG8gZGVsZXRlICR7bW9kZWxDbGF6ek5hbWV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2cuaW5mbyhgZGVsZXRlZCAke3JlYWQubGVuZ3RofSAke21vZGVsQ2xhenpOYW1lfWApO1xuICAgICAgICAgICAgaWYgKHJlc3ApXG4gICAgICAgICAgICAgICAgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICAgICAgICByZXR1cm4gcmVhZDtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZVJlYWRIYW5kbGVyKGdldFBLLCBtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVhZChyb3V0ZVBhcmFtcykge1xuICAgICAgICAgICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBPcGVyYXRpb25LZXlzLlJFQUQsIHRydWUpKS5mb3IocmVhZCk7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGdldFBLKC4uLnJvdXRlUGFyYW1zLnZhbHVlc0luT3JkZXIpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBObyAke3RoaXMucGt9IHByb3ZpZGVkYCk7XG4gICAgICAgICAgICBsZXQgcmVhZFJlc3VsdDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbG9nLmRlYnVnKGByZWFkaW5nICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggJHt0aGlzLnBrfSAke2lkfWApO1xuICAgICAgICAgICAgICAgIHJlYWRSZXN1bHQgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlKGN0eCkucmVhZChpZCwgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gcmVhZCAke21vZGVsQ2xhenpOYW1lfSB3aXRoIGlkICR7aWR9YCwgZSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgRnJvbU1vZGVsQ29udHJvbGxlci50b0RlY2FmRXJyb3IoZSwgYEZhaWxlZCB0byByZWFkICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtpZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZy5pbmZvKGByZWFkICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtyZWFkUmVzdWx0W3RoaXMucGtdfWApO1xuICAgICAgICAgICAgcmV0dXJuIHJlYWRSZXN1bHQ7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVVcGRhdGVIYW5kbGVyKGdldFBLLCBNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZShyb3V0ZVBhcmFtcywgYm9keSwgcmVzcCkge1xuICAgICAgICAgICAgY29uc3QgeyBjdHgsIGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBPcGVyYXRpb25LZXlzLlVQREFURSwgdHJ1ZSkpLmZvcih1cGRhdGUpO1xuICAgICAgICAgICAgY29uc3QgaWQgPSBnZXRQSyguLi5yb3V0ZVBhcmFtcy52YWx1ZXNJbk9yZGVyKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaWQgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgTm8gJHt0aGlzLnBrfSBwcm92aWRlZGApO1xuICAgICAgICAgICAgbGV0IHVwZGF0ZWQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKGB1cGRhdGluZyAke21vZGVsQ2xhenpOYW1lfSB3aXRoICR7dGhpcy5wa30gJHtpZH1gKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShib2R5KSk7XG4gICAgICAgICAgICAgICAgdXBkYXRlZCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS51cGRhdGUobmV3IE1vZGVsQ29uc3RyKHsgLi4ucGF5bG9hZCwgW3RoaXMucGtdOiBpZCB9KSwgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKGUsIGBGYWlsZWQgdG8gdXBkYXRlICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggaWQgJHtpZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXNwKVxuICAgICAgICAgICAgICAgIGN0eC50b1Jlc3BvbnNlKHJlc3ApO1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVEZWxldGVIYW5kbGVyKGdldFBLLCBtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVtb3ZlKHJvdXRlUGFyYW1zLCByZXNwKSB7XG4gICAgICAgICAgICBjb25zdCB7IGN0eCwgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIE9wZXJhdGlvbktleXMuREVMRVRFLCB0cnVlKSkuZm9yKHJlbW92ZSk7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGdldFBLKC4uLnJvdXRlUGFyYW1zLnZhbHVlc0luT3JkZXIpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBObyAke3RoaXMucGt9IHByb3ZpZGVkYCk7XG4gICAgICAgICAgICBsZXQgZGVsO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsb2cuZGVidWcoYGRlbGV0aW5nICR7bW9kZWxDbGF6ek5hbWV9IHdpdGggJHt0aGlzLnBrfSAke2lkfWApO1xuICAgICAgICAgICAgICAgIGRlbCA9IGF3YWl0IHRoaXMucGVyc2lzdGVuY2UoY3R4KS5kZWxldGUoaWQsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke21vZGVsQ2xhenpOYW1lfSB3aXRoIGlkICR7aWR9YCwgZSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgRnJvbU1vZGVsQ29udHJvbGxlci50b0RlY2FmRXJyb3IoZSwgYEZhaWxlZCB0byBkZWxldGUgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAke2lkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmluZm8oYGRlbGV0ZWQgJHttb2RlbENsYXp6TmFtZX0gd2l0aCBpZCAke2lkfWApO1xuICAgICAgICAgICAgaWYgKHJlc3ApXG4gICAgICAgICAgICAgICAgY3R4LnRvUmVzcG9uc2UocmVzcCk7XG4gICAgICAgICAgICByZXR1cm4gZGVsO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlU3RhdGVtZW50SGFuZGxlcihtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50KG5hbWUsIGFyZ3MsIGRldGFpbHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIFBlcnNpc3RlbmNlS2V5cy5TVEFURU1FTlQsIHRydWUpKS5mb3Ioc3RhdGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBvZmZzZXQsIGxpbWl0LCBib29rbWFyayB9ID0gZGV0YWlscztcbiAgICAgICAgICAgIGFyZ3MgPSBhcmdzLm1hcCgoYSkgPT4gKHR5cGVvZiBhID09PSBcInN0cmluZ1wiID8gcGFyc2VJbnQoYSkgOiBhKSB8fCBhKTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhEaXJlY3Rpb24gPSBhcmdzLmxlbmd0aCA+IDEgPyBhcmdzWzFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWREaXJlY3Rpb24gPSAoZGlyZWN0aW9uID8/IHBhdGhEaXJlY3Rpb24pO1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkRGlyZWN0aW9uICYmIGFyZ3MubGVuZ3RoID4gMSlcbiAgICAgICAgICAgICAgICBhcmdzWzFdID0gcmVzb2x2ZWREaXJlY3Rpb247XG4gICAgICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5GSU5EOlxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlk6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkxJU1RfQlk6XG4gICAgICAgICAgICAgICAgICAgIGFyZ3MucHVzaChkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFOlxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0VfQlk6XG4gICAgICAgICAgICAgICAgICAgIGFyZ3MgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWREaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxpbWl0LCBvZmZzZXQsIGJvb2ttYXJrIH0sXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRjpcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5NQVhfT0Y6XG4gICAgICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUlOX09GOlxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRjpcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0Y6XG4gICAgICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRElTVElOQ1RfT0Y6XG4gICAgICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuR1JPVVBfT0Y6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KS5zdGF0ZW1lbnQobmFtZSwgLi4uYXJncywgY3R4KTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZVN0YXRlbWVudFNob3J0Y3V0SGFuZGxlcihzdGF0ZW1lbnRLZXksIG1vZGVsQ2xhenpOYW1lKSB7XG4gICAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRTaG9ydGN1dCguLi5hcmdzKSB7XG4gICAgICAgICAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBzdGF0ZW1lbnRLZXksIHRydWUpKS5mb3Ioc3RhdGVtZW50U2hvcnRjdXQpO1xuICAgICAgICAgICAgc3dpdGNoIChzdGF0ZW1lbnRLZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5MSVNUX0JZOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtrZXksIGRldGFpbHNdID0gYXJncztcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KS5saXN0Qnkoa2V5LCBkZXRhaWxzPy5kaXJlY3Rpb24sIGN0eCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0VfQlk6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleSwgcGFnZSwgZGV0YWlsc10gPSBhcmdzO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wZXJzaXN0ZW5jZShjdHgpLnBhZ2luYXRlQnkoa2V5LCBkZXRhaWxzPy5kaXJlY3Rpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiBkZXRhaWxzPy5saW1pdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogZGV0YWlscz8ub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgfSwgY3R4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORDoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbdmFsdWUsIGRldGFpbHNdID0gYXJncztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gZGV0YWlscz8uZGlyZWN0aW9uID8/IE9yZGVyRGlyZWN0aW9uLkFTQztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyc2lzdGVuY2UgPSB0aGlzLnBlcnNpc3RlbmNlKGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcGVyc2lzdGVuY2UuZmluZCA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLmZpbmQodmFsdWUsIGRpcmVjdGlvbiwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnN0YXRlbWVudChQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCwgdmFsdWUsIGRpcmVjdGlvbiwgY3R4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRToge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbdmFsdWUsIGRldGFpbHNdID0gYXJncztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBkZXRhaWxzPy5vZmZzZXQgPz8gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiBkZXRhaWxzPy5saW1pdCA/PyAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvb2ttYXJrOiBkZXRhaWxzPy5ib29rbWFyayxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyc2lzdGVuY2UgPSB0aGlzLnBlcnNpc3RlbmNlKGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGRldGFpbHM/LmRpcmVjdGlvbiA/PyBPcmRlckRpcmVjdGlvbi5BU0M7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcGVyc2lzdGVuY2UucGFnZSA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnBhZ2UodmFsdWUsIGRpcmVjdGlvbiwgcmVmLCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2Uuc3RhdGVtZW50KFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFLCB2YWx1ZSwgZGlyZWN0aW9uLCByZWYsIGN0eCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGFyZ3M7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBlcnNpc3RlbmNlKGN0eCkuZmluZE9uZUJ5KGtleSwgdmFsdWUsIGN0eCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlk6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gYXJncztcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVuY2UoY3R4KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvcihjdHgudG9PdmVycmlkZXMoKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kQnkoa2V5LCB2YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkNPVU5UX09GIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NQVhfT0YgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1JTl9PRiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0YgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5HUk9VUF9PRikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW2ZpZWxkXSA9IGFyZ3M7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wZXJzaXN0ZW5jZShjdHgpLnN0YXRlbWVudChzdGF0ZW1lbnRLZXksIGZpZWxkLCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBVbmtub3duIHN0YXRlbWVudDogJHtzdGF0ZW1lbnRLZXl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVDb21wbGV4UXVlcnlIYW5kbGVyKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNvbXBsZXhRdWVyeSguLi5hcmdzKSB7XG4gICAgICAgICAgICBjb25zdCBsb2cgPSB0aGlzLmxvZz8uZm9yPy4oY29tcGxleFF1ZXJ5KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKGxvZylcbiAgICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKGBJbnZva2luZyBjdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCJgKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBtZXRob2ROYW1lLCB0cnVlKSkuZm9yKGNvbXBsZXhRdWVyeSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGVyc2lzdGVuY2UgPSB0aGlzLnBlcnNpc3RlbmNlKGN0eCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3ByZWFkQXJncyA9IEZyb21Nb2RlbENvbnRyb2xsZXIubm9ybWFsaXplUXVlcnlBcmdzKGFyZ3MpO1xuICAgICAgICAgICAgICAgIGlmIChwZXJzaXN0ZW5jZT8ucmVwbyAmJiB0eXBlb2YgcGVyc2lzdGVuY2UucmVwb1ttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5yZXBvW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBlcnNpc3RlbmNlW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGVyc2lzdGVuY2U/LnF1ZXJ5ICYmIHR5cGVvZiBwZXJzaXN0ZW5jZS5xdWVyeSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5xdWVyeShtZXRob2ROYW1lLCAuLi5zcHJlYWRBcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZS5zdGF0ZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2Uuc3RhdGVtZW50KG1ldGhvZE5hbWUsIC4uLnNwcmVhZEFyZ3MsIGN0eCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBQZXJzaXN0ZW5jZSBtZXRob2QgXCIke21ldGhvZE5hbWV9XCIgbm90IGZvdW5kIG9uICR7cGVyc2lzdGVuY2U/LmNvbnN0cnVjdG9yPy5uYW1lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBpZiAobG9nKVxuICAgICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoYEN1c3RvbSBxdWVyeSBcIiR7bWV0aG9kTmFtZX1cIiBmYWlsZWRgLCBlKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBGcm9tTW9kZWxDb250cm9sbGVyLnRvRGVjYWZFcnJvcihlLCBgQ3VzdG9tIHF1ZXJ5IFwiJHttZXRob2ROYW1lfVwiIGZhaWxlZGApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlQ3VzdG9tUm91dGVIYW5kbGVyKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGN1c3RvbVJvdXRlKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nPy5mb3I/LihjdXN0b21Sb3V0ZSk7XG4gICAgICAgICAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBtZXRob2ROYW1lLCB0cnVlKSkuZm9yKGN1c3RvbVJvdXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gdGhpcy5wZXJzaXN0ZW5jZShjdHgpO1xuICAgICAgICAgICAgY29uc3Qgc3ByZWFkQXJncyA9IEZyb21Nb2RlbENvbnRyb2xsZXIubm9ybWFsaXplUXVlcnlBcmdzKGFyZ3MpO1xuICAgICAgICAgICAgLy8gVHJ5IHRoZSBwZXJzaXN0ZW5jZSBkaXJlY3RseSAod29ya3Mgd2hlbiBpdCdzIGEgY3VzdG9tIFJlcG9zaXRvcnkpXG4gICAgICAgICAgICBpZiAocGVyc2lzdGVuY2U/LnJlcG8gJiYgdHlwZW9mIHBlcnNpc3RlbmNlLnJlcG9bbWV0aG9kTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5yZXBvW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZW5jZVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHN0YXRlbWVudCBnYXRld2F5XG4gICAgICAgICAgICBpZiAodHlwZW9mIHBlcnNpc3RlbmNlLnN0YXRlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnN0YXRlbWVudChtZXRob2ROYW1lLCAuLi5zcHJlYWRBcmdzLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9IG9yIGl0cyByZXBvYCk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBleHRyYWN0UXVlcnlBcmdzKGFyZ3MpIHtcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGFyZ3M7XG4gICAgICAgIGNvbnN0IGxhc3QgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChsYXN0ICYmXG4gICAgICAgICAgICB0eXBlb2YgbGFzdCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkobGFzdCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5T2JqID0gYXJncy5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0RpcmVjdGlvbiA9IHF1ZXJ5T2JqLmRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzTGltaXQgPSBxdWVyeU9iai5saW1pdCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzT2Zmc2V0ID0gcXVlcnlPYmoub2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAoIWhhc0RpcmVjdGlvbiAmJiAhaGFzTGltaXQgJiYgIWhhc09mZnNldClcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJncztcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhcyA9IFtdO1xuICAgICAgICAgICAgaWYgKGhhc0RpcmVjdGlvbilcbiAgICAgICAgICAgICAgICBleHRyYXMucHVzaChxdWVyeU9iai5kaXJlY3Rpb24pO1xuICAgICAgICAgICAgZWxzZSBpZiAoaGFzTGltaXQgfHwgaGFzT2Zmc2V0KVxuICAgICAgICAgICAgICAgIGV4dHJhcy5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBpZiAoaGFzTGltaXQpXG4gICAgICAgICAgICAgICAgZXh0cmFzLnB1c2gocXVlcnlPYmoubGltaXQpO1xuICAgICAgICAgICAgaWYgKGhhc09mZnNldClcbiAgICAgICAgICAgICAgICBleHRyYXMucHVzaChxdWVyeU9iai5vZmZzZXQpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5hcmdzLCAuLi5leHRyYXNdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcmdzO1xuICAgIH1cbiAgICBzdGF0aWMgbm9ybWFsaXplUXVlcnlBcmdzKGFyZ3MpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZXh0cmFjdFF1ZXJ5QXJncyhhcmdzKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgICAgIGNvbnN0IGxhc3QgPSBub3JtYWxpemVkW25vcm1hbGl6ZWQubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICghbGFzdCB8fCB0eXBlb2YgbGFzdCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KGxhc3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeU9iaiA9IGxhc3Q7XG4gICAgICAgIGNvbnN0IGhhc1F1ZXJ5RmllbGRzID0gcXVlcnlPYmouZGlyZWN0aW9uICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIHF1ZXJ5T2JqLmxpbWl0ICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBxdWVyeU9iai5ib29rbWFyayAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWhhc1F1ZXJ5RmllbGRzKSB7XG4gICAgICAgICAgICBub3JtYWxpemVkLnBvcCgpO1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgbm9ybWFsaXplZC5wb3AoKTtcbiAgICAgICAgaWYgKHF1ZXJ5T2JqLmRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmRpcmVjdGlvbik7XG4gICAgICAgIGlmIChxdWVyeU9iai5saW1pdCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmxpbWl0KTtcbiAgICAgICAgaWYgKHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLm9mZnNldCk7XG4gICAgICAgIGlmIChxdWVyeU9iai5ib29rbWFyayAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmJvb2ttYXJrKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVDcmVhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBPU1RcIiksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgQ3JlYXRlIGEgbmV3ICR7bW9kZWxDbGF6ek5hbWV9LmAgfSksXG4gICAgICAgICAgICBBcGlCb2R5KHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYFBheWxvYWQgZm9yICR7bW9kZWxDbGF6ek5hbWV9YCxcbiAgICAgICAgICAgICAgICB0eXBlOiBEdG9Gb3IoT3BlcmF0aW9uS2V5cy5DUkVBVEUsIE1vZGVsQ29uc3RyKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpQ3JlYXRlZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgICAgICAgICBBcGlVbnByb2Nlc3NhYmxlRW50aXR5UmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcG9zaXRvcnkgcmVqZWN0ZWQgdGhlIHByb3ZpZGVkIHBheWxvYWQuXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgc3RhdGljIGJ1bGtDcmVhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBPU1RcIiwgXCJidWxrXCIpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYENyZWF0ZSBhIG5ldyAke21vZGVsQ2xhenpOYW1lfS5gIH0pLFxuICAgICAgICAgICAgQXBpQm9keSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBQYXlsb2FkIGZvciAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlDcmVhdGVkUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gY3JlYXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgICAgICAgICBBcGlVbnByb2Nlc3NhYmxlRW50aXR5UmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcG9zaXRvcnkgcmVqZWN0ZWQgdGhlIHByb3ZpZGVkIHBheWxvYWQuXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgc3RhdGljIGJ1bGtSZWFkRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgXCJidWxrXCIpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZHMgYnkgaWRzLmAgfSksXG4gICAgICAgICAgICBBcGlRdWVyeSh7IG5hbWU6IFwiaWRzXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcImFycmF5XCIgfSksXG4gICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgYnVsa1VwZGF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUFVUXCIsIFwiYnVsa1wiKSxcbiAgICAgICAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgICAgICAgICAgc3VtbWFyeTogYFJlcGxhY2UgZXhpc3RpbmcgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkcyB3aXRoIG5ldyBwYXlsb2Fkcy5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlCb2R5KHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYFBheWxvYWQgZm9yIHJlcGxhY2luZyBleGlzdGluZyByZWNvcmRzIG9mICR7bW9kZWxDbGF6ek5hbWV9YCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICAkcmVmOiBnZXRTY2hlbWFQYXRoKER0b0ZvcihPcGVyYXRpb25LZXlzLlVQREFURSwgTW9kZWxDb25zdHIpKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyBidWxrRGVsZXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJERUxFVEVcIiwgXCJidWxrXCIpLFxuICAgICAgICAgICAgQXBpUGFyYW1zRnJvbU1vZGVsKGFwaVByb3BlcnRpZXMpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYERlbGV0ZSAke21vZGVsQ2xhenpOYW1lfSByZWNvcmRzIGJ5IGlkcy5gIH0pLFxuICAgICAgICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcImlkc1wiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJhcnJheVwiIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBkZWxldGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyByZWFkRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkdFVFwiLCBwa1BhdGgpLFxuICAgICAgICAgICAgQXBpUGFyYW1zRnJvbU1vZGVsKGFwaVByb3BlcnRpZXMpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlIGEgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIGJ5IGlkLmAgfSksXG4gICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyB1cGRhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcywgcGtQYXRoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUFVUXCIsIHBrUGF0aCksXG4gICAgICAgICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICAgICAgICAgIHN1bW1hcnk6IGBSZXBsYWNlIGFuIGV4aXN0aW5nICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCB3aXRoIGEgbmV3IHBheWxvYWQuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpQm9keSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBQYXlsb2FkIGZvciByZXBsYWNpbmcgYW4gZXhpc3RpbmcgcmVjb3JkIG9mICR7bW9kZWxDbGF6ek5hbWV9YCxcbiAgICAgICAgICAgICAgICB0eXBlOiBEdG9Gb3IoT3BlcmF0aW9uS2V5cy5VUERBVEUsIE1vZGVsQ29uc3RyKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICAgICAgICAgIHNjaGVtYTogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyBkZWxldGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcywgcGtQYXRoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiREVMRVRFXCIsIHBrUGF0aCksXG4gICAgICAgICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgRGVsZXRlIGEgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIGJ5IGlkLmAgfSksXG4gICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgc3RhdGVtZW50RGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgXCJzdGF0ZW1lbnQvOm1ldGhvZC8qYXJnc1wiKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgICAgICAgICAgc3VtbWFyeTogYEV4ZWN1dGVzIGEgcHJlcGFyZWQgc3RhdGVtZW50IG9uICR7bW9kZWxDbGF6ek5hbWV9LmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaVBhcmFtKHsgbmFtZTogXCJtZXRob2RcIiwgZGVzY3JpcHRpb246IFwidGhlIHByZXBhcmVkIHN0YXRlbWVudCB0byBleGVjdXRlXCIgfSksXG4gICAgICAgICAgICBBcGlQYXJhbSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJhcmdzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiY29uY2F0ZW5hdGVkIGxpc3Qgb2YgYXJndW1lbnRzIHRoZSBwcmVwYXJlZCBzdGF0ZW1lbnQgY2FuIGFjY2VwdFwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlciB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcImxpbWl0XCIsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJsaW1pdCBvciBwYWdlIHNpemUgd2hlbiBhcHBsaWNhYmxlXCIgfSksXG4gICAgICAgICAgICBBcGlRdWVyeSh7IG5hbWU6IFwib2Zmc2V0XCIsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJvZmZzZXQgb3IgYm9va21hcmsgd2hlbiBhcHBsaWNhYmxlXCIgfSksXG4gICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBsaXN0ZWQgZm91bmQuYCB9KSxcbiAgICAgICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgc3RhdGVtZW50U2hvcnRjdXREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgcGF0aCwgc3RhdGVtZW50S2V5KSB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiR0VUXCIsIHBhdGgpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZHMuYCB9KSxcbiAgICAgICAgICAgIEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuYCB9KSxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICAgICAgICBiYXNlLnB1c2goQXBpUGFyYW0oeyBuYW1lLCBkZXNjcmlwdGlvbjogYFRoZSAke25hbWV9IHBhcmFtZXRlcmAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcImxpc3RCeS9cIikgfHxcbiAgICAgICAgICAgIHBhdGguc3RhcnRzV2l0aChcInBhZ2luYXRlQnkvXCIpIHx8XG4gICAgICAgICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kL1wiKSB8fFxuICAgICAgICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnZS9cIikpIHtcbiAgICAgICAgICAgIGJhc2UucHVzaChBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlclwiLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJwYWdpbmF0ZUJ5L1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKSkge1xuICAgICAgICAgICAgYmFzZS5wdXNoKEFwaVF1ZXJ5KHsgbmFtZTogXCJsaW1pdFwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcInBhZ2Ugc2l6ZVwiIH0pLCBBcGlRdWVyeSh7IG5hbWU6IFwib2Zmc2V0XCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwicGFnZSBudW1iZXJcIiB9KSwgQXBpUXVlcnkoeyBuYW1lOiBcImJvb2ttYXJrXCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwiYm9va21hcmsgZm9yIGN1cnNvciBwYWdpbmF0aW9uXCIgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kT25lQnkvXCIpIHx8IHBhdGguc3RhcnRzV2l0aChcImZpbmRCeS9cIikpIHtcbiAgICAgICAgICAgIGJhc2UucHVzaChBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkNPVU5UX09GIHx8XG4gICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5BVkdfT0YgfHxcbiAgICAgICAgICAgIHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlNVTV9PRikge1xuICAgICAgICAgICAgYmFzZS5wdXNoKEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogYFJlc3VsdCBmb3IgJHttb2RlbENsYXp6TmFtZX0uYCwgdHlwZTogTnVtYmVyIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRElTVElOQ1RfT0YpIHtcbiAgICAgICAgICAgIGJhc2UucHVzaChBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IGBEaXN0aW5jdCB2YWx1ZXMgZm9yICR7bW9kZWxDbGF6ek5hbWV9LmAsIHR5cGU6IFtTdHJpbmddIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICB9XG4gICAgc3RhdGljIGdldFF1ZXJ5RGVjb3JhdG9ycyhtZXRob2ROYW1lLCByb3V0ZVBhdGgsIGh0dHBWZXJiLCBpbmNsdWRlUXVlcnlQYXJhbXMgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBleHRyYWN0UGF0aFBhcmFtcyA9IChwKSA9PiBwLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpLm1hcCgocykgPT4gcy5zbGljZSgxKSk7XG4gICAgICAgIGNvbnN0IGFwaVBhdGhQYXJhbXMgPSBleHRyYWN0UGF0aFBhcmFtcyhyb3V0ZVBhdGgpLm1hcCgobmFtZSkgPT4gKHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIH0pKTtcbiAgICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IFtcbiAgICAgICAgICAgIC4uLmFwaVBhdGhQYXJhbXMubWFwKChwKSA9PiBBcGlQYXJhbShwKSksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgcmVjb3JkcyB1c2luZyBcIiR7bWV0aG9kTmFtZX1cIi5gIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlJlc3VsdCBzdWNjZXNzZnVsbHkgcmV0cmlldmVkLlwiIH0pLFxuICAgICAgICAgICAgQXBpTm9Db250ZW50UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJObyBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBtZXRob2QuXCIgfSksXG4gICAgICAgIF07XG4gICAgICAgIGlmIChodHRwVmVyYiA9PT0gXCJHRVRcIiAmJiBpbmNsdWRlUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIGRlY29yYXRvcnMucHVzaChBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZW51bTogT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwidGhlIHNvcnQgb3JkZXIgd2hlbiBhcHBsaWNhYmxlXCIsXG4gICAgICAgICAgICB9KSwgQXBpUXVlcnkoeyBuYW1lOiBcImxpbWl0XCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwibGltaXQgb3IgcGFnZSBzaXplXCIgfSksIEFwaVF1ZXJ5KHsgbmFtZTogXCJvZmZzZXRcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJvZmZzZXQgb3IgYm9va21hcmtcIiB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY29yYXRvcnM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMM055WXk5a1pXTmhaaTF0YjJSbGJDOUdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEZkQlFWY3NSVUZCUlN4TlFVRk5MR2RDUVVGblFpeERRVUZETzBGQlEycEdMRTlCUVU4c1JVRkRUQ3h4UWtGQmNVSXNSVUZEY2tJc1QwRkJUeXhGUVVOUUxHdENRVUZyUWl4RlFVTnNRaXhqUVVGakxFVkJRMlFzYjBKQlFXOUNMRVZCUTNCQ0xHMUNRVUZ0UWl4RlFVTnVRaXhoUVVGaExFVkJRMklzV1VGQldTeEZRVU5hTEZGQlFWRXNSVUZEVWl4UlFVRlJMRVZCUTFJc1QwRkJUeXhGUVVOUUxEaENRVUU0UWl4RlFVTTVRaXhoUVVGaExFZEJRMlFzVFVGQlRTeHBRa0ZCYVVJc1EwRkJRenRCUVVONlFpeFBRVUZQTEVWQlJVd3NXVUZCV1N4RlFVTmFMR05CUVdNc1JVRkRaQ3hsUVVGbExFVkJRMllzY1VKQlFYRkNMRVZCUlhKQ0xGVkJRVlVzUlVGRFZpeFBRVUZQTEVkQlExSXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGdlFpeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJRM3BGTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFMUJRVTBzYlVKQlFXMUNMRU5CUVVNN1FVRkRla1FzVDBGQlR5eEZRVU5NTEhGQ1FVRnhRaXhGUVVOeVFpeE5RVUZOTEVWQlEwNHNVMEZCVXl4RlFVTlVMR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzWlVGQlpTeEhRVU5vUWl4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEycERMRTlCUVU4c1JVRkJaU3hSUVVGUkxFVkJRVVVzVFVGQlRTeHpRa0ZCYzBJc1EwRkJRenRCUVVNM1JDeFBRVUZQTEVWQlEwd3NjVUpCUVhGQ0xFVkJRM0pDTEd0Q1FVRnJRaXhGUVVWc1FpeFRRVUZUTEVWQlExUXNWVUZCVlN4SFFVTllMRGhDUVVGeFFqdEJRVU4wUWl4UFFVRlBMRVZCUVVVc2JVSkJRVzFDTEVWQlFVVXNPRUpCUVRKQ08wRkJSWHBFTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTdzRRa0ZCYlVJN1FVRkRha1FzVDBGQlR5eEZRVUZGTEhWQ1FVRjFRaXhGUVVGRkxGZEJRVmNzUlVGQlJTd3dRa0ZCY1VJN1FVRkRjRVVzVDBGQlR5eEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxDdENRVUV3UWp0QlFVTjZSQ3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc1owTkJRVEpDTzBGQlJXaEZMRTlCUVU4c1JVRkJSU3h2UWtGQmIwSXNSVUZCUlN3MFFrRkJkVUk3UVVGRGRFUXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3d5UTBGQmMwTTdRVUZEZGtRc2FVTkJRWE5DTzBGQlEzUkNMRTlCUVU4c1JVRkRUQ3h6UWtGQmMwSXNSMEZKZGtJc1RVRkJUU3d5UWtGQk1rSXNRMEZCUXp0QlFVVnVReXhOUVVGTkxFOUJRVThzYlVKQlFXMUNPMkZCUTA0c1VVRkJSeXhIUVVGSExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZGTlVRc1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGRGVrSXNTMEZCWXl4RlFVTmtMR1ZCUVhWQ08xRkJSWFpDTEVsQlFVa3NTMEZCU3l4WlFVRlpMRk5CUVZNN1dVRkJSU3hQUVVGUExFdEJRVXNzUTBGQlF6dFJRVU0zUXl4UFFVRlBMRWxCUVVrc1lVRkJZU3hEUVVOMFFpeExRVUZMTEZsQlFWa3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExHVkJRV1VzUzBGQlN5eExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExHVkJRV1VzUTBGRGJFWXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSQ3hOUVVGTkxFTkJRVU1zWTBGQll5eERRVU51UWl4VlFVRXJRanRSUVVVdlFpeEpRVUZKTEVOQlFVTTdXVUZEU0N4UFFVRlBMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRV3RDTEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTJ4RUxFTkJRVU03VVVGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xFbEJRVWtzUTBGQlF6dG5Ra0ZEU0N4UFFVRlBMRmxCUVZrc1EwRkJReXhWUVVGVkxFTkJRVU1zVlVGQlZTeERRVUZ2UWl4RFFVRkRPMWxCUTJoRkxFTkJRVU03V1VGQlF5eFBRVUZQTEVWQlFWY3NSVUZCUlN4RFFVRkRPMmRDUVVOeVFpeFBRVUZQTEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGWkxFTkJRVU03V1VGRGNFUXNRMEZCUXp0UlFVTklMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVFzVFVGQlRTeERRVUZETEN0Q1FVRXJRaXhEUVVOd1F5eFhRVUZ6UXl4RlFVTjBReXhUUVVGcFFpeGxRVUZsTEVOQlFVTXNTMEZCU3p0UlFVVjBReXhOUVVGTkxFbEJRVWtzUjBGRFVpeFhRVUZYTEZsQlFWa3NXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRka1VzVFVGQlRTeFhRVUZYTEVkQlFXZENMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRE5VTXNUVUZCVFN4WlFVRlpMRWRCUTJoQ0xGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlExWXNTVUZCU1N4RFFVRkRMRmRCUVRCQ0xFVkJReTlDTEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1pVRkJaU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVU53UXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVWV0xFMUJRVTBzV1VGQldTeEhRVU5vUWl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVOV0xGZEJRVmNzUTBGQlF5eFhRVUV3UWl4RlFVTjBReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVTXhRaXhKUVVGSkxFVkJRVVVzUTBGQlF6dFJRVVZXTEUxQlFVMHNaVUZCWjBJc1UwRkJVU3h2UWtGQmRVSTdXVUZEYmtRc1NVRkJZU3hMUVVGTE8yZENRVU5vUWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVGRExIbENRVUY1UWl4RFFVRkRMRU5CUVVNN1dVRkRja1FzUTBGQlF6dFpRVU5FTEZsQlFWa3NZVUZCYTBNc1JVRkJSU3hKUVVGWk8yZENRVU14UkN4TFFVRkxMRU5CUVVNc1lVRkJZU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6ZENMRU5CUVVNN1UwRkRSanRSUVVWRUxFdEJRVXNzVFVGQlRTeERRVUZETEZWQlFWVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRhRVVzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFpRVUZaTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN2FVSkJRM1JFTEUxQlFVMHNRMEZCUXl4RFFVRkRMRTlCUVdVc1JVRkJSU3hGUVVGRkxFTkJRVU1zVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRwUWtGRGRFUXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJSV0lzVFVGQlRTeFBRVUZQTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zZVVKQlFYbENMRU5CUXpORUxGVkJRVlVzUTBGRFNpeERRVUZETzFsQlExUXNiVUpCUVcxQ0xFTkJRVU1zV1VGQldTeERRVU01UWl4bFFVRmxMRVZCUTJZc1ZVRkJWU3hGUVVOV0xFOUJRVThzUTBGRFVpeERRVUZETzFsQlJVWXNUVUZCVFN4aFFVRmhMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRlZCUVhWQ0xFTkJRVU1zUTBGQlF5eFRRVUZUTEVsQlFVa3NVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkRiRWNzVFVGQlRTeFZRVUZWTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUTNaRUxGVkJRVlVzUlVGRFZpeFRRVUZUTEVWQlExUXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkRiRUlzUTBGQlF6dFpRVU5HTEcxQ1FVRnRRaXhEUVVGRExHVkJRV1VzUTBGRGFrTXNaVUZCWlN4RlFVTm1MRlZCUVZVc1JVRkRWaXhEUVVGRExHRkJRV0VzUlVGQlJTeEhRVUZITEZWQlFWVXNRMEZCUXl4RFFVTXZRaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEV0QlFVc3NUVUZCVFN4RFFVRkRMRlZCUVZVc1JVRkJSU3hUUVVGVExFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGJrVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1UwRkJVeXhEUVVGRExFMUJRVTBzU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZEZEVNc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlF5eE5RVUZOTEVWQlFVVXNWVUZCVlN4RlFVRkZMRWRCUVVjc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzJsQ1FVTnNSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4RFFVRkRMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdhVUpCUXpsRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVVmlMRTFCUVUwc1QwRkJUeXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMSGxDUVVGNVFpeERRVU16UkN4VlFVRlZMRU5CUTBvc1EwRkJRenRaUVVOVUxHMUNRVUZ0UWl4RFFVRkRMRmxCUVZrc1EwRkRPVUlzWlVGQlpTeEZRVU5tTEZWQlFWVXNSVUZEVml4UFFVRlBMRU5CUTFJc1EwRkJRenRaUVVWR0xFMUJRVTBzWVVGQllTeEhRVUZITEcxQ1FVRnRRaXhEUVVGRExFdEJRV3RDTEVOQlFVTXNRMEZCUXl4VFFVRlRMRWxCUVVrc1UwRkJVeXhEUVVGRExFTkJRVU03V1VGRGRFWXNUVUZCVFN4VlFVRlZMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRM1pFTEZWQlFWVXNSVUZEVml4VFFVRlRMRVZCUTFRc1MwRkJTeXhGUVVOTUxFbEJRVWtzUTBGRFRDeERRVUZETzFsQlEwWXNiVUpCUVcxQ0xFTkJRVU1zWlVGQlpTeERRVU5xUXl4bFFVRmxMRVZCUTJZc1ZVRkJWU3hGUVVOV0xFTkJRVU1zWVVGQllTeEZRVUZGTEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUXk5Q0xFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNUMEZCVHl4bFFVRmxMRU5CUVVNN1NVRkRla0lzUTBGQlF6dEpRVVZOTEVGQlFWQXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkRXQ3hYUVVGblF5eEZRVU5vUXl4eFFrRkJiMFVzUlVGRGNFVXNZMEZCYzBRN1VVRkZkRVFzVFVGQlRTeEhRVUZITEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTndSU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJReTlETEUxQlFVMHNVMEZCVXl4SFFVRkhMRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVU42UXl4TlFVRk5MR05CUVdNc1IwRkJSeXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzaERMRTFCUVUwc1YwRkJWeXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMR05CUVdNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVVZ3UlN3d1JVRkJNRVU3VVVGRE1VVXNOa1ZCUVRaRk8xRkJRemRGTEhsRlFVRjVSVHRSUVVONlJTeE5RVUZOTEd0Q1FVRnJRaXhIUVVOMFFpeFhRVUZYTEZsQlFWa3NXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkZka1VzVFVGQlRTeGxRVUZsTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkRiRU1zVjBGQlZ5eEZRVU5ZTEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNRMEZEVFN4RFFVRkRPMUZCUXpsRExFMUJRVTBzWTBGQll5eEhRVUZITEhGQ1FVRnhRaXhGUVVGRkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJwRkxFMUJRVTBzV1VGQldTeEhRVUZwUXp0WlFVTnFSQ3hIUVVGSExFTkJRVU1zWTBGQll5eEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTjZRaXhIUVVGSExFTkJRVU1zWlVGQlpTeEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTXhRaXhIUVVGSExFTkJRVU1zWTBGQll5eEpRVUZKTEVWQlFVVXNRMEZCUXp0VFFVTXhRaXhEUVVGRE8xRkJSVVlzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXl4TlFVRk5MRU5CUTNKRUxGZEJRVmNzUlVGRFdDeHJRa0ZCYTBJc1JVRkRiRUlzV1VGQldTeERRVU5pTEVOQlFVTTdVVUZEUml4TlFVRk5MR0ZCUVdFc1IwRkJTU3hwUWtGQmVVSXNRMEZCUXl4VlFVVndReXhEUVVGRE8xRkJSV1FzVFVGQlRTeEZRVUZGTEV0QlFVc3NSVUZCUlN4aFFVRmhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVU14UXl4dFFrRkJiVUlzUTBGQlF5d3lRa0ZCTWtJc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVVV2UkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxHdERRVUZyUXl4alFVRmpMRk5CUVZNc1lVRkJZU3hGUVVGRkxFMUJRVTBzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVOeVJ5eERRVUZETzFGQlJVWXNUVUZCVFN4VlFVRlZMRWRCUVRKQ0xGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZGTjBRc1UwRkJVeXhqUVVGakxFTkJRVU1zVFVGQlZ6dFpRVU5xUXl4SlFVRkpMRlZCUVZVc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtJc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEYmtJc1EwRkJRenRwUWtGQlRTeEpRVUZKTEZWQlFWVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03WjBKQlEzSkRMRmxCUVZrc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVNMVF5eERRVUZETzJsQ1FVRk5MRU5CUVVNN1owSkJRMDRzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRelZDTEVOQlFVTTdXVUZEUkN4SlFVRkpMRlZCUVZVc1JVRkJSU3hqUVVGakxFVkJRVVVzUTBGQlF6dG5Ra0ZETDBJc1YwRkJWeXhEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEyeEVMRU5CUVVNN1VVRkRTQ3hEUVVGRE8xRkJSVVFzU1VGSFRTeHpRa0ZCYzBJc09FSkJTRFZDTEUxQlIwMHNjMEpCUVhWQ0xGTkJRVkVzYjBKQlFYVkNPMWxCUjJoRUxFMUJRVTBzUzBGQlN5eExRVUZMTzJkQ1FVTjRRaXhQUVVGUExGZEJRVmNzUTBGQlF6dFpRVU55UWl4RFFVRkRPMWxCUlVRc1NVRkJZU3hMUVVGTE8yZENRVU5vUWl4UFFVRlBMRmRCUVZjc1EwRkJRenRaUVVOeVFpeERRVUZETzFsQlJVUXNXVUZCV1N4aFFVRnJRenRuUWtGRE5VTXNTMEZCU3l4RFFVRkRMR0ZCUVdFc1JVRkJSU3gzUWtGQmMwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRuUWtGWWJrTXNUMEZCUlN4SFFVRlhMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU1zVjBGQlZ5eERRVUZYTEVOQlFVTTdaMEpCV1RWRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlEwNHNOa05CUVRaRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4WlFVRlpMRk5CUVZNc1JVRkJSU3hEUVVOd1JpeERRVUZETzFsQlEwb3NRMEZCUXp0VFFVTkdMRU5CUVVFN1VVRnFRa3NzYzBKQlFYTkNPMWxCU0ROQ0xGVkJRVlVzUTBGQlF5eFRRVUZUTEVOQlFVTTdXVUZEY2tJc1QwRkJUeXhEUVVGRExHTkJRV01zUTBGQlF6dFpRVU4yUWl4alFVRmpMRU5CUVVNc1YwRkJWeXhEUVVGRE96WkRRVmxETEcxQ1FVRnRRanRYUVZneFF5eHpRa0ZCYzBJc1EwRnBRak5DTzFGQlJVUXNZMEZCWXl4RFFVRkRMSE5DUVVGelFpeERRVUZETEVOQlFVTTdVVUZGZGtNc1NVRkJTU3hoUVVGaExFVkJRVVVzUTBGQlF6dFpRVU5zUWl4TlFVRk5MRmxCUVZrc1IwRkJSeXhEUVVGRExFZEJRVWNzWVVGQllTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTndSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1owSkJRM0JFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZEY0VRc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZEZEVVc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZEZEVVc1RVRkJUU3hoUVVGaExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNSMEZCUnl4WFFVRlhMRU5CUVVNN1owSkJRM0pFTEUxQlFVMHNZVUZCWVN4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFZEJRVWNzVjBGQlZ5eERRVUZETzJkQ1FVTnlSQ3hKUVVGSkxHRkJRV0VzUzBGQlN5eGhRVUZoTzI5Q1FVTnFReXhQUVVGUExHRkJRV0VzUjBGQlJ5eGhRVUZoTEVOQlFVTTdaMEpCUTNaRExFbEJRVWtzVjBGQlZ5eExRVUZMTEZkQlFWYzdiMEpCUXpkQ0xFOUJRVThzVjBGQlZ5eEhRVUZITEZkQlFWY3NRMEZCUXp0blFrRkRia01zVDBGQlR5eERRVUZETEVOQlFVTTdXVUZEV0N4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVWSUxFdEJRVXNzVFVGQlRTeExRVUZMTEVsQlFVa3NXVUZCV1N4RlFVRkZMRU5CUVVNN1owSkJRMnBETEUxQlFVMHNWVUZCVlN4SFFVRkhMRXRCUVVzc1EwRkJReXhqUVVGakxFVkJRVVVzU1VGQlNTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03WjBKQlF6VkZMRTFCUVUwc1dVRkJXU3hIUVVGSExHMUNRVUZ0UWl4RFFVRkRMRlZCUVZVc1EwRkRha1FzVlVGQlZTeEZRVU5XTEV0QlFVc3NSVUZEVEN4TlFVRk5MRVZCUTA0c1lVRkJZU3hGUVVOaUxFdEJRVXNzUlVGRFRDeFhRVUZYTEVWQlExZ3NZMEZCWXl4RlFVTmtMR3RDUVVGclFpeERRVU51UWl4RFFVRkRPMmRDUVVOR0xFbEJRVWtzUTBGQlF5eFpRVUZaTzI5Q1FVRkZMRk5CUVZNN1owSkJSVFZDTEUxQlFVMHNSVUZEU2l4VlFVRlZMRVZCUVVVc2IwSkJRVzlDTEVWQlEyaERMRTlCUVU4c1JVRkRVQ3hWUVVGVkxFVkJRMVlzWlVGQlpTeEhRVU5vUWl4SFFVRkhMRmxCUVZrc1EwRkJRenRuUWtGRmFrSXNUVUZCVFN4VlFVRlZMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNXVUZCV1N4RFFVTnFSQ3h6UWtGQmMwSXNSVUZEZEVJc2IwSkJRVzlDTEVWQlEzQkNMRTlCUVU4c1EwRkRVaXhEUVVGRE8yZENRVVZHTEVsQlFVa3NWVUZCVlN4RlFVRkZMRU5CUVVNN2IwSkJRMllzVFVGQlRTeGhRVUZoTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFXMUNMRU5CUVVNc1EwRkRiRVVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1dVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEZOQlFWTXNRMEZEYkVRc1EwRkJRenR2UWtGRFJpeHRRa0ZCYlVJc1EwRkJReXhsUVVGbExFTkJRMnBETEhOQ1FVRnpRaXhGUVVOMFFpeHZRa0ZCYjBJc1JVRkRjRUlzUTBGQlF5eGhRVUZoTEVWQlFVVXNSMEZCUnl4VlFVRlZMRU5CUVVNc1JVRkRPVUlzWlVGQlpTeERRVU5vUWl4RFFVRkRPMmRDUVVOS0xFTkJRVU03V1VGRFNDeERRVUZETzFGQlEwZ3NRMEZCUXp0UlFVVkVMRTlCUVU4c2MwSkJRVFpDTEVOQlFVTTdTVUZEZGtNc1EwRkJRenRKUVVWRUxFMUJRVTBzUTBGQlF5d3lRa0ZCTWtJc1EwRkRhRU1zVlVGQkswSTdVVUZQTDBJc1RVRkJUU3hGUVVGRkxFZEJRVWNzUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVhGQ0xFTkJRVU03VVVGRGNFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGRE0wSXNWVUZCVlN4RlFVTldMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEZGQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkRiRU1zUTBGQlF6dFJRVU5HTEUxQlFVMHNXVUZCV1N4SFFVRkhMRkZCUVZFc1JVRkJSU3hKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETzFGQlJURkRMRTFCUVUwc1ZVRkJWU3hIUVVOa0xFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETzFsQlEzQkVMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEzaERMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJXaERMRTFCUVUwc1YwRkJWeXhIUVVGSExGRkJRVkVzUTBGQlF5eFhRVUZYTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRek5FTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTNwRExFMUJRVTBzWVVGQllTeEhRVUYxUWl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVTdXVUZETDBRc1QwRkJUenRuUWtGRFRDeEpRVUZKTEVWQlFVVXNSMEZCUnp0blFrRkRWQ3hYUVVGWExFVkJRVVVzVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4VlFVRlZMRVZCUVVVc1IwRkJSeXhEUVVGRE8yZENRVU5zUkN4UlFVRlJMRVZCUVVVc1NVRkJTVHRuUWtGRFpDeEpRVUZKTEVWQlFVVXNUVUZCVFR0aFFVTmlMRU5CUVVNN1VVRkRTaXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZJTEU5QlFVODdXVUZEVEN4SlFVRkpPMWxCUTBvc1YwRkJWenRaUVVOWUxHRkJRV0U3V1VGRFlpeExRVUZMTEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVRoQ0xFVkJRVVVzUlVGQlJTeERRVU16UXl4UlFVRlJMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU03VTBGRE1VVXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zYjBKQlFXOUNMRU5CUTJwRExFbEJRVms3VVVGRldpeEpRVUZKTEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRia0lzVDBGQlR5eEpRVUZKTzJGQlExSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJRenRoUVVOV0xFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTTdZVUZEWml4UFFVRlBMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdFpRVU51UWl4SlFVRkpMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXp0blFrRkROVUlzVDBGQlR5eERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGRkxGVkJRVlVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0WlFVTTVSU3hEUVVGRE8xbEJRMFFzU1VGQlNTeFBRVUZQTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU03WjBKQlF6VkNMRTlCUVU4c1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRE9VVXNRMEZCUXp0WlFVTkVMRTlCUVU4c1JVRkJSU3hEUVVGRE8xRkJRMW9zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEVUN4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGRGVrSXNUVUZCVnl4RlFVTllMRlZCUVd0Q0xFVkJRMnhDTEU5QlFXZERPMUZCUldoRExFMUJRVTBzUTBGQlF5eGpRVUZqTEVOQlEyNUNMRTFCUVUwc1EwRkJReXhUUVVGVExFbEJRVWtzVFVGQlRTeEZRVU14UWl4VlFVRlZMRVZCUTFZN1dVRkRSU3hMUVVGTExFVkJRVVVzVDBGQlR6dFpRVU5rTEZGQlFWRXNSVUZCUlN4TFFVRkxPMWxCUTJZc1dVRkJXU3hGUVVGRkxFbEJRVWs3V1VGRGJFSXNWVUZCVlN4RlFVRkZMRXRCUVVzN1UwRkRiRUlzUTBGRFJpeERRVUZETzFGQlJVWXNUMEZCVHl4TlFVRk5MRU5CUVVNc2QwSkJRWGRDTEVOQlEzQkRMRTFCUVUwc1EwRkJReXhUUVVGVExFbEJRVWtzVFVGQlRTeEZRVU14UWl4VlFVRlZMRU5CUTFnc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNaVUZCWlN4RFFVTTFRaXhOUVVGWExFVkJRMWdzVlVGQmEwSXNSVUZEYkVJc1owSkJRWE5GTEVWQlEzUkZMR3RDUVVFeVJTeEZRVUZGTzFGQlJUZEZMRTFCUVUwc1MwRkJTeXhIUVVGSExFMUJRVTBzUlVGQlJTeFRRVUZUTEVsQlFVa3NUVUZCVFN4RFFVRkRPMUZCUXpGRExFMUJRVTBzVlVGQlZTeEhRVUZITEUxQlFVMHNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRkRVVzWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxGVkJRVlVzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTJ4RkxHVkJRV1VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hMUVVGTExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlF5OURMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRVVVzVlVGQlZTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVTndReXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUTNaQ0xGVkJRV3RDTEVWQlEyeENMRXRCUVd0Q0xFVkJRMnhDTEUxQlFXTXNSVUZEWkN4aFFVRnBReXhGUVVOcVF5eExRVUVyUXl4RlFVTXZReXhYUVVGclF5eEZRVU5zUXl4alFVRnpRaXhGUVVOMFFpeFhRVUZwUWp0UlFVOXFRaXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVNdlFpeE5RVUZOTEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGbEJRVmtzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTXNZMEZCZVVNc1EwRkJRenRSUVVWb1JTeEpRVUZKTEUxQlFVMHNTMEZCU3l4TlFVRk5MRWxCUVVrc1kwRkJZeXhMUVVGTExFVkJRVVVzUlVGQlJTeERRVUZETzFsQlF5OURMRTlCUVU4c2JVSkJRVzFDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRek5ETEZGQlFWRXNSVUZEVWl4UFFVRlBMRVZCUTFBc2JVSkJRVzFDTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RlFVTjJSU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNSVUZCVXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1JVRkJSU3hYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFWRXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGREwwY3NRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFMUJRVTBzUzBGQlN5eE5RVUZOTEVsQlFVa3NZMEZCWXl4TFFVRkxMRTFCUVUwc1JVRkJSU3hEUVVGRE8xbEJRMjVFTEU5QlFVOHNiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUXpORExGZEJRVmNzUlVGRFdDeFBRVUZQTEVWQlExQXNiVUpCUVcxQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1YwRkJWeXhGUVVGRkxHTkJRV01zUTBGQlF5eEZRVU55UlN4RFFVRkRMRVZCUVVVc1UwRkJVeXhGUVVGRkxGTkJRVk1zUlVGQlV5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTXNSVUZCUlN4WFFVRlhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVkVzUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkRMMGNzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJ4RUxFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRk5CUVZNc1JVRkRWQ3hQUVVGUExFVkJRMUFzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RlFVRkZMR05CUVdNc1EwRkJReXhGUVVOdVJTeERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVkVzUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkRMME1zUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJ4RUxFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRmRCUVZjc1JVRkRXQ3hQUVVGUExFVkJRMUFzYlVKQlFXMUNMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWMEZCVnl4RlFVRkZMR05CUVdNc1JVRkJSU3hoUVVGaExFTkJRVU1zUlVGRGNFWXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hUUVVGVExFVkJRVk1zUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hUUVVGVExFVkJRVVVzVVVGQlVTeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGUkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUXk5SExFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1VVRkJVU3hKUVVGSkxHTkJRV01zUzBGQlN5eE5RVUZOTEVWQlFVVXNRMEZCUXp0WlFVTnlSQ3hQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4WFFVRlhMRVZCUTFnc1QwRkJUeXhGUVVOUUxHMUNRVUZ0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZkQlFWY3NSVUZCUlN4alFVRmpMRVZCUVVVc1lVRkJZU3hEUVVGRExFVkJRM0JHTEVOQlFVTXNSVUZCUlN4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTXNSVUZCUlN4WFFVRlhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVkVzUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkRhRWdzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJ4RUxFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRTFCUVUwc1JVRkRUaXhQUVVGUExFVkJRMUFzYlVKQlFXMUNMRU5CUVVNc1kwRkJZeXhEUVVGRExGZEJRVmNzUlVGQlJTeGpRVUZqTEVWQlFVVXNZVUZCWVN4RlFVRkZMRTFCUVUwc1EwRkJReXhGUVVOMFJpeHRRa0ZCYlVJc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkRla1FzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJ4RUxFMUJRVTBzVjBGQlZ5eEhRVUZITEcxQ1FVRnRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8xbEJRemRGTEU5QlFVOHNiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUXpORExGRkJRVkVzUlVGRFVpeFBRVUZQTEVWQlExQXNiVUpCUVcxQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1YwRkJWeXhGUVVGRkxHTkJRV01zUlVGQlJTeGhRVUZoTEVWQlFVVXNUVUZCVFN4RFFVRkRMRVZCUTNoR08yZENRVU5GTEVWQlFVVXNVMEZCVXl4RlFVRkZMRk5CUVZNc1JVRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVTdaMEpCUXpORExFZEJRVWNzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1UwRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMjlDUVVNMVF5eFRRVUZUTzI5Q1FVTlVMRXRCUVVzc1JVRkJSU3hMUVVGTExFZEJRVWNzUTBGQlF6dHBRa0ZEYWtJc1EwRkJReXhEUVVGRE8yRkJRMG9zUTBGRFJpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVVkVMRWxCUVVrc1RVRkJUU3hMUVVGTExGRkJRVkVzU1VGQlNTeGpRVUZqTEV0QlFVc3NUVUZCVFN4RlFVRkZMRU5CUVVNN1dVRkRja1FzVFVGQlRTeFhRVUZYTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03V1VGRE4wVXNUMEZCVHl4dFFrRkJiVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkRNME1zVVVGQlVTeEZRVU5TTEU5QlFVOHNSVUZEVUN4dFFrRkJiVUlzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhYUVVGWExFVkJRVVVzWTBGQll5eEZRVUZGTEdGQlFXRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkRlRVlzVjBGQlZ5eERRVU5hTEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUlVRc2RVVkJRWFZGTzFGQlEzWkZMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NZMEZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRia1VzVFVGQlRTeFhRVUZYTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNTVUZCU1N4blFrRkJaMElzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOd1J5eEpRVUZKTEZkQlFWY3NTVUZCU1N4alFVRmpMRXRCUVVzc1RVRkJUU3hGUVVGRkxFTkJRVU03V1VGRE4wTXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdaMEpCUXpsRkxFbEJRVWs3WjBKQlEwb3NWMEZCVnl4RlFVRkZMRWRCUVVjc1NVRkJTU3haUVVGWk8yZENRVU5vUXl4UlFVRlJMRVZCUVVVc1NVRkJTVHRuUWtGRFpDeEpRVUZKTEVWQlFVVXNUVUZCVFR0aFFVTmlMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMG9zVFVGQlRTeE5RVUZOTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlEyNUZMRTFCUVUwc1YwRkJWeXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMWxCUXpkRkxFbEJRVWtzVFVGQlRTeExRVUZMTEV0QlFVc3NSVUZCUlN4RFFVRkRPMmRDUVVOeVFpeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVTXpReXhUUVVGVExFMUJRVTBzUlVGQlJTeEZRVU5xUWl4UFFVRlBMRVZCUTFBc2JVSkJRVzFDTEVOQlFVTXNZMEZCWXl4RFFVRkRMRmRCUVZjc1JVRkJSU3hqUVVGakxFVkJRVVVzWjBKQlFXZENMRVZCUVVVc1kwRkJZeXhEUVVGRExFVkJRMnBITEZkQlFWY3NRMEZEV2l4RFFVRkRPMWxCUTBvc1EwRkJRenRaUVVORUxFbEJRVWtzVFVGQlRTeExRVUZMTEV0QlFVc3NSVUZCUlN4RFFVRkRPMmRDUVVOeVFpeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVTXpReXhYUVVGWExFMUJRVTBzUlVGQlJTeEZRVU51UWl4UFFVRlBMRVZCUTFBc2JVSkJRVzFDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEdOQlFXTXNSVUZCUlN4blFrRkJaMElzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZEYmtjN2IwSkJRMFVzUlVGQlJTeFRRVUZUTEVWQlFVVXNVMEZCVXl4RlFVRlRMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJUdHZRa0ZETTBNc1IwRkJSeXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4VFFVRlRMRVZCUVVVc1MwRkJTeXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdkMEpCUXpWRExGTkJRVk03ZDBKQlExUXNTMEZCU3l4RlFVRkZMRXRCUVVzc1IwRkJSeXhEUVVGRE8zRkNRVU5xUWl4RFFVRkRMRU5CUVVNN2FVSkJRMG9zUTBGRFJpeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVTkVMRWxCUVVrc1RVRkJUU3hMUVVGTExGRkJRVkVzUlVGQlJTeERRVUZETzJkQ1FVTjRRaXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4WFFVRlhMRTFCUVUwc1JVRkJSU3hGUVVOdVFpeFBRVUZQTEVWQlExQXNiVUpCUVcxQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1YwRkJWeXhGUVVGRkxHTkJRV01zUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hqUVVGakxFTkJRVU1zUlVGRGJrY3NWMEZCVnl4RFFVTmFMRU5CUVVNN1dVRkRTaXhEUVVGRE8xRkJRMGdzUTBGQlF6dFJRVVZFTEVsQlFVa3NUVUZCVFN4TFFVRkxMRXRCUVVzc1NVRkJTU3hqUVVGakxFdEJRVXNzZVVKQlFYbENMRVZCUVVVc1EwRkJRenRaUVVOeVJTeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVTXpReXhYUVVGWExFVkJRMWdzVDBGQlR5eEZRVU5RTEcxQ1FVRnRRaXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hqUVVGakxFTkJRVU1zUlVGRGNFVTdaMEpCUTBVc1JVRkJSU3hUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCVVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlF5OURMRVZCUVVVc1UwRkJVeXhGUVVGRkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFWRXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU0zUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hWUVVGVkxFVkJRVk1zUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZPMkZCUXpkRExFTkJRMFlzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEhWQ1FVRjFRaXhGUVVGRkxFTkJRVU03V1VGRGJrVXNUMEZCVHl4dFFrRkJiVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkRNME1zVjBGQlZ5eEZRVU5ZTEU5QlFVOHNSVUZEVUN4dFFrRkJiVUlzUTBGQlF5d3lRa0ZCTWtJc1EwRkROME1zVjBGQlZ5eEZRVU5ZTEdOQlFXTXNSVUZEWkN4alFVRmpMRVZCUTJRc2NVSkJRWEZDTEVOQlFVTXNWMEZCVnl4RFFVTnNReXhGUVVORUxHMUNRVUZ0UWl4RFFVRkRMSFZDUVVGMVFpeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVTTFSQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEUxQlFVMHNaVUZCWlN4SFFVRXlRanRaUVVNNVF5eGhRVUZoTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVDBGQlR6dFpRVU0xUXl4MVFrRkJkVUlzUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhQUVVGUE8xbEJRM1JFTEdGQlFXRXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTzFsQlEzcERMR0ZCUVdFc1JVRkJSU3h4UWtGQmNVSXNRMEZCUXl4SlFVRkpPMWxCUTNwRExIVkNRVUYxUWl4RlFVRkZMSEZDUVVGeFFpeERRVUZETEZkQlFWYzdXVUZETVVRc2IwSkJRVzlDTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVDBGQlR6dFpRVU51UkN4blFrRkJaMElzUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhSUVVGUk8xbEJRMmhFTEdOQlFXTXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eE5RVUZOTzFsQlF6VkRMR05CUVdNc1JVRkJSU3h4UWtGQmNVSXNRMEZCUXl4TlFVRk5PMWxCUXpWRExHTkJRV01zUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhOUVVGTk8xbEJRelZETEdOQlFXTXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eE5RVUZOTzFsQlF6VkRMRzFDUVVGdFFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExGZEJRVmM3V1VGRGRFUXNaMEpCUVdkQ0xFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1VVRkJVVHRUUVVOcVJDeERRVUZETzFGQlJVWXNUVUZCVFN4WlFVRlpMRWRCUVVjc1pVRkJaU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzFGQlEzSkVMRWxCUVVrc1dVRkJXU3hKUVVGSkxFMUJRVTBzUzBGQlN5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTnlReXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4dFFrRkJiVUlzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhqUVVGakxFTkJRVU1zUlVGRGRrUXNUMEZCVHl4RlFVTlFMRzFDUVVGdFFpeERRVUZETERKQ1FVRXlRaXhEUVVGRExGZEJRVmNzUlVGQlJTeGpRVUZqTEVWQlFVVXNZMEZCWXl4RlFVRkZMRmxCUVZrc1EwRkJReXhGUVVNeFJ5eHRRa0ZCYlVJc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkROVVFzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzWTBGQll5eERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRelZFTEUxQlFVMHNWMEZCVnl4SFFVRkhMR05CUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjZSU3hQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4WFFVRlhMRVZCUTFnc1QwRkJUeXhGUVVOUUxHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZkQlFWY3NSVUZCUlN4alFVRmpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eEZRVU5vUml4dFFrRkJiVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGRGRrUXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hOUVVGTkxGbEJRVmtzUjBGQlJ5eGpRVUZqTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTXZSQ3hOUVVGTkxHRkJRV0VzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCVXp0WlFVTndReXhSUVVGUkxFVkJRVVVzVVVGQlVTeEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxGZEJRVmNzUlVGQlJTeFpRVUZaTzFsQlF5OUVMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eEZRVUZGTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFOUJRVTg3V1VGRE4wUXNXVUZCV1N4RlFVRkZMRk5CUVZNc1JVRkJSU3hYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEU5QlFVODdVMEZEZEVRc1EwRkJReXhEUVVGRE8xRkJRMGdzU1VGRFJTeFpRVUZaTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNN1dVRkRka0lzUTBGQlF5eGpRVUZqTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJRenRaUVVOd1F5eERRVUZETEdOQlFXTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1dVRkJXU3hEUVVGRE8xbEJRM2hETEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZEYmtNc1EwRkJRenRaUVVORUxFMUJRVTBzWVVGQllTeEhRVUZITEZsQlFWazdhVUpCUXk5Q0xFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0cFFrRkRhRU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOMFFpeEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03WjBKQlEyUXNTVUZCU1R0blFrRkRTaXhYUVVGWExFVkJRVVVzUjBGQlJ5eEpRVUZKTERCQ1FVRXdRanRuUWtGRE9VTXNVVUZCVVN4RlFVRkZMRWxCUVVrN1owSkJRMlFzU1VGQlNTeEZRVUZGTEUxQlFVMDdZVUZEWWl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVWT0xFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRlZCUVZVc1JVRkRWaXhQUVVGUExFVkJRMUE3WjBKQlEwVXNSMEZCUnl4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaERMRmxCUVZrc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGQlJTd3lRa0ZCTWtJc1ZVRkJWU3hKUVVGSkxFVkJRVVVzUTBGQlF6dG5Ra0ZEY0VVc1lVRkJZU3hEUVVGRExFVkJRVVVzVjBGQlZ5eEZRVUZGTEdkRFFVRm5ReXhGUVVGRkxFTkJRVU03WjBKQlEyaEZMRzlDUVVGdlFpeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRzlEUVVGdlF5eEZRVUZGTEVOQlFVTTdZVUZETlVVc1JVRkRSQ3h0UWtGQmJVSXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZEZWtRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeFBRVUZQTEZOQlFWTXNRMEZCUXp0SlFVTnVRaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEd0Q1FVRnJRaXhEUVVNdlFpeFZRVUZyUWl4RlFVTnNRaXhQUVVGblF5eEZRVU5vUXl4VlFVRm5SU3hGUVVOb1JTeGxRVUYzUlR0UlFVVjRSU3hQUVVGUExFVkJRVVVzVlVGQlZTeEZRVUZGTEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVVVc1pVRkJaU3hGUVVGRkxFTkJRVU03U1VGRE9VUXNRMEZCUXp0SlFVVlBMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4SlFVRlpPMUZCUXpkRExFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVNc1QwRkJUeXhaUVVGWkxFTkJRVU03U1VGRGRFSXNRMEZCUXp0SlFVVlBMRTFCUVUwc1EwRkJReXgxUWtGQmRVSXNRMEZEY0VNc1NVRkJXVHRSUVVWYUxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRiRVVzVFVGQlRTeE5RVUZOTEVkQlFUUkVMRVZCUVVVc1EwRkJRenRSUVVNelJTeFJRVUZSTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6RkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJRMnhETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCVVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlF6TkVMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzU1VGRFJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJRenRaUVVNeFFpeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMR0ZCUVdFc1EwRkJRenRaUVVNNVFpeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJRenRaUVVONFFpeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVONFFpeERRVUZETzFsQlEwUXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeFZRVUZWTEVWQlFWTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZETVVVc1EwRkJRenRSUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRU5CUXk5Q0xFbEJRVms3VVVGRldpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMnhGTEUxQlFVMHNUVUZCVFN4SFFVRTBSQ3hGUVVGRkxFTkJRVU03VVVGRE0wVXNVVUZCVVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXhRaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVZFc1JVRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVTXpSQ3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5JTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeERRVUZETzFsQlF6bENMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeFRRVUZUTEVWQlFVVXNWVUZCVlN4RlFVRlRMRVZCUVVVc1MwRkJTeXhGUVVGRkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUXpGRkxFTkJRVU03VVVGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0SlFVTm9RaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhEUVVOb1F5eFhRVUZyUXl4RlFVTnNReXhqUVVGelFqdFJRVVYwUWl4UFFVRlBMRXRCUVVzc1ZVRkJWU3hOUVVGTkxFTkJSVEZDTEVsQlFWTXNSVUZEVkN4SlFVRlZPMWxCUlZZc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVTnVRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RlFVRkZMR0ZCUVdFc1EwRkJReXhOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlEyeEVMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEyUXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhuUWtGQlowSXNZMEZCWXl4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVNNVF5eEpRVUZKTEU5QlFXTXNRMEZCUXp0WlFVTnVRaXhKUVVGSkxFTkJRVU03WjBKQlEwZ3NUMEZCVHl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6RkVMRU5CUVVNN1dVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzJkQ1FVTndRaXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEhkQ1FVRjNRaXhqUVVGakxFVkJRVVVzUlVGQlJTeERRVUZWTEVOQlFVTXNRMEZCUXp0blFrRkRhRVVzVFVGQlRTeHRRa0ZCYlVJc1EwRkJReXhaUVVGWkxFTkJRM0JETEVOQlFVTXNSVUZEUkN4M1FrRkJkMElzWTBGQll5eEZRVUZGTEVOQlEzcERMRU5CUVVNN1dVRkRTaXhEUVVGRE8xbEJRMFFzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4bFFVRmxMR05CUVdNc1dVRkJZU3hQUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVNdlJTeEpRVUZKTEVsQlFVazdaMEpCUVVVc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0WlFVTXZRaXhQUVVGUExFOUJRVThzUTBGQlF6dFJRVU5xUWl4RFFVRkRMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEhWQ1FVRjFRaXhEUVVOd1F5eFhRVUZyUXl4RlFVTnNReXhqUVVGelFqdFJRVVYwUWl4UFFVRlBMRXRCUVVzc1ZVRkJWU3hUUVVGVExFTkJSVGRDTEVsQlFWY3NSVUZEV0N4SlFVRlZPMWxCUlZZc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVTnVRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RlFVRkZMSEZDUVVGeFFpeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRPVVFzUTBGQlF5eEhRVUZITEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkRha0lzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4blFrRkJaMElzWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXp0WlFVTTVReXhKUVVGSkxFOUJRV01zUTBGQlF6dFpRVU51UWl4SlFVRkpMRU5CUVVNN1owSkJRMGdzVDBGQlR5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlF6ZERMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlEyNURMRWRCUVVjc1EwRkRTaXhEUVVGRE8xbEJRMG9zUTBGQlF6dFpRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1owSkJRM0JDTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc2QwSkJRWGRDTEdOQlFXTXNSVUZCUlN4RlFVRkZMRU5CUVZVc1EwRkJReXhEUVVGRE8yZENRVU5vUlN4TlFVRk5MRzFDUVVGdFFpeERRVUZETEZsQlFWa3NRMEZEY0VNc1EwRkJReXhGUVVORUxIZENRVUYzUWl4alFVRmpMRVZCUVVVc1EwRkRla01zUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZEUkN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHVkJRV1VzWTBGQll5eFpRVUZoTEU5QlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFsQlF5OUZMRWxCUVVrc1NVRkJTVHRuUWtGQlJTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJReTlDTEU5QlFVOHNUMEZCVHl4RFFVRkRPMUZCUTJwQ0xFTkJRVU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNZMEZCYzBJN1VVRkRla1FzVDBGQlR5eExRVUZMTEZWQlFWVXNUMEZCVHl4RFFVVXpRaXhIUVVGaE8xbEJSV0lzVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVOdVFpeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hGUVVGRkxIRkNRVUZ4UWl4RFFVRkRMRkZCUVZFc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRE5VUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03V1VGRFppeE5RVUZOTEdGQlFXRXNSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEZGtRc1NVRkJTU3hKUVVGaExFTkJRVU03V1VGRGJFSXNTVUZCU1N4RFFVRkRPMmRDUVVOSUxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNWMEZCVnl4aFFVRmhMRWxCUVVrc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF6dG5Ra0ZEZUVRc1NVRkJTU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQmIwSXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVONFJTeERRVUZETzFsQlFVTXNUMEZCVHl4RFFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRGNFSXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNZMEZCWXl4RlFVRkZMRVZCUVVVc1EwRkJWU3hEUVVGRExFTkJRVU03WjBKQlF6RkVMRTFCUVUwc2JVSkJRVzFDTEVOQlFVTXNXVUZCV1N4RFFVTndReXhEUVVGRExFVkJRMFFzYTBKQlFXdENMR05CUVdNc1JVRkJSU3hEUVVOdVF5eERRVUZETzFsQlEwb3NRMEZCUXp0WlFVTkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGJFUXNUMEZCVHl4SlFVRkpMRU5CUVVNN1VVRkRaQ3hEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEdOQlFYTkNPMUZCUXpORUxFOUJRVThzUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZGTjBJc1NVRkJWeXhGUVVOWUxFbEJRVlU3V1VGRlZpeE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRMjVDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU01UkN4RFFVRkRMRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4SlFVRkpMRTlCUVdNc1EwRkJRenRaUVVOdVFpeEpRVUZKTEVOQlFVTTdaMEpCUTBnc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWxCUVVrc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF6dG5Ra0ZEZEVRc1QwRkJUeXhIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUXpkRUxFTkJRVU03V1VGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMmRDUVVOd1FpeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVZVc1EwRkJReXhEUVVGRE8yZENRVU4wUWl4TlFVRk5MRzFDUVVGdFFpeERRVUZETEZsQlFWa3NRMEZEY0VNc1EwRkJReXhGUVVORUxHOUNRVUZ2UWl4alFVRmpMRVZCUVVVc1EwRkRja01zUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZEUkN4SlFVRkpMRWxCUVVrN1owSkJRVVVzUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVNdlFpeFBRVUZQTEU5QlFVOHNRMEZCUXp0UlFVTnFRaXhEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEdOQlFYTkNPMUZCUXpORUxFOUJRVThzUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZGTjBJc1IwRkJZU3hGUVVOaUxFbEJRVlU3V1VGRlZpeE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRMjVDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU01UkN4RFFVRkRMRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4TlFVRk5MR0ZCUVdFc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRka1FzU1VGQlNTeEpRVUZoTEVOQlFVTTdXVUZEYkVJc1NVRkJTU3hEUVVGRE8yZENRVU5JTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3hoUVVGaExFTkJRVU1zVFVGQlRTeEpRVUZKTEdOQlFXTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1owSkJRMmhGTEVsQlFVa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU51UlN4RFFVRkRPMWxCUVVNc1QwRkJUeXhEUVVGVkxFVkJRVVVzUTBGQlF6dG5Ra0ZEY0VJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eHZRa0ZCYjBJc1kwRkJZeXhGUVVGRkxFVkJRVVVzUTBGQlZTeERRVUZETEVOQlFVTTdaMEpCUXpWRUxFMUJRVTBzYlVKQlFXMUNMRU5CUVVNc1dVRkJXU3hEUVVOd1F5eERRVUZETEVWQlEwUXNiMEpCUVc5Q0xHTkJRV01zUlVGQlJTeERRVU55UXl4RFFVRkRPMWxCUTBvc1EwRkJRenRaUVVORUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxHTkJRV01zUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEY2tRc1NVRkJTU3hKUVVGSk8yZENRVUZGTEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGREwwSXNUMEZCVHl4SlFVRkpMRU5CUVVNN1VVRkRaQ3hEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVU01UWl4TFFVRXJReXhGUVVNdlF5eGpRVUZ6UWp0UlFVVjBRaXhQUVVGUExFdEJRVXNzVlVGQlZTeEpRVUZKTEVOQlJYaENMRmRCUVdkQ08xbEJSV2hDTEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGRGJrSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzUlVGQlJTeGhRVUZoTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVOb1JDeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVOYUxFMUJRVTBzUlVGQlJTeEhRVUZITEV0QlFVc3NRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dFpRVU12UXl4SlFVRkpMRTlCUVU4c1JVRkJSU3hMUVVGTExGZEJRVmM3WjBKQlF6TkNMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRaUVVOMFJDeEpRVUZKTEZWQlFXbENMRU5CUVVNN1dVRkRkRUlzU1VGQlNTeERRVUZETzJkQ1FVTklMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQlZ5eGpRVUZqTEZOQlFWTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzJkQ1FVTTNSQ3hWUVVGVkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRla1FzUTBGQlF6dFpRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1owSkJRM0JDTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEdOQlFXTXNXVUZCV1N4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGVkxFTkJRVU1zUTBGQlF6dG5Ra0ZEZUVVc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXl4WlFVRlpMRU5CUTNCRExFTkJRVU1zUlVGRFJDeHJRa0ZCYTBJc1kwRkJZeXhaUVVGWkxFVkJRVVVzUlVGQlJTeERRVU5xUkN4RFFVRkRPMWxCUTBvc1EwRkJRenRaUVVORUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4alFVRmpMRmxCUVdFc1ZVRkJhMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJRek5GTEU5QlFVOHNWVUZCVlN4RFFVRkRPMUZCUTNCQ0xFTkJRVU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVOQlEyaERMRXRCUVN0RExFVkJReTlETEZkQlFXdERMRVZCUTJ4RExHTkJRWE5DTzFGQlJYUkNMRTlCUVU4c1MwRkJTeXhWUVVGVkxFMUJRVTBzUTBGRk1VSXNWMEZCWjBJc1JVRkRhRUlzU1VGQlV5eEZRVU5VTEVsQlFWVTdXVUZGVml4TlFVRk5MRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlEyNUNMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGJFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRFpDeE5RVUZOTEVWQlFVVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1IwRkJSeXhYUVVGWExFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdXVUZETDBNc1NVRkJTU3hQUVVGUExFVkJRVVVzUzBGQlN5eFhRVUZYTzJkQ1FVTXpRaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRVZCUVVVc1YwRkJWeXhEUVVGRExFTkJRVU03V1VGRGRFUXNTVUZCU1N4UFFVRlpMRU5CUVVNN1dVRkRha0lzU1VGQlNTeERRVUZETzJkQ1FVTklMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeGpRVUZqTEZOQlFWTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzJkQ1FVTTNSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRha1FzVDBGQlR5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlF6RkRMRWxCUVVrc1YwRkJWeXhEUVVGRExFVkJRVVVzUjBGQlJ5eFBRVUZQTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZET1VNc1IwRkJSeXhEUVVOS0xFTkJRVU03V1VGRFNpeERRVUZETzFsQlFVTXNUMEZCVHl4RFFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRGNFSXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGVkxFTkJRVU1zUTBGQlF6dG5Ra0ZEZEVJc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXl4WlFVRlpMRU5CUTNCRExFTkJRVU1zUlVGRFJDeHZRa0ZCYjBJc1kwRkJZeXhaUVVGWkxFVkJRVVVzUlVGQlJTeERRVU51UkN4RFFVRkRPMWxCUTBvc1EwRkJRenRaUVVORUxFbEJRVWtzU1VGQlNUdG5Ra0ZCUlN4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF5OUNMRTlCUVU4c1QwRkJUeXhEUVVGRE8xRkJRMnBDTEVOQlFVTXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRU5CUTJoRExFdEJRU3RETEVWQlF5OURMR05CUVhOQ08xRkJSWFJDTEU5QlFVOHNTMEZCU3l4VlFVRlZMRTFCUVUwc1EwRkZNVUlzVjBGQlowSXNSVUZEYUVJc1NVRkJWVHRaUVVWV0xFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1EwRkRia0lzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1JVRkJSU3hoUVVGaExFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTnNSQ3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTmtMRTFCUVUwc1JVRkJSU3hIUVVGSExFdEJRVXNzUTBGQlF5eEhRVUZITEZkQlFWY3NRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRaUVVNdlF5eEpRVUZKTEU5QlFVOHNSVUZCUlN4TFFVRkxMRmRCUVZjN1owSkJRek5DTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0WlFVTjBSQ3hKUVVGSkxFZEJRVlVzUTBGQlF6dFpRVU5tTEVsQlFVa3NRMEZCUXp0blFrRkRTQ3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NZMEZCWXl4VFFVRlRMRWxCUVVrc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRPVVFzUjBGQlJ5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0JFTEVOQlFVTTdXVUZCUXl4UFFVRlBMRU5CUVZVc1JVRkJSU3hEUVVGRE8yZENRVU53UWl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExHOUNRVUZ2UWl4alFVRmpMRmxCUVZrc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlZTeERRVUZETEVOQlFVTTdaMEpCUXpGRkxFMUJRVTBzYlVKQlFXMUNMRU5CUVVNc1dVRkJXU3hEUVVOd1F5eERRVUZETEVWQlEwUXNiMEpCUVc5Q0xHTkJRV01zV1VGQldTeEZRVUZGTEVWQlFVVXNRMEZEYmtRc1EwRkJRenRaUVVOS0xFTkJRVU03V1VGRFJDeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1kwRkJZeXhaUVVGWkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEY0VRc1NVRkJTU3hKUVVGSk8yZENRVUZGTEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGREwwSXNUMEZCVHl4SFFVRkhMRU5CUVVNN1VVRkRZaXhEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMSE5DUVVGelFpeERRVUZETEdOQlFYTkNPMUZCUXpGRUxFOUJRVThzUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZGTjBJc1NVRkJXU3hGUVVOYUxFbEJRWGxDTEVWQlEzcENMRTlCUVRaQ08xbEJSVGRDTEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVOa0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRVZCUVVVc1pVRkJaU3hEUVVGRExGTkJRVk1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZEZGtRc1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZEYWtJc1RVRkJUU3hGUVVGRkxGTkJRVk1zUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF6dFpRVU4yUkN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGRFlpeERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVOMlJDeERRVUZETzFsQlExZ3NUVUZCVFN4aFFVRmhMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRPMWxCUXpWRUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1EwRkJReXhUUVVGVExFbEJRVWtzWVVGQllTeERRVVY0UXl4RFFVRkRPMWxCUTJRc1NVRkJTU3hwUWtGQmFVSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU03WjBKQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExHbENRVUZwUWl4RFFVRkRPMWxCUTNSRkxGRkJRVkVzU1VGQlNTeEZRVUZGTEVOQlFVTTdaMEpCUTJJc1MwRkJTeXh4UWtGQmNVSXNRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJRMmhETEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR6dHZRa0ZEYUVNc1RVRkJUVHRuUWtGRFVpeExRVUZMTEhGQ1FVRnhRaXhEUVVGRExFOUJRVTg3YjBKQlEyaERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQmJVSXNRMEZCUXl4RFFVRkRPMjlDUVVNdlFpeE5RVUZOTzJkQ1FVTlNMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVOb1F5eExRVUZMTEhGQ1FVRnhRaXhEUVVGRExFOUJRVTg3YjBKQlEyaERMRWxCUVVrc1IwRkJSenQzUWtGRFRDeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPM2RDUVVOUUxHbENRVUYzUWp0M1FrRkRlRUlzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSVHR4UWtGRE5VSXNRMEZCUXp0dlFrRkRSaXhOUVVGTk8yZENRVU5TTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVjBGQlZ6dHZRa0ZEY0VNc1RVRkJUVHRuUWtGRFVpeExRVUZMTEhGQ1FVRnhRaXhEUVVGRExGRkJRVkVzUTBGQlF6dG5Ra0ZEY0VNc1MwRkJTeXh4UWtGQmNVSXNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRMnhETEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVFVGQlRTeERRVUZETzJkQ1FVTnNReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRuUWtGRGJFTXNTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTJ4RExFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1YwRkJWeXhEUVVGRE8yZENRVU4yUXl4TFFVRkxMSEZDUVVGeFFpeERRVUZETEZGQlFWRTdiMEpCUTJwRExFMUJRVTA3V1VGRFZpeERRVUZETzFsQlEwUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXhKUVVGSkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZETjBRc1EwRkJReXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEUxQlFVMHNRMEZCUXl3NFFrRkJPRUlzUTBGRE0wTXNXVUZCYjBJc1JVRkRjRUlzWTBGQmMwSTdVVUZGZEVJc1QwRkJUeXhMUVVGTExGVkJRVlVzYVVKQlFXbENMRU5CUlhKRExFZEJRVWNzU1VGQlZ6dFpRVVZrTEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVOa0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRVZCUVVVc1dVRkJXU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU14UXl4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMWxCUlhwQ0xGRkJRVkVzV1VGQldTeEZRVUZGTEVOQlFVTTdaMEpCUTNKQ0xFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYmtNc1RVRkJUU3hEUVVGRExFZEJRVWNzUlVGQlJTeFBRVUZQTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN2IwSkJRelZDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlEycERMRWRCUVVjc1JVRkRSaXhQUVVGbExFVkJRVVVzVTBGQk1rSXNSVUZETjBNc1IwRkJSeXhEUVVOS0xFTkJRVU03WjBKQlEwb3NRMEZCUXp0blFrRkRSQ3hMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03YjBKQlEyNURMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRGJFTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZWQlFWVXNRMEZEY2tNc1IwRkJSeXhGUVVOR0xFOUJRV1VzUlVGQlJTeFRRVUV5UWl4RlFVTTNRenQzUWtGRFJTeExRVUZMTEVWQlFVY3NUMEZCWlN4RlFVRkZMRXRCUVVzN2QwSkJRemxDTEUxQlFVMHNSVUZCUnl4UFFVRmxMRVZCUVVVc1RVRkJUVHQzUWtGRGFFTXNTVUZCU1R0eFFrRkRSU3hGUVVOU0xFZEJRVWNzUTBGRFNpeERRVUZETzJkQ1FVTktMRU5CUVVNN1owSkJRMFFzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTm9ReXhOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRE9VSXNUVUZCVFN4VFFVRlRMRWRCUTFvc1QwRkJaU3hGUVVGRkxGTkJRVk1zU1VGQlNTeGpRVUZqTEVOQlFVTXNSMEZCUnl4RFFVRkRPMjlDUVVOd1JDeE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzI5Q1FVTXhReXhKUVVGSkxFOUJRVThzVjBGQlZ5eERRVUZETEVsQlFVa3NTMEZCU3l4VlFVRlZPM2RDUVVONFF5eFBRVUZQTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0dlFrRkRha1FzVDBGQlR5eFhRVUZYTEVOQlFVTXNVMEZCVXl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTnNSaXhEUVVGRE8yZENRVU5FTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRhRU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU03YjBKQlF6bENMRTFCUVUwc1IwRkJSeXhIUVVGSE8zZENRVU5XTEUxQlFVMHNSVUZCUnl4UFFVRmxMRVZCUVVVc1RVRkJUU3hKUVVGSkxFTkJRVU03ZDBKQlEzSkRMRXRCUVVzc1JVRkJSeXhQUVVGbExFVkJRVVVzUzBGQlN5eEpRVUZKTEVWQlFVVTdkMEpCUTNCRExGRkJRVkVzUlVGQlJ5eFBRVUZsTEVWQlFVVXNVVUZCVVR0eFFrRkRja01zUTBGQlF6dHZRa0ZEUml4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMjlDUVVNeFF5eE5RVUZOTEZOQlFWTXNSMEZCU1N4UFFVRmxMRVZCUVVVc1UwRkJVeXhKUVVGSkxHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTTdiMEpCUTNCRkxFbEJRVWtzVDBGQlR5eFhRVUZYTEVOQlFVTXNTVUZCU1N4TFFVRkxMRlZCUVZVN2QwSkJRM2hETEU5QlFVOHNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenR2UWtGRGRFUXNUMEZCVHl4WFFVRlhMRU5CUVVNc1UwRkJVeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRGRrWXNRMEZCUXp0blFrRkRSQ3hMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU03YjBKQlEzWkRMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMjlDUVVNeFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlF6RkVMRU5CUVVNN1owSkJRMFFzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTnVReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRE1VSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF6dDVRa0ZEZWtJc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0NVFrRkRkRUlzVFVGQlRTeERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlF6ZENMRU5CUVVNN1owSkJRMFE3YjBKQlEwVXNTVUZEUlN4WlFVRlpMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNVVUZCVVR0M1FrRkRMME1zV1VGQldTeExRVUZMTEhGQ1FVRnhRaXhEUVVGRExFMUJRVTA3ZDBKQlF6ZERMRmxCUVZrc1MwRkJTeXh4UWtGQmNVSXNRMEZCUXl4TlFVRk5PM2RDUVVNM1F5eFpRVUZaTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVFVGQlRUdDNRa0ZETjBNc1dVRkJXU3hMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTFCUVUwN2QwSkJRemRETEZsQlFWa3NTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTzNkQ1FVTnNSQ3haUVVGWkxFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1VVRkJVU3hGUVVNdlF5eERRVUZETzNkQ1FVTkVMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdkMEpCUTNKQ0xFOUJRVThzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQldTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenR2UWtGRGJrVXNRMEZCUXp0dlFrRkRSQ3hOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEhOQ1FVRnpRaXhaUVVGWkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEyeEZMRU5CUVVNN1VVRkRTQ3hEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMSGxDUVVGNVFpeERRVUZETEZWQlFXdENPMUZCUTNwRUxFOUJRVThzUzBGQlN5eFZRVUZWTEZsQlFWa3NRMEZGYUVNc1IwRkJSeXhKUVVGWE8xbEJSV1FzVFVGQlRTeEhRVUZITEVkQlFWRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVTXZReXhKUVVGSkxFTkJRVU03WjBKQlEwZ3NTVUZCU1N4SFFVRkhPMjlDUVVGRkxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNNRUpCUVRCQ0xGVkJRVlVzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUXpWRUxFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVTmtMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVONFF5eERRVUZETEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRuUWtGRGNFSXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRNVU1zVFVGQlRTeFZRVUZWTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WjBKQlEyaEZMRWxCUVVrc1YwRkJWeXhGUVVGRkxFbEJRVWtzU1VGQlNTeFBRVUZQTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzVlVGQlZTeEZRVUZGTEVOQlFVTTdiMEpCUXpWRkxFOUJRVThzVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eERRVUZETzJkQ1FVTnlSQ3hEUVVGRE8yZENRVU5FTEVsQlFVa3NUMEZCVHl4WFFVRlhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzVlVGQlZTeEZRVUZGTEVOQlFVTTdiMEpCUTJ4RUxFOUJRVThzVjBGQlZ5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU03WjBKQlEyaEVMRU5CUVVNN1owSkJRMFFzU1VGQlNTeFhRVUZYTEVWQlFVVXNTMEZCU3l4SlFVRkpMRTlCUVU4c1YwRkJWeXhEUVVGRExFdEJRVXNzUzBGQlN5eFZRVUZWTEVWQlFVVXNRMEZCUXp0dlFrRkRiRVVzVDBGQlR5eFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hIUVVGSExGVkJRVlVzUTBGQlF5eERRVUZETzJkQ1FVTjBSQ3hEUVVGRE8yZENRVU5FTEVsQlFVa3NUMEZCVHl4WFFVRlhMRU5CUVVNc1UwRkJVeXhMUVVGTExGVkJRVlVzUlVGQlJTeERRVUZETzI5Q1FVTm9SQ3hQUVVGUExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RlFVRkZMRWRCUVVjc1ZVRkJWU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTXZSQ3hEUVVGRE8yZENRVU5FTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xIVkNRVUYxUWl4VlFVRlZMR3RDUVVGclFpeFhRVUZYTEVWQlFVVXNWMEZCVnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVOd1JpeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVRkRMRTlCUVU4c1EwRkJUU3hGUVVGRkxFTkJRVU03WjBKQlEyaENMRWxCUVVrc1IwRkJSenR2UWtGQlJTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeFZRVUZWTEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wUXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF5eFpRVUZaTEVOQlEzQkRMRU5CUVVNc1JVRkRSQ3hwUWtGQmFVSXNWVUZCVlN4VlFVRlZMRU5CUTNSRExFTkJRVU03V1VGRFNpeERRVUZETzFGQlEwZ3NRMEZCUXl4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhWUVVGclFqdFJRVU40UkN4UFFVRlBMRXRCUVVzc1ZVRkJWU3hYUVVGWExFTkJSUzlDTEVkQlFVY3NTVUZCVnp0WlFVVmtMRTFCUVUwc1IwRkJSeXhIUVVGUkxFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03V1VGRE9VTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRMlFzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlEzaERMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFsQlEyNUNMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRNVU1zVFVGQlRTeFZRVUZWTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRmFFVXNjVVZCUVhGRk8xbEJRM0pGTEVsQlFVa3NWMEZCVnl4RlFVRkZMRWxCUVVrc1NVRkJTU3hQUVVGUExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1ZVRkJWU3hGUVVGRkxFTkJRVU03WjBKQlF6VkZMRTlCUVU4c1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhEUVVGRE8xbEJRM0pFTEVOQlFVTTdXVUZEUkN4SlFVRkpMRTlCUVU4c1YwRkJWeXhEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEZWQlFWVXNSVUZCUlN4RFFVRkRPMmRDUVVOc1JDeFBRVUZQTEZkQlFWY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eERRVUZETzFsQlEyaEVMRU5CUVVNN1dVRkRSQ3hwUTBGQmFVTTdXVUZEYWtNc1NVRkJTU3hQUVVGUExGZEJRVmNzUTBGQlF5eFRRVUZUTEV0QlFVc3NWVUZCVlN4RlFVRkZMRU5CUVVNN1owSkJRMmhFTEU5QlFVOHNWMEZCVnl4RFFVRkRMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eFZRVUZWTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRMMFFzUTBGQlF6dFpRVU5FTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xGZEJRVmNzVlVGQlZTeHJRa0ZCYTBJc1YwRkJWeXhGUVVGRkxGZEJRVmNzUlVGQlJTeEpRVUZKTEdOQlFXTXNRMEZEY0VZc1EwRkJRenRSUVVOS0xFTkJRVU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNTVUZCVnp0UlFVTjZReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXp0WlFVRkZMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJRMjVETEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTI1RExFbEJRMFVzU1VGQlNUdFpRVU5LTEU5QlFVOHNTVUZCU1N4TFFVRkxMRkZCUVZFN1dVRkRlRUlzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVOd1FpeERRVUZETzFsQlEwUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6VkNMRTFCUVUwc1dVRkJXU3hIUVVGSExGRkJRVkVzUTBGQlF5eFRRVUZUTEV0QlFVc3NVMEZCVXl4RFFVRkRPMWxCUTNSRUxFMUJRVTBzVVVGQlVTeEhRVUZITEZGQlFWRXNRMEZCUXl4TFFVRkxMRXRCUVVzc1UwRkJVeXhEUVVGRE8xbEJRemxETEUxQlFVMHNVMEZCVXl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFdEJRVXNzVTBGQlV5eERRVUZETzFsQlEyaEVMRWxCUVVrc1EwRkJReXhaUVVGWkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4VFFVRlRPMmRDUVVGRkxFOUJRVThzU1VGQlNTeERRVUZETzFsQlF6RkVMRTFCUVUwc1RVRkJUU3hIUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU42UWl4SlFVRkpMRmxCUVZrN1owSkJRVVVzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03YVVKQlF6ZERMRWxCUVVrc1VVRkJVU3hKUVVGSkxGTkJRVk03WjBKQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU4yUkN4SlFVRkpMRkZCUVZFN1owSkJRVVVzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRE1VTXNTVUZCU1N4VFFVRlRPMmRDUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRelZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRWxCUVVrc1JVRkJSU3hIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6bENMRU5CUVVNN1VVRkRSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTVUZCVnp0UlFVTXpReXhOUVVGTkxGVkJRVlVzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeEpRVUZKTEZWQlFWVXNRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJRenRaUVVGRkxFOUJRVThzVlVGQlZTeERRVUZETzFGQlJTOURMRTFCUVUwc1NVRkJTU3hIUVVGSExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJReTlETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1QwRkJUeXhKUVVGSkxFdEJRVXNzVVVGQlVTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU0zUkN4UFFVRlBMRlZCUVZVc1EwRkJRenRSUVVOd1FpeERRVUZETzFGQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJNa0lzUTBGQlF6dFJRVU0zUXl4TlFVRk5MR05CUVdNc1IwRkRiRUlzVVVGQlVTeERRVUZETEZOQlFWTXNTMEZCU3l4VFFVRlRPMWxCUTJoRExGRkJRVkVzUTBGQlF5eExRVUZMTEV0QlFVc3NVMEZCVXp0WlFVTTFRaXhSUVVGUkxFTkJRVU1zVFVGQlRTeExRVUZMTEZOQlFWTTdXVUZETjBJc1VVRkJVU3hEUVVGRExGRkJRVkVzUzBGQlN5eFRRVUZUTEVOQlFVTTdVVUZGYkVNc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFsQlEzQkNMRlZCUVZVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dFpRVU5xUWl4UFFVRlBMRlZCUVZVc1EwRkJRenRSUVVOd1FpeERRVUZETzFGQlJVUXNWVUZCVlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRMnBDTEVsQlFVa3NVVUZCVVN4RFFVRkRMRk5CUVZNc1MwRkJTeXhUUVVGVE8xbEJRVVVzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRE1VVXNTVUZCU1N4UlFVRlJMRU5CUVVNc1MwRkJTeXhMUVVGTExGTkJRVk03V1VGQlJTeFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4SlFVRkpMRkZCUVZFc1EwRkJReXhOUVVGTkxFdEJRVXNzVTBGQlV6dFpRVUZGTEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzQkZMRWxCUVVrc1VVRkJVU3hEUVVGRExGRkJRVkVzUzBGQlN5eFRRVUZUTzFsQlFVVXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZEZUVVc1QwRkJUeXhWUVVGVkxFTkJRVU03U1VGRGNFSXNRMEZCUXp0SlFVVlBMRTFCUVUwc1EwRkJReXh6UWtGQmMwSXNRMEZEYmtNc1YwRkJhME1zUlVGRGJFTXNZMEZCYzBJN1VVRkZkRUlzVDBGQlR6dFpRVU5NTEhGQ1FVRnhRaXhEUVVGRExGZEJRVmNzUlVGQlJTeE5RVUZOTEVOQlFVTTdXVUZETVVNc1dVRkJXU3hEUVVGRExFVkJRVVVzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhqUVVGakxFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6VkVMRTlCUVU4c1EwRkJRenRuUWtGRFRpeFhRVUZYTEVWQlFVVXNaVUZCWlN4alFVRmpMRVZCUVVVN1owSkJRelZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeFhRVUZYTEVOQlFVTTdZVUZEYUVRc1EwRkJRenRaUVVOR0xHdENRVUZyUWl4RFFVRkRPMmRDUVVOcVFpeFhRVUZYTEVWQlFVVXNSMEZCUnl4alFVRmpMSGRDUVVGM1FqdG5Ra0ZEZEVRc1RVRkJUU3hGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRoUVVNM1F5eERRVUZETzFsQlEwWXNjVUpCUVhGQ0xFTkJRVU1zUlVGQlJTeFhRVUZYTEVWQlFVVXNORUpCUVRSQ0xFVkJRVVVzUTBGQlF6dFpRVU53UlN3NFFrRkJPRUlzUTBGQlF6dG5Ra0ZETjBJc1YwRkJWeXhGUVVGRkxESkRRVUV5UXp0aFFVTjZSQ3hEUVVGRE8xTkJRMGdzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc2IwSkJRVzlDTEVOQlEycERMRmRCUVd0RExFVkJRMnhETEdOQlFYTkNPMUZCUlhSQ0xFOUJRVTg3V1VGRFRDeHhRa0ZCY1VJc1EwRkJReXhYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXp0WlFVTnNSQ3haUVVGWkxFTkJRVU1zUlVGQlJTeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xHTkJRV01zUjBGQlJ5eEZRVUZGTEVOQlFVTTdXVUZETlVRc1QwRkJUeXhEUVVGRE8yZENRVU5PTEZkQlFWY3NSVUZCUlN4bFFVRmxMR05CUVdNc1JVRkJSVHRuUWtGRE5VTXNUVUZCVFN4RlFVRkZPMjlDUVVOT0xFbEJRVWtzUlVGQlJTeFBRVUZQTzI5Q1FVTmlMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVN2FVSkJRelZETzJGQlEwWXNRMEZCUXp0WlFVTkdMR3RDUVVGclFpeERRVUZETzJkQ1FVTnFRaXhYUVVGWExFVkJRVVVzUjBGQlJ5eGpRVUZqTEhkQ1FVRjNRanRuUWtGRGRFUXNUVUZCVFN4RlFVRkZPMjlDUVVOT0xFbEJRVWtzUlVGQlJTeFBRVUZQTzI5Q1FVTmlMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVN2FVSkJRelZETzJGQlEwWXNRMEZCUXp0WlFVTkdMSEZDUVVGeFFpeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRFJDUVVFMFFpeEZRVUZGTEVOQlFVTTdXVUZEY0VVc09FSkJRVGhDTEVOQlFVTTdaMEpCUXpkQ0xGZEJRVmNzUlVGQlJTd3lRMEZCTWtNN1lVRkRla1FzUTBGQlF6dFRRVU5JTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVTXZRaXhYUVVGclF5eEZRVU5zUXl4alFVRnpRanRSUVVWMFFpeFBRVUZQTzFsQlEwd3NjVUpCUVhGQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNN1dVRkRha1FzV1VGQldTeERRVUZETEVWQlFVVXNUMEZCVHl4RlFVRkZMRmxCUVZrc1kwRkJZeXhyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMWxCUTNaRkxGRkJRVkVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRU5CUVVNN1dVRkRlRVFzWVVGQllTeERRVUZETzJkQ1FVTmFMRmRCUVZjc1JVRkJSU3hIUVVGSExHTkJRV01zTUVKQlFUQkNPMmRDUVVONFJDeE5RVUZOTEVWQlFVVTdiMEpCUTA0c1NVRkJTU3hGUVVGRkxFOUJRVTg3YjBKQlEySXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlR0cFFrRkROVU03WVVGRFJpeERRVUZETzFsQlEwWXNiVUpCUVcxQ0xFTkJRVU03WjBKQlEyeENMRmRCUVZjc1JVRkJSU3hOUVVGTkxHTkJRV01zTUVOQlFUQkRPMkZCUXpWRkxFTkJRVU03VTBGRFNDeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVlBMRTFCUVUwc1EwRkJReXh2UWtGQmIwSXNRMEZEYWtNc1YwRkJhME1zUlVGRGJFTXNZMEZCYzBJc1JVRkRkRUlzWVVGQmFVTTdVVUZGYWtNc1QwRkJUenRaUVVOTUxIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeERRVUZETzFsQlEycEVMR3RDUVVGclFpeERRVUZETEdGQlFXRXNRMEZCUXp0WlFVTnFReXhaUVVGWkxFTkJRVU03WjBKQlExZ3NUMEZCVHl4RlFVRkZMRzlDUVVGdlFpeGpRVUZqTERaQ1FVRTJRanRoUVVONlJTeERRVUZETzFsQlEwWXNUMEZCVHl4RFFVRkRPMmRDUVVOT0xGZEJRVmNzUlVGQlJTdzJRMEZCTmtNc1kwRkJZeXhGUVVGRk8yZENRVU14UlN4TlFVRk5MRVZCUVVVN2IwSkJRMDRzU1VGQlNTeEZRVUZGTEU5QlFVODdiMEpCUTJJc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF6dHBRa0ZETDBRN1lVRkRSaXhEUVVGRE8xbEJRMFlzWVVGQllTeERRVUZETzJkQ1FVTmFMRmRCUVZjc1JVRkJSU3hIUVVGSExHTkJRV01zZDBKQlFYZENPMmRDUVVOMFJDeE5RVUZOTEVWQlFVVTdiMEpCUTA0c1NVRkJTU3hGUVVGRkxFOUJRVTg3YjBKQlEySXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlR0cFFrRkROVU03WVVGRFJpeERRVUZETzFsQlEwWXNiVUpCUVcxQ0xFTkJRVU03WjBKQlEyeENMRmRCUVZjc1JVRkJSU3hOUVVGTkxHTkJRV01zTUVOQlFUQkRPMkZCUXpWRkxFTkJRVU03V1VGRFJpeHhRa0ZCY1VJc1EwRkJReXhGUVVGRkxGZEJRVmNzUlVGQlJTdzBRa0ZCTkVJc1JVRkJSU3hEUVVGRE8xTkJRM0pGTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExHOUNRVUZ2UWl4RFFVTnFReXhYUVVGclF5eEZRVU5zUXl4alFVRnpRaXhGUVVOMFFpeGhRVUZwUXp0UlFVVnFReXhQUVVGUE8xbEJRMHdzY1VKQlFYRkNMRU5CUVVNc1YwRkJWeXhGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVOQlFVTTdXVUZEY0VRc2EwSkJRV3RDTEVOQlFVTXNZVUZCWVN4RFFVRkRPMWxCUTJwRExGbEJRVmtzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4VlFVRlZMR05CUVdNc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0WlFVTnlSU3hSUVVGUkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNSVUZCUlN4RFFVRkRPMWxCUTNoRUxHRkJRV0VzUTBGQlF6dG5Ra0ZEV2l4WFFVRlhMRVZCUVVVc1IwRkJSeXhqUVVGakxIZENRVUYzUWp0blFrRkRkRVFzVFVGQlRTeEZRVUZGTzI5Q1FVTk9MRWxCUVVrc1JVRkJSU3hQUVVGUE8yOUNRVU5pTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hoUVVGaExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVTdhVUpCUXpWRE8yRkJRMFlzUTBGQlF6dFpRVU5HTEcxQ1FVRnRRaXhEUVVGRE8yZENRVU5zUWl4WFFVRlhMRVZCUVVVc1RVRkJUU3hqUVVGakxEQkRRVUV3UXp0aFFVTTFSU3hEUVVGRE8xTkJRMGdzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGVHl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVNelFpeFhRVUZyUXl4RlFVTnNReXhqUVVGelFpeEZRVU4wUWl4aFFVRnBReXhGUVVOcVF5eE5RVUZqTzFGQlJXUXNUMEZCVHp0WlFVTk1MSEZDUVVGeFFpeERRVUZETEZkQlFWY3NSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRE8xbEJRMnBFTEd0Q1FVRnJRaXhEUVVGRExHRkJRV0VzUTBGQlF6dFpRVU5xUXl4WlFVRlpMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzWTBGQll5eGpRVUZqTEdkQ1FVRm5RaXhGUVVGRkxFTkJRVU03V1VGRGRrVXNZVUZCWVN4RFFVRkRPMmRDUVVOYUxGZEJRVmNzUlVGQlJTeEhRVUZITEdOQlFXTXNNRUpCUVRCQ08yZENRVU40UkN4TlFVRk5MRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzWVVGQllTeERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZPMkZCUXpkRExFTkJRVU03V1VGRFJpeHRRa0ZCYlVJc1EwRkJRenRuUWtGRGJFSXNWMEZCVnl4RlFVRkZMRTFCUVUwc1kwRkJZeXd3UTBGQk1FTTdZVUZETlVVc1EwRkJRenRUUVVOSUxFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVU0zUWl4WFFVRnJReXhGUVVOc1F5eGpRVUZ6UWl4RlFVTjBRaXhoUVVGcFF5eEZRVU5xUXl4TlFVRmpPMUZCUldRc1QwRkJUenRaUVVOTUxIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeERRVUZETzFsQlEycEVMR3RDUVVGclFpeERRVUZETEdGQlFXRXNRMEZCUXp0WlFVTnFReXhaUVVGWkxFTkJRVU03WjBKQlExZ3NUMEZCVHl4RlFVRkZMSFZDUVVGMVFpeGpRVUZqTERaQ1FVRTJRanRoUVVNMVJTeERRVUZETzFsQlEwWXNUMEZCVHl4RFFVRkRPMmRDUVVOT0xGZEJRVmNzUlVGQlJTd3JRMEZCSzBNc1kwRkJZeXhGUVVGRk8yZENRVU0xUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZOTEVWQlFVVXNWMEZCVnl4RFFVRkRPMkZCUTJoRUxFTkJRVU03V1VGRFJpeGhRVUZoTEVOQlFVTTdaMEpCUTFvc1YwRkJWeXhGUVVGRkxFZEJRVWNzWTBGQll5eDNRa0ZCZDBJN1owSkJRM1JFTEUxQlFVMHNSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hoUVVGaExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVTdZVUZETjBNc1EwRkJRenRaUVVOR0xHMUNRVUZ0UWl4RFFVRkRPMmRDUVVOc1FpeFhRVUZYTEVWQlFVVXNUVUZCVFN4alFVRmpMREJEUVVFd1F6dGhRVU0xUlN4RFFVRkRPMWxCUTBZc2NVSkJRWEZDTEVOQlFVTXNSVUZCUlN4WFFVRlhMRVZCUVVVc05FSkJRVFJDTEVWQlFVVXNRMEZCUXp0VFFVTnlSU3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUTBGRE4wSXNWMEZCYTBNc1JVRkRiRU1zWTBGQmMwSXNSVUZEZEVJc1lVRkJhVU1zUlVGRGFrTXNUVUZCWXp0UlFVVmtMRTlCUVU4N1dVRkRUQ3h4UWtGQmNVSXNRMEZCUXl4WFFVRlhMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzUTBGQlF6dFpRVU53UkN4clFrRkJhMElzUTBGQlF5eGhRVUZoTEVOQlFVTTdXVUZEYWtNc1dVRkJXU3hEUVVGRExFVkJRVVVzVDBGQlR5eEZRVUZGTEZsQlFWa3NZMEZCWXl4blFrRkJaMElzUlVGQlJTeERRVUZETzFsQlEzSkZMR0ZCUVdFc1EwRkJRenRuUWtGRFdpeFhRVUZYTEVWQlFVVXNSMEZCUnl4alFVRmpMSGRDUVVGM1FqdG5Ra0ZEZEVRc1RVRkJUU3hGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRoUVVNM1F5eERRVUZETzFsQlEwWXNiVUpCUVcxQ0xFTkJRVU03WjBKQlEyeENMRmRCUVZjc1JVRkJSU3hOUVVGTkxHTkJRV01zTUVOQlFUQkRPMkZCUXpWRkxFTkJRVU03VTBGRFNDeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVlBMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNRMEZEYUVNc1YwRkJhME1zUlVGRGJFTXNZMEZCYzBJN1VVRkZkRUlzVDBGQlR6dFpRVU5NTEhGQ1FVRnhRaXhEUVVGRExGZEJRVmNzUlVGQlJTeExRVUZMTEVWQlFVVXNlVUpCUVhsQ0xFTkJRVU03V1VGRGNFVXNXVUZCV1N4RFFVRkRPMmRDUVVOWUxFOUJRVThzUlVGQlJTeHZRMEZCYjBNc1kwRkJZeXhIUVVGSE8yRkJReTlFTEVOQlFVTTdXVUZEUml4UlFVRlJMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVVVGQlVTeEZRVUZGTEZkQlFWY3NSVUZCUlN4dFEwRkJiVU1zUlVGQlJTeERRVUZETzFsQlF6bEZMRkZCUVZFc1EwRkJRenRuUWtGRFVDeEpRVUZKTEVWQlFVVXNUVUZCVFR0blFrRkRXaXhYUVVGWExFVkJRVVVzYTBWQlFXdEZPMkZCUTJoR0xFTkJRVU03V1VGRFJpeFJRVUZSTEVOQlFVTTdaMEpCUTFBc1NVRkJTU3hGUVVGRkxGZEJRVmM3WjBKQlEycENMRkZCUVZFc1JVRkJSU3hKUVVGSk8yZENRVU5rTEVsQlFVa3NSVUZCUlN4alFVRmpPMmRDUVVOd1FpeFhRVUZYTEVWQlFVVXNaME5CUVdkRE8yRkJRemxETEVOQlFVTTdXVUZEUml4UlFVRlJMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4SlFVRkpMRVZCUVVVc1YwRkJWeXhGUVVGRkxHOURRVUZ2UXl4RlFVRkZMRU5CUVVNN1dVRkRPVVlzVVVGQlVTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeEZRVUZGTEZkQlFWY3NSVUZCUlN4dlEwRkJiME1zUlVGQlJTeERRVUZETzFsQlF5OUdMR0ZCUVdFc1EwRkJReXhGUVVGRkxGZEJRVmNzUlVGQlJTeEhRVUZITEdOQlFXTXNaMEpCUVdkQ0xFVkJRVVVzUTBGQlF6dFpRVU5xUlN4dFFrRkJiVUlzUTBGQlF6dG5Ra0ZEYkVJc1YwRkJWeXhGUVVGRkxFMUJRVTBzWTBGQll5d3dRMEZCTUVNN1lVRkROVVVzUTBGQlF6dFRRVU5JTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExESkNRVUV5UWl4RFFVTjRReXhYUVVGclF5eEZRVU5zUXl4alFVRnpRaXhGUVVOMFFpeEpRVUZaTEVWQlExb3NXVUZCYjBJN1VVRkZjRUlzVFVGQlRTeEpRVUZKTEVkQlFYbEVPMWxCUTJwRkxIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETzFsQlF5OURMRmxCUVZrc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGQlJTeFpRVUZaTEdOQlFXTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1dVRkRhRVVzWVVGQllTeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRWRCUVVjc1kwRkJZeXd3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMU5CUXpWRkxFTkJRVU03VVVGRlJpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMnhGTEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJUdFpRVU4yUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVOc1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeFhRVUZYTEVWQlFVVXNUMEZCVHl4SlFVRkpMRmxCUVZrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWSUxFbEJRMFVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4VFFVRlRMRU5CUVVNN1dVRkRNVUlzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4aFFVRmhMRU5CUVVNN1dVRkRPVUlzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNN1dVRkRlRUlzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkRlRUlzUTBGQlF6dFpRVU5FTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUTFBc1VVRkJVU3hEUVVGRE8yZENRVU5RTEVsQlFVa3NSVUZCUlN4WFFVRlhPMmRDUVVOcVFpeFJRVUZSTEVWQlFVVXNTVUZCU1R0blFrRkRaQ3hKUVVGSkxFVkJRVVVzWTBGQll6dG5Ra0ZEY0VJc1YwRkJWeXhGUVVGRkxHZENRVUZuUWp0aFFVTTVRaXhEUVVGRExFTkJRMGdzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZEUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhQUVVGUExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlF5OUVMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRMUFzVVVGQlVTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMRTlCUVU4c1JVRkJSU3hSUVVGUkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZkQlFWY3NSVUZCUlN4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVOMFJTeFJRVUZSTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1VVRkJVU3hGUVVGRkxGRkJRVkVzUlVGQlJTeExRVUZMTEVWQlFVVXNWMEZCVnl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hEUVVGRExFVkJRM3BGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzVVVGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4WFFVRlhMRVZCUVVVc1owTkJRV2RETEVWQlFVVXNRMEZCUXl4RFFVTXZSaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGFFVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkRVQ3h0UWtGQmJVSXNRMEZCUXp0blFrRkRiRUlzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZMEZCWXl3d1EwRkJNRU03WVVGRE5VVXNRMEZCUXl4RFFVTklMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzU1VGRFJTeFpRVUZaTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVVVGQlVUdFpRVU12UXl4WlFVRlpMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0WlFVTTNReXhaUVVGWkxFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1RVRkJUU3hGUVVNM1F5eERRVUZETzFsQlEwUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeFhRVUZYTEVWQlFVVXNZMEZCWXl4alFVRmpMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpOR0xFTkJRVU03VVVGRFJDeEpRVUZKTEZsQlFWa3NTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0WlFVTjJSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMRmRCUVZjc1JVRkJSU3gxUWtGQmRVSXNZMEZCWXl4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRWNzUTBGQlF6dFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkRMMElzVlVGQmEwSXNSVUZEYkVJc1UwRkJhVUlzUlVGRGFrSXNVVUZCWjBJc1JVRkRhRUlzY1VKQlFUaENMRXRCUVVzN1VVRkZia01zVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhEUVVGRExFTkJRVk1zUlVGQldTeEZRVUZGTEVOQlEyaEVMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZka1VzVFVGQlRTeGhRVUZoTEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEyaEZMRWxCUVVrN1dVRkRTaXhYUVVGWExFVkJRVVVzUjBGQlJ5eEpRVUZKTERCQ1FVRXdRanRaUVVNNVF5eFJRVUZSTEVWQlFVVXNTVUZCU1R0WlFVTmtMRWxCUVVrc1JVRkJSU3hOUVVGTk8xTkJRMklzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGU2l4TlFVRk5MRlZCUVZVc1IwRkJlVVE3V1VGRGRrVXNSMEZCUnl4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVFTXNXVUZCV1N4RFFVRkRMRVZCUVVVc1QwRkJUeXhGUVVGRkxESkNRVUV5UWl4VlFVRlZMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRM0JGTEdGQlFXRXNRMEZCUXl4RlFVRkZMRmRCUVZjc1JVRkJSU3huUTBGQlowTXNSVUZCUlN4RFFVRkRPMWxCUTJoRkxHOUNRVUZ2UWl4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxHOURRVUZ2UXl4RlFVRkZMRU5CUVVNN1UwRkROVVVzUTBGQlF6dFJRVVZHTEVsQlFVa3NVVUZCVVN4TFFVRkxMRXRCUVVzc1NVRkJTU3hyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMWxCUXpkRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlEySXNVVUZCVVN4RFFVRkRPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeFhRVUZYTzJkQ1FVTnFRaXhSUVVGUkxFVkJRVVVzUzBGQlN6dG5Ra0ZEWml4SlFVRkpMRVZCUVVVc1kwRkJZenRuUWtGRGNFSXNWMEZCVnl4RlFVRkZMR2REUVVGblF6dGhRVU01UXl4RFFVRkRMRVZCUTBZc1VVRkJVU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNSVUZCUlN4UlFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGRkxGZEJRVmNzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hEUVVGRExFVkJReTlGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzVVVGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4WFFVRlhMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXl4RFFVTnFSaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEU5QlFVOHNWVUZCVlN4RFFVRkRPMGxCUTNCQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCRGIyNTBjbTlzYkdWeUxDQlFZWEpoYlN3Z1VYVmxjbmtzSUZKbGMzQnZibk5sTENCVFpYUk5aWFJoWkdGMFlTQjlJR1p5YjIwZ1hDSkFibVZ6ZEdwekwyTnZiVzF2Ymx3aU8xeHVhVzF3YjNKMElIdGNiaUFnUVhCcFFtRmtVbVZ4ZFdWemRGSmxjM0J2Ym5ObExGeHVJQ0JCY0dsQ2IyUjVMRnh1SUNCQmNHbERjbVZoZEdWa1VtVnpjRzl1YzJVc1hHNGdJRUZ3YVVWNGRISmhUVzlrWld4ekxGeHVJQ0JCY0dsT2IwTnZiblJsYm5SU1pYTndiMjV6WlN4Y2JpQWdRWEJwVG05MFJtOTFibVJTWlhOd2IyNXpaU3hjYmlBZ1FYQnBUMnRTWlhOd2IyNXpaU3hjYmlBZ1FYQnBUM0JsY21GMGFXOXVMRnh1SUNCQmNHbFFZWEpoYlN4Y2JpQWdRWEJwVVhWbGNua3NYRzRnSUVGd2FWUmhaM01zWEc0Z0lFRndhVlZ1Y0hKdlkyVnpjMkZpYkdWRmJuUnBkSGxTWlhOd2IyNXpaU3hjYmlBZ1oyVjBVMk5vWlcxaFVHRjBhQ3hjYm4wZ1puSnZiU0JjSWtCdVpYTjBhbk12YzNkaFoyZGxjbHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdkSGx3WlNCRWFYSmxZM1JwYjI1TWFXMXBkRTltWm5ObGRDeGNiaUFnVFc5a1pXeFRaWEoyYVdObExGeHVJQ0JQY21SbGNrUnBjbVZqZEdsdmJpeGNiaUFnVUdWeWMybHpkR1Z1WTJWTFpYbHpMRnh1SUNCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXNYRzRnSUhSNWNHVWdVbVZ3Ynl4Y2JpQWdVbVZ3YjNOcGRHOXllU3hjYmlBZ1UyVnlkbWxqWlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWpiM0psWENJN1hHNXBiWEJ2Y25RZ2V5Qk5iMlJsYkN3Z1RXOWtaV3hEYjI1emRISjFZM1J2Y2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWNzSUhSdlMyVmlZV0pEWVhObElIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OXNiMmRuYVc1blhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCQ2RXeHJRM0oxWkU5d1pYSmhkR2x2Ymt0bGVYTXNYRzRnSUVSQ1MyVjVjeXhjYmlBZ1FtRnpaVVZ5Y205eUxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JQY0dWeVlYUnBiMjVMWlhsekxGeHVJQ0JXWVd4cFpHRjBhVzl1UlhKeWIzSXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnUTI5dWMzUnlkV04wYjNJc0lFMWxkR0ZrWVhSaElIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkJjR2xQY0dWeVlYUnBiMjVHY205dFRXOWtaV3dzWEc0Z0lFRndhVkJoY21GdGMwWnliMjFOYjJSbGJDeGNiaUFnZEhsd1pTQkVaV05oWmtGd2FWQnliM0JsY25SNUxGeHVJQ0JFWldOaFprSnZaSGtzWEc0Z0lFUmxZMkZtVVhWbGNua3NYRzU5SUdaeWIyMGdYQ0l1TDJSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRWgwZEhCV1pYSmlWRzlFWldOdmNtRjBiM0lnZlNCbWNtOXRJRndpTGk5a1pXTnZjbUYwYjNKekwzVjBhV3h6WENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVoMGRIQldaWEppY3lCOUlHWnliMjBnWENJdUwyUmxZMjl5WVhSdmNuTXZkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjdJRVJsWTJGbVVtVnhkV1Z6ZEVOdmJuUmxlSFFnZlNCbWNtOXRJRndpTGk0dmNtVnhkV1Z6ZEZ3aU8xeHVhVzF3YjNKMElIc2dSRVZEUVVaZlEwOU9WRkpQVEV4RlVsOURUMDVHU1Vjc0lFUkZRMEZHWDFKUFZWUkZJSDBnWm5KdmJTQmNJaTR1TDJOdmJuTjBZVzUwYzF3aU8xeHVhVzF3YjNKMElIc2dVMHRKVUY5TlQwUkZURjlTVDB4RlUxOUxSVmtnZlNCbWNtOXRJRndpTGk0dllYVjBhQzlqYjI1emRHRnVkSE5jSWp0Y2JtbHRjRzl5ZENCN0lFRjFkR2dzSUZCMVlteHBZeXdnVW1WeGRXbHlaVkp2YkdWeklIMGdabkp2YlNCY0lpNHVMMkYxZEdndlpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnUTI5dWRISnZiR3hsY2tOdmJuTjBjblZqZEc5eUlIMGdabkp2YlNCY0lpNHZkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjdJRVJsWTJGbVRXOWtaV3hEYjI1MGNtOXNiR1Z5SUgwZ1puSnZiU0JjSWk0dUwyTnZiblJ5YjJ4c1pYSnpYQ0k3WEc1cGJYQnZjblFnZXlCRWRHOUdiM0lnZlNCbWNtOXRJRndpTGk0dlptRmpkRzl5ZVM5dmNHVnVZWEJwTDBSMGIwSjFhV3hrWlhKY0lqdGNibWx0Y0c5eWRDQmNJaTR1TDI5MlpYSnlhV1JsYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnVFc5a1pXeERiMjUwY205c2JHVnlSbUZqZEc5eWVTeGNiaUFnZEhsd1pTQk5iMlJsYkVOdmJuUnliMnhzWlhKR1lXTjBiM0o1UTI5dVptbG5MRnh1SUNCMGVYQmxJRUYxZEdoRGIyNW1hV2NzWEc0Z0lIUjVjR1VnVTJWeWRtVnlVbTkxZEdVc1hHNTlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZabTl5TFdoMGRIQXZjMlZ5ZG1WeVhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlJSHRjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nY21WaFpHOXViSGtnYkc5bklEMGdURzluWjJsdVp5NW1iM0lvUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1dVlXMWxLVHRjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCMGIwUmxZMkZtUlhKeWIzSW9YRzRnSUNBZ1pYSnliM0k2SUhWdWEyNXZkMjRzWEc0Z0lDQWdabUZzYkdKaFkydE5aWE56WVdkbE9pQnpkSEpwYm1kY2JpQWdLVG9nUW1GelpVVnljbTl5SUh0Y2JpQWdJQ0JwWmlBb1pYSnliM0lnYVc1emRHRnVZMlZ2WmlCQ1lYTmxSWEp5YjNJcElISmxkSFZ5YmlCbGNuSnZjanRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNCbGNuSnZjaUJwYm5OMFlXNWpaVzltSUVWeWNtOXlJRDhnWUNSN1ptRnNiR0poWTJ0TlpYTnpZV2RsZlRvZ0pIdGxjbkp2Y2k1dFpYTnpZV2RsZldBZ09pQm1ZV3hzWW1GamEwMWxjM05oWjJWY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ2MzUmhkR2xqSUdkbGRGQmxjbk5wYzNSbGJtTmxQRlFnWlhoMFpXNWtjeUJOYjJSbGJEeGliMjlzWldGdVBqNG9YRzRnSUNBZ1RXOWtaV3hEYkdGNmVqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeFVQbHh1SUNBcE9pQlNaWEJ2UEZRK0lId2dUVzlrWld4VFpYSjJhV05sUEZRK0lIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGTmxjblpwWTJVdVoyVjBQRTF2WkdWc1UyVnlkbWxqWlR4VVBqNG9UVzlrWld4RGJHRjZlaWs3WEc0Z0lDQWdmU0JqWVhSamFDQW9aVG9nZFc1cmJtOTNiaWtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFMXZaR1ZzVTJWeWRtbGpaUzVuWlhSVFpYSjJhV05sS0UxdlpHVnNRMnhoZW5vcElHRnpJRTF2WkdWc1UyVnlkbWxqWlR4VVBqdGNiaUFnSUNBZ0lIMGdZMkYwWTJnZ0tHVXlPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJTWlhCdmMybDBiM0o1TG1admNrMXZaR1ZzS0UxdlpHVnNRMnhoZW5vcElHRnpJRkpsY0c4OFZENDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjM1JoZEdsaklHTnlaV0YwWlZGMVpYSjVVbTkxZEdWelJuSnZiVkpsY0c5emFYUnZjbms4VkNCbGVIUmxibVJ6SUUxdlpHVnNQR0p2YjJ4bFlXNCtQaWhjYmlBZ0lDQndaWEp6YVhOMFpXNWpaVG9nVW1Wd2J6eFVQaUI4SUUxdlpHVnNVMlZ5ZG1salpUeFVQaXhjYmlBZ0lDQndjbVZtYVhnNklITjBjbWx1WnlBOUlGQmxjbk5wYzNSbGJtTmxTMlY1Y3k1UlZVVlNXVnh1SUNBcE9pQkRiMjUwY205c2JHVnlRMjl1YzNSeWRXTjBiM0k4VkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEpsY0c4NklGSmxjRzg4VkQ0Z1BWeHVJQ0FnSUNBZ2NHVnljMmx6ZEdWdVkyVWdhVzV6ZEdGdVkyVnZaaUJOYjJSbGJGTmxjblpwWTJVZ1B5QndaWEp6YVhOMFpXNWpaUzV5WlhCdklEb2djR1Z5YzJsemRHVnVZMlU3WEc0Z0lDQWdZMjl1YzNRZ1RXOWtaV3hEYjI1emRISTZJRU52Ym5OMGNuVmpkRzl5SUQwZ2NtVndieTVqYkdGemN6dGNiaUFnSUNCamIyNXpkQ0J4ZFdWeWVVMWxkR2h2WkhNNklGSmxZMjl5WkR4emRISnBibWNzSUhzZ1ptbGxiR1J6UHpvZ2MzUnlhVzVuVzEwZ2ZDQjFibVJsWm1sdVpXUWdmVDRnUFZ4dUlDQWdJQ0FnVFdWMFlXUmhkR0V1WjJWMEtGeHVJQ0FnSUNBZ0lDQnlaWEJ2TG1OdmJuTjBjblZqZEc5eUlHRnpJRU52Ym5OMGNuVmpkRzl5TEZ4dUlDQWdJQ0FnSUNCTlpYUmhaR0YwWVM1clpYa29VR1Z5YzJsemRHVnVZMlZMWlhsekxsRlZSVkpaS1Z4dUlDQWdJQ0FnS1NBL1B5QjdmVHRjYmx4dUlDQWdJR052Ym5OMElISnZkWFJsVFdWMGFHOWtjem9nVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGlBOVhHNGdJQ0FnSUNCTlpYUmhaR0YwWVM1blpYUW9YRzRnSUNBZ0lDQWdJSEJsY25OcGMzUmxibU5sTG1OdmJuTjBjblZqZEc5eUlHRnpJRU52Ym5OMGNuVmpkRzl5TEZ4dUlDQWdJQ0FnSUNCTlpYUmhaR0YwWVM1clpYa29SRVZEUVVaZlVrOVZWRVVwWEc0Z0lDQWdJQ0FwSUQ4L0lIdDlPMXh1WEc0Z0lDQWdZMnhoYzNNZ1VYVmxjbmxEYjI1MGNtOXNiR1Z5SUdWNGRHVnVaSE1nUkdWallXWk5iMlJsYkVOdmJuUnliMnhzWlhJOFZENGdlMXh1SUNBZ0lDQWdiM1psY25KcFpHVWdaMlYwSUdOc1lYTnpLQ2s2SUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY0lrMWxkR2h2WkNCdWIzUWdhVzF3YkdWdFpXNTBaV1F1WENJcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9ZMnhwWlc1MFEyOXVkR1Y0ZERvZ1JHVmpZV1pTWlhGMVpYTjBRMjl1ZEdWNGRDd2dibUZ0WlRvZ2MzUnlhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lITjFjR1Z5S0dOc2FXVnVkRU52Ym5SbGVIUXNJRzVoYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1cyMWxkR2h2WkU1aGJXVXNJSEJoY21GdGMxMGdiMllnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9jbTkxZEdWTlpYUm9iMlJ6S1NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY205MWRHVlFZWFJvSUQwZ1czQmhjbUZ0Y3k1d1lYUm9MbkpsY0d4aFkyVW9MMTVjWEM4cmZGeGNMeXNrTDJjc0lGd2lYQ0lwWFZ4dUlDQWdJQ0FnSUNBdVptbHNkR1Z5S0NoelpXZHRaVzUwT2lCemRISnBibWNwSUQwK0lITmxaMjFsYm5RZ0ppWWdjMlZuYldWdWRDNTBjbWx0S0NrcFhHNGdJQ0FnSUNBZ0lDNXFiMmx1S0Z3aUwxd2lLVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhR0Z1Wkd4bGNpQTlJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WTNKbFlYUmxRMjl0Y0d4bGVGRjFaWEo1U0dGdVpHeGxjaWhjYmlBZ0lDQWdJQ0FnYldWMGFHOWtUbUZ0WlZ4dUlDQWdJQ0FnS1NCaGN5Qmhibms3WEc0Z0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1SbFptbHVaVTFsZEdodlpDaGNiaUFnSUNBZ0lDQWdVWFZsY25sRGIyNTBjbTlzYkdWeUxGeHVJQ0FnSUNBZ0lDQnRaWFJvYjJST1lXMWxMRnh1SUNBZ0lDQWdJQ0JvWVc1a2JHVnlYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQm9kSFJ3UkdWamIzSmhkRzl5SUQwZ1NIUjBjRlpsY21KVWIwUmxZMjl5WVhSdmNpaHdZWEpoYlhNdWFIUjBjRTFsZEdodlpDQmhjeUJJZEhSd1ZtVnlZbk1wS0hKdmRYUmxVR0YwYUNCOGZDQjFibVJsWm1sdVpXUXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHVmpiM0poZEc5eWN5QTlJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WjJWMFVYVmxjbmxFWldOdmNtRjBiM0p6S0Z4dUlDQWdJQ0FnSUNCdFpYUm9iMlJPWVcxbExGeHVJQ0FnSUNBZ0lDQnliM1YwWlZCaGRHZ3NYRzRnSUNBZ0lDQWdJSEJoY21GdGN5NW9kSFJ3VFdWMGFHOWtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVoY0hCc2VVUmxZMjl5WVhSdmNuTW9YRzRnSUNBZ0lDQWdJRkYxWlhKNVEyOXVkSEp2Ykd4bGNpeGNiaUFnSUNBZ0lDQWdiV1YwYUc5a1RtRnRaU3hjYmlBZ0lDQWdJQ0FnVzJoMGRIQkVaV052Y21GMGIzSXNJQzR1TG1SbFkyOXlZWFJ2Y25OZFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1cyMWxkR2h2WkU1aGJXVXNJRzlpYWxaaGJIVmxjMTBnYjJZZ1QySnFaV04wTG1WdWRISnBaWE1vY1hWbGNubE5aWFJvYjJSektTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1ptbGxiR1J6SUQwZ2IySnFWbUZzZFdWekxtWnBaV3hrY3lBL1B5QmJYVHRjYmlBZ0lDQWdJR052Ym5OMElISnZkWFJsVUdGMGFDQTlJRnR3Y21WbWFYZ3NJRzFsZEdodlpFNWhiV1VzSUM0dUxtWnBaV3hrY3k1dFlYQW9LR1lwSUQwK0lHQTZKSHRtZldBcFhWeHVJQ0FnSUNBZ0lDQXVabWxzZEdWeUtDaHpaV2R0Wlc1MEtTQTlQaUJ6WldkdFpXNTBJQ1ltSUhObFoyMWxiblF1ZEhKcGJTZ3BLVnh1SUNBZ0lDQWdJQ0F1YW05cGJpaGNJaTljSWlrN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdoaGJtUnNaWElnUFNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtTnlaV0YwWlVOdmJYQnNaWGhSZFdWeWVVaGhibVJzWlhJb1hHNGdJQ0FnSUNBZ0lHMWxkR2h2WkU1aGJXVmNiaUFnSUNBZ0lDa2dZWE1nWVc1NU8xeHVJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWtaV1pwYm1WTlpYUm9iMlFvWEc0Z0lDQWdJQ0FnSUZGMVpYSjVRMjl1ZEhKdmJHeGxjaXhjYmlBZ0lDQWdJQ0FnYldWMGFHOWtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ2FHRnVaR3hsY2x4dUlDQWdJQ0FnS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYUhSMGNFUmxZMjl5WVhSdmNpQTlJRWgwZEhCV1pYSmlWRzlFWldOdmNtRjBiM0lvWENKSFJWUmNJaUJoY3lCSWRIUndWbVZ5WW5NcEtISnZkWFJsVUdGMGFDQjhmQ0IxYm1SbFptbHVaV1FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR1ZqYjNKaGRHOXljeUE5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVoyVjBVWFZsY25sRVpXTnZjbUYwYjNKektGeHVJQ0FnSUNBZ0lDQnRaWFJvYjJST1lXMWxMRnh1SUNBZ0lDQWdJQ0J5YjNWMFpWQmhkR2dzWEc0Z0lDQWdJQ0FnSUZ3aVIwVlVYQ0lzWEc0Z0lDQWdJQ0FnSUhSeWRXVmNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbUZ3Y0d4NVJHVmpiM0poZEc5eWN5aGNiaUFnSUNBZ0lDQWdVWFZsY25sRGIyNTBjbTlzYkdWeUxGeHVJQ0FnSUNBZ0lDQnRaWFJvYjJST1lXMWxMRnh1SUNBZ0lDQWdJQ0JiYUhSMGNFUmxZMjl5WVhSdmNpd2dMaTR1WkdWamIzSmhkRzl5YzExY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRkYxWlhKNVEyOXVkSEp2Ykd4bGNqdGNiaUFnZlZ4dVhHNGdJSE4wWVhScFl5QmpjbVZoZEdVOFZDQmxlSFJsYm1SeklFMXZaR1ZzUEdGdWVUNCtLRnh1SUNBZ0lFMXZaR1ZzUTI5dWMzUnlPaUJOYjJSbGJFTnZibk4wY25WamRHOXlQRlErTEZ4dUlDQWdJRzF2WkhWc1pVTnZibVpwWjA5MlpYSnlhV1JsY3o4NklGSmxZMjl5WkR4emRISnBibWNzSUUxdlpHVnNRMjl1ZEhKdmJHeGxja1poWTNSdmNubERiMjVtYVdjK0xGeHVJQ0FnSUdkc2IySmhiRVJsWm1GMWJIUnpQem9nVUdGeWRHbGhiRHhOYjJSbGJFTnZiblJ5YjJ4c1pYSkdZV04wYjNKNVEyOXVabWxuUGx4dUlDQXBPaUJEYjI1MGNtOXNiR1Z5UTI5dWMzUnlkV04wYjNJOFZENGdlMXh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1Ykc5bkxtWnZjaWhHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaU2s3WEc0Z0lDQWdZMjl1YzNRZ2RHRmliR1ZPWVcxbElEMGdUVzlrWld3dWRHRmliR1ZPWVcxbEtFMXZaR1ZzUTI5dWMzUnlLVHRjYmlBZ0lDQmpiMjV6ZENCeWIzVjBaVkJoZEdnZ1BTQjBiMHRsWW1GaVEyRnpaU2gwWVdKc1pVNWhiV1VwTzF4dUlDQWdJR052Ym5OMElHMXZaR1ZzUTJ4aGVucE9ZVzFsSUQwZ1RXOWtaV3hEYjI1emRISXVibUZ0WlR0Y2JpQWdJQ0JqYjI1emRDQndaWEp6YVhOMFpXNWpaU0E5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVoyVjBVR1Z5YzJsemRHVnVZMlVvVFc5a1pXeERiMjV6ZEhJcE8xeHVYRzRnSUNBZ0x5OGdWMmhsYmlCd1pYSnphWE4wWlc1alpTQnBjeUJoSUUxdlpHVnNVMlZ5ZG1salpTd2dkR2hsSUVCeGRXVnllUzlBY205MWRHVWdiV1YwWVdSaGRHRWdiR2wyWlhNZ2IyNWNiaUFnSUNBdkx5QjBhR1VnZFc1a1pYSnNlV2x1WnlCeVpYQnZjMmwwYjNKNUlHTnNZWE56SUNoamRYTjBiMjBnY21Wd2J5a3NJRzV2ZENCdmJpQk5iMlJsYkZObGNuWnBZMlVnYVhSelpXeG1MbHh1SUNBZ0lDOHZJRkJoYzNNZ2RHaGxJSEpsY0c4Z2RHOGdkR2hsSUdaaFkzUnZjbmtnYzI4Z1lXUmtRMjl0Y0d4bGVGRjFaWEpwWlhNb0tTQmpZVzRnWkdselkyOTJaWElnZEdobGJTNWNiaUFnSUNCamIyNXpkQ0JtWVdOMGIzSjVVR1Z5YzJsemRHVnVZMlVnUFZ4dUlDQWdJQ0FnY0dWeWMybHpkR1Z1WTJVZ2FXNXpkR0Z1WTJWdlppQk5iMlJsYkZObGNuWnBZMlVnUHlCd1pYSnphWE4wWlc1alpTNXlaWEJ2SURvZ2NHVnljMmx6ZEdWdVkyVTdYRzVjYmlBZ0lDQmpiMjV6ZENCa1pXTnZjbUYwYjNKRGIyNW1hV2NnUFNCTlpYUmhaR0YwWVM1blpYUW9YRzRnSUNBZ0lDQk5iMlJsYkVOdmJuTjBjaXhjYmlBZ0lDQWdJRTFsZEdGa1lYUmhMbXRsZVNoRVJVTkJSbDlEVDA1VVVrOU1URVZTWDBOUFRrWkpSeWxjYmlBZ0lDQXBJR0Z6SUUxdlpHVnNRMjl1ZEhKdmJHeGxja1poWTNSdmNubERiMjVtYVdjZ2ZDQjFibVJsWm1sdVpXUTdYRzRnSUNBZ1kyOXVjM1FnYlc5a2RXeGxUM1psY25KcFpHVWdQU0J0YjJSMWJHVkRiMjVtYVdkUGRtVnljbWxrWlhNL0xsdE5iMlJsYkVOdmJuTjBjaTV1WVcxbFhUdGNiaUFnSUNCamIyNXpkQ0J0WlhKblpXUkRiMjVtYVdjNklFMXZaR1ZzUTI5dWRISnZiR3hsY2taaFkzUnZjbmxEYjI1bWFXY2dQU0I3WEc0Z0lDQWdJQ0F1TGk0b1oyeHZZbUZzUkdWbVlYVnNkSE1nZkh3Z2UzMHBMRnh1SUNBZ0lDQWdMaTR1S0dSbFkyOXlZWFJ2Y2tOdmJtWnBaeUI4ZkNCN2ZTa3NYRzRnSUNBZ0lDQXVMaTRvYlc5a2RXeGxUM1psY25KcFpHVWdmSHdnZTMwcExGeHVJQ0FnSUgwN1hHNWNiaUFnSUNCamIyNXpkQ0JHWVdOMGIzSjVRMjl1ZEhKdmJHeGxjaUE5SUUxdlpHVnNRMjl1ZEhKdmJHeGxja1poWTNSdmNua3VZM0psWVhSbFBGUStLRnh1SUNBZ0lDQWdUVzlrWld4RGIyNXpkSElzWEc0Z0lDQWdJQ0JtWVdOMGIzSjVVR1Z5YzJsemRHVnVZMlVzWEc0Z0lDQWdJQ0J0WlhKblpXUkRiMjVtYVdkY2JpQWdJQ0FwTzF4dUlDQWdJR052Ym5OMElHWmhZM1J2Y25sU2IzVjBaWE1nUFNBb1JtRmpkRzl5ZVVOdmJuUnliMnhzWlhJZ1lYTWdZVzU1S1M1ZlgzSnZkWFJsYzE5ZklHRnpYRzRnSUNBZ0lDQjhJRk5sY25abGNsSnZkWFJsVzExY2JpQWdJQ0FnSUh3Z2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCblpYUlFTeXdnWVhCcFVISnZjR1Z5ZEdsbGN5d2djR0YwYURvZ2NHdFFZWFJvSUgwZ1BWeHVJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNW5aWFJTYjNWMFpWQmhjbUZ0WlhSbGNuTkdjbTl0VFc5a1pXd29UVzlrWld4RGIyNXpkSElwTzF4dVhHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUVOeVpXRjBhVzVuSUdOdmJuUnliMnhzWlhJZ1ptOXlJRzF2WkdWc09pQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQjNhWFJvSUNSN1ptRmpkRzl5ZVZKdmRYUmxjejh1YkdWdVozUm9JRDgvSURCOUlHWmhZM1J2Y25rZ2NtOTFkR1Z6WUZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmhkWFJvUTI5dVptbG5PaUJCZFhSb1EyOXVabWxuSUh3Z2RXNWtaV1pwYm1Wa0lEMGdiV1Z5WjJWa1EyOXVabWxuTG1GMWRHZzdYRzVjYmlBZ0lDQm1kVzVqZEdsdmJpQmhjSEJzZVVOc1lYTnpRWFYwYUNoMFlYSm5aWFE2SUdGdWVTa2dlMXh1SUNBZ0lDQWdhV1lnS0dGMWRHaERiMjVtYVdjL0xuQjFZbXhwWXlrZ2UxeHVJQ0FnSUNBZ0lDQlFkV0pzYVdNb0tTaDBZWEpuWlhRcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGhkWFJvUTI5dVptbG5QeTV5YjJ4bGN6OHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJRkpsY1hWcGNtVlNiMnhsY3lndUxpNWhkWFJvUTI5dVptbG5Mbkp2YkdWektTaDBZWEpuWlhRcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1FYVjBhQ2hOYjJSbGJFTnZibk4wY2lrb2RHRnlaMlYwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaGhkWFJvUTI5dVptbG5QeTV6YTJsd1RXOWtaV3hTYjJ4bGN5a2dlMXh1SUNBZ0lDQWdJQ0JUWlhSTlpYUmhaR0YwWVNoVFMwbFFYMDFQUkVWTVgxSlBURVZUWDB0RldTd2dkSEoxWlNrb2RHRnlaMlYwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JBUTI5dWRISnZiR3hsY2loeWIzVjBaVkJoZEdncFhHNGdJQ0FnUUVGd2FWUmhaM01vYlc5a1pXeERiR0Y2ZWs1aGJXVXBYRzRnSUNBZ1FFRndhVVY0ZEhKaFRXOWtaV3h6S0UxdlpHVnNRMjl1YzNSeUtWeHVJQ0FnSUdOc1lYTnpJRVI1Ym1GdGFXTk5iMlJsYkVOdmJuUnliMnhzWlhJZ1pYaDBaVzVrY3lCRVpXTmhaazF2WkdWc1EyOXVkSEp2Ykd4bGNqeFVQaUI3WEc0Z0lDQWdJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJSEJyT2lCemRISnBibWNnUFNCTmIyUmxiQzV3YXloTmIyUmxiRU52Ym5OMGNpa2dZWE1nYzNSeWFXNW5PMXh1WEc0Z0lDQWdJQ0J3Y205MFpXTjBaV1FnYzNSaGRHbGpJR2RsZENCamJHRnpjeWdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUUxdlpHVnNRMjl1YzNSeU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnZkbVZ5Y21sa1pTQm5aWFFnWTJ4aGMzTW9LVG9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhVUGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTmIyUmxiRU52Ym5OMGNqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNSeWRXTjBiM0lvWTJ4cFpXNTBRMjl1ZEdWNGREb2dSR1ZqWVdaU1pYRjFaWE4wUTI5dWRHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNCemRYQmxjaWhqYkdsbGJuUkRiMjUwWlhoMExDQkVlVzVoYldsalRXOWtaV3hEYjI1MGNtOXNiR1Z5TG01aGJXVXBPMXh1SUNBZ0lDQWdJQ0JzYjJjdWFXNW1ieWhjYmlBZ0lDQWdJQ0FnSUNCZ1VtVm5hWE4wWlhKcGJtY2daSGx1WVcxcFl5QmpiMjUwY205c2JHVnlJR1p2Y2lCdGIyUmxiRG9nSkh0MGFHbHpMbU5zWVhOekxtNWhiV1Y5SUhKdmRYUmxPaUF2Skh0eWIzVjBaVkJoZEdoOVlGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHRndjR3g1UTJ4aGMzTkJkWFJvS0VSNWJtRnRhV05OYjJSbGJFTnZiblJ5YjJ4c1pYSXBPMXh1WEc0Z0lDQWdhV1lnS0daaFkzUnZjbmxTYjNWMFpYTXBJSHRjYmlBZ0lDQWdJR052Ym5OMElITnZjblJsWkZKdmRYUmxjeUE5SUZzdUxpNW1ZV04wYjNKNVVtOTFkR1Z6WFM1emIzSjBLQ2hoTENCaUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0ZUWldkdFpXNTBjeUE5SUdFdWNHRjBhQzV6Y0d4cGRDaGNJaTljSWlrdVptbHNkR1Z5S0VKdmIyeGxZVzRwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JpVTJWbmJXVnVkSE1nUFNCaUxuQmhkR2d1YzNCc2FYUW9YQ0l2WENJcExtWnBiSFJsY2loQ2IyOXNaV0Z1S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWVZCaGNtRnRRMjkxYm5RZ1BTQmhVMlZuYldWdWRITXVabWxzZEdWeUtDaHpLU0E5UGlCekxuTjBZWEowYzFkcGRHZ29YQ0k2WENJcEtTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdKUVlYSmhiVU52ZFc1MElEMGdZbE5sWjIxbGJuUnpMbVpwYkhSbGNpZ29jeWtnUFQ0Z2N5NXpkR0Z5ZEhOWGFYUm9LRndpT2x3aUtTa3ViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaFRHbDBaWEpoYkVOdmRXNTBJRDBnWVZObFoyMWxiblJ6TG14bGJtZDBhQ0F0SUdGUVlYSmhiVU52ZFc1ME8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaVRHbDBaWEpoYkVOdmRXNTBJRDBnWWxObFoyMWxiblJ6TG14bGJtZDBhQ0F0SUdKUVlYSmhiVU52ZFc1ME8xeHVJQ0FnSUNBZ0lDQnBaaUFvWVV4cGRHVnlZV3hEYjNWdWRDQWhQVDBnWWt4cGRHVnlZV3hEYjNWdWRDbGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZa3hwZEdWeVlXeERiM1Z1ZENBdElHRk1hWFJsY21Gc1EyOTFiblE3WEc0Z0lDQWdJQ0FnSUdsbUlDaGhVR0Z5WVcxRGIzVnVkQ0FoUFQwZ1lsQmhjbUZ0UTI5MWJuUXBYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0ZRWVhKaGJVTnZkVzUwSUMwZ1lsQmhjbUZ0UTI5MWJuUTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXdPMXh1SUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtOTFkR1VnYjJZZ2MyOXlkR1ZrVW05MWRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFsZEdodlpFNWhiV1VnUFNCeWIzVjBaUzVwYlhCc1pXMWxiblJoZEdsdmJqOHVibUZ0WlNCOGZDQnliM1YwWlM1dFpYUm9iMlF1ZEc5TWIzZGxja05oYzJVb0tUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVm5hWE4wY21GMGFXOXVJRDBnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1dFlYUmphRkp2ZFhSbEtGeHVJQ0FnSUNBZ0lDQWdJRzFsZEdodlpFNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ2NtOTFkR1VzWEc0Z0lDQWdJQ0FnSUNBZ2NHdFFZWFJvTEZ4dUlDQWdJQ0FnSUNBZ0lHRndhVkJ5YjNCbGNuUnBaWE1zWEc0Z0lDQWdJQ0FnSUNBZ1oyVjBVRXNzWEc0Z0lDQWdJQ0FnSUNBZ1RXOWtaV3hEYjI1emRISXNYRzRnSUNBZ0lDQWdJQ0FnYlc5a1pXeERiR0Y2ZWs1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnWm1GamRHOXllVkJsY25OcGMzUmxibU5sWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WbmFYTjBjbUYwYVc5dUtTQmpiMjUwYVc1MVpUdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQWdJQ0FnYldWMGFHOWtUbUZ0WlRvZ2NtVm5hWE4wWlhKbFpFMWxkR2h2WkU1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnYUdGdVpHeGxjaXhjYmlBZ0lDQWdJQ0FnSUNCa1pXTnZjbUYwYjNKekxGeHVJQ0FnSUNBZ0lDQWdJSEJoY21GdFJHVmpiM0poZEc5eWN5eGNiaUFnSUNBZ0lDQWdmU0E5SUhKbFoybHpkSEpoZEdsdmJqdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQmtaWE5qY21sd2RHOXlJRDBnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1a1pXWnBibVZOWlhSb2IyUW9YRzRnSUNBZ0lDQWdJQ0FnUkhsdVlXMXBZMDF2WkdWc1EyOXVkSEp2Ykd4bGNpeGNiaUFnSUNBZ0lDQWdJQ0J5WldkcGMzUmxjbVZrVFdWMGFHOWtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWeVhHNGdJQ0FnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmxjMk55YVhCMGIzSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JvZEhSd1JHVmpiM0poZEc5eUlEMGdTSFIwY0ZabGNtSlViMFJsWTI5eVlYUnZjaWh5YjNWMFpTNXRaWFJvYjJRZ1lYTWdTSFIwY0ZabGNtSnpLU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lISnZkWFJsTG5CaGRHZ3VjbVZ3YkdGalpTZ3ZYbHhjTHl0OFhGd3ZLeVF2Wnl3Z1hDSmNJaWtnZkh3Z2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtRndjR3g1UkdWamIzSmhkRzl5Y3loY2JpQWdJQ0FnSUNBZ0lDQWdJRVI1Ym1GdGFXTk5iMlJsYkVOdmJuUnliMnhzWlhJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WldkcGMzUmxjbVZrVFdWMGFHOWtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRnRvZEhSd1JHVmpiM0poZEc5eUxDQXVMaTVrWldOdmNtRjBiM0p6WFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoY21GdFJHVmpiM0poZEc5eWMxeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdSSGx1WVcxcFkwMXZaR1ZzUTI5dWRISnZiR3hsY2lCaGN5Qmhibms3WEc0Z0lIMWNibHh1SUNCemRHRjBhV01nWjJWMFVtOTFkR1ZRWVhKaGJXVjBaWEp6Um5KdmJVMXZaR1ZzUEZRZ1pYaDBaVzVrY3lCTmIyUmxiRHhoYm5rK1BpaGNiaUFnSUNCTmIyUmxiRU5zWVhwNk9pQk5iMlJsYkVOdmJuTjBjblZqZEc5eVBGUStYRzRnSUNrNklIdGNiaUFnSUNCd1lYUm9PaUJ6ZEhKcGJtYzdYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJSE4wY21sdVp6dGNiaUFnSUNCaGNHbFFjbTl3WlhKMGFXVnpPaUJFWldOaFprRndhVkJ5YjNCbGNuUjVXMTA3WEc0Z0lDQWdaMlYwVUVzNklDZ3VMaTV3WVhKaGJYTTZJRUZ5Y21GNVBITjBjbWx1WnlCOElHNTFiV0psY2o0cElEMCtJSE4wY21sdVp6dGNiaUFnZlNCN1hHNGdJQ0FnWTI5dWMzUWdjR3NnUFNCTmIyUmxiQzV3YXloTmIyUmxiRU5zWVhwNktTQmhjeUJyWlhsdlppQk5iMlJsYkR4aGJuaytPMXh1SUNBZ0lHTnZibk4wSUdOdmJYQnZjMlZrSUQwZ1RXVjBZV1JoZEdFdVoyVjBLRnh1SUNBZ0lDQWdUVzlrWld4RGJHRjZlaXhjYmlBZ0lDQWdJRTFsZEdGa1lYUmhMbXRsZVNoRVFrdGxlWE11UTA5TlVFOVRSVVFzSUhCcktWeHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdZMjl0Y0c5elpXUkxaWGx6SUQwZ1kyOXRjRzl6WldRL0xtRnlaM01nUHo4Z1cxMDdYRzVjYmlBZ0lDQmpiMjV6ZENCMWJtbHhkV1ZMWlhseklEMWNiaUFnSUNBZ0lFRnljbUY1TG1selFYSnlZWGtvWTI5dGNHOXpaV1JMWlhsektTQW1KaUJqYjIxd2IzTmxaRXRsZVhNdWJHVnVaM1JvSUQ0Z01GeHVJQ0FnSUNBZ0lDQS9JRUZ5Y21GNUxtWnliMjBvYm1WM0lGTmxkQ2hiTGk0dVkyOXRjRzl6WldSTFpYbHpYU2twWEc0Z0lDQWdJQ0FnSURvZ1FYSnlZWGt1Wm5KdmJTaHVaWGNnVTJWMEtGdHdhMTBwS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsYzJOeWFYQjBhVzl1SUQwZ1RXVjBZV1JoZEdFdVpHVnpZM0pwY0hScGIyNG9UVzlrWld4RGJHRjZlaWtnUHo4Z1hDSmNJanRjYmlBZ0lDQmpiMjV6ZENCd1lYUm9JRDBnWURva2UzVnVhWEYxWlV0bGVYTXVhbTlwYmloY0lpODZYQ0lwZldBN1hHNGdJQ0FnWTI5dWMzUWdZWEJwVUhKdmNHVnlkR2xsY3pvZ1JHVmpZV1pCY0dsUWNtOXdaWEowZVZ0ZElEMGdkVzVwY1hWbFMyVjVjeTV0WVhBb0tHdGxlU2tnUFQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2JtRnRaVG9nYTJWNUxGeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nVFdWMFlXUmhkR0V1WkdWelkzSnBjSFJwYjI0b1RXOWtaV3hEYkdGNmVpd2dhMlY1S1N4Y2JpQWdJQ0FnSUNBZ2NtVnhkV2x5WldRNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRk4wY21sdVp5eGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ2NHRjBhQ3hjYmlBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1TEZ4dUlDQWdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN5eGNiaUFnSUNBZ0lHZGxkRkJMT2lBb0xpNHVjR0Z5WVcxek9pQkJjbkpoZVR4emRISnBibWNnZkNCdWRXMWlaWEkrS1NBOVBseHVJQ0FnSUNBZ0lDQmpiMjF3YjNObFpEOHVjMlZ3WVhKaGRHOXlJRDhnY0dGeVlXMXpMbXB2YVc0b1kyOXRjRzl6WldRdWMyVndZWEpoZEc5eUtTQTZJSEJoY21GdGN5NXFiMmx1S0Z3aVhDSXBMRnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4wWVhScFl5QnliM1YwWlZCaGNtRnRSR1ZqYjNKaGRHOXljeWhjYmlBZ0lDQndZWFJvT2lCemRISnBibWRjYmlBZ0tUb2dRWEp5WVhrOGV5QmtaV052Y21GMGIzSTZJRkJoY21GdFpYUmxja1JsWTI5eVlYUnZjanNnYVc1a1pYZzZJRzUxYldKbGNpQjlQaUI3WEc0Z0lDQWdiR1YwSUhCaGNtRnRTVzVrWlhnZ1BTQXdPMXh1SUNBZ0lISmxkSFZ5YmlCd1lYUm9YRzRnSUNBZ0lDQXVjM0JzYVhRb1hDSXZYQ0lwWEc0Z0lDQWdJQ0F1Wm1sc2RHVnlLRUp2YjJ4bFlXNHBYRzRnSUNBZ0lDQXVabXhoZEUxaGNDZ29jMlZuYldWdWRDa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9jMlZuYldWdWRDNXpkR0Z5ZEhOWGFYUm9LRndpT2x3aUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0S0hObFoyMWxiblF1YzJ4cFkyVW9NU2twSUdGeklHRnVlU3dnYVc1a1pYZzZJSEJoY21GdFNXNWtaWGdyS3lCOVhUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb2MyVm5iV1Z1ZEM1emRHRnlkSE5YYVhSb0tGd2lLbHdpS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmJleUJrWldOdmNtRjBiM0k2SUZCaGNtRnRLSE5sWjIxbGJuUXVjMnhwWTJVb01Ta3BJR0Z6SUdGdWVTd2dhVzVrWlhnNklIQmhjbUZ0U1c1a1pYZ3JLeUI5WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxMDdYRzRnSUNBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJR1JsWm1sdVpVMWxkR2h2WkNoY2JpQWdJQ0IwWVhKblpYUTZJR0Z1ZVN4Y2JpQWdJQ0J0WlhSb2IyUk9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdhR0Z1Wkd4bGNqb2dLQzR1TG1GeVozTTZJR0Z1ZVZ0ZEtTQTlQaUJoYm5sY2JpQWdLVG9nVUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5SUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29YRzRnSUNBZ0lDQjBZWEpuWlhRdWNISnZkRzkwZVhCbElIeDhJSFJoY21kbGRDeGNiaUFnSUNBZ0lHMWxkR2h2WkU1aGJXVXNYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFpoYkhWbE9pQm9ZVzVrYkdWeUxGeHVJQ0FnSUNBZ0lDQjNjbWwwWVdKc1pUb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQjlYRzRnSUNBZ0tUdGNibHh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLRnh1SUNBZ0lDQWdkR0Z5WjJWMExuQnliM1J2ZEhsd1pTQjhmQ0IwWVhKblpYUXNYRzRnSUNBZ0lDQnRaWFJvYjJST1lXMWxYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklHRndjR3g1UkdWamIzSmhkRzl5Y3loY2JpQWdJQ0IwWVhKblpYUTZJR0Z1ZVN4Y2JpQWdJQ0J0WlhSb2IyUk9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdiV1YwYUc5a1JHVmpiM0poZEc5eWN6b2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpeGNiaUFnSUNCd1lYSmhiVVJsWTI5eVlYUnZjbk02SUVGeWNtRjVQSHNnWkdWamIzSmhkRzl5T2lCUVlYSmhiV1YwWlhKRVpXTnZjbUYwYjNJN0lHbHVaR1Y0T2lCdWRXMWlaWElnZlQ0Z1BTQmJYVnh1SUNBcElIdGNiaUFnSUNCamIyNXpkQ0J3Y205MGJ5QTlJSFJoY21kbGREOHVjSEp2ZEc5MGVYQmxJRDgvSUhSaGNtZGxkRHRjYmlBZ0lDQmpiMjV6ZENCa1pYTmpjbWx3ZEc5eUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lod2NtOTBieXdnYldWMGFHOWtUbUZ0WlNrN1hHNGdJQ0FnYldWMGFHOWtSR1ZqYjNKaGRHOXljeTVtYjNKRllXTm9LQ2hrS1NBOVBpQmtLSEJ5YjNSdkxDQnRaWFJvYjJST1lXMWxMQ0JrWlhOamNtbHdkRzl5S1NrN1hHNGdJQ0FnY0dGeVlXMUVaV052Y21GMGIzSnpMbVp2Y2tWaFkyZ29LSHNnWkdWamIzSmhkRzl5TENCcGJtUmxlQ0I5S1NBOVBseHVJQ0FnSUNBZ1pHVmpiM0poZEc5eUtIQnliM1J2TENCdFpYUm9iMlJPWVcxbExDQnBibVJsZUNsY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nYldGMFkyaFNiM1YwWlNoY2JpQWdJQ0J0WlhSb2IyUk9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdjbTkxZEdVNklGTmxjblpsY2xKdmRYUmxMRnh1SUNBZ0lIQnJVR0YwYURvZ2MzUnlhVzVuTEZ4dUlDQWdJR0Z3YVZCeWIzQmxjblJwWlhNNklFUmxZMkZtUVhCcFVISnZjR1Z5ZEhsYlhTeGNiaUFnSUNCblpYUlFTem9nS0M0dUxuQTZJRUZ5Y21GNVBITjBjbWx1WnlCOElHNTFiV0psY2o0cElEMCtJSE4wY21sdVp5eGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnY0dWeWMybHpkR1Z1WTJVL09pQmhibmxjYmlBZ0tUb2dlMXh1SUNBZ0lHMWxkR2h2WkU1aGJXVTZJSE4wY21sdVp6dGNiaUFnSUNCb1lXNWtiR1Z5T2lBb0xpNHVZWEpuY3pvZ1lXNTVXMTBwSUQwK0lHRnVlVHRjYmlBZ0lDQmtaV052Y21GMGIzSnpPaUJCY25KaGVUd29kR0Z5WjJWME9pQmhibmtzSUd0bGVUb2djM1J5YVc1bkxDQmtaWE5qT2lCaGJua3BJRDArSUhadmFXUStPMXh1SUNBZ0lIQmhjbUZ0UkdWamIzSmhkRzl5Y3pvZ1FYSnlZWGs4ZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0WlhSbGNrUmxZMjl5WVhSdmNqc2dhVzVrWlhnNklHNTFiV0psY2lCOVBqdGNiaUFnZlNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ1kyOXVjM1FnZXlCdFpYUm9iMlFzSUhCaGRHZ2dmU0E5SUhKdmRYUmxPMXh1SUNBZ0lHTnZibk4wSUc1dmNtMWhiR2w2WldSUVlYUm9JRDBnY0dGMGFDNXlaWEJzWVdObEtDOWVYRnd2SzN4Y1hDOHJKQzluTENCY0lsd2lLVHRjYmlBZ0lDQmpiMjV6ZENCb1lXNWtiR1Z5SUQwZ2NtOTFkR1V1YVcxd2JHVnRaVzUwWVhScGIyNGdZWE1nS0M0dUxtRnlaM002SUdGdWVWdGRLU0E5UGlCaGJuazdYRzVjYmlBZ0lDQnBaaUFvYldWMGFHOWtJRDA5UFNCY0lsQlBVMVJjSWlBbUppQnViM0p0WVd4cGVtVmtVR0YwYUNBOVBUMGdYQ0pjSWlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVkzSmxZWFJsVW1WbmFYTjBjbUYwYVc5dUtGeHVJQ0FnSUNBZ0lDQmNJbU55WldGMFpWd2lMRnh1SUNBZ0lDQWdJQ0JvWVc1a2JHVnlMRnh1SUNBZ0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaVU55WldGMFpVUmxZMjl5WVhSdmNuTW9UVzlrWld4RGIyNXpkSElzSUcxdlpHVnNRMnhoZW5wT1lXMWxLU3hjYmlBZ0lDQWdJQ0FnVzNzZ1pHVmpiM0poZEc5eU9pQkVaV05oWmtKdlpIa29LU0JoY3lCaGJua3NJR2x1WkdWNE9pQXdJSDBzSUhzZ1pHVmpiM0poZEc5eU9pQlNaWE53YjI1elpTaDdJSEJoYzNOMGFISnZkV2RvT2lCMGNuVmxJSDBwSUdGeklHRnVlU3dnYVc1a1pYZzZJREVnZlYxY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMWxkR2h2WkNBOVBUMGdYQ0pRVDFOVVhDSWdKaVlnYm05eWJXRnNhWHBsWkZCaGRHZ2dQVDA5SUZ3aVluVnNhMXdpS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1amNtVmhkR1ZTWldkcGMzUnlZWFJwYjI0b1hHNGdJQ0FnSUNBZ0lGd2lZM0psWVhSbFFXeHNYQ0lzWEc0Z0lDQWdJQ0FnSUdoaGJtUnNaWElzWEc0Z0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVluVnNhME55WldGMFpVUmxZMjl5WVhSdmNuTW9UVzlrWld4RGIyNXpkSElzSUcxdlpHVnNRMnhoZW5wT1lXMWxLU3hjYmlBZ0lDQWdJQ0FnVzNzZ1pHVmpiM0poZEc5eU9pQkVaV05oWmtKdlpIa29LU0JoY3lCaGJua3NJR2x1WkdWNE9pQXdJSDBzSUhzZ1pHVmpiM0poZEc5eU9pQlNaWE53YjI1elpTaDdJSEJoYzNOMGFISnZkV2RvT2lCMGNuVmxJSDBwSUdGeklHRnVlU3dnYVc1a1pYZzZJREVnZlYxY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMWxkR2h2WkNBOVBUMGdYQ0pIUlZSY0lpQW1KaUJ1YjNKdFlXeHBlbVZrVUdGMGFDQTlQVDBnWENKaWRXeHJYQ0lwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaVkpsWjJsemRISmhkR2x2YmloY2JpQWdJQ0FnSUNBZ1hDSnlaV0ZrUVd4c1hDSXNYRzRnSUNBZ0lDQWdJR2hoYm1Sc1pYSXNYRzRnSUNBZ0lDQWdJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WW5Wc2ExSmxZV1JFWldOdmNtRjBiM0p6S0UxdlpHVnNRMjl1YzNSeUxDQnRiMlJsYkVOc1lYcDZUbUZ0WlNrc1hHNGdJQ0FnSUNBZ0lGdDdJR1JsWTI5eVlYUnZjam9nVVhWbGNua29YQ0pwWkhOY0lpa2dZWE1nWVc1NUxDQnBibVJsZURvZ01DQjlYVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYldWMGFHOWtJRDA5UFNCY0lsQlZWRndpSUNZbUlHNXZjbTFoYkdsNlpXUlFZWFJvSUQwOVBTQmNJbUoxYkd0Y0lpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbFVtVm5hWE4wY21GMGFXOXVLRnh1SUNBZ0lDQWdJQ0JjSW5Wd1pHRjBaVUZzYkZ3aUxGeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeUxGeHVJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbUoxYkd0VmNHUmhkR1ZFWldOdmNtRjBiM0p6S0UxdlpHVnNRMjl1YzNSeUxDQnRiMlJsYkVOc1lYcDZUbUZ0WlN3Z1lYQnBVSEp2Y0dWeWRHbGxjeWtzWEc0Z0lDQWdJQ0FnSUZ0N0lHUmxZMjl5WVhSdmNqb2dSR1ZqWVdaQ2IyUjVLQ2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNQ0I5TENCN0lHUmxZMjl5WVhSdmNqb2dVbVZ6Y0c5dWMyVW9leUJ3WVhOemRHaHliM1ZuYURvZ2RISjFaU0I5S1NCaGN5QmhibmtzSUdsdVpHVjRPaUF4SUgxZFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpUkVWTVJWUkZYQ0lnSmlZZ2JtOXliV0ZzYVhwbFpGQmhkR2dnUFQwOUlGd2lZblZzYTF3aUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWpjbVZoZEdWU1pXZHBjM1J5WVhScGIyNG9YRzRnSUNBZ0lDQWdJRndpWkdWc1pYUmxRV3hzWENJc1hHNGdJQ0FnSUNBZ0lHaGhibVJzWlhJc1hHNGdJQ0FnSUNBZ0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZblZzYTBSbGJHVjBaVVJsWTI5eVlYUnZjbk1vVFc5a1pXeERiMjV6ZEhJc0lHMXZaR1ZzUTJ4aGVucE9ZVzFsTENCaGNHbFFjbTl3WlhKMGFXVnpLU3hjYmlBZ0lDQWdJQ0FnVzNzZ1pHVmpiM0poZEc5eU9pQlJkV1Z5ZVNoY0ltbGtjMXdpS1NCaGN5QmhibmtzSUdsdVpHVjRPaUF3SUgwc0lIc2daR1ZqYjNKaGRHOXlPaUJTWlhOd2IyNXpaU2g3SUhCaGMzTjBhSEp2ZFdkb09pQjBjblZsSUgwcElHRnpJR0Z1ZVN3Z2FXNWtaWGc2SURFZ2ZWMWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzFsZEdodlpDQTlQVDBnWENKSFJWUmNJaUFtSmlCdWIzSnRZV3hwZW1Wa1VHRjBhQ0E5UFQwZ2NHdFFZWFJvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1amNtVmhkR1ZTWldkcGMzUnlZWFJwYjI0b1hHNGdJQ0FnSUNBZ0lGd2ljbVZoWkZ3aUxGeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeUxGeHVJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbkpsWVdSRVpXTnZjbUYwYjNKektFMXZaR1ZzUTI5dWMzUnlMQ0J0YjJSbGJFTnNZWHA2VG1GdFpTd2dZWEJwVUhKdmNHVnlkR2xsY3l3Z2NHdFFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXliM1YwWlZCaGNtRnRSR1ZqYjNKaGRHOXljeWh1YjNKdFlXeHBlbVZrVUdGMGFDbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzFsZEdodlpDQTlQVDBnWENKUVZWUmNJaUFtSmlCdWIzSnRZV3hwZW1Wa1VHRjBhQ0E5UFQwZ2NHdFFZWFJvS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5YjNWMFpWQmhjbUZ0Y3lBOUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVjbTkxZEdWUVlYSmhiVVJsWTI5eVlYUnZjbk1vYm05eWJXRnNhWHBsWkZCaGRHZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbFVtVm5hWE4wY21GMGFXOXVLRnh1SUNBZ0lDQWdJQ0JjSW5Wd1pHRjBaVndpTEZ4dUlDQWdJQ0FnSUNCb1lXNWtiR1Z5TEZ4dUlDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuVndaR0YwWlVSbFkyOXlZWFJ2Y25Nb1RXOWtaV3hEYjI1emRISXNJRzF2WkdWc1EyeGhlbnBPWVcxbExDQmhjR2xRY205d1pYSjBhV1Z6TENCd2ExQmhkR2dwTEZ4dUlDQWdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDQWdleUJrWldOdmNtRjBiM0k2SUVSbFkyRm1RbTlrZVNncElHRnpJR0Z1ZVN3Z2FXNWtaWGc2SURBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0F1TGk1eWIzVjBaVkJoY21GdGN5NXRZWEFvS0hzZ1pHVmpiM0poZEc5eUxDQnBibVJsZUNCOUtTQTlQaUFvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaR1ZqYjNKaGRHOXlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaWGc2SUdsdVpHVjRJQ3NnTVN4Y2JpQWdJQ0FnSUNBZ0lDQjlLU2tzWEc0Z0lDQWdJQ0FnSUYxY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMWxkR2h2WkNBOVBUMGdYQ0pFUlV4RlZFVmNJaUFtSmlCdWIzSnRZV3hwZW1Wa1VHRjBhQ0E5UFQwZ2NHdFFZWFJvS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5YjNWMFpWQmhjbUZ0Y3lBOUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVjbTkxZEdWUVlYSmhiVVJsWTI5eVlYUnZjbk1vYm05eWJXRnNhWHBsWkZCaGRHZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbFVtVm5hWE4wY21GMGFXOXVLRnh1SUNBZ0lDQWdJQ0JjSW1SbGJHVjBaVndpTEZ4dUlDQWdJQ0FnSUNCb1lXNWtiR1Z5TEZ4dUlDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtUmxiR1YwWlVSbFkyOXlZWFJ2Y25Nb1RXOWtaV3hEYjI1emRISXNJRzF2WkdWc1EyeGhlbnBPWVcxbExDQmhjR2xRY205d1pYSjBhV1Z6TENCd2ExQmhkR2dwTEZ4dUlDQWdJQ0FnSUNCeWIzVjBaVkJoY21GdGMxeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkRiMjF3YjNObFpDQlFTeUJtWVd4c1ltRmpheUJ5YjNWMFpYTWdLR1pwYkhSbGNrVnRjSFI1S1NEaWdKUWdjR0YwYUNCa2FXWm1aWEp6SUdaeWIyMGdjR3RRWVhSb1hHNGdJQ0FnWTI5dWMzUWdabUZzYkdKaFkydFRaV2R0Wlc1MGN5QTlJRzV2Y20xaGJHbDZaV1JRWVhSb0xuTndiR2wwS0Z3aUwxd2lLUzVtYVd4MFpYSW9RbTl2YkdWaGJpazdYRzRnSUNBZ1kyOXVjM1FnYVhOQmJHeFFZWEpoYlhNZ1BTQm1ZV3hzWW1GamExTmxaMjFsYm5SekxteGxibWQwYUNBK0lEQWdKaVlnWm1Gc2JHSmhZMnRUWldkdFpXNTBjeTVsZG1WeWVTZ29jeWtnUFQ0Z2N5NXpkR0Z5ZEhOWGFYUm9LRndpT2x3aUtTazdYRzRnSUNBZ2FXWWdLR2x6UVd4c1VHRnlZVzF6SUNZbUlHNXZjbTFoYkdsNlpXUlFZWFJvSUNFOVBTQndhMUJoZEdncElIdGNiaUFnSUNBZ0lHTnZibk4wSUdaaGJHeGlZV05yUVhCcFVISnZjSE1nUFNCbVlXeHNZbUZqYTFObFoyMWxiblJ6TG0xaGNDZ29jeWtnUFQ0Z2N5NXpiR2xqWlNneEtTa3ViV0Z3S0NodVlXMWxLU0E5UGlBb2UxeHVJQ0FnSUNBZ0lDQnVZVzFsTEZ4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dZQ1I3Ym1GdFpYMGdjR0Z5WVcxbGRHVnlZQ3hjYmlBZ0lDQWdJQ0FnY21WeGRXbHlaV1E2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJSFI1Y0dVNklGTjBjbWx1Wnl4Y2JpQWdJQ0FnSUgwcEtUdGNiaUFnSUNBZ0lHTnZibk4wSUhOMVptWnBlQ0E5SUdaaGJHeGlZV05yVTJWbmJXVnVkSE11YldGd0tDaHpLU0E5UGlCekxuTnNhV05sS0RFcEtTNXFiMmx1S0Z3aVFXNWtYQ0lwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjbTkxZEdWUVlYSmhiWE1nUFNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuSnZkWFJsVUdGeVlXMUVaV052Y21GMGIzSnpLRzV2Y20xaGJHbDZaV1JRWVhSb0tUdGNiaUFnSUNBZ0lHbG1JQ2h0WlhSb2IyUWdQVDA5SUZ3aVIwVlVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVkzSmxZWFJsVW1WbmFYTjBjbUYwYVc5dUtGeHVJQ0FnSUNBZ0lDQWdJR0J5WldGa1Fua2tlM04xWm1acGVIMWdMRnh1SUNBZ0lDQWdJQ0FnSUdoaGJtUnNaWElzWEc0Z0lDQWdJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXlaV0ZrUkdWamIzSmhkRzl5Y3loTmIyUmxiRU52Ym5OMGNpd2diVzlrWld4RGJHRjZlazVoYldVc0lHWmhiR3hpWVdOclFYQnBVSEp2Y0hNc0lHNXZjbTFoYkdsNlpXUlFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ0lDQnliM1YwWlZCaGNtRnRjMXh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tHMWxkR2h2WkNBOVBUMGdYQ0pRVlZSY0lpa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqY21WaGRHVlNaV2RwYzNSeVlYUnBiMjRvWEc0Z0lDQWdJQ0FnSUNBZ1lIVndaR0YwWlVKNUpIdHpkV1ptYVhoOVlDeGNiaUFnSUNBZ0lDQWdJQ0JvWVc1a2JHVnlMRnh1SUNBZ0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdWRYQmtZWFJsUkdWamIzSmhkRzl5Y3loTmIyUmxiRU52Ym5OMGNpd2diVzlrWld4RGJHRjZlazVoYldVc0lHWmhiR3hpWVdOclFYQnBVSEp2Y0hNc0lHNXZjbTFoYkdsNlpXUlFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ0FnSUNCN0lHUmxZMjl5WVhSdmNqb2dSR1ZqWVdaQ2IyUjVLQ2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdMaTR1Y205MWRHVlFZWEpoYlhNdWJXRndLQ2g3SUdSbFkyOXlZWFJ2Y2l3Z2FXNWtaWGdnZlNrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZqYjNKaGRHOXlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsZURvZ2FXNWtaWGdnS3lBeExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNrcExGeHVJQ0FnSUNBZ0lDQWdJRjFjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpUkVWTVJWUkZYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVkzSmxZWFJsVW1WbmFYTjBjbUYwYVc5dUtGeHVJQ0FnSUNBZ0lDQWdJR0JrWld4bGRHVkNlU1I3YzNWbVptbDRmV0FzWEc0Z0lDQWdJQ0FnSUNBZ2FHRnVaR3hsY2l4Y2JpQWdJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbVJsYkdWMFpVUmxZMjl5WVhSdmNuTW9UVzlrWld4RGIyNXpkSElzSUcxdlpHVnNRMnhoZW5wT1lXMWxMQ0JtWVd4c1ltRmphMEZ3YVZCeWIzQnpMQ0J1YjNKdFlXeHBlbVZrVUdGMGFDa3NYRzRnSUNBZ0lDQWdJQ0FnY205MWRHVlFZWEpoYlhOY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iV1YwYUc5a0lEMDlQU0JjSWtkRlZGd2lJQ1ltSUc1dmNtMWhiR2w2WldSUVlYUm9JRDA5UFNCY0luTjBZWFJsYldWdWRDODZiV1YwYUc5a0x5cGhjbWR6WENJcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtTnlaV0YwWlZKbFoybHpkSEpoZEdsdmJpaGNiaUFnSUNBZ0lDQWdYQ0p6ZEdGMFpXMWxiblJjSWl4Y2JpQWdJQ0FnSUNBZ2FHRnVaR3hsY2l4Y2JpQWdJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXpkR0YwWlcxbGJuUkVaV052Y21GMGIzSnpLRTF2WkdWc1EyOXVjM1J5TENCdGIyUmxiRU5zWVhwNlRtRnRaU2tzWEc0Z0lDQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0lDQjdJR1JsWTI5eVlYUnZjam9nVUdGeVlXMG9YQ0p0WlhSb2IyUmNJaWtnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lIc2daR1ZqYjNKaGRHOXlPaUJRWVhKaGJTaGNJbUZ5WjNOY0lpa2dZWE1nWVc1NUxDQnBibVJsZURvZ01TQjlMRnh1SUNBZ0lDQWdJQ0FnSUhzZ1pHVmpiM0poZEc5eU9pQkVaV05oWmxGMVpYSjVLQ2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNaUI5TEZ4dUlDQWdJQ0FnSUNCZFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpUjBWVVhDSWdKaVlnYm05eWJXRnNhWHBsWkZCaGRHZ2dQVDA5SUZ3aVptbHVaRTl1WlVKNUx6cHJaWGt2T25aaGJIVmxYQ0lwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaVkpsWjJsemRISmhkR2x2YmloY2JpQWdJQ0FnSUNBZ1hDSm1hVzVrVDI1bFFubGNJaXhjYmlBZ0lDQWdJQ0FnYUdGdVpHeGxjaXhjYmlBZ0lDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1emRHRjBaVzFsYm5SVGFHOXlkR04xZEVSbFkyOXlZWFJ2Y25Nb1hHNGdJQ0FnSUNBZ0lDQWdUVzlrWld4RGIyNXpkSElzWEc0Z0lDQWdJQ0FnSUNBZ2JXOWtaV3hEYkdGNmVrNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ2JtOXliV0ZzYVhwbFpGQmhkR2dzWEc0Z0lDQWdJQ0FnSUNBZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtSZlQwNUZYMEpaWEc0Z0lDQWdJQ0FnSUNrc1hHNGdJQ0FnSUNBZ0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVjM1JoZEdWdFpXNTBVMmh2Y25SamRYUlFZWEpoYlhNb2JtOXliV0ZzYVhwbFpGQmhkR2dwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITjBZWFJsYldWdWRGSnZkWFJsY3pvZ1VtVmpiM0prUEhOMGNtbHVaeXdnYzNSeWFXNW5QaUE5SUh0Y2JpQWdJQ0FnSUZ3aWJHbHpkRUo1THpwclpYbGNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxreEpVMVJmUWxrc1hHNGdJQ0FnSUNCY0luQmhaMmx1WVhSbFFua3ZPbXRsZVM4NmNHRm5aVndpT2lCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVVRUZIUlY5Q1dTeGNiaUFnSUNBZ0lGd2labWx1WkM4NmRtRnNkV1ZjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtRc1hHNGdJQ0FnSUNCY0luQmhaMlV2T25aaGJIVmxYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NVFRVWRGTEZ4dUlDQWdJQ0FnWENKbWFXNWtUMjVsUW5rdk9tdGxlUzg2ZG1Gc2RXVmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrWkpUa1JmVDA1RlgwSlpMRnh1SUNBZ0lDQWdYQ0ptYVc1a1Fua3ZPbXRsZVM4NmRtRnNkV1ZjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtSZlFsa3NYRzRnSUNBZ0lDQmNJbU52ZFc1MFQyWXZPbVpwWld4a1hDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1RFQxVk9WRjlQUml4Y2JpQWdJQ0FnSUZ3aWJXRjRUMll2T21acFpXeGtYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NU5RVmhmVDBZc1hHNGdJQ0FnSUNCY0ltMXBiazltTHpwbWFXVnNaRndpT2lCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVUVWxPWDA5R0xGeHVJQ0FnSUNBZ1hDSmhkbWRQWmk4NlptbGxiR1JjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa0ZXUjE5UFJpeGNiaUFnSUNBZ0lGd2ljM1Z0VDJZdk9tWnBaV3hrWENJNklGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVUVlUxZlQwWXNYRzRnSUNBZ0lDQmNJbVJwYzNScGJtTjBUMll2T21acFpXeGtYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NUVTVk5VU1U1RFZGOVBSaXhjYmlBZ0lDQWdJRndpWjNKdmRYQlBaaTg2Wm1sbGJHUmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrZFNUMVZRWDA5R0xGeHVJQ0FnSUgwN1hHNWNiaUFnSUNCamIyNXpkQ0J6ZEdGMFpXMWxiblJMWlhrZ1BTQnpkR0YwWlcxbGJuUlNiM1YwWlhOYmJtOXliV0ZzYVhwbFpGQmhkR2hkTzF4dUlDQWdJR2xtSUNoemRHRjBaVzFsYm5STFpYa2dKaVlnYldWMGFHOWtJRDA5UFNCY0lrZEZWRndpS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1amNtVmhkR1ZTWldkcGMzUnlZWFJwYjI0b1hHNGdJQ0FnSUNBZ0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVjM1JoZEdWdFpXNTBUV1YwYUc5a1RtRnRaU2h1YjNKdFlXeHBlbVZrVUdGMGFDa3NYRzRnSUNBZ0lDQWdJR2hoYm1Sc1pYSXNYRzRnSUNBZ0lDQWdJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1YzNSaGRHVnRaVzUwVTJodmNuUmpkWFJFWldOdmNtRjBiM0p6S0UxdlpHVnNRMjl1YzNSeUxDQnRiMlJsYkVOc1lYcDZUbUZ0WlN3Z2JtOXliV0ZzYVhwbFpGQmhkR2dzSUhOMFlYUmxiV1Z1ZEV0bGVTa3NYRzRnSUNBZ0lDQWdJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1YzNSaGRHVnRaVzUwVTJodmNuUmpkWFJRWVhKaGJYTW9ibTl5YldGc2FYcGxaRkJoZEdncFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpUjBWVVhDSWdKaVlnYm05eWJXRnNhWHBsWkZCaGRHZ3VjM1JoY25SelYybDBhQ2hjSW5GMVpYSjVMMXdpS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY1hWbGNubE5aWFJvYjJRZ1BTQnViM0p0WVd4cGVtVmtVR0YwYUM1eVpYQnNZV05sS0M5ZWNYVmxjbmxjWEM4dkxDQmNJbHdpS1M1emNHeHBkQ2hjSWk5Y0lpbGJNRjA3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqY21WaGRHVlNaV2RwYzNSeVlYUnBiMjRvWEc0Z0lDQWdJQ0FnSUhGMVpYSjVUV1YwYUc5a0xGeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeUxGeHVJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbWRsZEZGMVpYSjVSR1ZqYjNKaGRHOXljeWh4ZFdWeWVVMWxkR2h2WkN3Z2JtOXliV0ZzYVhwbFpGQmhkR2dzSUZ3aVIwVlVYQ0lzSUhSeWRXVXBMRnh1SUNBZ0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OdmJYQnNaWGhSZFdWeWVWQmhjbUZ0Y3lodWIzSnRZV3hwZW1Wa1VHRjBhQ2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2NHRjBhRk5sWjIxbGJuUnpJRDBnYm05eWJXRnNhWHBsWkZCaGRHZ3VjM0JzYVhRb1hDSXZYQ0lwTG1acGJIUmxjaWhDYjI5c1pXRnVLVHRjYmlBZ0lDQmpiMjV6ZENCcmJtOTNibEJ5WldacGVHVnpJRDBnYm1WM0lGTmxkRHh6ZEhKcGJtYytLRnRjYmlBZ0lDQWdJRndpYkdsemRFSjVYQ0lzSUZ3aVptbHVaRUo1WENJc0lGd2labWx1WkVKNVVHRm5hVzVoZEdWY0lpd2dYQ0ptYVc1a1QyNWxRbmxjSWl3Z1hDSndZV2RwYm1GMFpVSjVYQ0lzWEc0Z0lDQWdJQ0JjSW1acGJtUmNJaXdnWENKd1lXZGxYQ0lzSUZ3aVkyOTFiblJQWmx3aUxDQmNJbTFoZUU5bVhDSXNJRndpYldsdVQyWmNJaXdnWENKaGRtZFBabHdpTENCY0luTjFiVTltWENJc1hHNGdJQ0FnSUNCY0ltUnBjM1JwYm1OMFQyWmNJaXdnWENKbmNtOTFjRTltWENJc0lGd2ljM1JoZEdWdFpXNTBYQ0lzSUZ3aVluVnNhMXdpTENCY0luRjFaWEo1WENJc1hHNGdJQ0FnWFNrN1hHNGdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ2NHRjBhRk5sWjIxbGJuUnpMbXhsYm1kMGFDQStJREFnSmlaY2JpQWdJQ0FnSUNGdWIzSnRZV3hwZW1Wa1VHRjBhQzV6ZEdGeWRITlhhWFJvS0Z3aWNYVmxjbmt2WENJcElDWW1YRzRnSUNBZ0lDQWhibTl5YldGc2FYcGxaRkJoZEdndWMzUmhjblJ6VjJsMGFDaGNJbk4wWVhSbGJXVnVkQzljSWlrZ0ppWmNiaUFnSUNBZ0lDRnJibTkzYmxCeVpXWnBlR1Z6TG1oaGN5aHdZWFJvVTJWbmJXVnVkSE5iTUYwcFhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JoY0dsUVlYUm9VR0Z5WVcxeklEMGdjR0YwYUZObFoyMWxiblJ6WEc0Z0lDQWdJQ0FnSUM1bWFXeDBaWElvS0hNcElEMCtJSE11YzNSaGNuUnpWMmwwYUNoY0lqcGNJaWtwWEc0Z0lDQWdJQ0FnSUM1dFlYQW9LSE1wSUQwK0lITXVjMnhwWTJVb01Ta3BYRzRnSUNBZ0lDQWdJQzV0WVhBb0tHNWhiV1VwSUQwK0lDaDdYRzRnSUNBZ0lDQWdJQ0FnYm1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1lDUjdibUZ0WlgwZ2NHRnlZVzFsZEdWeUlHWnZjaUIwYUdVZ2NYVmxjbmxnTEZ4dUlDQWdJQ0FnSUNBZ0lISmxjWFZwY21Wa09pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZOMGNtbHVaeXhjYmlBZ0lDQWdJQ0FnZlNrcE8xeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWpjbVZoZEdWU1pXZHBjM1J5WVhScGIyNG9YRzRnSUNBZ0lDQWdJRzFsZEdodlpFNWhiV1VzWEc0Z0lDQWdJQ0FnSUdoaGJtUnNaWElzWEc0Z0lDQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0lDQXVMaTVoY0dsUVlYUm9VR0Z5WVcxekxtMWhjQ2dvY0NrZ1BUNGdRWEJwVUdGeVlXMG9jQ2twTEZ4dUlDQWdJQ0FnSUNBZ0lFRndhVTl3WlhKaGRHbHZiaWg3SUhOMWJXMWhjbms2SUdCU1pYUnlhV1YyWlNCeVpXTnZjbVJ6SUhWemFXNW5JRndpSkh0dFpYUm9iMlJPWVcxbGZWd2lMbUFnZlNrc1hHNGdJQ0FnSUNBZ0lDQWdRWEJwVDJ0U1pYTndiMjV6WlNoN0lHUmxjMk55YVhCMGFXOXVPaUJjSWxKbGMzVnNkQ0J6ZFdOalpYTnpablZzYkhrZ2NtVjBjbWxsZG1Wa0xsd2lJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lFRndhVTV2UTI5dWRHVnVkRkpsYzNCdmJuTmxLSHNnWkdWelkzSnBjSFJwYjI0NklGd2lUbThnWTI5dWRHVnVkQ0J5WlhSMWNtNWxaQ0JpZVNCMGFHVWdiV1YwYUc5a0xsd2lJSDBwTEZ4dUlDQWdJQ0FnSUNCZExGeHVJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbkp2ZFhSbFVHRnlZVzFFWldOdmNtRjBiM0p6S0c1dmNtMWhiR2w2WldSUVlYUm9LVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ1kzSmxZWFJsVW1WbmFYTjBjbUYwYVc5dUtGeHVJQ0FnSUcxbGRHaHZaRTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0JvWVc1a2JHVnlPaUFvTGk0dVlYSm5jem9nWVc1NVcxMHBJRDArSUdGdWVTeGNiaUFnSUNCa1pXTnZjbUYwYjNKek9pQkJjbkpoZVR3b2RHRnlaMlYwT2lCaGJua3NJR3RsZVRvZ2MzUnlhVzVuTENCa1pYTmpPaUJoYm5rcElEMCtJSFp2YVdRK0xGeHVJQ0FnSUhCaGNtRnRSR1ZqYjNKaGRHOXljem9nUVhKeVlYazhleUJrWldOdmNtRjBiM0k2SUZCaGNtRnRaWFJsY2tSbFkyOXlZWFJ2Y2pzZ2FXNWtaWGc2SUc1MWJXSmxjaUI5UGx4dUlDQXBJSHRjYmlBZ0lDQnlaWFIxY200Z2V5QnRaWFJvYjJST1lXMWxMQ0JvWVc1a2JHVnlMQ0JrWldOdmNtRjBiM0p6TENCd1lYSmhiVVJsWTI5eVlYUnZjbk1nZlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUhOMFlYUmxiV1Z1ZEUxbGRHaHZaRTVoYldVb2NHRjBhRG9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQmpiMjV6ZENCbWFYSnpkRk5sWjIxbGJuUWdQU0J3WVhSb0xuTndiR2wwS0Z3aUwxd2lLVnN3WFR0Y2JpQWdJQ0J5WlhSMWNtNGdabWx5YzNSVFpXZHRaVzUwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nYzNSaGRHVnRaVzUwVTJodmNuUmpkWFJRWVhKaGJYTW9YRzRnSUNBZ2NHRjBhRG9nYzNSeWFXNW5YRzRnSUNrNklFRnljbUY1UEhzZ1pHVmpiM0poZEc5eU9pQlFZWEpoYldWMFpYSkVaV052Y21GMGIzSTdJR2x1WkdWNE9pQnVkVzFpWlhJZ2ZUNGdlMXh1SUNBZ0lHTnZibk4wSUhObFoyMWxiblJ6SUQwZ2NHRjBhQzV6Y0d4cGRDaGNJaTljSWlrdVptbHNkR1Z5S0NoektTQTlQaUJ6TG5OMFlYSjBjMWRwZEdnb1hDSTZYQ0lwS1R0Y2JpQWdJQ0JqYjI1emRDQndZWEpoYlhNNklFRnljbUY1UEhzZ1pHVmpiM0poZEc5eU9pQlFZWEpoYldWMFpYSkVaV052Y21GMGIzSTdJR2x1WkdWNE9pQnVkVzFpWlhJZ2ZUNGdQU0JiWFR0Y2JpQWdJQ0J6WldkdFpXNTBjeTVtYjNKRllXTm9LQ2h6Wldjc0lHa3BJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQnpaV2N1Y21Wd2JHRmpaU2hjSWpwY0lpd2dYQ0pjSWlrN1hHNGdJQ0FnSUNCd1lYSmhiWE11Y0hWemFDaDdJR1JsWTI5eVlYUnZjam9nVUdGeVlXMG9ibUZ0WlNrZ1lYTWdZVzU1TENCcGJtUmxlRG9nYVNCOUtUdGNiaUFnSUNCOUtUdGNiaUFnSUNCcFppQW9YRzRnSUNBZ0lDQndZWFJvTG5OMFlYSjBjMWRwZEdnb1hDSnNhWE4wUW5rdlhDSXBJSHg4WEc0Z0lDQWdJQ0J3WVhSb0xuTjBZWEowYzFkcGRHZ29YQ0p3WVdkcGJtRjBaVUo1TDF3aUtTQjhmRnh1SUNBZ0lDQWdjR0YwYUM1emRHRnlkSE5YYVhSb0tGd2labWx1WkM5Y0lpa2dmSHhjYmlBZ0lDQWdJSEJoZEdndWMzUmhjblJ6VjJsMGFDaGNJbkJoWjJVdlhDSXBYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQndZWEpoYlhNdWNIVnphQ2g3SUdSbFkyOXlZWFJ2Y2pvZ1JHVmpZV1pSZFdWeWVTZ3BJR0Z6SUdGdWVTd2dhVzVrWlhnNklITmxaMjFsYm5SekxteGxibWQwYUNCOUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEJoY21GdGN6dGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklHTnZiWEJzWlhoUmRXVnllVkJoY21GdGN5aGNiaUFnSUNCd1lYUm9PaUJ6ZEhKcGJtZGNiaUFnS1RvZ1FYSnlZWGs4ZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0WlhSbGNrUmxZMjl5WVhSdmNqc2dhVzVrWlhnNklHNTFiV0psY2lCOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYzJWbmJXVnVkSE1nUFNCd1lYUm9Mbk53YkdsMEtGd2lMMXdpS1M1bWFXeDBaWElvS0hNcElEMCtJSE11YzNSaGNuUnpWMmwwYUNoY0lqcGNJaWtwTzF4dUlDQWdJR052Ym5OMElIQmhjbUZ0Y3pvZ1FYSnlZWGs4ZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0WlhSbGNrUmxZMjl5WVhSdmNqc2dhVzVrWlhnNklHNTFiV0psY2lCOVBpQTlJRnRkTzF4dUlDQWdJSE5sWjIxbGJuUnpMbVp2Y2tWaFkyZ29LSE5sWnl3Z2FTa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdibUZ0WlNBOUlITmxaeTV5WlhCc1lXTmxLRndpT2x3aUxDQmNJbHdpS1R0Y2JpQWdJQ0FnSUhCaGNtRnRjeTV3ZFhOb0tIc2daR1ZqYjNKaGRHOXlPaUJRWVhKaGJTaHVZVzFsS1NCaGN5QmhibmtzSUdsdVpHVjRPaUJwSUgwcE8xeHVJQ0FnSUgwcE8xeHVJQ0FnSUdsbUlDaHdZWFJvTG5OMFlYSjBjMWRwZEdnb1hDSnhkV1Z5ZVM5Y0lpa3BJSHRjYmlBZ0lDQWdJSEJoY21GdGN5NXdkWE5vS0hzZ1pHVmpiM0poZEc5eU9pQkVaV05oWmxGMVpYSjVLQ2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2djMlZuYldWdWRITXViR1Z1WjNSb0lIMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0dGeVlXMXpPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdZM0psWVhSbFEzSmxZWFJsU0dGdVpHeGxjaWhjYmlBZ0lDQk5iMlJsYkVOdmJuTjBjam9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK0xGeHVJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxPaUJ6ZEhKcGJtZGNiaUFnS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0Z6ZVc1aklHWjFibU4wYVc5dUlHTnlaV0YwWlNoY2JpQWdJQ0FnSUhSb2FYTTZJR0Z1ZVN4Y2JpQWdJQ0FnSUdSaGRHRTZJR0Z1ZVN4Y2JpQWdJQ0FnSUhKbGMzQS9PaUJoYm5sY2JpQWdJQ0FwT2lCUWNtOXRhWE5sUEUxdlpHVnNQR0Z1ZVQ0K0lIdGNiaUFnSUNBZ0lHTnZibk4wSUhzZ1kzUjRMQ0JzYjJjZ2ZTQTlJQ2hjYmlBZ0lDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvVzEwc0lFOXdaWEpoZEdsdmJrdGxlWE11UTFKRlFWUkZMQ0IwY25WbEtWeHVJQ0FnSUNBZ0tTNW1iM0lvWTNKbFlYUmxLVHRjYmlBZ0lDQWdJR3h2Wnk1MlpYSmliM05sS0dCamNtVmhkR2x1WnlCdVpYY2dKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMWdLVHRjYmlBZ0lDQWdJR3hsZENCamNtVmhkR1ZrT2lCTmIyUmxiRHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHTnlaV0YwWldRZ1BTQmhkMkZwZENCMGFHbHpMbkJsY25OcGMzUmxibU5sS0dOMGVDa3VZM0psWVhSbEtHUmhkR0VzSUdOMGVDazdYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0FnSUd4dlp5NWxjbkp2Y2loZ1JtRnBiR1ZrSUhSdklHTnlaV0YwWlNCdVpYY2dKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMWdMQ0JsSUdGeklFVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1MGIwUmxZMkZtUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWlN4Y2JpQWdJQ0FnSUNBZ0lDQmdSbUZwYkdWa0lIUnZJR055WldGMFpTQnVaWGNnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1kzSmxZWFJsWkNCdVpYY2dKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdkMmwwYUNCcFpDQWtleWhqY21WaGRHVmtJR0Z6SUdGdWVTbGJkR2hwY3k1d2ExMTlZQ2s3WEc0Z0lDQWdJQ0JwWmlBb2NtVnpjQ2tnWTNSNExuUnZVbVZ6Y0c5dWMyVW9jbVZ6Y0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxaRHRjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdZM0psWVhSbFFuVnNhME55WldGMFpVaGhibVJzWlhJb1hHNGdJQ0FnVFc5a1pXeERiMjV6ZEhJNklFMXZaR1ZzUTI5dWMzUnlkV04wYjNJOFlXNTVQaXhjYmlBZ0lDQnRiMlJsYkVOc1lYcDZUbUZ0WlRvZ2MzUnlhVzVuWEc0Z0lDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCaGMzbHVZeUJtZFc1amRHbHZiaUJqY21WaGRHVkJiR3dvWEc0Z0lDQWdJQ0IwYUdsek9pQmhibmtzWEc0Z0lDQWdJQ0JrWVhSaE9pQmhibmxiWFN4Y2JpQWdJQ0FnSUhKbGMzQS9PaUJoYm5sY2JpQWdJQ0FwT2lCUWNtOXRhWE5sUEUxdlpHVnNXMTArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSHNnWTNSNExDQnNiMmNnZlNBOUlDaGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29XMTBzSUVKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5NURVa1ZCVkVWZlFVeE1MQ0IwY25WbEtWeHVJQ0FnSUNBZ0tTNW1iM0lvWTNKbFlYUmxRV3hzS1R0Y2JpQWdJQ0FnSUd4dlp5NTJaWEppYjNObEtHQmpjbVZoZEdsdVp5QnVaWGNnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDFnS1R0Y2JpQWdJQ0FnSUd4bGRDQmpjbVZoZEdWa09pQmhibmxiWFR0Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJR055WldGMFpXUWdQU0JoZDJGcGRDQjBhR2x6TG5CbGNuTnBjM1JsYm1ObEtHTjBlQ2t1WTNKbFlYUmxRV3hzS0Z4dUlDQWdJQ0FnSUNBZ0lHUmhkR0V1YldGd0tDaGtLU0E5UGlCdVpYY2dUVzlrWld4RGIyNXpkSElvWkNrcExGeHVJQ0FnSUNBZ0lDQWdJR04wZUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdJQ0JzYjJjdVpYSnliM0lvWUVaaGFXeGxaQ0IwYnlCamNtVmhkR1VnYm1WM0lDUjdiVzlrWld4RGJHRjZlazVoYldWOVlDd2daU0JoY3lCRmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1ZEc5RVpXTmhaa1Z5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJR1VzWEc0Z0lDQWdJQ0FnSUNBZ1lFWmhhV3hsWkNCMGJ5QmpjbVZoZEdVZ2JtVjNJQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlZRnh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYkc5bkxtbHVabThvWUdOeVpXRjBaV1FnYm1WM0lDUjdiVzlrWld4RGJHRjZlazVoYldWOUlIZHBkR2dnYVdRZ0pIc29ZM0psWVhSbFpDQmhjeUJoYm5rcFczUm9hWE11Y0d0ZGZXQXBPMXh1SUNBZ0lDQWdhV1lnS0hKbGMzQXBJR04wZUM1MGIxSmxjM0J2Ym5ObEtISmxjM0FwTzF4dUlDQWdJQ0FnY21WMGRYSnVJR055WldGMFpXUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklHTnlaV0YwWlVKMWJHdFNaV0ZrU0dGdVpHeGxjaWh0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1bktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdGemVXNWpJR1oxYm1OMGFXOXVJSEpsWVdSQmJHd29YRzRnSUNBZ0lDQjBhR2x6T2lCaGJua3NYRzRnSUNBZ0lDQnBaSE02SUhOMGNtbHVaMXRkWEc0Z0lDQWdLVG9nVUhKdmJXbHpaVHhOYjJSbGJGdGRQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJR04wZUN3Z2JHOW5JSDBnUFNBb1hHNGdJQ0FnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGRMQ0JDZFd4clEzSjFaRTl3WlhKaGRHbHZia3RsZVhNdVVrVkJSRjlCVEV3c0lIUnlkV1VwWEc0Z0lDQWdJQ0FwTG1admNpaHlaV0ZrUVd4c0tUdGNiaUFnSUNBZ0lHTnZibk4wSUc1dmNtMWhiR2w2WldSSlpITWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHbGtjeWtnUHlCcFpITWdPaUJiYVdSelhUdGNiaUFnSUNBZ0lHeGxkQ0J5WldGa09pQk5iMlJsYkZ0ZE8xeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYkc5bkxtUmxZblZuS0dCeVpXRmthVzVuSUNSN2JtOXliV0ZzYVhwbFpFbGtjMzBnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDFnS1R0Y2JpQWdJQ0FnSUNBZ2NtVmhaQ0E5SUdGM1lXbDBJSFJvYVhNdWNHVnljMmx6ZEdWdVkyVW9ZM1I0S1M1eVpXRmtRV3hzS0c1dmNtMWhiR2w2WldSSlpITWdZWE1nWVc1NUxDQmpkSGdwTzF4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ0lDQnNiMmN1WlhKeWIzSW9ZRVpoYVd4bFpDQjBieUJ5WldGa0lDUjdiVzlrWld4RGJHRjZlazVoYldWOVlDd2daU0JoY3lCRmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1ZEc5RVpXTmhaa1Z5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJR1VzWEc0Z0lDQWdJQ0FnSUNBZ1lFWmhhV3hsWkNCMGJ5QnlaV0ZrSUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5WUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lISmxZV1FnSkh0eVpXRmtMbXhsYm1kMGFIMGdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJqY21WaGRHVkNkV3hyVlhCa1lYUmxTR0Z1Wkd4bGNpaHRiMlJsYkVOc1lYcDZUbUZ0WlRvZ2MzUnlhVzVuS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0Z6ZVc1aklHWjFibU4wYVc5dUlIVndaR0YwWlVGc2JDaGNiaUFnSUNBZ0lIUm9hWE02SUdGdWVTeGNiaUFnSUNBZ0lHSnZaSGs2SUdGdWVWdGRMRnh1SUNBZ0lDQWdjbVZ6Y0Q4NklHRnVlVnh1SUNBZ0lDazZJRkJ5YjIxcGMyVThZVzU1VzEwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUhzZ1kzUjRMQ0JzYjJjZ2ZTQTlJQ2hjYmlBZ0lDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvVzEwc0lFSjFiR3REY25Wa1QzQmxjbUYwYVc5dVMyVjVjeTVWVUVSQlZFVmZRVXhNTENCMGNuVmxLVnh1SUNBZ0lDQWdLUzVtYjNJb2RYQmtZWFJsUVd4c0tUdGNiaUFnSUNBZ0lHeGxkQ0IxY0dSaGRHVmtPaUJoYm5sYlhUdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUd4dlp5NXBibVp2S0dCMWNHUmhkR2x1WnlBa2UySnZaSGt1YkdWdVozUm9mU0FrZTIxdlpHVnNRMnhoZW5wT1lXMWxmV0FwTzF4dUlDQWdJQ0FnSUNCMWNHUmhkR1ZrSUQwZ1lYZGhhWFFnZEdocGN5NXdaWEp6YVhOMFpXNWpaU2hqZEhncExuVndaR0YwWlVGc2JDaGliMlI1TENCamRIZ3BPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aVG9nZFc1cmJtOTNiaWtnZTF4dUlDQWdJQ0FnSUNCc2IyY3VaWEp5YjNJb1pTQmhjeUJGY25KdmNpazdYRzRnSUNBZ0lDQWdJSFJvY205M0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVkRzlFWldOaFprVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHVXNYRzRnSUNBZ0lDQWdJQ0FnWUVaaGFXeGxaQ0IwYnlCMWNHUmhkR1VnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jbVZ6Y0NrZ1kzUjRMblJ2VW1WemNHOXVjMlVvY21WemNDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsWkR0Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nWTNKbFlYUmxRblZzYTBSbGJHVjBaVWhoYm1Sc1pYSW9iVzlrWld4RGJHRjZlazVoYldVNklITjBjbWx1WnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJoYzNsdVl5Qm1kVzVqZEdsdmJpQmtaV3hsZEdWQmJHd29YRzRnSUNBZ0lDQjBhR2x6T2lCaGJua3NYRzRnSUNBZ0lDQnBaSE02SUhOMGNtbHVaMXRkTEZ4dUlDQWdJQ0FnY21WemNEODZJR0Z1ZVZ4dUlDQWdJQ2s2SUZCeWIyMXBjMlU4VFc5a1pXeGJYVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdleUJqZEhnc0lHeHZaeUI5SUQwZ0tGeHVJQ0FnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGJYU3dnUW5Wc2EwTnlkV1JQY0dWeVlYUnBiMjVMWlhsekxrUkZURVZVUlY5QlRFd3NJSFJ5ZFdVcFhHNGdJQ0FnSUNBcExtWnZjaWhrWld4bGRHVkJiR3dwTzF4dUlDQWdJQ0FnWTI5dWMzUWdibTl5YldGc2FYcGxaRWxrY3lBOUlFRnljbUY1TG1selFYSnlZWGtvYVdSektTQS9JR2xrY3lBNklGdHBaSE5kTzF4dUlDQWdJQ0FnYkdWMElISmxZV1E2SUUxdlpHVnNXMTA3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnNiMmN1WkdWaWRXY29ZR1JsYkdWMGFXNW5JQ1I3Ym05eWJXRnNhWHBsWkVsa2N5NXNaVzVuZEdoOUlDUjdiVzlrWld4RGJHRjZlazVoYldWOVlDazdYRzRnSUNBZ0lDQWdJSEpsWVdRZ1BTQmhkMkZwZENCMGFHbHpMbkJsY25OcGMzUmxibU5sS0dOMGVDa3VaR1ZzWlhSbFFXeHNLRzV2Y20xaGJHbDZaV1JKWkhNc0lHTjBlQ2s3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNBZ0lHeHZaeTVsY25KdmNpaGdSbUZwYkdWa0lIUnZJR1JsYkdWMFpTQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZXQXNJR1VnWVhNZ1JYSnliM0lwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG5SdlJHVmpZV1pGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JsTEZ4dUlDQWdJQ0FnSUNBZ0lHQkdZV2xzWldRZ2RHOGdaR1ZzWlhSbElDUjdiVzlrWld4RGJHRjZlazVoYldWOVlGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiRzluTG1sdVptOG9ZR1JsYkdWMFpXUWdKSHR5WldGa0xteGxibWQwYUgwZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgxZ0tUdGNiaUFnSUNBZ0lHbG1JQ2h5WlhOd0tTQmpkSGd1ZEc5U1pYTndiMjV6WlNoeVpYTndLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJqY21WaGRHVlNaV0ZrU0dGdVpHeGxjaWhjYmlBZ0lDQm5aWFJRU3pvZ0tDNHVMbkE2SUVGeWNtRjVQSE4wY21sdVp5QjhJRzUxYldKbGNqNHBJRDArSUhOMGNtbHVaeXhjYmlBZ0lDQnRiMlJsYkVOc1lYcDZUbUZ0WlRvZ2MzUnlhVzVuWEc0Z0lDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCaGMzbHVZeUJtZFc1amRHbHZiaUJ5WldGa0tGeHVJQ0FnSUNBZ2RHaHBjem9nWVc1NUxGeHVJQ0FnSUNBZ2NtOTFkR1ZRWVhKaGJYTTZJR0Z1ZVZ4dUlDQWdJQ2s2SUZCeWIyMXBjMlU4VFc5a1pXdytJSHRjYmlBZ0lDQWdJR052Ym5OMElIc2dZM1I0TENCc2IyY2dmU0E5SUNoY2JpQWdJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1cxMHNJRTl3WlhKaGRHbHZia3RsZVhNdVVrVkJSQ3dnZEhKMVpTbGNiaUFnSUNBZ0lDa3VabTl5S0hKbFlXUXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FXUWdQU0JuWlhSUVN5Z3VMaTV5YjNWMFpWQmhjbUZ0Y3k1MllXeDFaWE5KYms5eVpHVnlLVHRjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVdRZ1BUMDlJRndpZFc1a1pXWnBibVZrWENJcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QldZV3hwWkdGMGFXOXVSWEp5YjNJb1lFNXZJQ1I3ZEdocGN5NXdhMzBnY0hKdmRtbGtaV1JnS1R0Y2JpQWdJQ0FnSUd4bGRDQnlaV0ZrVW1WemRXeDBPaUJOYjJSbGJEdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUd4dlp5NWtaV0oxWnloZ2NtVmhaR2x1WnlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCM2FYUm9JQ1I3ZEdocGN5NXdhMzBnSkh0cFpIMWdLVHRjYmlBZ0lDQWdJQ0FnY21WaFpGSmxjM1ZzZENBOUlHRjNZV2wwSUhSb2FYTXVjR1Z5YzJsemRHVnVZMlVvWTNSNEtTNXlaV0ZrS0dsa0xDQmpkSGdwTzF4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ0lDQnNiMmN1WlhKeWIzSW9ZRVpoYVd4bFpDQjBieUJ5WldGa0lDUjdiVzlrWld4RGJHRjZlazVoYldWOUlIZHBkR2dnYVdRZ0pIdHBaSDFnTENCbElHRnpJRVZ5Y205eUtUdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNTBiMFJsWTJGbVJYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ1pTeGNiaUFnSUNBZ0lDQWdJQ0JnUm1GcGJHVmtJSFJ2SUhKbFlXUWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdkMmwwYUNCcFpDQWtlMmxrZldCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHeHZaeTVwYm1adktHQnlaV0ZrSUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5SUhkcGRHZ2dhV1FnSkhzb2NtVmhaRkpsYzNWc2RDQmhjeUJoYm5rcFczUm9hWE11Y0d0ZGZXQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JTWlhOMWJIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklHTnlaV0YwWlZWd1pHRjBaVWhoYm1Sc1pYSW9YRzRnSUNBZ1oyVjBVRXM2SUNndUxpNXdPaUJCY25KaGVUeHpkSEpwYm1jZ2ZDQnVkVzFpWlhJK0tTQTlQaUJ6ZEhKcGJtY3NYRzRnSUNBZ1RXOWtaV3hEYjI1emRISTZJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSThZVzU1UGl4Y2JpQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1blhHNGdJQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmhjM2x1WXlCbWRXNWpkR2x2YmlCMWNHUmhkR1VvWEc0Z0lDQWdJQ0IwYUdsek9pQmhibmtzWEc0Z0lDQWdJQ0J5YjNWMFpWQmhjbUZ0Y3pvZ1lXNTVMRnh1SUNBZ0lDQWdZbTlrZVRvZ1lXNTVMRnh1SUNBZ0lDQWdjbVZ6Y0Q4NklHRnVlVnh1SUNBZ0lDazZJRkJ5YjIxcGMyVThZVzU1UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0I3SUdOMGVDd2diRzluSUgwZ1BTQW9YRzRnSUNBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLRnRkTENCUGNHVnlZWFJwYjI1TFpYbHpMbFZRUkVGVVJTd2dkSEoxWlNsY2JpQWdJQ0FnSUNrdVptOXlLSFZ3WkdGMFpTazdYRzRnSUNBZ0lDQmpiMjV6ZENCcFpDQTlJR2RsZEZCTEtDNHVMbkp2ZFhSbFVHRnlZVzF6TG5aaGJIVmxjMGx1VDNKa1pYSXBPMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJwWkNBOVBUMGdYQ0oxYm1SbFptbHVaV1JjSWlsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGWmhiR2xrWVhScGIyNUZjbkp2Y2loZ1RtOGdKSHQwYUdsekxuQnJmU0J3Y205MmFXUmxaR0FwTzF4dUlDQWdJQ0FnYkdWMElIVndaR0YwWldRNklHRnVlVHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHeHZaeTVwYm1adktHQjFjR1JoZEdsdVp5QWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQjNhWFJvSUNSN2RHaHBjeTV3YTMwZ0pIdHBaSDFnS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY0dGNWJHOWhaQ0E5SUVwVFQwNHVjR0Z5YzJVb1NsTlBUaTV6ZEhKcGJtZHBabmtvWW05a2VTa3BPMXh1SUNBZ0lDQWdJQ0IxY0dSaGRHVmtJRDBnWVhkaGFYUWdkR2hwY3k1d1pYSnphWE4wWlc1alpTaGpkSGdwTG5Wd1pHRjBaU2hjYmlBZ0lDQWdJQ0FnSUNCdVpYY2dUVzlrWld4RGIyNXpkSElvZXlBdUxpNXdZWGxzYjJGa0xDQmJkR2hwY3k1d2ExMDZJR2xrSUgwcExGeHVJQ0FnSUNBZ0lDQWdJR04wZUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdJQ0JzYjJjdVpYSnliM0lvWlNCaGN5QkZjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdWRHOUVaV05oWmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUdVc1hHNGdJQ0FnSUNBZ0lDQWdZRVpoYVd4bFpDQjBieUIxY0dSaGRHVWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdkMmwwYUNCcFpDQWtlMmxrZldCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2h5WlhOd0tTQmpkSGd1ZEc5U1pYTndiMjV6WlNoeVpYTndLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWa08xeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCamNtVmhkR1ZFWld4bGRHVklZVzVrYkdWeUtGeHVJQ0FnSUdkbGRGQkxPaUFvTGk0dWNEb2dRWEp5WVhrOGMzUnlhVzVuSUh3Z2JuVnRZbVZ5UGlrZ1BUNGdjM1J5YVc1bkxGeHVJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxPaUJ6ZEhKcGJtZGNiaUFnS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0Z6ZVc1aklHWjFibU4wYVc5dUlISmxiVzkyWlNoY2JpQWdJQ0FnSUhSb2FYTTZJR0Z1ZVN4Y2JpQWdJQ0FnSUhKdmRYUmxVR0Z5WVcxek9pQmhibmtzWEc0Z0lDQWdJQ0J5WlhOd1B6b2dZVzU1WEc0Z0lDQWdLVG9nVUhKdmJXbHpaVHhOYjJSbGJENGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2V5QmpkSGdzSUd4dlp5QjlJRDBnS0Z4dUlDQWdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoYlhTd2dUM0JsY21GMGFXOXVTMlY1Y3k1RVJVeEZWRVVzSUhSeWRXVXBYRzRnSUNBZ0lDQXBMbVp2Y2loeVpXMXZkbVVwTzF4dUlDQWdJQ0FnWTI5dWMzUWdhV1FnUFNCblpYUlFTeWd1TGk1eWIzVjBaVkJoY21GdGN5NTJZV3gxWlhOSmJrOXlaR1Z5S1R0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXUWdQVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSXBYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJXWVd4cFpHRjBhVzl1UlhKeWIzSW9ZRTV2SUNSN2RHaHBjeTV3YTMwZ2NISnZkbWxrWldSZ0tUdGNiaUFnSUNBZ0lHeGxkQ0JrWld3NklFMXZaR1ZzTzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdiRzluTG1SbFluVm5LR0JrWld4bGRHbHVaeUFrZTIxdlpHVnNRMnhoZW5wT1lXMWxmU0IzYVhSb0lDUjdkR2hwY3k1d2EzMGdKSHRwWkgxZ0tUdGNiaUFnSUNBZ0lDQWdaR1ZzSUQwZ1lYZGhhWFFnZEdocGN5NXdaWEp6YVhOMFpXNWpaU2hqZEhncExtUmxiR1YwWlNocFpDd2dZM1I0S1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lDQWdiRzluTG1WeWNtOXlLR0JHWVdsc1pXUWdkRzhnWkdWc1pYUmxJQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlJSGRwZEdnZ2FXUWdKSHRwWkgxZ0xDQmxJR0Z6SUVWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTUwYjBSbFkyRm1SWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDQWdaU3hjYmlBZ0lDQWdJQ0FnSUNCZ1JtRnBiR1ZrSUhSdklHUmxiR1YwWlNBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCM2FYUm9JR2xrSUNSN2FXUjlZRnh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYkc5bkxtbHVabThvWUdSbGJHVjBaV1FnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnZDJsMGFDQnBaQ0FrZTJsa2ZXQXBPMXh1SUNBZ0lDQWdhV1lnS0hKbGMzQXBJR04wZUM1MGIxSmxjM0J2Ym5ObEtISmxjM0FwTzF4dUlDQWdJQ0FnY21WMGRYSnVJR1JsYkR0Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nWTNKbFlYUmxVM1JoZEdWdFpXNTBTR0Z1Wkd4bGNpaHRiMlJsYkVOc1lYcDZUbUZ0WlRvZ2MzUnlhVzVuS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0Z6ZVc1aklHWjFibU4wYVc5dUlITjBZWFJsYldWdWRDaGNiaUFnSUNBZ0lIUm9hWE02SUdGdWVTeGNiaUFnSUNBZ0lHNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQWdJR0Z5WjNNNklDaHpkSEpwYm1jZ2ZDQnVkVzFpWlhJcFcxMHNYRzRnSUNBZ0lDQmtaWFJoYVd4ek9pQkVhWEpsWTNScGIyNU1hVzFwZEU5bVpuTmxkRnh1SUNBZ0lDazZJRkJ5YjIxcGMyVThZVzU1UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0I3SUdOMGVDQjlJRDBnS0Z4dUlDQWdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoYlhTd2dVR1Z5YzJsemRHVnVZMlZMWlhsekxsTlVRVlJGVFVWT1ZDd2dkSEoxWlNsY2JpQWdJQ0FnSUNrdVptOXlLSE4wWVhSbGJXVnVkQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJR1JwY21WamRHbHZiaXdnYjJabWMyVjBMQ0JzYVcxcGRDd2dZbTl2YTIxaGNtc2dmU0E5SUdSbGRHRnBiSE03WEc0Z0lDQWdJQ0JoY21keklEMGdZWEpuY3k1dFlYQW9YRzRnSUNBZ0lDQWdJQ2hoS1NBOVBpQW9kSGx3Wlc5bUlHRWdQVDA5SUZ3aWMzUnlhVzVuWENJZ1B5QndZWEp6WlVsdWRDaGhJR0Z6SUhOMGNtbHVaeWtnT2lCaEtTQjhmQ0JoWEc0Z0lDQWdJQ0FwSUdGeklHRnVlVnRkTzF4dUlDQWdJQ0FnWTI5dWMzUWdjR0YwYUVScGNtVmpkR2x2YmlBOUlHRnlaM011YkdWdVozUm9JRDRnTVNBL0lHRnlaM05iTVYwZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTnZiSFpsWkVScGNtVmpkR2x2YmlBOUlDaGthWEpsWTNScGIyNGdQejhnY0dGMGFFUnBjbVZqZEdsdmJpa2dZWE5jYmlBZ0lDQWdJQ0FnZkNCemRISnBibWRjYmlBZ0lDQWdJQ0FnZkNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCcFppQW9jbVZ6YjJ4MlpXUkVhWEpsWTNScGIyNGdKaVlnWVhKbmN5NXNaVzVuZEdnZ1BpQXhLU0JoY21keld6RmRJRDBnY21WemIyeDJaV1JFYVhKbFkzUnBiMjQ3WEc0Z0lDQWdJQ0J6ZDJsMFkyZ2dLRzVoYldVcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVSa2xPUkRwY2JpQWdJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVJrbE9SRjlDV1RwY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVRFbFRWRjlDV1RwY2JpQWdJQ0FnSUNBZ0lDQmhjbWR6TG5CMWMyZ29aR2x5WldOMGFXOXVJR0Z6SUhOMGNtbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGxCQlIwVTZYRzRnSUNBZ0lDQWdJR05oYzJVZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMbEJCUjBWZlFsazZYRzRnSUNBZ0lDQWdJQ0FnWVhKbmN5QTlJRnRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlaM05iTUYwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxaRVJwY21WamRHbHZiaUJoY3lCaGJua3NYRzRnSUNBZ0lDQWdJQ0FnSUNCN0lHeHBiV2wwTENCdlptWnpaWFFzSUdKdmIydHRZWEpySUgwc1hHNGdJQ0FnSUNBZ0lDQWdYVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnWTJGelpTQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UmtsT1JGOVBUa1ZmUWxrNlhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrTlBWVTVVWDA5R09seHVJQ0FnSUNBZ0lDQmpZWE5sSUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NU5RVmhmVDBZNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrMUpUbDlQUmpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVFWWkhYMDlHT2x4dUlDQWdJQ0FnSUNCallYTmxJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1VFZVMWZUMFk2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtSSlUxUkpUa05VWDA5R09seHVJQ0FnSUNBZ0lDQmpZWE5sSUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NUhVazlWVUY5UFJqcGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkJsY25OcGMzUmxibU5sS0dOMGVDa3VjM1JoZEdWdFpXNTBLRzVoYldVc0lDNHVMbUZ5WjNNc0lHTjBlQ2s3WEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJR055WldGMFpWTjBZWFJsYldWdWRGTm9iM0owWTNWMFNHRnVaR3hsY2loY2JpQWdJQ0J6ZEdGMFpXMWxiblJMWlhrNklITjBjbWx1Wnl4Y2JpQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1blhHNGdJQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmhjM2x1WXlCbWRXNWpkR2x2YmlCemRHRjBaVzFsYm5SVGFHOXlkR04xZENoY2JpQWdJQ0FnSUhSb2FYTTZJR0Z1ZVN4Y2JpQWdJQ0FnSUM0dUxtRnlaM002SUdGdWVWdGRYRzRnSUNBZ0tUb2dVSEp2YldselpUeGhibmsrSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSHNnWTNSNElIMGdQU0FvWEc0Z0lDQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0Z0ZExDQnpkR0YwWlcxbGJuUkxaWGtzSUhSeWRXVXBYRzRnSUNBZ0lDQXBMbVp2Y2loemRHRjBaVzFsYm5SVGFHOXlkR04xZENrN1hHNWNiaUFnSUNBZ0lITjNhWFJqYUNBb2MzUmhkR1Z0Wlc1MFMyVjVLU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGt4SlUxUmZRbGs2SUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCYmEyVjVMQ0JrWlhSaGFXeHpYU0E5SUdGeVozTTdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNHVnljMmx6ZEdWdVkyVW9ZM1I0S1M1c2FYTjBRbmtvWEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaWGtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQW9aR1YwWVdsc2N5QmhjeUJoYm5rcFB5NWthWEpsWTNScGIyNGdZWE1nVDNKa1pYSkVhWEpsWTNScGIyNHNYRzRnSUNBZ0lDQWdJQ0FnSUNCamRIaGNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTmhjMlVnVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxsQkJSMFZmUWxrNklIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQmJhMlY1TENCd1lXZGxMQ0JrWlhSaGFXeHpYU0E5SUdGeVozTTdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNHVnljMmx6ZEdWdVkyVW9ZM1I0S1M1d1lXZHBibUYwWlVKNUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnYTJWNUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnS0dSbGRHRnBiSE1nWVhNZ1lXNTVLVDh1WkdseVpXTjBhVzl1SUdGeklFOXlaR1Z5UkdseVpXTjBhVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnNhVzFwZERvZ0tHUmxkR0ZwYkhNZ1lYTWdZVzU1S1Q4dWJHbHRhWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dLR1JsZEdGcGJITWdZWE1nWVc1NUtUOHViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXZGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmhjeUJoYm5rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqZEhoY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtaSlRrUTZJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JiZG1Gc2RXVXNJR1JsZEdGcGJITmRJRDBnWVhKbmN6dGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQmthWEpsWTNScGIyNGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0tHUmxkR0ZwYkhNZ1lYTWdZVzU1S1Q4dVpHbHlaV04wYVc5dUlEOC9JRTl5WkdWeVJHbHlaV04wYVc5dUxrRlRRenRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3WlhKemFYTjBaVzVqWlNBOUlIUm9hWE11Y0dWeWMybHpkR1Z1WTJVb1kzUjRLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlIQmxjbk5wYzNSbGJtTmxMbVpwYm1RZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQndaWEp6YVhOMFpXNWpaUzVtYVc1a0tIWmhiSFZsTENCa2FYSmxZM1JwYjI0c0lHTjBlQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCbGNuTnBjM1JsYm1ObExuTjBZWFJsYldWdWRDaFFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UmtsT1JDd2dkbUZzZFdVc0lHUnBjbVZqZEdsdmJpd2dZM1I0S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpZWE5sSUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NVFRVWRGT2lCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1czWmhiSFZsTENCa1pYUmhhV3h6WFNBOUlHRnlaM003WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY21WbUlEMGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwT2lBb1pHVjBZV2xzY3lCaGN5QmhibmtwUHk1dlptWnpaWFFnUHo4Z01TeGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGJXbDBPaUFvWkdWMFlXbHNjeUJoY3lCaGJua3BQeTVzYVcxcGRDQS9QeUF4TUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p2YjJ0dFlYSnJPaUFvWkdWMFlXbHNjeUJoY3lCaGJua3BQeTVpYjI5cmJXRnlheXhjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElIQmxjbk5wYzNSbGJtTmxJRDBnZEdocGN5NXdaWEp6YVhOMFpXNWpaU2hqZEhncE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHUnBjbVZqZEdsdmJpQTlJQ2hrWlhSaGFXeHpJR0Z6SUdGdWVTay9MbVJwY21WamRHbHZiaUEvUHlCUGNtUmxja1JwY21WamRHbHZiaTVCVTBNN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ3WlhKemFYTjBaVzVqWlM1d1lXZGxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY0dWeWMybHpkR1Z1WTJVdWNHRm5aU2gyWVd4MVpTd2daR2x5WldOMGFXOXVMQ0J5WldZc0lHTjBlQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCbGNuTnBjM1JsYm1ObExuTjBZWFJsYldWdWRDaFFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11VUVGSFJTd2dkbUZzZFdVc0lHUnBjbVZqZEdsdmJpd2djbVZtTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtaSlRrUmZUMDVGWDBKWk9pQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdXMnRsZVN3Z2RtRnNkV1ZkSUQwZ1lYSm5jenRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdaWEp6YVhOMFpXNWpaU2hqZEhncExtWnBibVJQYm1WQ2VTaHJaWGtzSUhaaGJIVmxMQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR05oYzJVZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtSZlFsazZJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JiYTJWNUxDQjJZV3gxWlYwZ1BTQmhjbWR6TzF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkJsY25OcGMzUmxibU5sS0dOMGVDbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1bWIzSW9ZM1I0TG5SdlQzWmxjbkpwWkdWektDa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdVptbHVaRUo1S0d0bGVTd2dkbUZzZFdVc0lHTjBlQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0YwWlcxbGJuUkxaWGtnUFQwOUlGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVEVDFWT1ZGOVBSaUI4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1JoZEdWdFpXNTBTMlY1SUQwOVBTQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11VFVGWVgwOUdJSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0YwWlcxbGJuUkxaWGtnUFQwOUlGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVOU1U1ZlQwWWdmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBZWFJsYldWdWRFdGxlU0E5UFQwZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa0ZXUjE5UFJpQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR1Z0Wlc1MFMyVjVJRDA5UFNCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVVMVZOWDA5R0lIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRjBaVzFsYm5STFpYa2dQVDA5SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NUVTVk5VU1U1RFZGOVBSaUI4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1JoZEdWdFpXNTBTMlY1SUQwOVBTQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UjFKUFZWQmZUMFpjYmlBZ0lDQWdJQ0FnSUNBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRnRtYVdWc1pGMGdQU0JoY21kek8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNHVnljMmx6ZEdWdVkyVW9ZM1I0S1M1emRHRjBaVzFsYm5Rb2MzUmhkR1Z0Wlc1MFMyVjVMQ0JtYVdWc1pDd2dZM1I0S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9ZRlZ1YTI1dmQyNGdjM1JoZEdWdFpXNTBPaUFrZTNOMFlYUmxiV1Z1ZEV0bGVYMWdLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdZM0psWVhSbFEyOXRjR3hsZUZGMVpYSjVTR0Z1Wkd4bGNpaHRaWFJvYjJST1lXMWxPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQnlaWFIxY200Z1lYTjVibU1nWm5WdVkzUnBiMjRnWTI5dGNHeGxlRkYxWlhKNUtGeHVJQ0FnSUNBZ2RHaHBjem9nWVc1NUxGeHVJQ0FnSUNBZ0xpNHVZWEpuY3pvZ1lXNTVXMTFjYmlBZ0lDQXBPaUJRY205dGFYTmxQR0Z1ZVQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYkc5bk9pQmhibmtnUFNCMGFHbHpMbXh2Wno4dVptOXlQeTRvWTI5dGNHeGxlRkYxWlhKNUtUdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHNiMmNwSUd4dlp5NWtaV0oxWnloZ1NXNTJiMnRwYm1jZ1kzVnpkRzl0SUhGMVpYSjVJRndpSkh0dFpYUm9iMlJPWVcxbGZWd2lZQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSHNnWTNSNElIMGdQU0FvWEc0Z0lDQWdJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1cxMHNJRzFsZEdodlpFNWhiV1VzSUhSeWRXVXBYRzRnSUNBZ0lDQWdJQ2t1Wm05eUtHTnZiWEJzWlhoUmRXVnllU2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSEJsY25OcGMzUmxibU5sSUQwZ2RHaHBjeTV3WlhKemFYTjBaVzVqWlNoamRIZ3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpjSEpsWVdSQmNtZHpJRDBnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1dWIzSnRZV3hwZW1WUmRXVnllVUZ5WjNNb1lYSm5jeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdaWEp6YVhOMFpXNWpaVDh1Y21Wd2J5QW1KaUIwZVhCbGIyWWdjR1Z5YzJsemRHVnVZMlV1Y21Wd2IxdHRaWFJvYjJST1lXMWxYU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCbGNuTnBjM1JsYm1ObExuSmxjRzliYldWMGFHOWtUbUZ0WlYwb0xpNHVjM0J5WldGa1FYSm5jeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQndaWEp6YVhOMFpXNWpaVnR0WlhSb2IyUk9ZVzFsWFNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQmxjbk5wYzNSbGJtTmxXMjFsZEdodlpFNWhiV1ZkS0M0dUxuTndjbVZoWkVGeVozTXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaHdaWEp6YVhOMFpXNWpaVDh1Y1hWbGNua2dKaVlnZEhsd1pXOW1JSEJsY25OcGMzUmxibU5sTG5GMVpYSjVJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY0dWeWMybHpkR1Z1WTJVdWNYVmxjbmtvYldWMGFHOWtUbUZ0WlN3Z0xpNHVjM0J5WldGa1FYSm5jeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQndaWEp6YVhOMFpXNWpaUzV6ZEdGMFpXMWxiblFnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCd1pYSnphWE4wWlc1alpTNXpkR0YwWlcxbGJuUW9iV1YwYUc5a1RtRnRaU3dnTGk0dWMzQnlaV0ZrUVhKbmN5d2dZM1I0S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQmdVR1Z5YzJsemRHVnVZMlVnYldWMGFHOWtJRndpSkh0dFpYUm9iMlJPWVcxbGZWd2lJRzV2ZENCbWIzVnVaQ0J2YmlBa2UzQmxjbk5wYzNSbGJtTmxQeTVqYjI1emRISjFZM1J2Y2o4dWJtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobE9pQmhibmtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3h2WnlrZ2JHOW5MbVZ5Y205eUtHQkRkWE4wYjIwZ2NYVmxjbmtnWENJa2UyMWxkR2h2WkU1aGJXVjlYQ0lnWm1GcGJHVmtZQ3dnWlNrN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdWRHOUVaV05oWmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUdVc1hHNGdJQ0FnSUNBZ0lDQWdZRU4xYzNSdmJTQnhkV1Z5ZVNCY0lpUjdiV1YwYUc5a1RtRnRaWDFjSWlCbVlXbHNaV1JnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUdOeVpXRjBaVU4xYzNSdmJWSnZkWFJsU0dGdVpHeGxjaWh0WlhSb2IyUk9ZVzFsT2lCemRISnBibWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZWE41Ym1NZ1puVnVZM1JwYjI0Z1kzVnpkRzl0VW05MWRHVW9YRzRnSUNBZ0lDQjBhR2x6T2lCaGJua3NYRzRnSUNBZ0lDQXVMaTVoY21kek9pQmhibmxiWFZ4dUlDQWdJQ2s2SUZCeWIyMXBjMlU4WVc1NVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCc2IyYzZJR0Z1ZVNBOUlIUm9hWE11Ykc5blB5NW1iM0kvTGloamRYTjBiMjFTYjNWMFpTazdYRzRnSUNBZ0lDQmpiMjV6ZENCN0lHTjBlQ0I5SUQwZ0tGeHVJQ0FnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGJYU3dnYldWMGFHOWtUbUZ0WlN3Z2RISjFaU2xjYmlBZ0lDQWdJQ2t1Wm05eUtHTjFjM1J2YlZKdmRYUmxLVHRjYmlBZ0lDQWdJR052Ym5OMElIQmxjbk5wYzNSbGJtTmxJRDBnZEdocGN5NXdaWEp6YVhOMFpXNWpaU2hqZEhncE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYzNCeVpXRmtRWEpuY3lBOUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVibTl5YldGc2FYcGxVWFZsY25sQmNtZHpLR0Z5WjNNcE8xeHVYRzRnSUNBZ0lDQXZMeUJVY25rZ2RHaGxJSEJsY25OcGMzUmxibU5sSUdScGNtVmpkR3g1SUNoM2IzSnJjeUIzYUdWdUlHbDBKM01nWVNCamRYTjBiMjBnVW1Wd2IzTnBkRzl5ZVNsY2JpQWdJQ0FnSUdsbUlDaHdaWEp6YVhOMFpXNWpaVDh1Y21Wd2J5QW1KaUIwZVhCbGIyWWdjR1Z5YzJsemRHVnVZMlV1Y21Wd2IxdHRaWFJvYjJST1lXMWxYU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ3WlhKemFYTjBaVzVqWlM1eVpYQnZXMjFsZEdodlpFNWhiV1ZkS0M0dUxuTndjbVZoWkVGeVozTXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ3WlhKemFYTjBaVzVqWlZ0dFpYUm9iMlJPWVcxbFhTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndaWEp6YVhOMFpXNWpaVnR0WlhSb2IyUk9ZVzFsWFNndUxpNXpjSEpsWVdSQmNtZHpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJQzh2SUVaaGJHd2dZbUZqYXlCMGJ5QnpkR0YwWlcxbGJuUWdaMkYwWlhkaGVWeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQndaWEp6YVhOMFpXNWpaUzV6ZEdGMFpXMWxiblFnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0dWeWMybHpkR1Z1WTJVdWMzUmhkR1Z0Wlc1MEtHMWxkR2h2WkU1aGJXVXNJQzR1TG5Od2NtVmhaRUZ5WjNNc0lHTjBlQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lDQWdZRTFsZEdodlpDQmNJaVI3YldWMGFHOWtUbUZ0WlgxY0lpQnViM1FnWm05MWJtUWdiMjRnSkh0d1pYSnphWE4wWlc1alpUOHVZMjl1YzNSeWRXTjBiM0kvTG01aGJXVjlJRzl5SUdsMGN5QnlaWEJ2WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nWlhoMGNtRmpkRkYxWlhKNVFYSm5jeWhoY21kek9pQmhibmxiWFNrNklHRnVlVnRkSUh0Y2JpQWdJQ0JwWmlBb1lYSm5jeTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCaGNtZHpPMXh1SUNBZ0lHTnZibk4wSUd4aGMzUWdQU0JoY21kelcyRnlaM011YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ2JHRnpkQ0FtSmx4dUlDQWdJQ0FnZEhsd1pXOW1JR3hoYzNRZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlaY2JpQWdJQ0FnSUNGQmNuSmhlUzVwYzBGeWNtRjVLR3hoYzNRcFhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J4ZFdWeWVVOWlhaUE5SUdGeVozTXVjRzl3S0NrN1hHNGdJQ0FnSUNCamIyNXpkQ0JvWVhORWFYSmxZM1JwYjI0Z1BTQnhkV1Z5ZVU5aWFpNWthWEpsWTNScGIyNGdJVDA5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUdOdmJuTjBJR2hoYzB4cGJXbDBJRDBnY1hWbGNubFBZbW91YkdsdGFYUWdJVDA5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUdOdmJuTjBJR2hoYzA5bVpuTmxkQ0E5SUhGMVpYSjVUMkpxTG05bVpuTmxkQ0FoUFQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ2FXWWdLQ0ZvWVhORWFYSmxZM1JwYjI0Z0ppWWdJV2hoYzB4cGJXbDBJQ1ltSUNGb1lYTlBabVp6WlhRcElISmxkSFZ5YmlCaGNtZHpPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pYaDBjbUZ6T2lCaGJubGJYU0E5SUZ0ZE8xeHVJQ0FnSUNBZ2FXWWdLR2hoYzBScGNtVmpkR2x2YmlrZ1pYaDBjbUZ6TG5CMWMyZ29jWFZsY25sUFltb3VaR2x5WldOMGFXOXVLVHRjYmlBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2hoYzB4cGJXbDBJSHg4SUdoaGMwOW1abk5sZENrZ1pYaDBjbUZ6TG5CMWMyZ29kVzVrWldacGJtVmtLVHRjYmlBZ0lDQWdJR2xtSUNob1lYTk1hVzFwZENrZ1pYaDBjbUZ6TG5CMWMyZ29jWFZsY25sUFltb3ViR2x0YVhRcE8xeHVJQ0FnSUNBZ2FXWWdLR2hoYzA5bVpuTmxkQ2tnWlhoMGNtRnpMbkIxYzJnb2NYVmxjbmxQWW1vdWIyWm1jMlYwS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJiTGk0dVlYSm5jeXdnTGk0dVpYaDBjbUZ6WFR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHRnlaM003WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJ1YjNKdFlXeHBlbVZSZFdWeWVVRnlaM01vWVhKbmN6b2dZVzU1VzEwcE9pQmhibmxiWFNCN1hHNGdJQ0FnWTI5dWMzUWdibTl5YldGc2FYcGxaQ0E5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVpYaDBjbUZqZEZGMVpYSjVRWEpuY3loaGNtZHpLVHRjYmlBZ0lDQnBaaUFvYm05eWJXRnNhWHBsWkM1c1pXNW5kR2dnUFQwOUlEQXBJSEpsZEhWeWJpQnViM0p0WVd4cGVtVmtPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHRnpkQ0E5SUc1dmNtMWhiR2w2WldSYmJtOXliV0ZzYVhwbFpDNXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQnBaaUFvSVd4aGMzUWdmSHdnZEhsd1pXOW1JR3hoYzNRZ0lUMDlJRndpYjJKcVpXTjBYQ0lnZkh3Z1FYSnlZWGt1YVhOQmNuSmhlU2hzWVhOMEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNXZjbTFoYkdsNlpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnY1hWbGNubFBZbW9nUFNCc1lYTjBJR0Z6SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0N1hHNGdJQ0FnWTI5dWMzUWdhR0Z6VVhWbGNubEdhV1ZzWkhNZ1BWeHVJQ0FnSUNBZ2NYVmxjbmxQWW1vdVpHbHlaV04wYVc5dUlDRTlQU0IxYm1SbFptbHVaV1FnZkh4Y2JpQWdJQ0FnSUhGMVpYSjVUMkpxTG14cGJXbDBJQ0U5UFNCMWJtUmxabWx1WldRZ2ZIeGNiaUFnSUNBZ0lIRjFaWEo1VDJKcUxtOW1abk5sZENBaFBUMGdkVzVrWldacGJtVmtJSHg4WEc0Z0lDQWdJQ0J4ZFdWeWVVOWlhaTVpYjI5cmJXRnlheUFoUFQwZ2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ2FXWWdLQ0ZvWVhOUmRXVnllVVpwWld4a2N5a2dlMXh1SUNBZ0lDQWdibTl5YldGc2FYcGxaQzV3YjNBb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1Wa08xeHVJQ0FnSUgxY2JseHVJQ0FnSUc1dmNtMWhiR2w2WldRdWNHOXdLQ2s3WEc0Z0lDQWdhV1lnS0hGMVpYSjVUMkpxTG1ScGNtVmpkR2x2YmlBaFBUMGdkVzVrWldacGJtVmtLU0J1YjNKdFlXeHBlbVZrTG5CMWMyZ29jWFZsY25sUFltb3VaR2x5WldOMGFXOXVLVHRjYmlBZ0lDQnBaaUFvY1hWbGNubFBZbW91YkdsdGFYUWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2JtOXliV0ZzYVhwbFpDNXdkWE5vS0hGMVpYSjVUMkpxTG14cGJXbDBLVHRjYmlBZ0lDQnBaaUFvY1hWbGNubFBZbW91YjJabWMyVjBJQ0U5UFNCMWJtUmxabWx1WldRcElHNXZjbTFoYkdsNlpXUXVjSFZ6YUNoeGRXVnllVTlpYWk1dlptWnpaWFFwTzF4dUlDQWdJR2xtSUNoeGRXVnllVTlpYWk1aWIyOXJiV0Z5YXlBaFBUMGdkVzVrWldacGJtVmtLU0J1YjNKdFlXeHBlbVZrTG5CMWMyZ29jWFZsY25sUFltb3VZbTl2YTIxaGNtc3BPMXh1SUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1Wa08xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ1kzSmxZWFJsUTNKbFlYUmxSR1ZqYjNKaGRHOXljeWhjYmlBZ0lDQk5iMlJsYkVOdmJuTjBjam9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK0xGeHVJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxPaUJ6ZEhKcGJtZGNiaUFnS1RvZ1FYSnlZWGs4S0hSaGNtZGxkRG9nWVc1NUxDQnJaWGs2SUhOMGNtbHVaeXdnWkdWell6b2dZVzU1S1NBOVBpQjJiMmxrUGlCN1hHNGdJQ0FnY21WMGRYSnVJRnRjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmtaeWIyMU5iMlJsYkNoTmIyUmxiRU52Ym5OMGNpd2dYQ0pRVDFOVVhDSXBMRnh1SUNBZ0lDQWdRWEJwVDNCbGNtRjBhVzl1S0hzZ2MzVnRiV0Z5ZVRvZ1lFTnlaV0YwWlNCaElHNWxkeUFrZTIxdlpHVnNRMnhoZW5wT1lXMWxmUzVnSUgwcExGeHVJQ0FnSUNBZ1FYQnBRbTlrZVNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnVUdGNWJHOWhaQ0JtYjNJZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgxZ0xGeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCRWRHOUdiM0lvVDNCbGNtRjBhVzl1UzJWNWN5NURVa1ZCVkVVc0lFMXZaR1ZzUTI5dWMzUnlLU3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFEzSmxZWFJsWkZKbGMzQnZibk5sS0h0Y2JpQWdJQ0FnSUNBZ1pHVnpZM0pwY0hScGIyNDZJR0FrZTIxdlpHVnNRMnhoZW5wT1lXMWxmU0JqY21WaGRHVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0xGeHVJQ0FnSUNBZ0lDQnpZMmhsYldFNklIc2dKSEpsWmpvZ1oyVjBVMk5vWlcxaFVHRjBhQ2hOYjJSbGJFTnZibk4wY2lrZ2ZTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwUW1Ga1VtVnhkV1Z6ZEZKbGMzQnZibk5sS0hzZ1pHVnpZM0pwY0hScGIyNDZJRndpVUdGNWJHOWhaQ0IyWVd4cFpHRjBhVzl1SUdaaGFXeGxaQzVjSWlCOUtTeGNiaUFnSUNBZ0lFRndhVlZ1Y0hKdlkyVnpjMkZpYkdWRmJuUnBkSGxTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJbEpsY0c5emFYUnZjbmtnY21WcVpXTjBaV1FnZEdobElIQnliM1pwWkdWa0lIQmhlV3h2WVdRdVhDSXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQmRPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdZblZzYTBOeVpXRjBaVVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdUVzlrWld4RGIyNXpkSEk2SUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k4WVc1NVBpeGNiaUFnSUNCdGIyUmxiRU5zWVhwNlRtRnRaVG9nYzNSeWFXNW5YRzRnSUNrNklFRnljbUY1UENoMFlYSm5aWFE2SUdGdWVTd2dhMlY1T2lCemRISnBibWNzSUdSbGMyTTZJR0Z1ZVNrZ1BUNGdkbTlwWkQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI1R2NtOXRUVzlrWld3b1RXOWtaV3hEYjI1emRISXNJRndpVUU5VFZGd2lMQ0JjSW1KMWJHdGNJaWtzWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI0b2V5QnpkVzF0WVhKNU9pQmdRM0psWVhSbElHRWdibVYzSUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5TG1BZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xDYjJSNUtIdGNiaUFnSUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUdCUVlYbHNiMkZrSUdadmNpQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZXQXNYRzRnSUNBZ0lDQWdJSE5qYUdWdFlUb2dlMXh1SUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpWVhKeVlYbGNJaXhjYmlBZ0lDQWdJQ0FnSUNCcGRHVnRjem9nZXlBa2NtVm1PaUJuWlhSVFkyaGxiV0ZRWVhSb0tFMXZaR1ZzUTI5dWMzUnlLU0I5TEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xEY21WaGRHVmtVbVZ6Y0c5dWMyVW9lMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1lDUjdiVzlrWld4RGJHRjZlazVoYldWOUlHTnlaV0YwWldRZ2MzVmpZMlZ6YzJaMWJHeDVMbUFzWEc0Z0lDQWdJQ0FnSUhOamFHVnRZVG9nZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVlYSnlZWGxjSWl4Y2JpQWdJQ0FnSUNBZ0lDQnBkR1Z0Y3pvZ2V5QWtjbVZtT2lCblpYUlRZMmhsYldGUVlYUm9LRTF2WkdWc1EyOXVjM1J5S1NCOUxGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JCY0dsQ1lXUlNaWEYxWlhOMFVtVnpjRzl1YzJVb2V5QmtaWE5qY21sd2RHbHZiam9nWENKUVlYbHNiMkZrSUhaaGJHbGtZWFJwYjI0Z1ptRnBiR1ZrTGx3aUlIMHBMRnh1SUNBZ0lDQWdRWEJwVlc1d2NtOWpaWE56WVdKc1pVVnVkR2wwZVZKbGMzQnZibk5sS0h0Y2JpQWdJQ0FnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVW1Wd2IzTnBkRzl5ZVNCeVpXcGxZM1JsWkNCMGFHVWdjSEp2ZG1sa1pXUWdjR0Y1Ykc5aFpDNWNJaXhjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJRjA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJpZFd4clVtVmhaRVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdUVzlrWld4RGIyNXpkSEk2SUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k4WVc1NVBpeGNiaUFnSUNCdGIyUmxiRU5zWVhwNlRtRnRaVG9nYzNSeWFXNW5YRzRnSUNrNklFRnljbUY1UENoMFlYSm5aWFE2SUdGdWVTd2dhMlY1T2lCemRISnBibWNzSUdSbGMyTTZJR0Z1ZVNrZ1BUNGdkbTlwWkQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI1R2NtOXRUVzlrWld3b1RXOWtaV3hEYjI1emRISXNJRndpUjBWVVhDSXNJRndpWW5Wc2Exd2lLU3hjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmloN0lITjFiVzFoY25rNklHQlNaWFJ5YVdWMlpTQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQnlaV052Y21SeklHSjVJR2xrY3k1Z0lIMHBMRnh1SUNBZ0lDQWdRWEJwVVhWbGNua29leUJ1WVcxbE9pQmNJbWxrYzF3aUxDQnlaWEYxYVhKbFpEb2dkSEoxWlN3Z2RIbHdaVG9nWENKaGNuSmhlVndpSUgwcExGeHVJQ0FnSUNBZ1FYQnBUMnRTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVYwY21sbGRtVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0xGeHVJQ0FnSUNBZ0lDQnpZMmhsYldFNklIdGNiaUFnSUNBZ0lDQWdJQ0IwZVhCbE9pQmNJbUZ5Y21GNVhDSXNYRzRnSUNBZ0lDQWdJQ0FnYVhSbGJYTTZJSHNnSkhKbFpqb2daMlYwVTJOb1pXMWhVR0YwYUNoTmIyUmxiRU52Ym5OMGNpa2dmU3hjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ1FYQnBUbTkwUm05MWJtUlNaWE53YjI1elpTaDdYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCZ1RtOGdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVZqYjNKa0lHMWhkR05vWlhNZ2RHaGxJSEJ5YjNacFpHVmtJR2xrWlc1MGFXWnBaWEl1WUN4Y2JpQWdJQ0FnSUgwcExGeHVJQ0FnSUYwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCaWRXeHJWWEJrWVhSbFJHVmpiM0poZEc5eWN5aGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRYRzRnSUNrNklFRnljbUY1UENoMFlYSm5aWFE2SUdGdWVTd2dhMlY1T2lCemRISnBibWNzSUdSbGMyTTZJR0Z1ZVNrZ1BUNGdkbTlwWkQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI1R2NtOXRUVzlrWld3b1RXOWtaV3hEYjI1emRISXNJRndpVUZWVVhDSXNJRndpWW5Wc2Exd2lLU3hjYmlBZ0lDQWdJRUZ3YVZCaGNtRnRjMFp5YjIxTmIyUmxiQ2hoY0dsUWNtOXdaWEowYVdWektTeGNiaUFnSUNBZ0lFRndhVTl3WlhKaGRHbHZiaWg3WEc0Z0lDQWdJQ0FnSUhOMWJXMWhjbms2SUdCU1pYQnNZV05sSUdWNGFYTjBhVzVuSUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5SUhKbFkyOXlaSE1nZDJsMGFDQnVaWGNnY0dGNWJHOWhaSE11WUN4Y2JpQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ1FYQnBRbTlrZVNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnVUdGNWJHOWhaQ0JtYjNJZ2NtVndiR0ZqYVc1bklHVjRhWE4wYVc1bklISmxZMjl5WkhNZ2IyWWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMWdMRnh1SUNBZ0lDQWdJQ0J6WTJobGJXRTZJSHRjYmlBZ0lDQWdJQ0FnSUNCMGVYQmxPaUJjSW1GeWNtRjVYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0pISmxaam9nWjJWMFUyTm9aVzFoVUdGMGFDaEVkRzlHYjNJb1QzQmxjbUYwYVc5dVMyVjVjeTVWVUVSQlZFVXNJRTF2WkdWc1EyOXVjM1J5S1Nrc1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVU5clVtVnpjRzl1YzJVb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5SUhWd1pHRjBaV1FnYzNWalkyVnpjMloxYkd4NUxtQXNYRzRnSUNBZ0lDQWdJSE5qYUdWdFlUb2dlMXh1SUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpWVhKeVlYbGNJaXhjYmlBZ0lDQWdJQ0FnSUNCcGRHVnRjem9nZXlBa2NtVm1PaUJuWlhSVFkyaGxiV0ZRWVhSb0tFMXZaR1ZzUTI5dWMzUnlLU0I5TEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xPYjNSR2IzVnVaRkpsYzNCdmJuTmxLSHRjYmlBZ0lDQWdJQ0FnWkdWelkzSnBjSFJwYjI0NklHQk9ieUFrZTIxdlpHVnNRMnhoZW5wT1lXMWxmU0J5WldOdmNtUWdiV0YwWTJobGN5QjBhR1VnY0hKdmRtbGtaV1FnYVdSbGJuUnBabWxsY2k1Z0xGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xDWVdSU1pYRjFaWE4wVW1WemNHOXVjMlVvZXlCa1pYTmpjbWx3ZEdsdmJqb2dYQ0pRWVhsc2IyRmtJSFpoYkdsa1lYUnBiMjRnWm1GcGJHVmtMbHdpSUgwcExGeHVJQ0FnSUYwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCaWRXeHJSR1ZzWlhSbFJHVmpiM0poZEc5eWN5aGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRYRzRnSUNrNklFRnljbUY1UENoMFlYSm5aWFE2SUdGdWVTd2dhMlY1T2lCemRISnBibWNzSUdSbGMyTTZJR0Z1ZVNrZ1BUNGdkbTlwWkQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI1R2NtOXRUVzlrWld3b1RXOWtaV3hEYjI1emRISXNJRndpUkVWTVJWUkZYQ0lzSUZ3aVluVnNhMXdpS1N4Y2JpQWdJQ0FnSUVGd2FWQmhjbUZ0YzBaeWIyMU5iMlJsYkNoaGNHbFFjbTl3WlhKMGFXVnpLU3hjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmloN0lITjFiVzFoY25rNklHQkVaV3hsZEdVZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwZ2NtVmpiM0prY3lCaWVTQnBaSE11WUNCOUtTeGNiaUFnSUNBZ0lFRndhVkYxWlhKNUtIc2dibUZ0WlRvZ1hDSnBaSE5jSWl3Z2NtVnhkV2x5WldRNklIUnlkV1VzSUhSNWNHVTZJRndpWVhKeVlYbGNJaUI5S1N4Y2JpQWdJQ0FnSUVGd2FVOXJVbVZ6Y0c5dWMyVW9lMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1lDUjdiVzlrWld4RGJHRjZlazVoYldWOUlHUmxiR1YwWldRZ2MzVmpZMlZ6YzJaMWJHeDVMbUFzWEc0Z0lDQWdJQ0FnSUhOamFHVnRZVG9nZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVlYSnlZWGxjSWl4Y2JpQWdJQ0FnSUNBZ0lDQnBkR1Z0Y3pvZ2V5QWtjbVZtT2lCblpYUlRZMmhsYldGUVlYUm9LRTF2WkdWc1EyOXVjM1J5S1NCOUxGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JCY0dsT2IzUkdiM1Z1WkZKbGMzQnZibk5sS0h0Y2JpQWdJQ0FnSUNBZ1pHVnpZM0pwY0hScGIyNDZJR0JPYnlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCeVpXTnZjbVFnYldGMFkyaGxjeUIwYUdVZ2NISnZkbWxrWldRZ2FXUmxiblJwWm1sbGNpNWdMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdYVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJSEpsWVdSRVpXTnZjbUYwYjNKektGeHVJQ0FnSUUxdlpHVnNRMjl1YzNSeU9pQk5iMlJsYkVOdmJuTjBjblZqZEc5eVBHRnVlVDRzWEc0Z0lDQWdiVzlrWld4RGJHRjZlazVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0JoY0dsUWNtOXdaWEowYVdWek9pQkVaV05oWmtGd2FWQnliM0JsY25SNVcxMHNYRzRnSUNBZ2NHdFFZWFJvT2lCemRISnBibWRjYmlBZ0tUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQjdYRzRnSUNBZ2NtVjBkWEp1SUZ0Y2JpQWdJQ0FnSUVGd2FVOXdaWEpoZEdsdmJrWnliMjFOYjJSbGJDaE5iMlJsYkVOdmJuTjBjaXdnWENKSFJWUmNJaXdnY0d0UVlYUm9LU3hjYmlBZ0lDQWdJRUZ3YVZCaGNtRnRjMFp5YjIxTmIyUmxiQ2hoY0dsUWNtOXdaWEowYVdWektTeGNiaUFnSUNBZ0lFRndhVTl3WlhKaGRHbHZiaWg3SUhOMWJXMWhjbms2SUdCU1pYUnlhV1YyWlNCaElDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkNCaWVTQnBaQzVnSUgwcExGeHVJQ0FnSUNBZ1FYQnBUMnRTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVYwY21sbGRtVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0xGeHVJQ0FnSUNBZ0lDQnpZMmhsYldFNklIc2dKSEpsWmpvZ1oyVjBVMk5vWlcxaFVHRjBhQ2hOYjJSbGJFTnZibk4wY2lrZ2ZTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwVG05MFJtOTFibVJTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdUbThnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnY21WamIzSmtJRzFoZEdOb1pYTWdkR2hsSUhCeWIzWnBaR1ZrSUdsa1pXNTBhV1pwWlhJdVlDeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lGMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4wWVhScFl5QjFjR1JoZEdWRVpXTnZjbUYwYjNKektGeHVJQ0FnSUUxdlpHVnNRMjl1YzNSeU9pQk5iMlJsYkVOdmJuTjBjblZqZEc5eVBHRnVlVDRzWEc0Z0lDQWdiVzlrWld4RGJHRjZlazVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0JoY0dsUWNtOXdaWEowYVdWek9pQkVaV05oWmtGd2FWQnliM0JsY25SNVcxMHNYRzRnSUNBZ2NHdFFZWFJvT2lCemRISnBibWRjYmlBZ0tUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQjdYRzRnSUNBZ2NtVjBkWEp1SUZ0Y2JpQWdJQ0FnSUVGd2FVOXdaWEpoZEdsdmJrWnliMjFOYjJSbGJDaE5iMlJsYkVOdmJuTjBjaXdnWENKUVZWUmNJaXdnY0d0UVlYUm9LU3hjYmlBZ0lDQWdJRUZ3YVZCaGNtRnRjMFp5YjIxTmIyUmxiQ2hoY0dsUWNtOXdaWEowYVdWektTeGNiaUFnSUNBZ0lFRndhVTl3WlhKaGRHbHZiaWg3WEc0Z0lDQWdJQ0FnSUhOMWJXMWhjbms2SUdCU1pYQnNZV05sSUdGdUlHVjRhWE4wYVc1bklDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkNCM2FYUm9JR0VnYm1WM0lIQmhlV3h2WVdRdVlDeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwUW05a2VTaDdYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCZ1VHRjViRzloWkNCbWIzSWdjbVZ3YkdGamFXNW5JR0Z1SUdWNGFYTjBhVzVuSUhKbFkyOXlaQ0J2WmlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZldBc1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVSMGIwWnZjaWhQY0dWeVlYUnBiMjVMWlhsekxsVlFSRUZVUlN3Z1RXOWtaV3hEYjI1emRISXBMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JCY0dsUGExSmxjM0J2Ym5ObEtIdGNiaUFnSUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUdBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCMWNHUmhkR1ZrSUhOMVkyTmxjM05tZFd4c2VTNWdMRnh1SUNBZ0lDQWdJQ0J6WTJobGJXRTZJSHNnSkhKbFpqb2daMlYwVTJOb1pXMWhVR0YwYUNoTmIyUmxiRU52Ym5OMGNpa2dmU3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFRtOTBSbTkxYm1SU1pYTndiMjV6WlNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnVG04Z0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwZ2NtVmpiM0prSUcxaGRHTm9aWE1nZEdobElIQnliM1pwWkdWa0lHbGtaVzUwYVdacFpYSXVZQ3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFFtRmtVbVZ4ZFdWemRGSmxjM0J2Ym5ObEtIc2daR1Z6WTNKcGNIUnBiMjQ2SUZ3aVVHRjViRzloWkNCMllXeHBaR0YwYVc5dUlHWmhhV3hsWkM1Y0lpQjlLU3hjYmlBZ0lDQmRPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdaR1ZzWlhSbFJHVmpiM0poZEc5eWN5aGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRMRnh1SUNBZ0lIQnJVR0YwYURvZ2MzUnlhVzVuWEc0Z0lDazZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENGdlMXh1SUNBZ0lISmxkSFZ5YmlCYlhHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNUdjbTl0VFc5a1pXd29UVzlrWld4RGIyNXpkSElzSUZ3aVJFVk1SVlJGWENJc0lIQnJVR0YwYUNrc1hHNGdJQ0FnSUNCQmNHbFFZWEpoYlhOR2NtOXRUVzlrWld3b1lYQnBVSEp2Y0dWeWRHbGxjeWtzWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI0b2V5QnpkVzF0WVhKNU9pQmdSR1ZzWlhSbElHRWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVZqYjNKa0lHSjVJR2xrTG1BZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xQYTFKbGMzQnZibk5sS0h0Y2JpQWdJQ0FnSUNBZ1pHVnpZM0pwY0hScGIyNDZJR0FrZTIxdlpHVnNRMnhoZW5wT1lXMWxmU0JrWld4bGRHVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0xGeHVJQ0FnSUNBZ0lDQnpZMmhsYldFNklIc2dKSEpsWmpvZ1oyVjBVMk5vWlcxaFVHRjBhQ2hOYjJSbGJFTnZibk4wY2lrZ2ZTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwVG05MFJtOTFibVJTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdUbThnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnY21WamIzSmtJRzFoZEdOb1pYTWdkR2hsSUhCeWIzWnBaR1ZrSUdsa1pXNTBhV1pwWlhJdVlDeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lGMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4wWVhScFl5QnpkR0YwWlcxbGJuUkVaV052Y21GMGIzSnpLRnh1SUNBZ0lFMXZaR1ZzUTI5dWMzUnlPaUJOYjJSbGJFTnZibk4wY25WamRHOXlQR0Z1ZVQ0c1hHNGdJQ0FnYlc5a1pXeERiR0Y2ZWs1aGJXVTZJSE4wY21sdVoxeHVJQ0FwT2lCQmNuSmhlVHdvZEdGeVoyVjBPaUJoYm5rc0lHdGxlVG9nYzNSeWFXNW5MQ0JrWlhOak9pQmhibmtwSUQwK0lIWnZhV1ErSUh0Y2JpQWdJQ0J5WlhSMWNtNGdXMXh1SUNBZ0lDQWdRWEJwVDNCbGNtRjBhVzl1Um5KdmJVMXZaR1ZzS0UxdlpHVnNRMjl1YzNSeUxDQmNJa2RGVkZ3aUxDQmNJbk4wWVhSbGJXVnVkQzg2YldWMGFHOWtMeXBoY21kelhDSXBMRnh1SUNBZ0lDQWdRWEJwVDNCbGNtRjBhVzl1S0h0Y2JpQWdJQ0FnSUNBZ2MzVnRiV0Z5ZVRvZ1lFVjRaV04xZEdWeklHRWdjSEpsY0dGeVpXUWdjM1JoZEdWdFpXNTBJRzl1SUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5TG1Bc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lFRndhVkJoY21GdEtIc2dibUZ0WlRvZ1hDSnRaWFJvYjJSY0lpd2daR1Z6WTNKcGNIUnBiMjQ2SUZ3aWRHaGxJSEJ5WlhCaGNtVmtJSE4wWVhSbGJXVnVkQ0IwYnlCbGVHVmpkWFJsWENJZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xRWVhKaGJTaDdYRzRnSUNBZ0lDQWdJRzVoYldVNklGd2lZWEpuYzF3aUxGeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKamIyNWpZWFJsYm1GMFpXUWdiR2x6ZENCdlppQmhjbWQxYldWdWRITWdkR2hsSUhCeVpYQmhjbVZrSUhOMFlYUmxiV1Z1ZENCallXNGdZV05qWlhCMFhDSXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVZGMVpYSjVLSHRjYmlBZ0lDQWdJQ0FnYm1GdFpUb2dYQ0prYVhKbFkzUnBiMjVjSWl4Y2JpQWdJQ0FnSUNBZ2NtVnhkV2x5WldRNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUdWdWRXMDZJRTl5WkdWeVJHbHlaV04wYVc5dUxGeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKMGFHVWdjMjl5ZENCdmNtUmxjaUIzYUdWdUlHRndjR3hwWTJGaWJHVmNJaXhjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFVYVmxjbmtvZXlCdVlXMWxPaUJjSW14cGJXbDBYQ0lzSUhKbGNYVnBjbVZrT2lCMGNuVmxMQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSnNhVzFwZENCdmNpQndZV2RsSUhOcGVtVWdkMmhsYmlCaGNIQnNhV05oWW14bFhDSWdmU2tzWEc0Z0lDQWdJQ0JCY0dsUmRXVnllU2g3SUc1aGJXVTZJRndpYjJabWMyVjBYQ0lzSUhKbGNYVnBjbVZrT2lCMGNuVmxMQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSnZabVp6WlhRZ2IzSWdZbTl2YTIxaGNtc2dkMmhsYmlCaGNIQnNhV05oWW14bFhDSWdmU2tzWEc0Z0lDQWdJQ0JCY0dsUGExSmxjM0J2Ym5ObEtIc2daR1Z6WTNKcGNIUnBiMjQ2SUdBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCc2FYTjBaV1FnWm05MWJtUXVZQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVNXZkRVp2ZFc1a1VtVnpjRzl1YzJVb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUU1dklDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkNCdFlYUmphR1Z6SUhSb1pTQndjbTkyYVdSbFpDQnBaR1Z1ZEdsbWFXVnlMbUFzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0JkTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nYzNSaGRHVnRaVzUwVTJodmNuUmpkWFJFWldOdmNtRjBiM0p6S0Z4dUlDQWdJRTF2WkdWc1EyOXVjM1J5T2lCTmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHNYRzRnSUNBZ2JXOWtaV3hEYkdGNmVrNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQndZWFJvT2lCemRISnBibWNzWEc0Z0lDQWdjM1JoZEdWdFpXNTBTMlY1T2lCemRISnBibWRjYmlBZ0tUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnWW1GelpUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQTlJRnRjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmtaeWIyMU5iMlJsYkNoTmIyUmxiRU52Ym5OMGNpd2dYQ0pIUlZSY0lpd2djR0YwYUNrc1hHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNG9leUJ6ZFcxdFlYSjVPaUJnVW1WMGNtbGxkbVVnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnY21WamIzSmtjeTVnSUgwcExGeHVJQ0FnSUNBZ1FYQnBUMnRTWlhOd2IyNXpaU2g3SUdSbGMyTnlhWEIwYVc5dU9pQmdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVYwY21sbGRtVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0lIMHBMRnh1SUNBZ0lGMDdYRzVjYmlBZ0lDQmpiMjV6ZENCelpXZHRaVzUwY3lBOUlIQmhkR2d1YzNCc2FYUW9YQ0l2WENJcExtWnBiSFJsY2lnb2N5a2dQVDRnY3k1emRHRnlkSE5YYVhSb0tGd2lPbHdpS1NrN1hHNGdJQ0FnYzJWbmJXVnVkSE11Wm05eVJXRmphQ2dvYzJWbktTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQnVZVzFsSUQwZ2MyVm5MbkpsY0d4aFkyVW9YQ0k2WENJc0lGd2lYQ0lwTzF4dUlDQWdJQ0FnWW1GelpTNXdkWE5vS0VGd2FWQmhjbUZ0S0hzZ2JtRnRaU3dnWkdWelkzSnBjSFJwYjI0NklHQlVhR1VnSkh0dVlXMWxmU0J3WVhKaGJXVjBaWEpnSUgwcEtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJSEJoZEdndWMzUmhjblJ6VjJsMGFDaGNJbXhwYzNSQ2VTOWNJaWtnZkh4Y2JpQWdJQ0FnSUhCaGRHZ3VjM1JoY25SelYybDBhQ2hjSW5CaFoybHVZWFJsUW5rdlhDSXBJSHg4WEc0Z0lDQWdJQ0J3WVhSb0xuTjBZWEowYzFkcGRHZ29YQ0ptYVc1a0wxd2lLU0I4ZkZ4dUlDQWdJQ0FnY0dGMGFDNXpkR0Z5ZEhOWGFYUm9LRndpY0dGblpTOWNJaWxjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJR0poYzJVdWNIVnphQ2hjYmlBZ0lDQWdJQ0FnUVhCcFVYVmxjbmtvZTF4dUlDQWdJQ0FnSUNBZ0lHNWhiV1U2SUZ3aVpHbHlaV04wYVc5dVhDSXNYRzRnSUNBZ0lDQWdJQ0FnY21WeGRXbHlaV1E2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnWlc1MWJUb2dUM0prWlhKRWFYSmxZM1JwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aWRHaGxJSE52Y25RZ2IzSmtaWEpjSWl4Y2JpQWdJQ0FnSUNBZ2ZTbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHdZWFJvTG5OMFlYSjBjMWRwZEdnb1hDSndZV2RwYm1GMFpVSjVMMXdpS1NCOGZDQndZWFJvTG5OMFlYSjBjMWRwZEdnb1hDSndZV2RsTDF3aUtTa2dlMXh1SUNBZ0lDQWdZbUZ6WlM1d2RYTm9LRnh1SUNBZ0lDQWdJQ0JCY0dsUmRXVnllU2g3SUc1aGJXVTZJRndpYkdsdGFYUmNJaXdnY21WeGRXbHlaV1E2SUdaaGJITmxMQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSndZV2RsSUhOcGVtVmNJaUI5S1N4Y2JpQWdJQ0FnSUNBZ1FYQnBVWFZsY25rb2V5QnVZVzFsT2lCY0ltOW1abk5sZEZ3aUxDQnlaWEYxYVhKbFpEb2dabUZzYzJVc0lHUmxjMk55YVhCMGFXOXVPaUJjSW5CaFoyVWdiblZ0WW1WeVhDSWdmU2tzWEc0Z0lDQWdJQ0FnSUVGd2FWRjFaWEo1S0hzZ2JtRnRaVG9nWENKaWIyOXJiV0Z5YTF3aUxDQnlaWEYxYVhKbFpEb2dabUZzYzJVc0lHUmxjMk55YVhCMGFXOXVPaUJjSW1KdmIydHRZWEpySUdadmNpQmpkWEp6YjNJZ2NHRm5hVzVoZEdsdmJsd2lJSDBwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNod1lYUm9Mbk4wWVhKMGMxZHBkR2dvWENKbWFXNWtUMjVsUW5rdlhDSXBJSHg4SUhCaGRHZ3VjM1JoY25SelYybDBhQ2hjSW1acGJtUkNlUzljSWlrcElIdGNiaUFnSUNBZ0lHSmhjMlV1Y0hWemFDaGNiaUFnSUNBZ0lDQWdRWEJwVG05MFJtOTFibVJTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUNBZ1pHVnpZM0pwY0hScGIyNDZJR0JPYnlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCeVpXTnZjbVFnYldGMFkyaGxjeUIwYUdVZ2NISnZkbWxrWldRZ2FXUmxiblJwWm1sbGNpNWdMRnh1SUNBZ0lDQWdJQ0I5S1Z4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1hHNGdJQ0FnSUNCemRHRjBaVzFsYm5STFpYa2dQVDA5SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NURUMVZPVkY5UFJpQjhmRnh1SUNBZ0lDQWdjM1JoZEdWdFpXNTBTMlY1SUQwOVBTQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UVZaSFgwOUdJSHg4WEc0Z0lDQWdJQ0J6ZEdGMFpXMWxiblJMWlhrZ1BUMDlJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1VFZVMWZUMFpjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJR0poYzJVdWNIVnphQ2hCY0dsUGExSmxjM0J2Ym5ObEtIc2daR1Z6WTNKcGNIUnBiMjQ2SUdCU1pYTjFiSFFnWm05eUlDUjdiVzlrWld4RGJHRjZlazVoYldWOUxtQXNJSFI1Y0dVNklFNTFiV0psY2lCOUtTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHpkR0YwWlcxbGJuUkxaWGtnUFQwOUlGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVFU1ZOVVNVNURWRjlQUmlrZ2UxeHVJQ0FnSUNBZ1ltRnpaUzV3ZFhOb0tFRndhVTlyVW1WemNHOXVjMlVvZXlCa1pYTmpjbWx3ZEdsdmJqb2dZRVJwYzNScGJtTjBJSFpoYkhWbGN5Qm1iM0lnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDB1WUN3Z2RIbHdaVG9nVzFOMGNtbHVaMTBnZlNrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJpWVhObE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ1oyVjBVWFZsY25sRVpXTnZjbUYwYjNKektGeHVJQ0FnSUcxbGRHaHZaRTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0J5YjNWMFpWQmhkR2c2SUhOMGNtbHVaeXhjYmlBZ0lDQm9kSFJ3Vm1WeVlqb2djM1J5YVc1bkxGeHVJQ0FnSUdsdVkyeDFaR1ZSZFdWeWVWQmhjbUZ0Y3pvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sWEc0Z0lDazZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUdWNGRISmhZM1JRWVhSb1VHRnlZVzF6SUQwZ0tIQTZJSE4wY21sdVp5azZJSE4wY21sdVoxdGRJRDArWEc0Z0lDQWdJQ0J3TG5Od2JHbDBLRndpTDF3aUtTNW1hV3gwWlhJb0tITXBJRDArSUhNdWMzUmhjblJ6VjJsMGFDaGNJanBjSWlrcExtMWhjQ2dvY3lrZ1BUNGdjeTV6YkdsalpTZ3hLU2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmhjR2xRWVhSb1VHRnlZVzF6SUQwZ1pYaDBjbUZqZEZCaGRHaFFZWEpoYlhNb2NtOTFkR1ZRWVhSb0tTNXRZWEFvS0c1aGJXVXBJRDArSUNoN1hHNGdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUdBa2UyNWhiV1Y5SUhCaGNtRnRaWFJsY2lCbWIzSWdkR2hsSUhGMVpYSjVZQ3hjYmlBZ0lDQWdJSEpsY1hWcGNtVmtPaUIwY25WbExGeHVJQ0FnSUNBZ2RIbHdaVG9nVTNSeWFXNW5MRnh1SUNBZ0lIMHBLVHRjYmx4dUlDQWdJR052Ym5OMElHUmxZMjl5WVhSdmNuTTZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENGdQU0JiWEc0Z0lDQWdJQ0F1TGk1aGNHbFFZWFJvVUdGeVlXMXpMbTFoY0Nnb2NDa2dQVDRnUVhCcFVHRnlZVzBvY0NrcExGeHVJQ0FnSUNBZ1FYQnBUM0JsY21GMGFXOXVLSHNnYzNWdGJXRnllVG9nWUZKbGRISnBaWFpsSUhKbFkyOXlaSE1nZFhOcGJtY2dYQ0lrZTIxbGRHaHZaRTVoYldWOVhDSXVZQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVOXJVbVZ6Y0c5dWMyVW9leUJrWlhOamNtbHdkR2x2YmpvZ1hDSlNaWE4xYkhRZ2MzVmpZMlZ6YzJaMWJHeDVJSEpsZEhKcFpYWmxaQzVjSWlCOUtTeGNiaUFnSUNBZ0lFRndhVTV2UTI5dWRHVnVkRkpsYzNCdmJuTmxLSHNnWkdWelkzSnBjSFJwYjI0NklGd2lUbThnWTI5dWRHVnVkQ0J5WlhSMWNtNWxaQ0JpZVNCMGFHVWdiV1YwYUc5a0xsd2lJSDBwTEZ4dUlDQWdJRjA3WEc1Y2JpQWdJQ0JwWmlBb2FIUjBjRlpsY21JZ1BUMDlJRndpUjBWVVhDSWdKaVlnYVc1amJIVmtaVkYxWlhKNVVHRnlZVzF6S1NCN1hHNGdJQ0FnSUNCa1pXTnZjbUYwYjNKekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUVGd2FWRjFaWEo1S0h0Y2JpQWdJQ0FnSUNBZ0lDQnVZVzFsT2lCY0ltUnBjbVZqZEdsdmJsd2lMRnh1SUNBZ0lDQWdJQ0FnSUhKbGNYVnBjbVZrT2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNCbGJuVnRPaUJQY21SbGNrUnBjbVZqZEdsdmJpeGNiaUFnSUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSjBhR1VnYzI5eWRDQnZjbVJsY2lCM2FHVnVJR0Z3Y0d4cFkyRmliR1ZjSWl4Y2JpQWdJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQWdJRUZ3YVZGMVpYSjVLSHNnYm1GdFpUb2dYQ0pzYVcxcGRGd2lMQ0J5WlhGMWFYSmxaRG9nWm1Gc2MyVXNJR1JsYzJOeWFYQjBhVzl1T2lCY0lteHBiV2wwSUc5eUlIQmhaMlVnYzJsNlpWd2lJSDBwTEZ4dUlDQWdJQ0FnSUNCQmNHbFJkV1Z5ZVNoN0lHNWhiV1U2SUZ3aWIyWm1jMlYwWENJc0lISmxjWFZwY21Wa09pQm1ZV3h6WlN3Z1pHVnpZM0pwY0hScGIyNDZJRndpYjJabWMyVjBJRzl5SUdKdmIydHRZWEpyWENJZ2ZTbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdSbFkyOXlZWFJ2Y25NN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
799
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbU1vZGVsQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNhZi1tb2RlbC9Gcm9tTW9kZWxDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFdBQVcsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLGtCQUFrQixFQUNsQixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLDhCQUE4QixFQUM5QixhQUFhLEdBQ2QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YscUJBQXFCLEVBRXJCLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFvQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBZSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUVsQixTQUFTLEVBQ1QsVUFBVSxHQUNYLDhCQUFxQjtBQUN0QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQTJCO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBbUI7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFB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RUFBRSxvQ0FBb0M7YUFDbEQsQ0FBQztTQUNILENBQUM7UUFFRixJQUFJLFFBQVEsS0FBSyxLQUFLLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUM3QyxVQUFVLENBQUMsSUFBSSxDQUNiLFFBQVEsQ0FBQztnQkFDUCxJQUFJLEVBQUUsV0FBVztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFdBQVcsRUFBRSxnQ0FBZ0M7YUFDOUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQztnQkFDUCxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsb0JBQW9CO2FBQ2xDLENBQUMsRUFDRixRQUFRLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsV0FBVyxFQUFFLG9CQUFvQjthQUNsQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udHJvbGxlcixcbiAgUGFyYW0sXG4gIFF1ZXJ5LFxuICBSZXNwb25zZSxcbiAgU2V0TWV0YWRhdGEsXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlLFxuICBBcGlCb2R5LFxuICBBcGlDcmVhdGVkUmVzcG9uc2UsXG4gIEFwaUV4dHJhTW9kZWxzLFxuICBBcGlOb0NvbnRlbnRSZXNwb25zZSxcbiAgQXBpTm90Rm91bmRSZXNwb25zZSxcbiAgQXBpT2tSZXNwb25zZSxcbiAgQXBpT3BlcmF0aW9uLFxuICBBcGlQYXJhbSxcbiAgQXBpUXVlcnksXG4gIEFwaVRhZ3MsXG4gIEFwaVVucHJvY2Vzc2FibGVFbnRpdHlSZXNwb25zZSxcbiAgZ2V0U2NoZW1hUGF0aCxcbn0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHtcbiAgTW9kZWxTZXJ2aWNlLFxuICBPcmRlckRpcmVjdGlvbixcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBQcmVwYXJlZFN0YXRlbWVudEtleXMsXG4gIHR5cGUgUmVwbyxcbiAgUmVwb3NpdG9yeSxcbiAgU2VydmljZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCwgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvS2ViYWJDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQge1xuICBEQktleXMsXG4gIEJhc2VFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7XG4gIEFwaU9wZXJhdGlvbkZyb21Nb2RlbCxcbiAgQXBpUGFyYW1zRnJvbU1vZGVsLFxuICB0eXBlIERlY2FmQXBpUHJvcGVydHksXG4gIERlY2FmQm9keSxcbiAgRGVjYWZRdWVyeSxcbn0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSHR0cFZlcmJUb0RlY29yYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnMvdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgSHR0cFZlcmJzIH0gZnJvbSBcIi4vZGVjb3JhdG9ycy90eXBlc1wiO1xuaW1wb3J0IHsgRGVjYWZSZXF1ZXN0Q29udGV4dCB9IGZyb20gXCIuLi9yZXF1ZXN0XCI7XG5pbXBvcnQgeyBERUNBRl9DT05UUk9MTEVSX0NPTkZJRywgREVDQUZfUk9VVEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTS0lQX01PREVMX1JPTEVTX0tFWSB9IGZyb20gXCIuLi9hdXRoL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQXV0aCwgUHVibGljLCBSZXF1aXJlUm9sZXMgfSBmcm9tIFwiLi4vYXV0aC9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb250cm9sbGVyQ29uc3RydWN0b3IgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgRGVjYWZNb2RlbENvbnRyb2xsZXIgfSBmcm9tIFwiLi4vY29udHJvbGxlcnNcIjtcbmltcG9ydCB7IER0b0ZvciB9IGZyb20gXCIuLi9mYWN0b3J5L29wZW5hcGkvRHRvQnVpbGRlclwiO1xuaW1wb3J0IFwiLi4vb3ZlcnJpZGVzXCI7XG5pbXBvcnQge1xuICBNb2RlbENvbnRyb2xsZXJGYWN0b3J5LFxuICB0eXBlIE1vZGVsQ29udHJvbGxlckZhY3RvcnlDb25maWcsXG4gIHR5cGUgQXV0aENvbmZpZyxcbiAgdHlwZSBTZXJ2ZXJSb3V0ZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9zZXJ2ZXJcIjtcblxuZXhwb3J0IGNsYXNzIEZyb21Nb2RlbENvbnRyb2xsZXIge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsb2cgPSBMb2dnaW5nLmZvcihGcm9tTW9kZWxDb250cm9sbGVyLm5hbWUpO1xuXG4gIHByaXZhdGUgc3RhdGljIHRvRGVjYWZFcnJvcihcbiAgICBlcnJvcjogdW5rbm93bixcbiAgICBmYWxsYmFja01lc3NhZ2U6IHN0cmluZ1xuICApOiBCYXNlRXJyb3Ige1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVycm9yO1xuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgPyBgJHtmYWxsYmFja01lc3NhZ2V9OiAke2Vycm9yLm1lc3NhZ2V9YFxuICAgICAgICA6IGZhbGxiYWNrTWVzc2FnZVxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgZ2V0UGVyc2lzdGVuY2U8VCBleHRlbmRzIE1vZGVsPGJvb2xlYW4+PihcbiAgICBNb2RlbENsYXp6OiBNb2RlbENvbnN0cnVjdG9yPFQ+XG4gICk6IFJlcG88VD4gfCBNb2RlbFNlcnZpY2U8VD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gU2VydmljZS5nZXQ8TW9kZWxTZXJ2aWNlPFQ+PihNb2RlbENsYXp6KTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gTW9kZWxTZXJ2aWNlLmdldFNlcnZpY2UoTW9kZWxDbGF6eikgYXMgTW9kZWxTZXJ2aWNlPFQ+O1xuICAgICAgfSBjYXRjaCAoZTI6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIFJlcG9zaXRvcnkuZm9yTW9kZWwoTW9kZWxDbGF6eikgYXMgUmVwbzxUPjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlUXVlcnlSb3V0ZXNGcm9tUmVwb3NpdG9yeTxUIGV4dGVuZHMgTW9kZWw8Ym9vbGVhbj4+KFxuICAgIHBlcnNpc3RlbmNlOiBSZXBvPFQ+IHwgTW9kZWxTZXJ2aWNlPFQ+LFxuICAgIHByZWZpeDogc3RyaW5nID0gUGVyc2lzdGVuY2VLZXlzLlFVRVJZXG4gICk6IENvbnRyb2xsZXJDb25zdHJ1Y3RvcjxUPiB7XG4gICAgY29uc3QgcmVwbzogUmVwbzxUPiA9XG4gICAgICBwZXJzaXN0ZW5jZSBpbnN0YW5jZW9mIE1vZGVsU2VydmljZSA/IHBlcnNpc3RlbmNlLnJlcG8gOiBwZXJzaXN0ZW5jZTtcbiAgICBjb25zdCBxdWVyeU1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIHsgZmllbGRzPzogc3RyaW5nW10gfCB1bmRlZmluZWQgfT4gPVxuICAgICAgTWV0YWRhdGEuZ2V0KFxuICAgICAgICByZXBvLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICBNZXRhZGF0YS5rZXkoUGVyc2lzdGVuY2VLZXlzLlFVRVJZKVxuICAgICAgKSA/PyB7fTtcblxuICAgIGNvbnN0IHJvdXRlTWV0aG9kczogUmVjb3JkPHN0cmluZywgYW55PiA9XG4gICAgICBNZXRhZGF0YS5nZXQoXG4gICAgICAgIHBlcnNpc3RlbmNlLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICBNZXRhZGF0YS5rZXkoREVDQUZfUk9VVEUpXG4gICAgICApID8/IHt9O1xuXG4gICAgY2xhc3MgUXVlcnlDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZNb2RlbENvbnRyb2xsZXI8VD4ge1xuICAgICAgb3ZlcnJpZGUgZ2V0IGNsYXNzKCk6IE1vZGVsQ29uc3RydWN0b3I8VD4ge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgICAgfVxuICAgICAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dCwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKGNsaWVudENvbnRleHQsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIHBhcmFtc10gb2YgT2JqZWN0LmVudHJpZXMocm91dGVNZXRob2RzKSkge1xuICAgICAgY29uc3Qgcm91dGVQYXRoID0gW3BhcmFtcy5wYXRoLnJlcGxhY2UoL15cXC8rfFxcLyskL2csIFwiXCIpXVxuICAgICAgICAuZmlsdGVyKChzZWdtZW50OiBzdHJpbmcpID0+IHNlZ21lbnQgJiYgc2VnbWVudC50cmltKCkpXG4gICAgICAgIC5qb2luKFwiL1wiKTtcblxuICAgICAgY29uc3QgaGFuZGxlciA9IEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlQ29tcGxleFF1ZXJ5SGFuZGxlcihcbiAgICAgICAgbWV0aG9kTmFtZVxuICAgICAgKSBhcyBhbnk7XG4gICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmRlZmluZU1ldGhvZChRdWVyeUNvbnRyb2xsZXIsIG1ldGhvZE5hbWUsIGhhbmRsZXIpO1xuXG4gICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihwYXJhbXMuaHR0cE1ldGhvZCBhcyBIdHRwVmVyYnMpKFxuICAgICAgICByb3V0ZVBhdGggfHwgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UXVlcnlEZWNvcmF0b3JzKFxuICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICByb3V0ZVBhdGgsXG4gICAgICAgIHBhcmFtcy5odHRwTWV0aG9kXG4gICAgICApO1xuICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5hcHBseURlY29yYXRvcnMoUXVlcnlDb250cm9sbGVyLCBtZXRob2ROYW1lLCBbXG4gICAgICAgIGh0dHBEZWNvcmF0b3IsXG4gICAgICAgIC4uLmRlY29yYXRvcnMsXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFttZXRob2ROYW1lLCBvYmpWYWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKHF1ZXJ5TWV0aG9kcykpIHtcbiAgICAgIGNvbnN0IGZpZWxkcyA9IG9ialZhbHVlcy5maWVsZHMgPz8gW107XG4gICAgICBjb25zdCByb3V0ZVBhdGggPSBbcHJlZml4LCBtZXRob2ROYW1lLCAuLi5maWVsZHMubWFwKChmKSA9PiBgOiR7Zn1gKV1cbiAgICAgICAgLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudCAmJiBzZWdtZW50LnRyaW0oKSlcbiAgICAgICAgLmpvaW4oXCIvXCIpO1xuXG4gICAgICBjb25zdCBoYW5kbGVyID0gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVDb21wbGV4UXVlcnlIYW5kbGVyKFxuICAgICAgICBtZXRob2ROYW1lXG4gICAgICApIGFzIGFueTtcbiAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVmaW5lTWV0aG9kKFF1ZXJ5Q29udHJvbGxlciwgbWV0aG9kTmFtZSwgaGFuZGxlcik7XG5cbiAgICAgIGNvbnN0IGh0dHBEZWNvcmF0b3IgPSBIdHRwVmVyYlRvRGVjb3JhdG9yKFwiR0VUXCIgYXMgSHR0cFZlcmJzKShcbiAgICAgICAgcm91dGVQYXRoIHx8IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGRlY29yYXRvcnMgPSBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhcbiAgICAgICAgbWV0aG9kTmFtZSxcbiAgICAgICAgcm91dGVQYXRoLFxuICAgICAgICBcIkdFVFwiLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5hcHBseURlY29yYXRvcnMoUXVlcnlDb250cm9sbGVyLCBtZXRob2ROYW1lLCBbXG4gICAgICAgIGh0dHBEZWNvcmF0b3IsXG4gICAgICAgIC4uLmRlY29yYXRvcnMsXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUXVlcnlDb250cm9sbGVyO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZTxUIGV4dGVuZHMgTW9kZWw8YW55Pj4oXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8VD4sXG4gICAgbW9kdWxlQ29uZmlnT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgTW9kZWxDb250cm9sbGVyRmFjdG9yeUNvbmZpZz4sXG4gICAgZ2xvYmFsRGVmYXVsdHM/OiBQYXJ0aWFsPE1vZGVsQ29udHJvbGxlckZhY3RvcnlDb25maWc+XG4gICk6IENvbnRyb2xsZXJDb25zdHJ1Y3RvcjxUPiB7XG4gICAgY29uc3QgbG9nID0gRnJvbU1vZGVsQ29udHJvbGxlci5sb2cuZm9yKEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoTW9kZWxDb25zdHIpO1xuICAgIGNvbnN0IHJvdXRlUGF0aCA9IHRvS2ViYWJDYXNlKHRhYmxlTmFtZSk7XG4gICAgY29uc3QgbW9kZWxDbGF6ek5hbWUgPSBNb2RlbENvbnN0ci5uYW1lO1xuICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gRnJvbU1vZGVsQ29udHJvbGxlci5nZXRQZXJzaXN0ZW5jZShNb2RlbENvbnN0cik7XG5cbiAgICAvLyBXaGVuIHBlcnNpc3RlbmNlIGlzIGEgTW9kZWxTZXJ2aWNlLCB0aGUgQHF1ZXJ5L0Byb3V0ZSBtZXRhZGF0YSBsaXZlcyBvblxuICAgIC8vIHRoZSB1bmRlcmx5aW5nIHJlcG9zaXRvcnkgY2xhc3MgKGN1c3RvbSByZXBvKSwgbm90IG9uIE1vZGVsU2VydmljZSBpdHNlbGYuXG4gICAgLy8gUGFzcyB0aGUgcmVwbyB0byB0aGUgZmFjdG9yeSBzbyBhZGRDb21wbGV4UXVlcmllcygpIGNhbiBkaXNjb3ZlciB0aGVtLlxuICAgIGNvbnN0IGZhY3RvcnlQZXJzaXN0ZW5jZSA9XG4gICAgICBwZXJzaXN0ZW5jZSBpbnN0YW5jZW9mIE1vZGVsU2VydmljZSA/IHBlcnNpc3RlbmNlLnJlcG8gOiBwZXJzaXN0ZW5jZTtcblxuICAgIGNvbnN0IGRlY29yYXRvckNvbmZpZyA9IE1ldGFkYXRhLmdldChcbiAgICAgIE1vZGVsQ29uc3RyLFxuICAgICAgTWV0YWRhdGEua2V5KERFQ0FGX0NPTlRST0xMRVJfQ09ORklHKVxuICAgICkgYXMgTW9kZWxDb250cm9sbGVyRmFjdG9yeUNvbmZpZyB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBtb2R1bGVPdmVycmlkZSA9IG1vZHVsZUNvbmZpZ092ZXJyaWRlcz8uW01vZGVsQ29uc3RyLm5hbWVdO1xuICAgIGNvbnN0IG1lcmdlZENvbmZpZzogTW9kZWxDb250cm9sbGVyRmFjdG9yeUNvbmZpZyA9IHtcbiAgICAgIC4uLihnbG9iYWxEZWZhdWx0cyB8fCB7fSksXG4gICAgICAuLi4oZGVjb3JhdG9yQ29uZmlnIHx8IHt9KSxcbiAgICAgIC4uLihtb2R1bGVPdmVycmlkZSB8fCB7fSksXG4gICAgfTtcblxuICAgIGNvbnN0IEZhY3RvcnlDb250cm9sbGVyID0gTW9kZWxDb250cm9sbGVyRmFjdG9yeS5jcmVhdGU8VD4oXG4gICAgICBNb2RlbENvbnN0cixcbiAgICAgIGZhY3RvcnlQZXJzaXN0ZW5jZSxcbiAgICAgIG1lcmdlZENvbmZpZ1xuICAgICk7XG4gICAgY29uc3QgZmFjdG9yeVJvdXRlcyA9IChGYWN0b3J5Q29udHJvbGxlciBhcyBhbnkpLl9fcm91dGVzX18gYXNcbiAgICAgIHwgU2VydmVyUm91dGVbXVxuICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB7XG4gICAgICBnZXRQSyxcbiAgICAgIGFwaVByb3BlcnRpZXMsXG4gICAgICBwYXRoOiBwa1BhdGgsXG4gICAgfSA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0Um91dGVQYXJhbWV0ZXJzRnJvbU1vZGVsKE1vZGVsQ29uc3RyKTtcblxuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBDcmVhdGluZyBjb250cm9sbGVyIGZvciBtb2RlbDogJHttb2RlbENsYXp6TmFtZX0gd2l0aCAke2ZhY3RvcnlSb3V0ZXM/Lmxlbmd0aCA/PyAwfSBmYWN0b3J5IHJvdXRlc2BcbiAgICApO1xuXG4gICAgY29uc3QgYXV0aENvbmZpZzogQXV0aENvbmZpZyB8IHVuZGVmaW5lZCA9IG1lcmdlZENvbmZpZy5hdXRoO1xuXG4gICAgZnVuY3Rpb24gYXBwbHlDbGFzc0F1dGgodGFyZ2V0OiBhbnkpIHtcbiAgICAgIGlmIChhdXRoQ29uZmlnPy5wdWJsaWMpIHtcbiAgICAgICAgUHVibGljKCkodGFyZ2V0KTtcbiAgICAgIH0gZWxzZSBpZiAoYXV0aENvbmZpZz8ucm9sZXM/Lmxlbmd0aCkge1xuICAgICAgICBSZXF1aXJlUm9sZXMoLi4uYXV0aENvbmZpZy5yb2xlcykodGFyZ2V0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIEF1dGgoTW9kZWxDb25zdHIpKHRhcmdldCk7XG4gICAgICB9XG4gICAgICBpZiAoYXV0aENvbmZpZz8uc2tpcE1vZGVsUm9sZXMpIHtcbiAgICAgICAgU2V0TWV0YWRhdGEoU0tJUF9NT0RFTF9ST0xFU19LRVksIHRydWUpKHRhcmdldCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQENvbnRyb2xsZXIocm91dGVQYXRoKVxuICAgIEBBcGlUYWdzKG1vZGVsQ2xhenpOYW1lKVxuICAgIEBBcGlFeHRyYU1vZGVscyhNb2RlbENvbnN0cilcbiAgICBjbGFzcyBEeW5hbWljTW9kZWxDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZNb2RlbENvbnRyb2xsZXI8VD4ge1xuICAgICAgcHJpdmF0ZSByZWFkb25seSBwazogc3RyaW5nID0gTW9kZWwucGsoTW9kZWxDb25zdHIpIGFzIHN0cmluZztcblxuICAgICAgcHJvdGVjdGVkIHN0YXRpYyBnZXQgY2xhc3MoKSB7XG4gICAgICAgIHJldHVybiBNb2RlbENvbnN0cjtcbiAgICAgIH1cblxuICAgICAgb3ZlcnJpZGUgZ2V0IGNsYXNzKCk6IE1vZGVsQ29uc3RydWN0b3I8VD4ge1xuICAgICAgICByZXR1cm4gTW9kZWxDb25zdHI7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0cnVjdG9yKGNsaWVudENvbnRleHQ6IERlY2FmUmVxdWVzdENvbnRleHQpIHtcbiAgICAgICAgc3VwZXIoY2xpZW50Q29udGV4dCwgRHluYW1pY01vZGVsQ29udHJvbGxlci5uYW1lKTtcbiAgICAgICAgbG9nLmluZm8oXG4gICAgICAgICAgYFJlZ2lzdGVyaW5nIGR5bmFtaWMgY29udHJvbGxlciBmb3IgbW9kZWw6ICR7dGhpcy5jbGFzcy5uYW1lfSByb3V0ZTogLyR7cm91dGVQYXRofWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBseUNsYXNzQXV0aChEeW5hbWljTW9kZWxDb250cm9sbGVyKTtcblxuICAgIGlmIChmYWN0b3J5Um91dGVzKSB7XG4gICAgICBjb25zdCBzb3J0ZWRSb3V0ZXMgPSBbLi4uZmFjdG9yeVJvdXRlc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBjb25zdCBhU2VnbWVudHMgPSBhLnBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgY29uc3QgYlNlZ21lbnRzID0gYi5wYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGNvbnN0IGFQYXJhbUNvdW50ID0gYVNlZ21lbnRzLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSkubGVuZ3RoO1xuICAgICAgICBjb25zdCBiUGFyYW1Db3VudCA9IGJTZWdtZW50cy5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpLmxlbmd0aDtcbiAgICAgICAgY29uc3QgYUxpdGVyYWxDb3VudCA9IGFTZWdtZW50cy5sZW5ndGggLSBhUGFyYW1Db3VudDtcbiAgICAgICAgY29uc3QgYkxpdGVyYWxDb3VudCA9IGJTZWdtZW50cy5sZW5ndGggLSBiUGFyYW1Db3VudDtcbiAgICAgICAgaWYgKGFMaXRlcmFsQ291bnQgIT09IGJMaXRlcmFsQ291bnQpXG4gICAgICAgICAgcmV0dXJuIGJMaXRlcmFsQ291bnQgLSBhTGl0ZXJhbENvdW50O1xuICAgICAgICBpZiAoYVBhcmFtQ291bnQgIT09IGJQYXJhbUNvdW50KSByZXR1cm4gYVBhcmFtQ291bnQgLSBiUGFyYW1Db3VudDtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9KTtcblxuICAgICAgZm9yIChjb25zdCByb3V0ZSBvZiBzb3J0ZWRSb3V0ZXMpIHtcbiAgICAgICAgY29uc3QgbWV0aG9kTmFtZSA9XG4gICAgICAgICAgcm91dGUuaW1wbGVtZW50YXRpb24/Lm5hbWUgfHwgcm91dGUubWV0aG9kLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IEZyb21Nb2RlbENvbnRyb2xsZXIubWF0Y2hSb3V0ZShcbiAgICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgIHBrUGF0aCxcbiAgICAgICAgICBhcGlQcm9wZXJ0aWVzLFxuICAgICAgICAgIGdldFBLLFxuICAgICAgICAgIE1vZGVsQ29uc3RyLFxuICAgICAgICAgIG1vZGVsQ2xhenpOYW1lXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmVnaXN0cmF0aW9uKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgbWV0aG9kTmFtZTogcmVnaXN0ZXJlZE1ldGhvZE5hbWUsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBkZWNvcmF0b3JzLFxuICAgICAgICAgIHBhcmFtRGVjb3JhdG9ycyxcbiAgICAgICAgfSA9IHJlZ2lzdHJhdGlvbjtcblxuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoXG4gICAgICAgICAgRHluYW1pY01vZGVsQ29udHJvbGxlcixcbiAgICAgICAgICByZWdpc3RlcmVkTWV0aG9kTmFtZSxcbiAgICAgICAgICBoYW5kbGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihyb3V0ZS5tZXRob2QgYXMgSHR0cFZlcmJzKShcbiAgICAgICAgICAgIHJvdXRlLnBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIikgfHwgdW5kZWZpbmVkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhcbiAgICAgICAgICAgIER5bmFtaWNNb2RlbENvbnRyb2xsZXIsXG4gICAgICAgICAgICByZWdpc3RlcmVkTWV0aG9kTmFtZSxcbiAgICAgICAgICAgIFtodHRwRGVjb3JhdG9yLCAuLi5kZWNvcmF0b3JzXSxcbiAgICAgICAgICAgIHBhcmFtRGVjb3JhdG9yc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRHluYW1pY01vZGVsQ29udHJvbGxlciBhcyBhbnk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Um91dGVQYXJhbWV0ZXJzRnJvbU1vZGVsPFQgZXh0ZW5kcyBNb2RlbDxhbnk+PihcbiAgICBNb2RlbENsYXp6OiBNb2RlbENvbnN0cnVjdG9yPFQ+XG4gICk6IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBhcGlQcm9wZXJ0aWVzOiBEZWNhZkFwaVByb3BlcnR5W107XG4gICAgZ2V0UEs6ICguLi5wYXJhbXM6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pID0+IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgcGsgPSBNb2RlbC5wayhNb2RlbENsYXp6KSBhcyBrZXlvZiBNb2RlbDxhbnk+O1xuICAgIGNvbnN0IGNvbXBvc2VkID0gTWV0YWRhdGEuZ2V0KFxuICAgICAgTW9kZWxDbGF6eixcbiAgICAgIE1ldGFkYXRhLmtleShEQktleXMuQ09NUE9TRUQsIHBrKVxuICAgICk7XG4gICAgY29uc3QgY29tcG9zZWRLZXlzID0gY29tcG9zZWQ/LmFyZ3MgPz8gW107XG5cbiAgICBjb25zdCB1bmlxdWVLZXlzID1cbiAgICAgIEFycmF5LmlzQXJyYXkoY29tcG9zZWRLZXlzKSAmJiBjb21wb3NlZEtleXMubGVuZ3RoID4gMFxuICAgICAgICA/IEFycmF5LmZyb20obmV3IFNldChbLi4uY29tcG9zZWRLZXlzXSkpXG4gICAgICAgIDogQXJyYXkuZnJvbShuZXcgU2V0KFtwa10pKTtcblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24oTW9kZWxDbGF6eikgPz8gXCJcIjtcbiAgICBjb25zdCBwYXRoID0gYDoke3VuaXF1ZUtleXMuam9pbihcIi86XCIpfWA7XG4gICAgY29uc3QgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdID0gdW5pcXVlS2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZToga2V5LFxuICAgICAgICBkZXNjcmlwdGlvbjogTWV0YWRhdGEuZGVzY3JpcHRpb24oTW9kZWxDbGF6eiwga2V5KSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgYXBpUHJvcGVydGllcyxcbiAgICAgIGdldFBLOiAoLi4ucGFyYW1zOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSA9PlxuICAgICAgICBjb21wb3NlZD8uc2VwYXJhdG9yID8gcGFyYW1zLmpvaW4oY29tcG9zZWQuc2VwYXJhdG9yKSA6IHBhcmFtcy5qb2luKFwiXCIpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByb3V0ZVBhcmFtRGVjb3JhdG9ycyhcbiAgICBwYXRoOiBzdHJpbmdcbiAgKTogQXJyYXk8eyBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjsgaW5kZXg6IG51bWJlciB9PiB7XG4gICAgbGV0IHBhcmFtSW5kZXggPSAwO1xuICAgIHJldHVybiBwYXRoXG4gICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAuZmxhdE1hcCgoc2VnbWVudCkgPT4ge1xuICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiOlwiKSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGRlY29yYXRvcjogUGFyYW0oc2VnbWVudC5zbGljZSgxKSkgYXMgYW55LCBpbmRleDogcGFyYW1JbmRleCsrIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiKlwiKSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGRlY29yYXRvcjogUGFyYW0oc2VnbWVudC5zbGljZSgxKSkgYXMgYW55LCBpbmRleDogcGFyYW1JbmRleCsrIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlZmluZU1ldGhvZChcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgaGFuZGxlcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbiAgKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSB8fCB0YXJnZXQsIG1ldGhvZE5hbWUsIHtcbiAgICAgIHZhbHVlOiBoYW5kbGVyLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgIHRhcmdldC5wcm90b3R5cGUgfHwgdGFyZ2V0LFxuICAgICAgbWV0aG9kTmFtZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBhcHBseURlY29yYXRvcnMoXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgIG1ldGhvZERlY29yYXRvcnM6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4sXG4gICAgcGFyYW1EZWNvcmF0b3JzOiBBcnJheTx7XG4gICAgICBkZWNvcmF0b3I6IFBhcmFtZXRlckRlY29yYXRvcjtcbiAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4gPSBbXVxuICApIHtcbiAgICBjb25zdCBwcm90byA9IHRhcmdldD8ucHJvdG90eXBlID8/IHRhcmdldDtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgbWV0aG9kTmFtZSk7XG4gICAgbWV0aG9kRGVjb3JhdG9ycy5mb3JFYWNoKChkKSA9PiBkKHByb3RvLCBtZXRob2ROYW1lLCBkZXNjcmlwdG9yKSk7XG4gICAgcGFyYW1EZWNvcmF0b3JzLmZvckVhY2goKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PlxuICAgICAgZGVjb3JhdG9yKHByb3RvLCBtZXRob2ROYW1lLCBpbmRleClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWF0Y2hSb3V0ZShcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgcm91dGU6IFNlcnZlclJvdXRlLFxuICAgIHBrUGF0aDogc3RyaW5nLFxuICAgIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXSxcbiAgICBnZXRQSzogKC4uLnA6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pID0+IHN0cmluZyxcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmdcbiAgKTpcbiAgICB8IHtcbiAgICAgICAgbWV0aG9kTmFtZTogc3RyaW5nO1xuICAgICAgICBoYW5kbGVyOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbiAgICAgICAgZGVjb3JhdG9yczogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPjtcbiAgICAgICAgcGFyYW1EZWNvcmF0b3JzOiBBcnJheTx7XG4gICAgICAgICAgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7XG4gICAgICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICAgICAgfT47XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHsgbWV0aG9kLCBwYXRoIH0gPSByb3V0ZTtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIik7XG4gICAgY29uc3QgaGFuZGxlciA9IHJvdXRlLmltcGxlbWVudGF0aW9uIGFzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJQT1NUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJjcmVhdGVcIixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVDcmVhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksXG4gICAgICAgIFtcbiAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCkgYXMgYW55LCBpbmRleDogMCB9LFxuICAgICAgICAgIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pIGFzIGFueSwgaW5kZXg6IDEgfSxcbiAgICAgICAgXVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSBcIlBPU1RcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gXCJidWxrXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJjcmVhdGVBbGxcIixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5idWxrQ3JlYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpLFxuICAgICAgICBbXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IERlY2FmQm9keSgpIGFzIGFueSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSBhcyBhbnksIGluZGV4OiAxIH0sXG4gICAgICAgIF1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gXCJidWxrXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJyZWFkQWxsXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1JlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksXG4gICAgICAgIFt7IGRlY29yYXRvcjogUXVlcnkoXCJpZHNcIikgYXMgYW55LCBpbmRleDogMCB9XVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcInVwZGF0ZUFsbFwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmJ1bGtVcGRhdGVEZWNvcmF0b3JzKFxuICAgICAgICAgIE1vZGVsQ29uc3RyLFxuICAgICAgICAgIG1vZGVsQ2xhenpOYW1lLFxuICAgICAgICAgIGFwaVByb3BlcnRpZXNcbiAgICAgICAgKSxcbiAgICAgICAgW1xuICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSBhcyBhbnksIGluZGV4OiAwIH0sXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IFJlc3BvbnNlKHsgcGFzc3Rocm91Z2g6IHRydWUgfSkgYXMgYW55LCBpbmRleDogMSB9LFxuICAgICAgICBdXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwiZGVsZXRlQWxsXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa0RlbGV0ZURlY29yYXRvcnMoXG4gICAgICAgICAgTW9kZWxDb25zdHIsXG4gICAgICAgICAgbW9kZWxDbGF6ek5hbWUsXG4gICAgICAgICAgYXBpUHJvcGVydGllc1xuICAgICAgICApLFxuICAgICAgICBbXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IFF1ZXJ5KFwiaWRzXCIpIGFzIGFueSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSBhcyBhbnksIGluZGV4OiAxIH0sXG4gICAgICAgIF1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwicmVhZFwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnJlYWREZWNvcmF0b3JzKFxuICAgICAgICAgIE1vZGVsQ29uc3RyLFxuICAgICAgICAgIG1vZGVsQ2xhenpOYW1lLFxuICAgICAgICAgIGFwaVByb3BlcnRpZXMsXG4gICAgICAgICAgcGtQYXRoXG4gICAgICAgICksXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiUFVUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IHBrUGF0aCkge1xuICAgICAgY29uc3Qgcm91dGVQYXJhbXMgPVxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgXCJ1cGRhdGVcIixcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci51cGRhdGVEZWNvcmF0b3JzKFxuICAgICAgICAgIE1vZGVsQ29uc3RyLFxuICAgICAgICAgIG1vZGVsQ2xhenpOYW1lLFxuICAgICAgICAgIGFwaVByb3BlcnRpZXMsXG4gICAgICAgICAgcGtQYXRoXG4gICAgICAgICksXG4gICAgICAgIFtcbiAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCkgYXMgYW55LCBpbmRleDogMCB9LFxuICAgICAgICAgIC4uLnJvdXRlUGFyYW1zLm1hcCgoeyBkZWNvcmF0b3IsIGluZGV4IH0pID0+ICh7XG4gICAgICAgICAgICBkZWNvcmF0b3IsXG4gICAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgXVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSBcIkRFTEVURVwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBwa1BhdGgpIHtcbiAgICAgIGNvbnN0IHJvdXRlUGFyYW1zID1cbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5yb3V0ZVBhcmFtRGVjb3JhdG9ycyhub3JtYWxpemVkUGF0aCk7XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIFwiZGVsZXRlXCIsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVsZXRlRGVjb3JhdG9ycyhcbiAgICAgICAgICBNb2RlbENvbnN0cixcbiAgICAgICAgICBtb2RlbENsYXp6TmFtZSxcbiAgICAgICAgICBhcGlQcm9wZXJ0aWVzLFxuICAgICAgICAgIHBrUGF0aFxuICAgICAgICApLFxuICAgICAgICByb3V0ZVBhcmFtc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NlZCBQSyBmYWxsYmFjayByb3V0ZXMgKGZpbHRlckVtcHR5KSDigJQgcGF0aCBkaWZmZXJzIGZyb20gcGtQYXRoXG4gICAgY29uc3QgZmFsbGJhY2tTZWdtZW50cyA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY29uc3QgaXNBbGxQYXJhbXMgPVxuICAgICAgZmFsbGJhY2tTZWdtZW50cy5sZW5ndGggPiAwICYmXG4gICAgICBmYWxsYmFja1NlZ21lbnRzLmV2ZXJ5KChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICBpZiAoaXNBbGxQYXJhbXMgJiYgbm9ybWFsaXplZFBhdGggIT09IHBrUGF0aCkge1xuICAgICAgY29uc3QgZmFsbGJhY2tBcGlQcm9wcyA9IGZhbGxiYWNrU2VnbWVudHNcbiAgICAgICAgLm1hcCgocykgPT4gcy5zbGljZSgxKSlcbiAgICAgICAgLm1hcCgobmFtZSkgPT4gKHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtuYW1lfSBwYXJhbWV0ZXJgLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgfSkpO1xuICAgICAgY29uc3Qgc3VmZml4ID0gZmFsbGJhY2tTZWdtZW50cy5tYXAoKHMpID0+IHMuc2xpY2UoMSkpLmpvaW4oXCJBbmRcIik7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtcyA9XG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgICAgYHJlYWRCeSR7c3VmZml4fWAsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnJlYWREZWNvcmF0b3JzKFxuICAgICAgICAgICAgTW9kZWxDb25zdHIsXG4gICAgICAgICAgICBtb2RlbENsYXp6TmFtZSxcbiAgICAgICAgICAgIGZhbGxiYWNrQXBpUHJvcHMsXG4gICAgICAgICAgICBub3JtYWxpemVkUGF0aFxuICAgICAgICAgICksXG4gICAgICAgICAgcm91dGVQYXJhbXNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRob2QgPT09IFwiUFVUXCIpIHtcbiAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICAgIGB1cGRhdGVCeSR7c3VmZml4fWAsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnVwZGF0ZURlY29yYXRvcnMoXG4gICAgICAgICAgICBNb2RlbENvbnN0cixcbiAgICAgICAgICAgIG1vZGVsQ2xhenpOYW1lLFxuICAgICAgICAgICAgZmFsbGJhY2tBcGlQcm9wcyxcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRQYXRoXG4gICAgICAgICAgKSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCkgYXMgYW55LCBpbmRleDogMCB9LFxuICAgICAgICAgICAgLi4ucm91dGVQYXJhbXMubWFwKCh7IGRlY29yYXRvciwgaW5kZXggfSkgPT4gKHtcbiAgICAgICAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIpIHtcbiAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICAgIGBkZWxldGVCeSR7c3VmZml4fWAsXG4gICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmRlbGV0ZURlY29yYXRvcnMoXG4gICAgICAgICAgICBNb2RlbENvbnN0cixcbiAgICAgICAgICAgIG1vZGVsQ2xhenpOYW1lLFxuICAgICAgICAgICAgZmFsbGJhY2tBcGlQcm9wcyxcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRQYXRoXG4gICAgICAgICAgKSxcbiAgICAgICAgICByb3V0ZVBhcmFtc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwic3RhdGVtZW50LzptZXRob2QvKmFyZ3NcIikge1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcInN0YXRlbWVudFwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnN0YXRlbWVudERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSxcbiAgICAgICAgW1xuICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShcIm1ldGhvZFwiKSBhcyBhbnksIGluZGV4OiAwIH0sXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IFBhcmFtKFwiYXJnc1wiKSBhcyBhbnksIGluZGV4OiAxIH0sXG4gICAgICAgICAgeyBkZWNvcmF0b3I6IERlY2FmUXVlcnkoKSBhcyBhbnksIGluZGV4OiAyIH0sXG4gICAgICAgIF1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIikge1xuICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFxuICAgICAgICBcImZpbmRPbmVCeVwiLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLnN0YXRlbWVudFNob3J0Y3V0RGVjb3JhdG9ycyhcbiAgICAgICAgICBNb2RlbENvbnN0cixcbiAgICAgICAgICBtb2RlbENsYXp6TmFtZSxcbiAgICAgICAgICBub3JtYWxpemVkUGF0aCxcbiAgICAgICAgICBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQllcbiAgICAgICAgKSxcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dFBhcmFtcyhub3JtYWxpemVkUGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdGVtZW50Um91dGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJsaXN0QnkvOmtleVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWSxcbiAgICAgIFwicGFnaW5hdGVCeS86a2V5LzpwYWdlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFX0JZLFxuICAgICAgXCJmaW5kLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCxcbiAgICAgIFwicGFnZS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0UsXG4gICAgICBcImZpbmRPbmVCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQlksXG4gICAgICBcImZpbmRCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWSxcbiAgICAgIFwiY291bnRPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkNPVU5UX09GLFxuICAgICAgXCJtYXhPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1BWF9PRixcbiAgICAgIFwibWluT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NSU5fT0YsXG4gICAgICBcImF2Z09mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GLFxuICAgICAgXCJzdW1PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlNVTV9PRixcbiAgICAgIFwiZGlzdGluY3RPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GLFxuICAgICAgXCJncm91cE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuR1JPVVBfT0YsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlbWVudEtleSA9IHN0YXRlbWVudFJvdXRlc1tub3JtYWxpemVkUGF0aF07XG4gICAgaWYgKHN0YXRlbWVudEtleSAmJiBtZXRob2QgPT09IFwiR0VUXCIpIHtcbiAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRNZXRob2ROYW1lKG5vcm1hbGl6ZWRQYXRoKSxcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dERlY29yYXRvcnMoXG4gICAgICAgICAgTW9kZWxDb25zdHIsXG4gICAgICAgICAgbW9kZWxDbGF6ek5hbWUsXG4gICAgICAgICAgbm9ybWFsaXplZFBhdGgsXG4gICAgICAgICAgc3RhdGVtZW50S2V5XG4gICAgICAgICksXG4gICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50U2hvcnRjdXRQYXJhbXMobm9ybWFsaXplZFBhdGgpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgY29uc3QgcXVlcnlNZXRob2QgPSBub3JtYWxpemVkUGF0aC5yZXBsYWNlKC9ecXVlcnlcXC8vLCBcIlwiKS5zcGxpdChcIi9cIilbMF07XG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIHF1ZXJ5TWV0aG9kLFxuICAgICAgICBoYW5kbGVyLFxuICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhcbiAgICAgICAgICBxdWVyeU1ldGhvZCxcbiAgICAgICAgICBub3JtYWxpemVkUGF0aCxcbiAgICAgICAgICBcIkdFVFwiLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKSxcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5jb21wbGV4UXVlcnlQYXJhbXMobm9ybWFsaXplZFBhdGgpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY29uc3Qga25vd25QcmVmaXhlcyA9IG5ldyBTZXQ8c3RyaW5nPihbXG4gICAgICBcImxpc3RCeVwiLFxuICAgICAgXCJmaW5kQnlcIixcbiAgICAgIFwiZmluZEJ5UGFnaW5hdGVcIixcbiAgICAgIFwiZmluZE9uZUJ5XCIsXG4gICAgICBcInBhZ2luYXRlQnlcIixcbiAgICAgIFwiZmluZFwiLFxuICAgICAgXCJwYWdlXCIsXG4gICAgICBcImNvdW50T2ZcIixcbiAgICAgIFwibWF4T2ZcIixcbiAgICAgIFwibWluT2ZcIixcbiAgICAgIFwiYXZnT2ZcIixcbiAgICAgIFwic3VtT2ZcIixcbiAgICAgIFwiZGlzdGluY3RPZlwiLFxuICAgICAgXCJncm91cE9mXCIsXG4gICAgICBcInN0YXRlbWVudFwiLFxuICAgICAgXCJidWxrXCIsXG4gICAgICBcInF1ZXJ5XCIsXG4gICAgXSk7XG4gICAgaWYgKFxuICAgICAgcGF0aFNlZ21lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICFub3JtYWxpemVkUGF0aC5zdGFydHNXaXRoKFwicXVlcnkvXCIpICYmXG4gICAgICAhbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInN0YXRlbWVudC9cIikgJiZcbiAgICAgICFrbm93blByZWZpeGVzLmhhcyhwYXRoU2VnbWVudHNbMF0pXG4gICAgKSB7XG4gICAgICBjb25zdCBhcGlQYXRoUGFyYW1zID0gcGF0aFNlZ21lbnRzXG4gICAgICAgIC5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpXG4gICAgICAgIC5tYXAoKHMpID0+IHMuc2xpY2UoMSkpXG4gICAgICAgIC5tYXAoKG5hbWUpID0+ICh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgfSkpO1xuXG4gICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIFtcbiAgICAgICAgICAuLi5hcGlQYXRoUGFyYW1zLm1hcCgocCkgPT4gQXBpUGFyYW0ocCkpLFxuICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSByZWNvcmRzIHVzaW5nIFwiJHttZXRob2ROYW1lfVwiLmAgfSksXG4gICAgICAgICAgQXBpT2tSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlJlc3VsdCBzdWNjZXNzZnVsbHkgcmV0cmlldmVkLlwiIH0pLFxuICAgICAgICAgIEFwaU5vQ29udGVudFJlc3BvbnNlKHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk5vIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIG1ldGhvZC5cIixcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5yb3V0ZVBhcmFtRGVjb3JhdG9ycyhub3JtYWxpemVkUGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVJlZ2lzdHJhdGlvbihcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgaGFuZGxlcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgZGVjb3JhdG9yczogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPixcbiAgICBwYXJhbURlY29yYXRvcnM6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT5cbiAgKSB7XG4gICAgcmV0dXJuIHsgbWV0aG9kTmFtZSwgaGFuZGxlciwgZGVjb3JhdG9ycywgcGFyYW1EZWNvcmF0b3JzIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzdGF0ZW1lbnRNZXRob2ROYW1lKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlyc3RTZWdtZW50ID0gcGF0aC5zcGxpdChcIi9cIilbMF07XG4gICAgcmV0dXJuIGZpcnN0U2VnbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHN0YXRlbWVudFNob3J0Y3V0UGFyYW1zKFxuICAgIHBhdGg6IHN0cmluZ1xuICApOiBBcnJheTx7IGRlY29yYXRvcjogUGFyYW1ldGVyRGVjb3JhdG9yOyBpbmRleDogbnVtYmVyIH0+IHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSk7XG4gICAgY29uc3QgcGFyYW1zOiBBcnJheTx7IGRlY29yYXRvcjogUGFyYW1ldGVyRGVjb3JhdG9yOyBpbmRleDogbnVtYmVyIH0+ID0gW107XG4gICAgc2VnbWVudHMuZm9yRWFjaCgoc2VnLCBpKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gc2VnLnJlcGxhY2UoXCI6XCIsIFwiXCIpO1xuICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IFBhcmFtKG5hbWUpIGFzIGFueSwgaW5kZXg6IGkgfSk7XG4gICAgfSk7XG4gICAgaWYgKFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwibGlzdEJ5L1wiKSB8fFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnaW5hdGVCeS9cIikgfHxcbiAgICAgIHBhdGguc3RhcnRzV2l0aChcImZpbmQvXCIpIHx8XG4gICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKVxuICAgICkge1xuICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IERlY2FmUXVlcnkoKSBhcyBhbnksIGluZGV4OiBzZWdtZW50cy5sZW5ndGggfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb21wbGV4UXVlcnlQYXJhbXMoXG4gICAgcGF0aDogc3RyaW5nXG4gICk6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT4ge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICBjb25zdCBwYXJhbXM6IEFycmF5PHsgZGVjb3JhdG9yOiBQYXJhbWV0ZXJEZWNvcmF0b3I7IGluZGV4OiBudW1iZXIgfT4gPSBbXTtcbiAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcsIGkpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogUGFyYW0obmFtZSkgYXMgYW55LCBpbmRleDogaSB9KTtcbiAgICB9KTtcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwicXVlcnkvXCIpKSB7XG4gICAgICBwYXJhbXMucHVzaCh7IGRlY29yYXRvcjogRGVjYWZRdWVyeSgpIGFzIGFueSwgaW5kZXg6IHNlZ21lbnRzLmxlbmd0aCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUNvbXBsZXhRdWVyeUhhbmRsZXIobWV0aG9kTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIGNvbXBsZXhRdWVyeShcbiAgICAgIHRoaXM6IGFueSxcbiAgICAgIC4uLmFyZ3M6IGFueVtdXG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIGNvbnN0IGxvZzogYW55ID0gdGhpcy5sb2c/LmZvcj8uKGNvbXBsZXhRdWVyeSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAobG9nKSBsb2cuZGVidWcoYEludm9raW5nIGN1c3RvbSBxdWVyeSBcIiR7bWV0aG9kTmFtZX1cImApO1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBtZXRob2ROYW1lLCB0cnVlKSkuZm9yKFxuICAgICAgICAgIGNvbXBsZXhRdWVyeVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwZXJzaXN0ZW5jZSA9IHRoaXMucGVyc2lzdGVuY2UoY3R4KTtcbiAgICAgICAgY29uc3Qgc3ByZWFkQXJncyA9IEZyb21Nb2RlbENvbnRyb2xsZXIubm9ybWFsaXplUXVlcnlBcmdzKGFyZ3MpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcGVyc2lzdGVuY2U/LnJlcG8gJiZcbiAgICAgICAgICB0eXBlb2YgcGVyc2lzdGVuY2UucmVwb1ttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5yZXBvW21ldGhvZE5hbWVdKC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgcGVyc2lzdGVuY2VbbWV0aG9kTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZVttZXRob2ROYW1lXSguLi5zcHJlYWRBcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGVyc2lzdGVuY2U/LnF1ZXJ5ICYmIHR5cGVvZiBwZXJzaXN0ZW5jZS5xdWVyeSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnF1ZXJ5KG1ldGhvZE5hbWUsIC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgcGVyc2lzdGVuY2Uuc3RhdGVtZW50ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2Uuc3RhdGVtZW50KG1ldGhvZE5hbWUsIC4uLnNwcmVhZEFyZ3MsIGN0eCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYFBlcnNpc3RlbmNlIG1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9YFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIGlmIChsb2cpIGxvZy5lcnJvcihgQ3VzdG9tIHF1ZXJ5IFwiJHttZXRob2ROYW1lfVwiIGZhaWxlZGAsIGUpO1xuICAgICAgICB0aHJvdyBGcm9tTW9kZWxDb250cm9sbGVyLnRvRGVjYWZFcnJvcihcbiAgICAgICAgICBlLFxuICAgICAgICAgIGBDdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCIgZmFpbGVkYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBleHRyYWN0UXVlcnlBcmdzKGFyZ3M6IGFueVtdKTogYW55W10ge1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGFyZ3M7XG4gICAgY29uc3QgbGFzdCA9IGFyZ3NbYXJncy5sZW5ndGggLSAxXTtcbiAgICBpZiAobGFzdCAmJiB0eXBlb2YgbGFzdCA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShsYXN0KSkge1xuICAgICAgY29uc3QgcXVlcnlPYmogPSBhcmdzLnBvcCgpO1xuICAgICAgY29uc3QgaGFzRGlyZWN0aW9uID0gcXVlcnlPYmouZGlyZWN0aW9uICE9PSB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBoYXNMaW1pdCA9IHF1ZXJ5T2JqLmxpbWl0ICE9PSB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBoYXNPZmZzZXQgPSBxdWVyeU9iai5vZmZzZXQgIT09IHVuZGVmaW5lZDtcbiAgICAgIGlmICghaGFzRGlyZWN0aW9uICYmICFoYXNMaW1pdCAmJiAhaGFzT2Zmc2V0KSByZXR1cm4gYXJncztcbiAgICAgIGNvbnN0IGV4dHJhczogYW55W10gPSBbXTtcbiAgICAgIGlmIChoYXNEaXJlY3Rpb24pIGV4dHJhcy5wdXNoKHF1ZXJ5T2JqLmRpcmVjdGlvbik7XG4gICAgICBlbHNlIGlmIChoYXNMaW1pdCB8fCBoYXNPZmZzZXQpIGV4dHJhcy5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICBpZiAoaGFzTGltaXQpIGV4dHJhcy5wdXNoKHF1ZXJ5T2JqLmxpbWl0KTtcbiAgICAgIGlmIChoYXNPZmZzZXQpIGV4dHJhcy5wdXNoKHF1ZXJ5T2JqLm9mZnNldCk7XG4gICAgICByZXR1cm4gWy4uLmFyZ3MsIC4uLmV4dHJhc107XG4gICAgfVxuICAgIHJldHVybiBhcmdzO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbm9ybWFsaXplUXVlcnlBcmdzKGFyZ3M6IGFueVtdKTogYW55W10ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBGcm9tTW9kZWxDb250cm9sbGVyLmV4dHJhY3RRdWVyeUFyZ3MoYXJncyk7XG4gICAgaWYgKG5vcm1hbGl6ZWQubGVuZ3RoID09PSAwKSByZXR1cm4gbm9ybWFsaXplZDtcblxuICAgIGNvbnN0IGxhc3QgPSBub3JtYWxpemVkW25vcm1hbGl6ZWQubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFsYXN0IHx8IHR5cGVvZiBsYXN0ICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkobGFzdCkpIHtcbiAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5T2JqID0gbGFzdCBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0IGhhc1F1ZXJ5RmllbGRzID1cbiAgICAgIHF1ZXJ5T2JqLmRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBxdWVyeU9iai5saW1pdCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBxdWVyeU9iai5vZmZzZXQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgcXVlcnlPYmouYm9va21hcmsgIT09IHVuZGVmaW5lZDtcblxuICAgIGlmICghaGFzUXVlcnlGaWVsZHMpIHtcbiAgICAgIG5vcm1hbGl6ZWQucG9wKCk7XG4gICAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgICB9XG5cbiAgICBub3JtYWxpemVkLnBvcCgpO1xuICAgIGlmIChxdWVyeU9iai5kaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmRpcmVjdGlvbik7XG4gICAgaWYgKHF1ZXJ5T2JqLmxpbWl0ICE9PSB1bmRlZmluZWQpIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5saW1pdCk7XG4gICAgaWYgKHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkKSBub3JtYWxpemVkLnB1c2gocXVlcnlPYmoub2Zmc2V0KTtcbiAgICBpZiAocXVlcnlPYmouYm9va21hcmsgIT09IHVuZGVmaW5lZCkgbm9ybWFsaXplZC5wdXNoKHF1ZXJ5T2JqLmJvb2ttYXJrKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUNyZWF0ZURlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUE9TVFwiKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBDcmVhdGUgYSBuZXcgJHttb2RlbENsYXp6TmFtZX0uYCB9KSxcbiAgICAgIEFwaUJvZHkoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYFBheWxvYWQgZm9yICR7bW9kZWxDbGF6ek5hbWV9YCxcbiAgICAgICAgdHlwZTogRHRvRm9yKE9wZXJhdGlvbktleXMuQ1JFQVRFLCBNb2RlbENvbnN0ciksXG4gICAgICB9KSxcbiAgICAgIEFwaUNyZWF0ZWRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gY3JlYXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgICBBcGlVbnByb2Nlc3NhYmxlRW50aXR5UmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXBvc2l0b3J5IHJlamVjdGVkIHRoZSBwcm92aWRlZCBwYXlsb2FkLlwiLFxuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJ1bGtDcmVhdGVEZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZ1xuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBPU1RcIiwgXCJidWxrXCIpLFxuICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYENyZWF0ZSBhIG5ldyAke21vZGVsQ2xhenpOYW1lfS5gIH0pLFxuICAgICAgQXBpQm9keSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgJHttb2RlbENsYXp6TmFtZX1gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpQ3JlYXRlZFJlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBjcmVhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiUGF5bG9hZCB2YWxpZGF0aW9uIGZhaWxlZC5cIiB9KSxcbiAgICAgIEFwaVVucHJvY2Vzc2FibGVFbnRpdHlSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcG9zaXRvcnkgcmVqZWN0ZWQgdGhlIHByb3ZpZGVkIHBheWxvYWQuXCIsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVsa1JlYWREZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZ1xuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkdFVFwiLCBcImJ1bGtcIiksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkcyBieSBpZHMuYCB9KSxcbiAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJpZHNcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiYXJyYXlcIiB9KSxcbiAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgIGl0ZW1zOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVsa1VwZGF0ZURlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nLFxuICAgIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXVxuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBVVFwiLCBcImJ1bGtcIiksXG4gICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICBzdW1tYXJ5OiBgUmVwbGFjZSBleGlzdGluZyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmRzIHdpdGggbmV3IHBheWxvYWRzLmAsXG4gICAgICB9KSxcbiAgICAgIEFwaUJvZHkoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYFBheWxvYWQgZm9yIHJlcGxhY2luZyBleGlzdGluZyByZWNvcmRzIG9mICR7bW9kZWxDbGF6ek5hbWV9YCxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICRyZWY6IGdldFNjaGVtYVBhdGgoRHRvRm9yKE9wZXJhdGlvbktleXMuVVBEQVRFLCBNb2RlbENvbnN0cikpLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpQmFkUmVxdWVzdFJlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiUGF5bG9hZCB2YWxpZGF0aW9uIGZhaWxlZC5cIiB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVsa0RlbGV0ZURlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nLFxuICAgIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXVxuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkRFTEVURVwiLCBcImJ1bGtcIiksXG4gICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgRGVsZXRlICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZHMgYnkgaWRzLmAgfSksXG4gICAgICBBcGlRdWVyeSh7IG5hbWU6IFwiaWRzXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcImFycmF5XCIgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBkZWxldGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdLFxuICAgIHBrUGF0aDogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiR0VUXCIsIHBrUGF0aCksXG4gICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgYSAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgYnkgaWQuYCB9KSxcbiAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdXBkYXRlRGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmcsXG4gICAgYXBpUHJvcGVydGllczogRGVjYWZBcGlQcm9wZXJ0eVtdLFxuICAgIHBrUGF0aDogc3RyaW5nXG4gICk6IEFycmF5PCh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2M6IGFueSkgPT4gdm9pZD4ge1xuICAgIHJldHVybiBbXG4gICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiUFVUXCIsIHBrUGF0aCksXG4gICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICBzdW1tYXJ5OiBgUmVwbGFjZSBhbiBleGlzdGluZyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgd2l0aCBhIG5ldyBwYXlsb2FkLmAsXG4gICAgICB9KSxcbiAgICAgIEFwaUJvZHkoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYFBheWxvYWQgZm9yIHJlcGxhY2luZyBhbiBleGlzdGluZyByZWNvcmQgb2YgJHttb2RlbENsYXp6TmFtZX1gLFxuICAgICAgICB0eXBlOiBEdG9Gb3IoT3BlcmF0aW9uS2V5cy5VUERBVEUsIE1vZGVsQ29uc3RyKSxcbiAgICAgIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gdXBkYXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICAgIEFwaUJhZFJlcXVlc3RSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlBheWxvYWQgdmFsaWRhdGlvbiBmYWlsZWQuXCIgfSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlbGV0ZURlY29yYXRvcnMoXG4gICAgTW9kZWxDb25zdHI6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgICBtb2RlbENsYXp6TmFtZTogc3RyaW5nLFxuICAgIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXSxcbiAgICBwa1BhdGg6IHN0cmluZ1xuICApOiBBcnJheTwodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjOiBhbnkpID0+IHZvaWQ+IHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkRFTEVURVwiLCBwa1BhdGgpLFxuICAgICAgQXBpUGFyYW1zRnJvbU1vZGVsKGFwaVByb3BlcnRpZXMpLFxuICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYERlbGV0ZSBhICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBieSBpZC5gIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gZGVsZXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc3RhdGVtZW50RGVjb3JhdG9ycyhcbiAgICBNb2RlbENvbnN0cjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIG1vZGVsQ2xhenpOYW1lOiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgXCJzdGF0ZW1lbnQvOm1ldGhvZC8qYXJnc1wiKSxcbiAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgIHN1bW1hcnk6IGBFeGVjdXRlcyBhIHByZXBhcmVkIHN0YXRlbWVudCBvbiAke21vZGVsQ2xhenpOYW1lfS5gLFxuICAgICAgfSksXG4gICAgICBBcGlQYXJhbSh7XG4gICAgICAgIG5hbWU6IFwibWV0aG9kXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcInRoZSBwcmVwYXJlZCBzdGF0ZW1lbnQgdG8gZXhlY3V0ZVwiLFxuICAgICAgfSksXG4gICAgICBBcGlQYXJhbSh7XG4gICAgICAgIG5hbWU6IFwiYXJnc1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICBcImNvbmNhdGVuYXRlZCBsaXN0IG9mIGFyZ3VtZW50cyB0aGUgcHJlcGFyZWQgc3RhdGVtZW50IGNhbiBhY2NlcHRcIixcbiAgICAgIH0pLFxuICAgICAgQXBpUXVlcnkoe1xuICAgICAgICBuYW1lOiBcImRpcmVjdGlvblwiLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZW51bTogT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcInRoZSBzb3J0IG9yZGVyIHdoZW4gYXBwbGljYWJsZVwiLFxuICAgICAgfSksXG4gICAgICBBcGlRdWVyeSh7XG4gICAgICAgIG5hbWU6IFwibGltaXRcIixcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcImxpbWl0IG9yIHBhZ2Ugc2l6ZSB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgIH0pLFxuICAgICAgQXBpUXVlcnkoe1xuICAgICAgICBuYW1lOiBcIm9mZnNldFwiLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwib2Zmc2V0IG9yIGJvb2ttYXJrIHdoZW4gYXBwbGljYWJsZVwiLFxuICAgICAgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBsaXN0ZWQgZm91bmQuYCB9KSxcbiAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc3RhdGVtZW50U2hvcnRjdXREZWNvcmF0b3JzKFxuICAgIE1vZGVsQ29uc3RyOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gICAgbW9kZWxDbGF6ek5hbWU6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgc3RhdGVtZW50S2V5OiBzdHJpbmdcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgY29uc3QgYmFzZTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiA9IFtcbiAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgcGF0aCksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3Jkcy5gIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgfSksXG4gICAgXTtcblxuICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICBiYXNlLnB1c2goQXBpUGFyYW0oeyBuYW1lLCBkZXNjcmlwdGlvbjogYFRoZSAke25hbWV9IHBhcmFtZXRlcmAgfSkpO1xuICAgIH0pO1xuXG4gICAgaWYgKFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwibGlzdEJ5L1wiKSB8fFxuICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnaW5hdGVCeS9cIikgfHxcbiAgICAgIHBhdGguc3RhcnRzV2l0aChcImZpbmQvXCIpIHx8XG4gICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKVxuICAgICkge1xuICAgICAgYmFzZS5wdXNoKFxuICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlclwiLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHBhdGguc3RhcnRzV2l0aChcInBhZ2luYXRlQnkvXCIpIHx8IHBhdGguc3RhcnRzV2l0aChcInBhZ2UvXCIpKSB7XG4gICAgICBiYXNlLnB1c2goXG4gICAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJsaW1pdFwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcInBhZ2Ugc2l6ZVwiIH0pLFxuICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgbmFtZTogXCJvZmZzZXRcIixcbiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwicGFnZSBudW1iZXJcIixcbiAgICAgICAgfSksXG4gICAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgICBuYW1lOiBcImJvb2ttYXJrXCIsXG4gICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImJvb2ttYXJrIGZvciBjdXJzb3IgcGFnaW5hdGlvblwiLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwiZmluZE9uZUJ5L1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kQnkvXCIpKSB7XG4gICAgICBiYXNlLnB1c2goXG4gICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuQ09VTlRfT0YgfHxcbiAgICAgIHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRiB8fFxuICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuU1VNX09GXG4gICAgKSB7XG4gICAgICBiYXNlLnB1c2goXG4gICAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUmVzdWx0IGZvciAke21vZGVsQ2xhenpOYW1lfS5gLFxuICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5ESVNUSU5DVF9PRikge1xuICAgICAgYmFzZS5wdXNoKFxuICAgICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYERpc3RpbmN0IHZhbHVlcyBmb3IgJHttb2RlbENsYXp6TmFtZX0uYCxcbiAgICAgICAgICB0eXBlOiBbU3RyaW5nXSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRRdWVyeURlY29yYXRvcnMoXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgIHJvdXRlUGF0aDogc3RyaW5nLFxuICAgIGh0dHBWZXJiOiBzdHJpbmcsXG4gICAgaW5jbHVkZVF1ZXJ5UGFyYW1zOiBib29sZWFuID0gZmFsc2VcbiAgKTogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiB7XG4gICAgY29uc3QgZXh0cmFjdFBhdGhQYXJhbXMgPSAocDogc3RyaW5nKTogc3RyaW5nW10gPT5cbiAgICAgIHBcbiAgICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgICAuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKVxuICAgICAgICAubWFwKChzKSA9PiBzLnNsaWNlKDEpKTtcblxuICAgIGNvbnN0IGFwaVBhdGhQYXJhbXMgPSBleHRyYWN0UGF0aFBhcmFtcyhyb3V0ZVBhdGgpLm1hcCgobmFtZSkgPT4gKHtcbiAgICAgIG5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yczogQXJyYXk8KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzYzogYW55KSA9PiB2b2lkPiA9IFtcbiAgICAgIC4uLmFwaVBhdGhQYXJhbXMubWFwKChwKSA9PiBBcGlQYXJhbShwKSksXG4gICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgcmVjb3JkcyB1c2luZyBcIiR7bWV0aG9kTmFtZX1cIi5gIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7IGRlc2NyaXB0aW9uOiBcIlJlc3VsdCBzdWNjZXNzZnVsbHkgcmV0cmlldmVkLlwiIH0pLFxuICAgICAgQXBpTm9Db250ZW50UmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJObyBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBtZXRob2QuXCIsXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgaWYgKGh0dHBWZXJiID09PSBcIkdFVFwiICYmIGluY2x1ZGVRdWVyeVBhcmFtcykge1xuICAgICAgZGVjb3JhdG9ycy5wdXNoKFxuICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgZW51bTogT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwidGhlIHNvcnQgb3JkZXIgd2hlbiBhcHBsaWNhYmxlXCIsXG4gICAgICAgIH0pLFxuICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgbmFtZTogXCJsaW1pdFwiLFxuICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJsaW1pdCBvciBwYWdlIHNpemVcIixcbiAgICAgICAgfSksXG4gICAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgICBuYW1lOiBcIm9mZnNldFwiLFxuICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJvZmZzZXQgb3IgYm9va21hcmtcIixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlY29yYXRvcnM7XG4gIH1cbn1cbiJdfQ==
800
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbU1vZGVsQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZyb21Nb2RlbENvbnRyb2xsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFN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LElBQUEsc0JBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUNwRSxJQUFBLHVCQUFhLEVBQUMsRUFBRSxXQUFXLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQztZQUNoRSxJQUFBLDhCQUFvQixFQUFDO2dCQUNqQixXQUFXLEVBQUUsb0NBQW9DO2FBQ3BELENBQUM7U0FDTCxDQUFDO1FBQ0YsSUFBSSxRQUFRLEtBQUssS0FBSyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDM0MsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFBLGtCQUFRLEVBQUM7Z0JBQ3JCLElBQUksRUFBRSxXQUFXO2dCQUNqQixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUscUJBQWM7Z0JBQ3BCLFdBQVcsRUFBRSxnQ0FBZ0M7YUFDaEQsQ0FBQyxFQUFFLElBQUEsa0JBQVEsRUFBQztnQkFDVCxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsb0JBQW9CO2FBQ3BDLENBQUMsRUFBRSxJQUFBLGtCQUFRLEVBQUM7Z0JBQ1QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsV0FBVyxFQUFFLG9CQUFvQjthQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0NBQ0o7QUF6dkJELGtEQXl2QkM7QUFDRCw4ejVGQUE4ejVGIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbnZhciBEeW5hbWljTW9kZWxDb250cm9sbGVyXzE7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBQYXJhbSwgUXVlcnksIFJlc3BvbnNlLCBTZXRNZXRhZGF0YSwgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IEFwaUJhZFJlcXVlc3RSZXNwb25zZSwgQXBpQm9keSwgQXBpQ3JlYXRlZFJlc3BvbnNlLCBBcGlFeHRyYU1vZGVscywgQXBpTm9Db250ZW50UmVzcG9uc2UsIEFwaU5vdEZvdW5kUmVzcG9uc2UsIEFwaU9rUmVzcG9uc2UsIEFwaU9wZXJhdGlvbiwgQXBpUGFyYW0sIEFwaVF1ZXJ5LCBBcGlUYWdzLCBBcGlVbnByb2Nlc3NhYmxlRW50aXR5UmVzcG9uc2UsIGdldFNjaGVtYVBhdGgsIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHsgTW9kZWxTZXJ2aWNlLCBPcmRlckRpcmVjdGlvbiwgUGVyc2lzdGVuY2VLZXlzLCBQcmVwYXJlZFN0YXRlbWVudEtleXMsIFJlcG9zaXRvcnksIFNlcnZpY2UsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvS2ViYWJDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBEQktleXMsIEJhc2VFcnJvciwgSW50ZXJuYWxFcnJvciwgT3BlcmF0aW9uS2V5cywgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBBcGlPcGVyYXRpb25Gcm9tTW9kZWwsIEFwaVBhcmFtc0Zyb21Nb2RlbCwgRGVjYWZCb2R5LCBEZWNhZlF1ZXJ5LCB9IGZyb20gXCIuL2RlY29yYXRvcnMvaW5kZXguanNcIjtcbmltcG9ydCB7IEh0dHBWZXJiVG9EZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4vLi4vcmVxdWVzdC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgREVDQUZfQ09OVFJPTExFUl9DT05GSUcsIERFQ0FGX1JPVVRFIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBTS0lQX01PREVMX1JPTEVTX0tFWSB9IGZyb20gXCIuLy4uL2F1dGgvY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBBdXRoLCBQdWJsaWMsIFJlcXVpcmVSb2xlcyB9IGZyb20gXCIuLy4uL2F1dGgvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgRGVjYWZNb2RlbENvbnRyb2xsZXIgfSBmcm9tIFwiLi8uLi9jb250cm9sbGVycy5qc1wiO1xuaW1wb3J0IHsgRHRvRm9yIH0gZnJvbSBcIi4vLi4vZmFjdG9yeS9vcGVuYXBpL0R0b0J1aWxkZXIuanNcIjtcbmltcG9ydCBcIi4vLi4vb3ZlcnJpZGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBNb2RlbENvbnRyb2xsZXJGYWN0b3J5LCB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5leHBvcnQgY2xhc3MgRnJvbU1vZGVsQ29udHJvbGxlciB7XG4gICAgc3RhdGljIHsgdGhpcy5sb2cgPSBMb2dnaW5nLmZvcihGcm9tTW9kZWxDb250cm9sbGVyLm5hbWUpOyB9XG4gICAgc3RhdGljIHRvRGVjYWZFcnJvcihlcnJvciwgZmFsbGJhY2tNZXNzYWdlKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEJhc2VFcnJvcilcbiAgICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgID8gYCR7ZmFsbGJhY2tNZXNzYWdlfTogJHtlcnJvci5tZXNzYWdlfWBcbiAgICAgICAgICAgIDogZmFsbGJhY2tNZXNzYWdlKTtcbiAgICB9XG4gICAgc3RhdGljIGdldFBlcnNpc3RlbmNlKE1vZGVsQ2xhenopIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlLmdldChNb2RlbENsYXp6KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gTW9kZWxTZXJ2aWNlLmdldFNlcnZpY2UoTW9kZWxDbGF6eik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZTIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVwb3NpdG9yeS5mb3JNb2RlbChNb2RlbENsYXp6KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlUXVlcnlSb3V0ZXNGcm9tUmVwb3NpdG9yeShwZXJzaXN0ZW5jZSwgcHJlZml4ID0gUGVyc2lzdGVuY2VLZXlzLlFVRVJZKSB7XG4gICAgICAgIGNvbnN0IHJlcG8gPSBwZXJzaXN0ZW5jZSBpbnN0YW5jZW9mIE1vZGVsU2VydmljZSA/IHBlcnNpc3RlbmNlLnJlcG8gOiBwZXJzaXN0ZW5jZTtcbiAgICAgICAgY29uc3QgcXVlcnlNZXRob2RzID0gTWV0YWRhdGEuZ2V0KHJlcG8uY29uc3RydWN0b3IsIE1ldGFkYXRhLmtleShQZXJzaXN0ZW5jZUtleXMuUVVFUlkpKSA/PyB7fTtcbiAgICAgICAgY29uc3Qgcm91dGVNZXRob2RzID0gTWV0YWRhdGEuZ2V0KHBlcnNpc3RlbmNlLmNvbnN0cnVjdG9yLCBNZXRhZGF0YS5rZXkoREVDQUZfUk9VVEUpKSA/PyB7fTtcbiAgICAgICAgY2xhc3MgUXVlcnlDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZNb2RlbENvbnRyb2xsZXIge1xuICAgICAgICAgICAgZ2V0IGNsYXNzKCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0LCBuYW1lKSB7XG4gICAgICAgICAgICAgICAgc3VwZXIoY2xpZW50Q29udGV4dCwgbmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBbbWV0aG9kTmFtZSwgcGFyYW1zXSBvZiBPYmplY3QuZW50cmllcyhyb3V0ZU1ldGhvZHMpKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVBhdGggPSBbcGFyYW1zLnBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIildXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudCAmJiBzZWdtZW50LnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuam9pbihcIi9cIik7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVDb21wbGV4UXVlcnlIYW5kbGVyKG1ldGhvZE5hbWUpO1xuICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoUXVlcnlDb250cm9sbGVyLCBtZXRob2ROYW1lLCBoYW5kbGVyKTtcbiAgICAgICAgICAgIGNvbnN0IGh0dHBEZWNvcmF0b3IgPSBIdHRwVmVyYlRvRGVjb3JhdG9yKHBhcmFtcy5odHRwTWV0aG9kKShyb3V0ZVBhdGggfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29yYXRvcnMgPSBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhtZXRob2ROYW1lLCByb3V0ZVBhdGgsIHBhcmFtcy5odHRwTWV0aG9kKTtcbiAgICAgICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuYXBwbHlEZWNvcmF0b3JzKFF1ZXJ5Q29udHJvbGxlciwgbWV0aG9kTmFtZSwgW1xuICAgICAgICAgICAgICAgIGh0dHBEZWNvcmF0b3IsXG4gICAgICAgICAgICAgICAgLi4uZGVjb3JhdG9ycyxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIG9ialZhbHVlc10gb2YgT2JqZWN0LmVudHJpZXMocXVlcnlNZXRob2RzKSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGRzID0gb2JqVmFsdWVzLmZpZWxkcyA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IFtwcmVmaXgsIG1ldGhvZE5hbWUsIC4uLmZpZWxkcy5tYXAoKGYpID0+IGA6JHtmfWApXVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQgJiYgc2VnbWVudC50cmltKCkpXG4gICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlQ29tcGxleFF1ZXJ5SGFuZGxlcihtZXRob2ROYW1lKTtcbiAgICAgICAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVmaW5lTWV0aG9kKFF1ZXJ5Q29udHJvbGxlciwgbWV0aG9kTmFtZSwgaGFuZGxlcik7XG4gICAgICAgICAgICBjb25zdCBodHRwRGVjb3JhdG9yID0gSHR0cFZlcmJUb0RlY29yYXRvcihcIkdFVFwiKShyb3V0ZVBhdGggfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29yYXRvcnMgPSBGcm9tTW9kZWxDb250cm9sbGVyLmdldFF1ZXJ5RGVjb3JhdG9ycyhtZXRob2ROYW1lLCByb3V0ZVBhdGgsIFwiR0VUXCIsIHRydWUpO1xuICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5hcHBseURlY29yYXRvcnMoUXVlcnlDb250cm9sbGVyLCBtZXRob2ROYW1lLCBbXG4gICAgICAgICAgICAgICAgaHR0cERlY29yYXRvcixcbiAgICAgICAgICAgICAgICAuLi5kZWNvcmF0b3JzLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFF1ZXJ5Q29udHJvbGxlcjtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZShNb2RlbENvbnN0ciwgbW9kdWxlQ29uZmlnT3ZlcnJpZGVzLCBnbG9iYWxEZWZhdWx0cykge1xuICAgICAgICBjb25zdCBsb2cgPSBGcm9tTW9kZWxDb250cm9sbGVyLmxvZy5mb3IoRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGUpO1xuICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoTW9kZWxDb25zdHIpO1xuICAgICAgICBjb25zdCByb3V0ZVBhdGggPSB0b0tlYmFiQ2FzZSh0YWJsZU5hbWUpO1xuICAgICAgICBjb25zdCBtb2RlbENsYXp6TmFtZSA9IE1vZGVsQ29uc3RyLm5hbWU7XG4gICAgICAgIGNvbnN0IHBlcnNpc3RlbmNlID0gRnJvbU1vZGVsQ29udHJvbGxlci5nZXRQZXJzaXN0ZW5jZShNb2RlbENvbnN0cik7XG4gICAgICAgIC8vIFdoZW4gcGVyc2lzdGVuY2UgaXMgYSBNb2RlbFNlcnZpY2UsIHRoZSBAcXVlcnkvQHJvdXRlIG1ldGFkYXRhIGxpdmVzIG9uXG4gICAgICAgIC8vIHRoZSB1bmRlcmx5aW5nIHJlcG9zaXRvcnkgY2xhc3MgKGN1c3RvbSByZXBvKSwgbm90IG9uIE1vZGVsU2VydmljZSBpdHNlbGYuXG4gICAgICAgIC8vIFBhc3MgdGhlIHJlcG8gdG8gdGhlIGZhY3Rvcnkgc28gYWRkQ29tcGxleFF1ZXJpZXMoKSBjYW4gZGlzY292ZXIgdGhlbS5cbiAgICAgICAgY29uc3QgZmFjdG9yeVBlcnNpc3RlbmNlID0gcGVyc2lzdGVuY2UgaW5zdGFuY2VvZiBNb2RlbFNlcnZpY2UgPyBwZXJzaXN0ZW5jZS5yZXBvIDogcGVyc2lzdGVuY2U7XG4gICAgICAgIGNvbnN0IGRlY29yYXRvckNvbmZpZyA9IE1ldGFkYXRhLmdldChNb2RlbENvbnN0ciwgTWV0YWRhdGEua2V5KERFQ0FGX0NPTlRST0xMRVJfQ09ORklHKSk7XG4gICAgICAgIGNvbnN0IG1vZHVsZU92ZXJyaWRlID0gbW9kdWxlQ29uZmlnT3ZlcnJpZGVzPy5bTW9kZWxDb25zdHIubmFtZV07XG4gICAgICAgIGNvbnN0IG1lcmdlZENvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLihnbG9iYWxEZWZhdWx0cyB8fCB7fSksXG4gICAgICAgICAgICAuLi4oZGVjb3JhdG9yQ29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLihtb2R1bGVPdmVycmlkZSB8fCB7fSksXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IEZhY3RvcnlDb250cm9sbGVyID0gTW9kZWxDb250cm9sbGVyRmFjdG9yeS5jcmVhdGUoTW9kZWxDb25zdHIsIGZhY3RvcnlQZXJzaXN0ZW5jZSwgbWVyZ2VkQ29uZmlnKTtcbiAgICAgICAgY29uc3QgZmFjdG9yeVJvdXRlcyA9IEZhY3RvcnlDb250cm9sbGVyLl9fcm91dGVzX187XG4gICAgICAgIGNvbnN0IHsgZ2V0UEssIGFwaVByb3BlcnRpZXMsIHBhdGg6IHBrUGF0aCwgfSA9IEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0Um91dGVQYXJhbWV0ZXJzRnJvbU1vZGVsKE1vZGVsQ29uc3RyKTtcbiAgICAgICAgbG9nLmRlYnVnKGBDcmVhdGluZyBjb250cm9sbGVyIGZvciBtb2RlbDogJHttb2RlbENsYXp6TmFtZX0gd2l0aCAke2ZhY3RvcnlSb3V0ZXM/Lmxlbmd0aCA/PyAwfSBmYWN0b3J5IHJvdXRlc2ApO1xuICAgICAgICBjb25zdCBhdXRoQ29uZmlnID0gbWVyZ2VkQ29uZmlnLmF1dGg7XG4gICAgICAgIGZ1bmN0aW9uIGFwcGx5Q2xhc3NBdXRoKHRhcmdldCkge1xuICAgICAgICAgICAgaWYgKGF1dGhDb25maWc/LnB1YmxpYykge1xuICAgICAgICAgICAgICAgIFB1YmxpYygpKHRhcmdldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhdXRoQ29uZmlnPy5yb2xlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgUmVxdWlyZVJvbGVzKC4uLmF1dGhDb25maWcucm9sZXMpKHRhcmdldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBBdXRoKE1vZGVsQ29uc3RyKSh0YXJnZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGF1dGhDb25maWc/LnNraXBNb2RlbFJvbGVzKSB7XG4gICAgICAgICAgICAgICAgU2V0TWV0YWRhdGEoU0tJUF9NT0RFTF9ST0xFU19LRVksIHRydWUpKHRhcmdldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IER5bmFtaWNNb2RlbENvbnRyb2xsZXIgPSBEeW5hbWljTW9kZWxDb250cm9sbGVyXzEgPSBjbGFzcyBEeW5hbWljTW9kZWxDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZNb2RlbENvbnRyb2xsZXIge1xuICAgICAgICAgICAgc3RhdGljIGdldCBjbGFzcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gTW9kZWxDb25zdHI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBnZXQgY2xhc3MoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1vZGVsQ29uc3RyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dCkge1xuICAgICAgICAgICAgICAgIHN1cGVyKGNsaWVudENvbnRleHQsIER5bmFtaWNNb2RlbENvbnRyb2xsZXJfMS5uYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBrID0gTW9kZWwucGsoTW9kZWxDb25zdHIpO1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKGBSZWdpc3RlcmluZyBkeW5hbWljIGNvbnRyb2xsZXIgZm9yIG1vZGVsOiAke3RoaXMuY2xhc3MubmFtZX0gcm91dGU6IC8ke3JvdXRlUGF0aH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgRHluYW1pY01vZGVsQ29udHJvbGxlciA9IER5bmFtaWNNb2RlbENvbnRyb2xsZXJfMSA9IF9fZGVjb3JhdGUoW1xuICAgICAgICAgICAgQ29udHJvbGxlcihyb3V0ZVBhdGgpLFxuICAgICAgICAgICAgQXBpVGFncyhtb2RlbENsYXp6TmFtZSksXG4gICAgICAgICAgICBBcGlFeHRyYU1vZGVscyhNb2RlbENvbnN0ciksXG4gICAgICAgICAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0RlY2FmUmVxdWVzdENvbnRleHRdKVxuICAgICAgICBdLCBEeW5hbWljTW9kZWxDb250cm9sbGVyKTtcbiAgICAgICAgYXBwbHlDbGFzc0F1dGgoRHluYW1pY01vZGVsQ29udHJvbGxlcik7XG4gICAgICAgIGlmIChmYWN0b3J5Um91dGVzKSB7XG4gICAgICAgICAgICBjb25zdCBzb3J0ZWRSb3V0ZXMgPSBbLi4uZmFjdG9yeVJvdXRlc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFTZWdtZW50cyA9IGEucGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJTZWdtZW50cyA9IGIucGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFQYXJhbUNvdW50ID0gYVNlZ21lbnRzLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJQYXJhbUNvdW50ID0gYlNlZ21lbnRzLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFMaXRlcmFsQ291bnQgPSBhU2VnbWVudHMubGVuZ3RoIC0gYVBhcmFtQ291bnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgYkxpdGVyYWxDb3VudCA9IGJTZWdtZW50cy5sZW5ndGggLSBiUGFyYW1Db3VudDtcbiAgICAgICAgICAgICAgICBpZiAoYUxpdGVyYWxDb3VudCAhPT0gYkxpdGVyYWxDb3VudClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJMaXRlcmFsQ291bnQgLSBhTGl0ZXJhbENvdW50O1xuICAgICAgICAgICAgICAgIGlmIChhUGFyYW1Db3VudCAhPT0gYlBhcmFtQ291bnQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhUGFyYW1Db3VudCAtIGJQYXJhbUNvdW50O1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJvdXRlIG9mIHNvcnRlZFJvdXRlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSByb3V0ZS5pbXBsZW1lbnRhdGlvbj8ubmFtZSB8fCByb3V0ZS5tZXRob2QudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdpc3RyYXRpb24gPSBGcm9tTW9kZWxDb250cm9sbGVyLm1hdGNoUm91dGUobWV0aG9kTmFtZSwgcm91dGUsIHBrUGF0aCwgYXBpUHJvcGVydGllcywgZ2V0UEssIE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWV0aG9kTmFtZTogcmVnaXN0ZXJlZE1ldGhvZE5hbWUsIGhhbmRsZXIsIGRlY29yYXRvcnMsIHBhcmFtRGVjb3JhdG9ycywgfSA9IHJlZ2lzdHJhdGlvbjtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gRnJvbU1vZGVsQ29udHJvbGxlci5kZWZpbmVNZXRob2QoRHluYW1pY01vZGVsQ29udHJvbGxlciwgcmVnaXN0ZXJlZE1ldGhvZE5hbWUsIGhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0dHBEZWNvcmF0b3IgPSBIdHRwVmVyYlRvRGVjb3JhdG9yKHJvdXRlLm1ldGhvZCkocm91dGUucGF0aC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCBcIlwiKSB8fCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmFwcGx5RGVjb3JhdG9ycyhEeW5hbWljTW9kZWxDb250cm9sbGVyLCByZWdpc3RlcmVkTWV0aG9kTmFtZSwgW2h0dHBEZWNvcmF0b3IsIC4uLmRlY29yYXRvcnNdLCBwYXJhbURlY29yYXRvcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gRHluYW1pY01vZGVsQ29udHJvbGxlcjtcbiAgICB9XG4gICAgc3RhdGljIGdldFJvdXRlUGFyYW1ldGVyc0Zyb21Nb2RlbChNb2RlbENsYXp6KSB7XG4gICAgICAgIGNvbnN0IHBrID0gTW9kZWwucGsoTW9kZWxDbGF6eik7XG4gICAgICAgIGNvbnN0IGNvbXBvc2VkID0gTWV0YWRhdGEuZ2V0KE1vZGVsQ2xhenosIE1ldGFkYXRhLmtleShEQktleXMuQ09NUE9TRUQsIHBrKSk7XG4gICAgICAgIGNvbnN0IGNvbXBvc2VkS2V5cyA9IGNvbXBvc2VkPy5hcmdzID8/IFtdO1xuICAgICAgICBjb25zdCB1bmlxdWVLZXlzID0gQXJyYXkuaXNBcnJheShjb21wb3NlZEtleXMpICYmIGNvbXBvc2VkS2V5cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IEFycmF5LmZyb20obmV3IFNldChbLi4uY29tcG9zZWRLZXlzXSkpXG4gICAgICAgICAgICA6IEFycmF5LmZyb20obmV3IFNldChbcGtdKSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24oTW9kZWxDbGF6eikgPz8gXCJcIjtcbiAgICAgICAgY29uc3QgcGF0aCA9IGA6JHt1bmlxdWVLZXlzLmpvaW4oXCIvOlwiKX1gO1xuICAgICAgICBjb25zdCBhcGlQcm9wZXJ0aWVzID0gdW5pcXVlS2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBrZXksXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IE1ldGFkYXRhLmRlc2NyaXB0aW9uKE1vZGVsQ2xhenosIGtleSksXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBhcGlQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgZ2V0UEs6ICguLi5wYXJhbXMpID0+IGNvbXBvc2VkPy5zZXBhcmF0b3IgPyBwYXJhbXMuam9pbihjb21wb3NlZC5zZXBhcmF0b3IpIDogcGFyYW1zLmpvaW4oXCJcIiksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyByb3V0ZVBhcmFtRGVjb3JhdG9ycyhwYXRoKSB7XG4gICAgICAgIGxldCBwYXJhbUluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIHBhdGhcbiAgICAgICAgICAgIC5zcGxpdChcIi9cIilcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgIC5mbGF0TWFwKChzZWdtZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiOlwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShzZWdtZW50LnNsaWNlKDEpKSwgaW5kZXg6IHBhcmFtSW5kZXgrKyB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiKlwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShzZWdtZW50LnNsaWNlKDEpKSwgaW5kZXg6IHBhcmFtSW5kZXgrKyB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgZGVmaW5lTWV0aG9kKHRhcmdldCwgbWV0aG9kTmFtZSwgaGFuZGxlcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSB8fCB0YXJnZXQsIG1ldGhvZE5hbWUsIHtcbiAgICAgICAgICAgIHZhbHVlOiBoYW5kbGVyLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQucHJvdG90eXBlIHx8IHRhcmdldCwgbWV0aG9kTmFtZSk7XG4gICAgfVxuICAgIHN0YXRpYyBhcHBseURlY29yYXRvcnModGFyZ2V0LCBtZXRob2ROYW1lLCBtZXRob2REZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMgPSBbXSkge1xuICAgICAgICBjb25zdCBwcm90byA9IHRhcmdldD8ucHJvdG90eXBlID8/IHRhcmdldDtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIG1ldGhvZE5hbWUpO1xuICAgICAgICBtZXRob2REZWNvcmF0b3JzLmZvckVhY2goKGQpID0+IGQocHJvdG8sIG1ldGhvZE5hbWUsIGRlc2NyaXB0b3IpKTtcbiAgICAgICAgcGFyYW1EZWNvcmF0b3JzLmZvckVhY2goKHsgZGVjb3JhdG9yLCBpbmRleCB9KSA9PiBkZWNvcmF0b3IocHJvdG8sIG1ldGhvZE5hbWUsIGluZGV4KSk7XG4gICAgfVxuICAgIHN0YXRpYyBtYXRjaFJvdXRlKG1ldGhvZE5hbWUsIHJvdXRlLCBwa1BhdGgsIGFwaVByb3BlcnRpZXMsIGdldFBLLCBNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgY29uc3QgeyBtZXRob2QsIHBhdGggfSA9IHJvdXRlO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIik7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSByb3V0ZS5pbXBsZW1lbnRhdGlvbjtcbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJQT1NUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcImNyZWF0ZVwiLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZUNyZWF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSwgW1xuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSwgaW5kZXg6IDEgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiUE9TVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwiY3JlYXRlQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa0NyZWF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSwgW1xuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSwgaW5kZXg6IDEgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJyZWFkQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1JlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSksIFt7IGRlY29yYXRvcjogUXVlcnkoXCJpZHNcIiksIGluZGV4OiAwIH1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiICYmIG5vcm1hbGl6ZWRQYXRoID09PSBcImJ1bGtcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwidXBkYXRlQWxsXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuYnVsa1VwZGF0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSwgW1xuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBEZWNhZkJvZHkoKSwgaW5kZXg6IDAgfSxcbiAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogUmVzcG9uc2UoeyBwYXNzdGhyb3VnaDogdHJ1ZSB9KSwgaW5kZXg6IDEgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiYnVsa1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJkZWxldGVBbGxcIiwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5idWxrRGVsZXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMpLCBbXG4gICAgICAgICAgICAgICAgeyBkZWNvcmF0b3I6IFF1ZXJ5KFwiaWRzXCIpLCBpbmRleDogMCB9LFxuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBSZXNwb25zZSh7IHBhc3N0aHJvdWdoOiB0cnVlIH0pLCBpbmRleDogMSB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJHRVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oXCJyZWFkXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIucmVhZERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzLCBwa1BhdGgpLCBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJQVVRcIiAmJiBub3JtYWxpemVkUGF0aCA9PT0gcGtQYXRoKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVBhcmFtcyA9IEZyb21Nb2RlbENvbnRyb2xsZXIucm91dGVQYXJhbURlY29yYXRvcnMobm9ybWFsaXplZFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwidXBkYXRlXCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIudXBkYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCksIFtcbiAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCksIGluZGV4OiAwIH0sXG4gICAgICAgICAgICAgICAgLi4ucm91dGVQYXJhbXMubWFwKCh7IGRlY29yYXRvciwgaW5kZXggfSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiREVMRVRFXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IHBrUGF0aCkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVQYXJhbXMgPSBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcImRlbGV0ZVwiLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLmRlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzLCBwa1BhdGgpLCByb3V0ZVBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ29tcG9zZWQgUEsgZmFsbGJhY2sgcm91dGVzIChmaWx0ZXJFbXB0eSkg4oCUIHBhdGggZGlmZmVycyBmcm9tIHBrUGF0aFxuICAgICAgICBjb25zdCBmYWxsYmFja1NlZ21lbnRzID0gbm9ybWFsaXplZFBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgY29uc3QgaXNBbGxQYXJhbXMgPSBmYWxsYmFja1NlZ21lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGZhbGxiYWNrU2VnbWVudHMuZXZlcnkoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgICAgICBpZiAoaXNBbGxQYXJhbXMgJiYgbm9ybWFsaXplZFBhdGggIT09IHBrUGF0aCkge1xuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tBcGlQcm9wcyA9IGZhbGxiYWNrU2VnbWVudHNcbiAgICAgICAgICAgICAgICAubWFwKChzKSA9PiBzLnNsaWNlKDEpKVxuICAgICAgICAgICAgICAgIC5tYXAoKG5hbWUpID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyYCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBjb25zdCBzdWZmaXggPSBmYWxsYmFja1NlZ21lbnRzLm1hcCgocykgPT4gcy5zbGljZSgxKSkuam9pbihcIkFuZFwiKTtcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlUGFyYW1zID0gRnJvbU1vZGVsQ29udHJvbGxlci5yb3V0ZVBhcmFtRGVjb3JhdG9ycyhub3JtYWxpemVkUGF0aCk7XG4gICAgICAgICAgICBpZiAobWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKGByZWFkQnkke3N1ZmZpeH1gLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLnJlYWREZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgZmFsbGJhY2tBcGlQcm9wcywgbm9ybWFsaXplZFBhdGgpLCByb3V0ZVBhcmFtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWV0aG9kID09PSBcIlBVVFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKGB1cGRhdGVCeSR7c3VmZml4fWAsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIudXBkYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGZhbGxiYWNrQXBpUHJvcHMsIG5vcm1hbGl6ZWRQYXRoKSwgW1xuICAgICAgICAgICAgICAgICAgICB7IGRlY29yYXRvcjogRGVjYWZCb2R5KCksIGluZGV4OiAwIH0sXG4gICAgICAgICAgICAgICAgICAgIC4uLnJvdXRlUGFyYW1zLm1hcCgoeyBkZWNvcmF0b3IsIGluZGV4IH0pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWV0aG9kID09PSBcIkRFTEVURVwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKGBkZWxldGVCeSR7c3VmZml4fWAsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuZGVsZXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGZhbGxiYWNrQXBpUHJvcHMsIG5vcm1hbGl6ZWRQYXRoKSwgcm91dGVQYXJhbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwic3RhdGVtZW50LzptZXRob2QvKmFyZ3NcIikge1xuICAgICAgICAgICAgcmV0dXJuIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlUmVnaXN0cmF0aW9uKFwic3RhdGVtZW50XCIsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuc3RhdGVtZW50RGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpLCBbXG4gICAgICAgICAgICAgICAgeyBkZWNvcmF0b3I6IFBhcmFtKFwibWV0aG9kXCIpLCBpbmRleDogMCB9LFxuICAgICAgICAgICAgICAgIHsgZGVjb3JhdG9yOiBQYXJhbShcImFyZ3NcIiksIGluZGV4OiAxIH0sXG4gICAgICAgICAgICAgICAgeyBkZWNvcmF0b3I6IERlY2FmUXVlcnkoKSwgaW5kZXg6IDIgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGggPT09IFwiZmluZE9uZUJ5LzprZXkvOnZhbHVlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZVJlZ2lzdHJhdGlvbihcImZpbmRPbmVCeVwiLCBoYW5kbGVyLCBGcm9tTW9kZWxDb250cm9sbGVyLnN0YXRlbWVudFNob3J0Y3V0RGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIG5vcm1hbGl6ZWRQYXRoLCBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQlkpLCBGcm9tTW9kZWxDb250cm9sbGVyLnN0YXRlbWVudFNob3J0Y3V0UGFyYW1zKG5vcm1hbGl6ZWRQYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Um91dGVzID0ge1xuICAgICAgICAgICAgXCJsaXN0QnkvOmtleVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWSxcbiAgICAgICAgICAgIFwicGFnaW5hdGVCeS86a2V5LzpwYWdlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFX0JZLFxuICAgICAgICAgICAgXCJmaW5kLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCxcbiAgICAgICAgICAgIFwicGFnZS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0UsXG4gICAgICAgICAgICBcImZpbmRPbmVCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9PTkVfQlksXG4gICAgICAgICAgICBcImZpbmRCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWSxcbiAgICAgICAgICAgIFwiY291bnRPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkNPVU5UX09GLFxuICAgICAgICAgICAgXCJtYXhPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1BWF9PRixcbiAgICAgICAgICAgIFwibWluT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NSU5fT0YsXG4gICAgICAgICAgICBcImF2Z09mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GLFxuICAgICAgICAgICAgXCJzdW1PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlNVTV9PRixcbiAgICAgICAgICAgIFwiZGlzdGluY3RPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GLFxuICAgICAgICAgICAgXCJncm91cE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuR1JPVVBfT0YsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudEtleSA9IHN0YXRlbWVudFJvdXRlc1tub3JtYWxpemVkUGF0aF07XG4gICAgICAgIGlmIChzdGF0ZW1lbnRLZXkgJiYgbWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24oRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRNZXRob2ROYW1lKG5vcm1hbGl6ZWRQYXRoKSwgaGFuZGxlciwgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBub3JtYWxpemVkUGF0aCwgc3RhdGVtZW50S2V5KSwgRnJvbU1vZGVsQ29udHJvbGxlci5zdGF0ZW1lbnRTaG9ydGN1dFBhcmFtcyhub3JtYWxpemVkUGF0aCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgICAgICAgY29uc3QgcXVlcnlNZXRob2QgPSBub3JtYWxpemVkUGF0aC5yZXBsYWNlKC9ecXVlcnlcXC8vLCBcIlwiKS5zcGxpdChcIi9cIilbMF07XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24ocXVlcnlNZXRob2QsIGhhbmRsZXIsIEZyb21Nb2RlbENvbnRyb2xsZXIuZ2V0UXVlcnlEZWNvcmF0b3JzKHF1ZXJ5TWV0aG9kLCBub3JtYWxpemVkUGF0aCwgXCJHRVRcIiwgdHJ1ZSksIEZyb21Nb2RlbENvbnRyb2xsZXIuY29tcGxleFF1ZXJ5UGFyYW1zKG5vcm1hbGl6ZWRQYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gbm9ybWFsaXplZFBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgY29uc3Qga25vd25QcmVmaXhlcyA9IG5ldyBTZXQoW1xuICAgICAgICAgICAgXCJsaXN0QnlcIixcbiAgICAgICAgICAgIFwiZmluZEJ5XCIsXG4gICAgICAgICAgICBcImZpbmRCeVBhZ2luYXRlXCIsXG4gICAgICAgICAgICBcImZpbmRPbmVCeVwiLFxuICAgICAgICAgICAgXCJwYWdpbmF0ZUJ5XCIsXG4gICAgICAgICAgICBcImZpbmRcIixcbiAgICAgICAgICAgIFwicGFnZVwiLFxuICAgICAgICAgICAgXCJjb3VudE9mXCIsXG4gICAgICAgICAgICBcIm1heE9mXCIsXG4gICAgICAgICAgICBcIm1pbk9mXCIsXG4gICAgICAgICAgICBcImF2Z09mXCIsXG4gICAgICAgICAgICBcInN1bU9mXCIsXG4gICAgICAgICAgICBcImRpc3RpbmN0T2ZcIixcbiAgICAgICAgICAgIFwiZ3JvdXBPZlwiLFxuICAgICAgICAgICAgXCJzdGF0ZW1lbnRcIixcbiAgICAgICAgICAgIFwiYnVsa1wiLFxuICAgICAgICAgICAgXCJxdWVyeVwiLFxuICAgICAgICBdKTtcbiAgICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAhbm9ybWFsaXplZFBhdGguc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSAmJlxuICAgICAgICAgICAgIW5vcm1hbGl6ZWRQYXRoLnN0YXJ0c1dpdGgoXCJzdGF0ZW1lbnQvXCIpICYmXG4gICAgICAgICAgICAha25vd25QcmVmaXhlcy5oYXMocGF0aFNlZ21lbnRzWzBdKSkge1xuICAgICAgICAgICAgY29uc3QgYXBpUGF0aFBhcmFtcyA9IHBhdGhTZWdtZW50c1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpXG4gICAgICAgICAgICAgICAgLm1hcCgocykgPT4gcy5zbGljZSgxKSlcbiAgICAgICAgICAgICAgICAubWFwKChuYW1lKSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke25hbWV9IHBhcmFtZXRlciBmb3IgdGhlIHF1ZXJ5YCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGVSZWdpc3RyYXRpb24obWV0aG9kTmFtZSwgaGFuZGxlciwgW1xuICAgICAgICAgICAgICAgIC4uLmFwaVBhdGhQYXJhbXMubWFwKChwKSA9PiBBcGlQYXJhbShwKSksXG4gICAgICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlIHJlY29yZHMgdXNpbmcgXCIke21ldGhvZE5hbWV9XCIuYCB9KSxcbiAgICAgICAgICAgICAgICBBcGlPa1Jlc3BvbnNlKHsgZGVzY3JpcHRpb246IFwiUmVzdWx0IHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQuXCIgfSksXG4gICAgICAgICAgICAgICAgQXBpTm9Db250ZW50UmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJObyBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBtZXRob2QuXCIsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLCBGcm9tTW9kZWxDb250cm9sbGVyLnJvdXRlUGFyYW1EZWNvcmF0b3JzKG5vcm1hbGl6ZWRQYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZVJlZ2lzdHJhdGlvbihtZXRob2ROYW1lLCBoYW5kbGVyLCBkZWNvcmF0b3JzLCBwYXJhbURlY29yYXRvcnMpIHtcbiAgICAgICAgcmV0dXJuIHsgbWV0aG9kTmFtZSwgaGFuZGxlciwgZGVjb3JhdG9ycywgcGFyYW1EZWNvcmF0b3JzIH07XG4gICAgfVxuICAgIHN0YXRpYyBzdGF0ZW1lbnRNZXRob2ROYW1lKHBhdGgpIHtcbiAgICAgICAgY29uc3QgZmlyc3RTZWdtZW50ID0gcGF0aC5zcGxpdChcIi9cIilbMF07XG4gICAgICAgIHJldHVybiBmaXJzdFNlZ21lbnQ7XG4gICAgfVxuICAgIHN0YXRpYyBzdGF0ZW1lbnRTaG9ydGN1dFBhcmFtcyhwYXRoKSB7XG4gICAgICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKChzKSA9PiBzLnN0YXJ0c1dpdGgoXCI6XCIpKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgICAgIHNlZ21lbnRzLmZvckVhY2goKHNlZywgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHNlZy5yZXBsYWNlKFwiOlwiLCBcIlwiKTtcbiAgICAgICAgICAgIHBhcmFtcy5wdXNoKHsgZGVjb3JhdG9yOiBQYXJhbShuYW1lKSwgaW5kZXg6IGkgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwibGlzdEJ5L1wiKSB8fFxuICAgICAgICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnaW5hdGVCeS9cIikgfHxcbiAgICAgICAgICAgIHBhdGguc3RhcnRzV2l0aChcImZpbmQvXCIpIHx8XG4gICAgICAgICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKSkge1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IERlY2FmUXVlcnkoKSwgaW5kZXg6IHNlZ21lbnRzLmxlbmd0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cbiAgICBzdGF0aWMgY29tcGxleFF1ZXJ5UGFyYW1zKHBhdGgpIHtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICAgICAgc2VnbWVudHMuZm9yRWFjaCgoc2VnLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gc2VnLnJlcGxhY2UoXCI6XCIsIFwiXCIpO1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goeyBkZWNvcmF0b3I6IFBhcmFtKG5hbWUpLCBpbmRleDogaSB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJxdWVyeS9cIikpIHtcbiAgICAgICAgICAgIHBhcmFtcy5wdXNoKHsgZGVjb3JhdG9yOiBEZWNhZlF1ZXJ5KCksIGluZGV4OiBzZWdtZW50cy5sZW5ndGggfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZUNvbXBsZXhRdWVyeUhhbmRsZXIobWV0aG9kTmFtZSkge1xuICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gY29tcGxleFF1ZXJ5KC4uLmFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nPy5mb3I/Lihjb21wbGV4UXVlcnkpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAobG9nKVxuICAgICAgICAgICAgICAgICAgICBsb2cuZGVidWcoYEludm9raW5nIGN1c3RvbSBxdWVyeSBcIiR7bWV0aG9kTmFtZX1cImApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIG1ldGhvZE5hbWUsIHRydWUpKS5mb3IoY29tcGxleFF1ZXJ5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJzaXN0ZW5jZSA9IHRoaXMucGVyc2lzdGVuY2UoY3R4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBzcHJlYWRBcmdzID0gRnJvbU1vZGVsQ29udHJvbGxlci5ub3JtYWxpemVRdWVyeUFyZ3MoYXJncyk7XG4gICAgICAgICAgICAgICAgaWYgKHBlcnNpc3RlbmNlPy5yZXBvICYmXG4gICAgICAgICAgICAgICAgICAgIHR5cGVvZiBwZXJzaXN0ZW5jZS5yZXBvW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnJlcG9bbWV0aG9kTmFtZV0oLi4uc3ByZWFkQXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcGVyc2lzdGVuY2VbbWV0aG9kTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGVyc2lzdGVuY2VbbWV0aG9kTmFtZV0oLi4uc3ByZWFkQXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwZXJzaXN0ZW5jZT8ucXVlcnkgJiYgdHlwZW9mIHBlcnNpc3RlbmNlLnF1ZXJ5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcnNpc3RlbmNlLnF1ZXJ5KG1ldGhvZE5hbWUsIC4uLnNwcmVhZEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBlcnNpc3RlbmNlLnN0YXRlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwZXJzaXN0ZW5jZS5zdGF0ZW1lbnQobWV0aG9kTmFtZSwgLi4uc3ByZWFkQXJncywgY3R4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFBlcnNpc3RlbmNlIG1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGlmIChsb2cpXG4gICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgQ3VzdG9tIHF1ZXJ5IFwiJHttZXRob2ROYW1lfVwiIGZhaWxlZGAsIGUpO1xuICAgICAgICAgICAgICAgIHRocm93IEZyb21Nb2RlbENvbnRyb2xsZXIudG9EZWNhZkVycm9yKGUsIGBDdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCIgZmFpbGVkYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBleHRyYWN0UXVlcnlBcmdzKGFyZ3MpIHtcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGFyZ3M7XG4gICAgICAgIGNvbnN0IGxhc3QgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChsYXN0ICYmIHR5cGVvZiBsYXN0ID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KGxhc3QpKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeU9iaiA9IGFyZ3MucG9wKCk7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXJlY3Rpb24gPSBxdWVyeU9iai5kaXJlY3Rpb24gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0xpbWl0ID0gcXVlcnlPYmoubGltaXQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc09mZnNldCA9IHF1ZXJ5T2JqLm9mZnNldCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKCFoYXNEaXJlY3Rpb24gJiYgIWhhc0xpbWl0ICYmICFoYXNPZmZzZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3M7XG4gICAgICAgICAgICBjb25zdCBleHRyYXMgPSBbXTtcbiAgICAgICAgICAgIGlmIChoYXNEaXJlY3Rpb24pXG4gICAgICAgICAgICAgICAgZXh0cmFzLnB1c2gocXVlcnlPYmouZGlyZWN0aW9uKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGhhc0xpbWl0IHx8IGhhc09mZnNldClcbiAgICAgICAgICAgICAgICBleHRyYXMucHVzaCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgaWYgKGhhc0xpbWl0KVxuICAgICAgICAgICAgICAgIGV4dHJhcy5wdXNoKHF1ZXJ5T2JqLmxpbWl0KTtcbiAgICAgICAgICAgIGlmIChoYXNPZmZzZXQpXG4gICAgICAgICAgICAgICAgZXh0cmFzLnB1c2gocXVlcnlPYmoub2Zmc2V0KTtcbiAgICAgICAgICAgIHJldHVybiBbLi4uYXJncywgLi4uZXh0cmFzXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJncztcbiAgICB9XG4gICAgc3RhdGljIG5vcm1hbGl6ZVF1ZXJ5QXJncyhhcmdzKSB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBGcm9tTW9kZWxDb250cm9sbGVyLmV4dHJhY3RRdWVyeUFyZ3MoYXJncyk7XG4gICAgICAgIGlmIChub3JtYWxpemVkLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgICAgICBjb25zdCBsYXN0ID0gbm9ybWFsaXplZFtub3JtYWxpemVkLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoIWxhc3QgfHwgdHlwZW9mIGxhc3QgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShsYXN0KSkge1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlcnlPYmogPSBsYXN0O1xuICAgICAgICBjb25zdCBoYXNRdWVyeUZpZWxkcyA9IHF1ZXJ5T2JqLmRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBxdWVyeU9iai5saW1pdCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBxdWVyeU9iai5vZmZzZXQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgcXVlcnlPYmouYm9va21hcmsgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFoYXNRdWVyeUZpZWxkcykge1xuICAgICAgICAgICAgbm9ybWFsaXplZC5wb3AoKTtcbiAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgICAgICB9XG4gICAgICAgIG5vcm1hbGl6ZWQucG9wKCk7XG4gICAgICAgIGlmIChxdWVyeU9iai5kaXJlY3Rpb24gIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5kaXJlY3Rpb24pO1xuICAgICAgICBpZiAocXVlcnlPYmoubGltaXQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5saW1pdCk7XG4gICAgICAgIGlmIChxdWVyeU9iai5vZmZzZXQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5vZmZzZXQpO1xuICAgICAgICBpZiAocXVlcnlPYmouYm9va21hcmsgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIG5vcm1hbGl6ZWQucHVzaChxdWVyeU9iai5ib29rbWFyayk7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlQ3JlYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJQT1NUXCIpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYENyZWF0ZSBhIG5ldyAke21vZGVsQ2xhenpOYW1lfS5gIH0pLFxuICAgICAgICAgICAgQXBpQm9keSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBQYXlsb2FkIGZvciAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgICAgICAgICAgdHlwZTogRHRvRm9yKE9wZXJhdGlvbktleXMuQ1JFQVRFLCBNb2RlbENvbnN0ciksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUNyZWF0ZWRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBjcmVhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICAgICAgICAgIHNjaGVtYTogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgICAgICAgICAgQXBpVW5wcm9jZXNzYWJsZUVudGl0eVJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXBvc2l0b3J5IHJlamVjdGVkIHRoZSBwcm92aWRlZCBwYXlsb2FkLlwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyBidWxrQ3JlYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJQT1NUXCIsIFwiYnVsa1wiKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBDcmVhdGUgYSBuZXcgJHttb2RlbENsYXp6TmFtZX0uYCB9KSxcbiAgICAgICAgICAgIEFwaUJvZHkoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgJHttb2RlbENsYXp6TmFtZX1gLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpQ3JlYXRlZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgICAgICAgICAgQXBpVW5wcm9jZXNzYWJsZUVudGl0eVJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXBvc2l0b3J5IHJlamVjdGVkIHRoZSBwcm92aWRlZCBwYXlsb2FkLlwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyBidWxrUmVhZERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiR0VUXCIsIFwiYnVsa1wiKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSAke21vZGVsQ2xhenpOYW1lfSByZWNvcmRzIGJ5IGlkcy5gIH0pLFxuICAgICAgICAgICAgQXBpUXVlcnkoeyBuYW1lOiBcImlkc1wiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJhcnJheVwiIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSByZXRyaWV2ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgc3RhdGljIGJ1bGtVcGRhdGVEZWNvcmF0b3JzKE1vZGVsQ29uc3RyLCBtb2RlbENsYXp6TmFtZSwgYXBpUHJvcGVydGllcykge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBVVFwiLCBcImJ1bGtcIiksXG4gICAgICAgICAgICBBcGlQYXJhbXNGcm9tTW9kZWwoYXBpUHJvcGVydGllcyksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICAgICAgICAgIHN1bW1hcnk6IGBSZXBsYWNlIGV4aXN0aW5nICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZHMgd2l0aCBuZXcgcGF5bG9hZHMuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpQm9keSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBQYXlsb2FkIGZvciByZXBsYWNpbmcgZXhpc3RpbmcgcmVjb3JkcyBvZiAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgJHJlZjogZ2V0U2NoZW1hUGF0aChEdG9Gb3IoT3BlcmF0aW9uS2V5cy5VUERBVEUsIE1vZGVsQ29uc3RyKSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgYnVsa0RlbGV0ZURlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiREVMRVRFXCIsIFwiYnVsa1wiKSxcbiAgICAgICAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBEZWxldGUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkcyBieSBpZHMuYCB9KSxcbiAgICAgICAgICAgIEFwaVF1ZXJ5KHsgbmFtZTogXCJpZHNcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiYXJyYXlcIiB9KSxcbiAgICAgICAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gZGVsZXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgcmVhZERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBhcGlQcm9wZXJ0aWVzLCBwa1BhdGgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgcGtQYXRoKSxcbiAgICAgICAgICAgIEFwaVBhcmFtc0Zyb21Nb2RlbChhcGlQcm9wZXJ0aWVzKSxcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbih7IHN1bW1hcnk6IGBSZXRyaWV2ZSBhICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBieSBpZC5gIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSByZXRyaWV2ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7ICRyZWY6IGdldFNjaGVtYVBhdGgoTW9kZWxDb25zdHIpIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU5vdEZvdW5kUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gJHttb2RlbENsYXp6TmFtZX0gcmVjb3JkIG1hdGNoZXMgdGhlIHByb3ZpZGVkIGlkZW50aWZpZXIuYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgdXBkYXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIlBVVFwiLCBwa1BhdGgpLFxuICAgICAgICAgICAgQXBpUGFyYW1zRnJvbU1vZGVsKGFwaVByb3BlcnRpZXMpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHtcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiBgUmVwbGFjZSBhbiBleGlzdGluZyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgd2l0aCBhIG5ldyBwYXlsb2FkLmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaUJvZHkoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUGF5bG9hZCBmb3IgcmVwbGFjaW5nIGFuIGV4aXN0aW5nIHJlY29yZCBvZiAke21vZGVsQ2xhenpOYW1lfWAsXG4gICAgICAgICAgICAgICAgdHlwZTogRHRvRm9yKE9wZXJhdGlvbktleXMuVVBEQVRFLCBNb2RlbENvbnN0ciksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU9rUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHttb2RlbENsYXp6TmFtZX0gdXBkYXRlZCBzdWNjZXNzZnVsbHkuYCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHsgJHJlZjogZ2V0U2NoZW1hUGF0aChNb2RlbENvbnN0cikgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlCYWRSZXF1ZXN0UmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJQYXlsb2FkIHZhbGlkYXRpb24gZmFpbGVkLlwiIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICBzdGF0aWMgZGVsZXRlRGVjb3JhdG9ycyhNb2RlbENvbnN0ciwgbW9kZWxDbGF6ek5hbWUsIGFwaVByb3BlcnRpZXMsIHBrUGF0aCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RyLCBcIkRFTEVURVwiLCBwa1BhdGgpLFxuICAgICAgICAgICAgQXBpUGFyYW1zRnJvbU1vZGVsKGFwaVByb3BlcnRpZXMpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYERlbGV0ZSBhICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBieSBpZC5gIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSBkZWxldGVkIHN1Y2Nlc3NmdWxseS5gLFxuICAgICAgICAgICAgICAgIHNjaGVtYTogeyAkcmVmOiBnZXRTY2hlbWFQYXRoKE1vZGVsQ29uc3RyKSB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlOb3RGb3VuZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYE5vICR7bW9kZWxDbGF6ek5hbWV9IHJlY29yZCBtYXRjaGVzIHRoZSBwcm92aWRlZCBpZGVudGlmaWVyLmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgc3RhdGljIHN0YXRlbWVudERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoTW9kZWxDb25zdHIsIFwiR0VUXCIsIFwic3RhdGVtZW50LzptZXRob2QvKmFyZ3NcIiksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICAgICAgICAgIHN1bW1hcnk6IGBFeGVjdXRlcyBhIHByZXBhcmVkIHN0YXRlbWVudCBvbiAke21vZGVsQ2xhenpOYW1lfS5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlQYXJhbSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJtZXRob2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgcHJlcGFyZWQgc3RhdGVtZW50IHRvIGV4ZWN1dGVcIixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpUGFyYW0oe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiYXJnc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImNvbmNhdGVuYXRlZCBsaXN0IG9mIGFyZ3VtZW50cyB0aGUgcHJlcGFyZWQgc3RhdGVtZW50IGNhbiBhY2NlcHRcIixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgQXBpUXVlcnkoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZGlyZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZW51bTogT3JkZXJEaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwidGhlIHNvcnQgb3JkZXIgd2hlbiBhcHBsaWNhYmxlXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImxpbWl0XCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwibGltaXQgb3IgcGFnZSBzaXplIHdoZW4gYXBwbGljYWJsZVwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJvZmZzZXRcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJvZmZzZXQgb3IgYm9va21hcmsgd2hlbiBhcHBsaWNhYmxlXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogYCR7bW9kZWxDbGF6ek5hbWV9IGxpc3RlZCBmb3VuZC5gIH0pLFxuICAgICAgICAgICAgQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuICAgIHN0YXRpYyBzdGF0ZW1lbnRTaG9ydGN1dERlY29yYXRvcnMoTW9kZWxDb25zdHIsIG1vZGVsQ2xhenpOYW1lLCBwYXRoLCBzdGF0ZW1lbnRLZXkpIHtcbiAgICAgICAgY29uc3QgYmFzZSA9IFtcbiAgICAgICAgICAgIEFwaU9wZXJhdGlvbkZyb21Nb2RlbChNb2RlbENvbnN0ciwgXCJHRVRcIiwgcGF0aCksXG4gICAgICAgICAgICBBcGlPcGVyYXRpb24oeyBzdW1tYXJ5OiBgUmV0cmlldmUgJHttb2RlbENsYXp6TmFtZX0gcmVjb3Jkcy5gIH0pLFxuICAgICAgICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke21vZGVsQ2xhenpOYW1lfSByZXRyaWV2ZWQgc3VjY2Vzc2Z1bGx5LmAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHMpID0+IHMuc3RhcnRzV2l0aChcIjpcIikpO1xuICAgICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBzZWcucmVwbGFjZShcIjpcIiwgXCJcIik7XG4gICAgICAgICAgICBiYXNlLnB1c2goQXBpUGFyYW0oeyBuYW1lLCBkZXNjcmlwdGlvbjogYFRoZSAke25hbWV9IHBhcmFtZXRlcmAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcImxpc3RCeS9cIikgfHxcbiAgICAgICAgICAgIHBhdGguc3RhcnRzV2l0aChcInBhZ2luYXRlQnkvXCIpIHx8XG4gICAgICAgICAgICBwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kL1wiKSB8fFxuICAgICAgICAgICAgcGF0aC5zdGFydHNXaXRoKFwicGFnZS9cIikpIHtcbiAgICAgICAgICAgIGJhc2UucHVzaChBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlclwiLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCJwYWdpbmF0ZUJ5L1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJwYWdlL1wiKSkge1xuICAgICAgICAgICAgYmFzZS5wdXNoKEFwaVF1ZXJ5KHsgbmFtZTogXCJsaW1pdFwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcInBhZ2Ugc2l6ZVwiIH0pLCBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJvZmZzZXRcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwicGFnZSBudW1iZXJcIixcbiAgICAgICAgICAgIH0pLCBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJib29rbWFya1wiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJib29rbWFyayBmb3IgY3Vyc29yIHBhZ2luYXRpb25cIixcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwiZmluZE9uZUJ5L1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJmaW5kQnkvXCIpKSB7XG4gICAgICAgICAgICBiYXNlLnB1c2goQXBpTm90Rm91bmRSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBObyAke21vZGVsQ2xhenpOYW1lfSByZWNvcmQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgaWRlbnRpZmllci5gLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRiB8fFxuICAgICAgICAgICAgc3RhdGVtZW50S2V5ID09PSBQcmVwYXJlZFN0YXRlbWVudEtleXMuQVZHX09GIHx8XG4gICAgICAgICAgICBzdGF0ZW1lbnRLZXkgPT09IFByZXBhcmVkU3RhdGVtZW50S2V5cy5TVU1fT0YpIHtcbiAgICAgICAgICAgIGJhc2UucHVzaChBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYFJlc3VsdCBmb3IgJHttb2RlbENsYXp6TmFtZX0uYCxcbiAgICAgICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlbWVudEtleSA9PT0gUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GKSB7XG4gICAgICAgICAgICBiYXNlLnB1c2goQXBpT2tSZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBEaXN0aW5jdCB2YWx1ZXMgZm9yICR7bW9kZWxDbGF6ek5hbWV9LmAsXG4gICAgICAgICAgICAgICAgdHlwZTogW1N0cmluZ10sXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJhc2U7XG4gICAgfVxuICAgIHN0YXRpYyBnZXRRdWVyeURlY29yYXRvcnMobWV0aG9kTmFtZSwgcm91dGVQYXRoLCBodHRwVmVyYiwgaW5jbHVkZVF1ZXJ5UGFyYW1zID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgZXh0cmFjdFBhdGhQYXJhbXMgPSAocCkgPT4gcFxuICAgICAgICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgICAgICAgLmZpbHRlcigocykgPT4gcy5zdGFydHNXaXRoKFwiOlwiKSlcbiAgICAgICAgICAgIC5tYXAoKHMpID0+IHMuc2xpY2UoMSkpO1xuICAgICAgICBjb25zdCBhcGlQYXRoUGFyYW1zID0gZXh0cmFjdFBhdGhQYXJhbXMocm91dGVQYXRoKS5tYXAoKG5hbWUpID0+ICh7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke25hbWV9IHBhcmFtZXRlciBmb3IgdGhlIHF1ZXJ5YCxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IGRlY29yYXRvcnMgPSBbXG4gICAgICAgICAgICAuLi5hcGlQYXRoUGFyYW1zLm1hcCgocCkgPT4gQXBpUGFyYW0ocCkpLFxuICAgICAgICAgICAgQXBpT3BlcmF0aW9uKHsgc3VtbWFyeTogYFJldHJpZXZlIHJlY29yZHMgdXNpbmcgXCIke21ldGhvZE5hbWV9XCIuYCB9KSxcbiAgICAgICAgICAgIEFwaU9rUmVzcG9uc2UoeyBkZXNjcmlwdGlvbjogXCJSZXN1bHQgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZC5cIiB9KSxcbiAgICAgICAgICAgIEFwaU5vQ29udGVudFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJObyBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBtZXRob2QuXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKGh0dHBWZXJiID09PSBcIkdFVFwiICYmIGluY2x1ZGVRdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgZGVjb3JhdG9ycy5wdXNoKEFwaVF1ZXJ5KHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImRpcmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlciB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgICAgICAgIH0pLCBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJsaW1pdFwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJsaW1pdCBvciBwYWdlIHNpemVcIixcbiAgICAgICAgICAgIH0pLCBBcGlRdWVyeSh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJvZmZzZXRcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwib2Zmc2V0IG9yIGJvb2ttYXJrXCIsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY29yYXRvcnM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMM055WXk5a1pXTmhaaTF0YjJSbGJDOUdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlEwd3NWVUZCVlN4RlFVTldMRXRCUVVzc1JVRkRUQ3hMUVVGTExFVkJRMHdzVVVGQlVTeEZRVU5TTEZkQlFWY3NSMEZEV2l4TlFVRk5MR2RDUVVGblFpeERRVUZETzBGQlEzaENMRTlCUVU4c1JVRkRUQ3h4UWtGQmNVSXNSVUZEY2tJc1QwRkJUeXhGUVVOUUxHdENRVUZyUWl4RlFVTnNRaXhqUVVGakxFVkJRMlFzYjBKQlFXOUNMRVZCUTNCQ0xHMUNRVUZ0UWl4RlFVTnVRaXhoUVVGaExFVkJRMklzV1VGQldTeEZRVU5hTEZGQlFWRXNSVUZEVWl4UlFVRlJMRVZCUTFJc1QwRkJUeXhGUVVOUUxEaENRVUU0UWl4RlFVTTVRaXhoUVVGaExFZEJRMlFzVFVGQlRTeHBRa0ZCYVVJc1EwRkJRenRCUVVONlFpeFBRVUZQTEVWQlEwd3NXVUZCV1N4RlFVTmFMR05CUVdNc1JVRkRaQ3hsUVVGbExFVkJRMllzY1VKQlFYRkNMRVZCUlhKQ0xGVkJRVlVzUlVGRFZpeFBRVUZQTEVkQlExSXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGdlFpeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJRM3BGTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFMUJRVTBzYlVKQlFXMUNMRU5CUVVNN1FVRkRla1FzVDBGQlR5eEZRVU5NTEUxQlFVMHNSVUZEVGl4VFFVRlRMRVZCUTFRc1lVRkJZU3hGUVVOaUxHRkJRV0VzUjBGRFpDeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRMnBETEU5QlFVOHNSVUZCWlN4UlFVRlJMRVZCUVVVc1RVRkJUU3h6UWtGQmMwSXNRMEZCUXp0QlFVTTNSQ3hQUVVGUExFVkJRMHdzY1VKQlFYRkNMRVZCUTNKQ0xHdENRVUZyUWl4RlFVVnNRaXhUUVVGVExFVkJRMVFzVlVGQlZTeEhRVU5ZTERoQ1FVRnhRanRCUVVOMFFpeFBRVUZQTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzT0VKQlFUSkNPMEZCUlhwRUxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3c0UWtGQmJVSTdRVUZEYWtRc1QwRkJUeXhGUVVGRkxIVkNRVUYxUWl4RlFVRkZMRmRCUVZjc1JVRkJSU3d3UWtGQmNVSTdRVUZEY0VVc1QwRkJUeXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkZMQ3RDUVVFd1FqdEJRVU42UkN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNaME5CUVRKQ08wRkJSV2hGTEU5QlFVOHNSVUZCUlN4dlFrRkJiMElzUlVGQlJTdzBRa0ZCZFVJN1FVRkRkRVFzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN3eVEwRkJjME03UVVGRGRrUXNhVU5CUVhOQ08wRkJRM1JDTEU5QlFVOHNSVUZEVEN4elFrRkJjMElzUjBGSmRrSXNUVUZCVFN3eVFrRkJNa0lzUTBGQlF6dEJRVVZ1UXl4TlFVRk5MRTlCUVU4c2JVSkJRVzFDTzJGQlEwNHNVVUZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRk5VUXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkRla0lzUzBGQll5eEZRVU5rTEdWQlFYVkNPMUZCUlhaQ0xFbEJRVWtzUzBGQlN5eFpRVUZaTEZOQlFWTTdXVUZCUlN4UFFVRlBMRXRCUVVzc1EwRkJRenRSUVVNM1F5eFBRVUZQTEVsQlFVa3NZVUZCWVN4RFFVTjBRaXhMUVVGTExGbEJRVmtzUzBGQlN6dFpRVU53UWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhsUVVGbExFdEJRVXNzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlR0WlFVTjRReXhEUVVGRExFTkJRVU1zWlVGQlpTeERRVU53UWl4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWRUxFMUJRVTBzUTBGQlF5eGpRVUZqTEVOQlEyNUNMRlZCUVN0Q08xRkJSUzlDTEVsQlFVa3NRMEZCUXp0WlFVTklMRTlCUVU4c1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQmEwSXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRiRVFzUTBGQlF6dFJRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1dVRkRjRUlzU1VGQlNTeERRVUZETzJkQ1FVTklMRTlCUVU4c1dVRkJXU3hEUVVGRExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFXOUNMRU5CUVVNN1dVRkRhRVVzUTBGQlF6dFpRVUZETEU5QlFVOHNSVUZCVnl4RlFVRkZMRU5CUVVNN1owSkJRM0pDTEU5QlFVOHNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVmtzUTBGQlF6dFpRVU53UkN4RFFVRkRPMUZCUTBnc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeE5RVUZOTEVOQlFVTXNLMEpCUVN0Q0xFTkJRM0JETEZkQlFYTkRMRVZCUTNSRExGTkJRV2xDTEdWQlFXVXNRMEZCUXl4TFFVRkxPMUZCUlhSRExFMUJRVTBzU1VGQlNTeEhRVU5TTEZkQlFWY3NXVUZCV1N4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRmRCUVZjc1EwRkJRenRSUVVOMlJTeE5RVUZOTEZsQlFWa3NSMEZEYUVJc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGRFZpeEpRVUZKTEVOQlFVTXNWMEZCTUVJc1JVRkRMMElzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4bFFVRmxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRM0JETEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUlZZc1RVRkJUU3haUVVGWkxFZEJRMmhDTEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUTFZc1YwRkJWeXhEUVVGRExGZEJRVEJDTEVWQlEzUkRMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlF6RkNMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJSVllzVFVGQlRTeGxRVUZuUWl4VFFVRlJMRzlDUVVGMVFqdFpRVU51UkN4SlFVRmhMRXRCUVVzN1owSkJRMmhDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTXNRMEZCUXp0WlFVTnlSQ3hEUVVGRE8xbEJRMFFzV1VGQldTeGhRVUZyUXl4RlFVRkZMRWxCUVZrN1owSkJRekZFTEV0QlFVc3NRMEZCUXl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE4wSXNRMEZCUXp0VFFVTkdPMUZCUlVRc1MwRkJTeXhOUVVGTkxFTkJRVU1zVlVGQlZTeEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTm9SU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGbEJRVmtzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0cFFrRkRkRVFzVFVGQlRTeERRVUZETEVOQlFVTXNUMEZCWlN4RlFVRkZMRVZCUVVVc1EwRkJReXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMmxDUVVOMFJDeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkZZaXhOUVVGTkxFOUJRVThzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXg1UWtGQmVVSXNRMEZETTBRc1ZVRkJWU3hEUVVOS0xFTkJRVU03V1VGRFZDeHRRa0ZCYlVJc1EwRkJReXhaUVVGWkxFTkJRVU1zWlVGQlpTeEZRVUZGTEZWQlFWVXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVWMlJTeE5RVUZOTEdGQlFXRXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVOQlFVTXNWVUZCZFVJc1EwRkJReXhEUVVOMlJTeFRRVUZUTEVsQlFVa3NVMEZCVXl4RFFVTjJRaXhEUVVGRE8xbEJRMFlzVFVGQlRTeFZRVUZWTEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUTNaRUxGVkJRVlVzUlVGRFZpeFRRVUZUTEVWQlExUXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkRiRUlzUTBGQlF6dFpRVU5HTEcxQ1FVRnRRaXhEUVVGRExHVkJRV1VzUTBGQlF5eGxRVUZsTEVWQlFVVXNWVUZCVlN4RlFVRkZPMmRDUVVNdlJDeGhRVUZoTzJkQ1FVTmlMRWRCUVVjc1ZVRkJWVHRoUVVOa0xFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTTdVVUZGUkN4TFFVRkxMRTFCUVUwc1EwRkJReXhWUVVGVkxFVkJRVVVzVTBGQlV5eERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEyNUZMRTFCUVUwc1RVRkJUU3hIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNSRExFMUJRVTBzVTBGQlV5eEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1JVRkJSU3hIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0cFFrRkRiRVVzVFVGQlRTeERRVUZETEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1EwRkJReXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMmxDUVVNNVF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkZZaXhOUVVGTkxFOUJRVThzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXg1UWtGQmVVSXNRMEZETTBRc1ZVRkJWU3hEUVVOS0xFTkJRVU03V1VGRFZDeHRRa0ZCYlVJc1EwRkJReXhaUVVGWkxFTkJRVU1zWlVGQlpTeEZRVUZGTEZWQlFWVXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVWMlJTeE5RVUZOTEdGQlFXRXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eExRVUZyUWl4RFFVRkRMRU5CUXpORUxGTkJRVk1zU1VGQlNTeFRRVUZUTEVOQlEzWkNMRU5CUVVNN1dVRkRSaXhOUVVGTkxGVkJRVlVzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhyUWtGQmEwSXNRMEZEZGtRc1ZVRkJWU3hGUVVOV0xGTkJRVk1zUlVGRFZDeExRVUZMTEVWQlEwd3NTVUZCU1N4RFFVTk1MRU5CUVVNN1dVRkRSaXh0UWtGQmJVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1pVRkJaU3hGUVVGRkxGVkJRVlVzUlVGQlJUdG5Ra0ZETDBRc1lVRkJZVHRuUWtGRFlpeEhRVUZITEZWQlFWVTdZVUZEWkN4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRE8xRkJSVVFzVDBGQlR5eGxRVUZsTEVOQlFVTTdTVUZEZWtJc1EwRkJRenRKUVVWTkxFRkJRVkFzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZEV0N4WFFVRm5ReXhGUVVOb1F5eHhRa0ZCYjBVc1JVRkRjRVVzWTBGQmMwUTdVVUZGZEVRc1RVRkJUU3hIUVVGSExFZEJRVWNzYlVKQlFXMUNMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU53UlN4TlFVRk5MRk5CUVZNc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUXk5RExFMUJRVTBzVTBGQlV5eEhRVUZITEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRSUVVONlF5eE5RVUZOTEdOQlFXTXNSMEZCUnl4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRE8xRkJRM2hETEUxQlFVMHNWMEZCVnl4SFFVRkhMRzFDUVVGdFFpeERRVUZETEdOQlFXTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVWd1JTd3dSVUZCTUVVN1VVRkRNVVVzTmtWQlFUWkZPMUZCUXpkRkxIbEZRVUY1UlR0UlFVTjZSU3hOUVVGTkxHdENRVUZyUWl4SFFVTjBRaXhYUVVGWExGbEJRVmtzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZGZGtVc1RVRkJUU3hsUVVGbExFZEJRVWNzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZEYkVNc1YwRkJWeXhGUVVOWUxGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGRFRTeERRVUZETzFGQlF6bERMRTFCUVUwc1kwRkJZeXhIUVVGSExIRkNRVUZ4UWl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEycEZMRTFCUVUwc1dVRkJXU3hIUVVGcFF6dFpRVU5xUkN4SFFVRkhMRU5CUVVNc1kwRkJZeXhKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVU42UWl4SFFVRkhMRU5CUVVNc1pVRkJaU3hKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVU14UWl4SFFVRkhMRU5CUVVNc1kwRkJZeXhKUVVGSkxFVkJRVVVzUTBGQlF6dFRRVU14UWl4RFFVRkRPMUZCUlVZc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4elFrRkJjMElzUTBGQlF5eE5RVUZOTEVOQlEzSkVMRmRCUVZjc1JVRkRXQ3hyUWtGQmEwSXNSVUZEYkVJc1dVRkJXU3hEUVVOaUxFTkJRVU03VVVGRFJpeE5RVUZOTEdGQlFXRXNSMEZCU1N4cFFrRkJlVUlzUTBGQlF5eFZRVVZ3UXl4RFFVRkRPMUZCUldRc1RVRkJUU3hGUVVOS0xFdEJRVXNzUlVGRFRDeGhRVUZoTEVWQlEySXNTVUZCU1N4RlFVRkZMRTFCUVUwc1IwRkRZaXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMREpDUVVFeVFpeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUldwRkxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlExQXNhME5CUVd0RExHTkJRV01zVTBGQlV5eGhRVUZoTEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlEzSkhMRU5CUVVNN1VVRkZSaXhOUVVGTkxGVkJRVlVzUjBGQk1rSXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVVM1JDeFRRVUZUTEdOQlFXTXNRMEZCUXl4TlFVRlhPMWxCUTJwRExFbEJRVWtzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVOMlFpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOdVFpeERRVUZETzJsQ1FVRk5MRWxCUVVrc1ZVRkJWU3hGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXp0blFrRkRja01zV1VGQldTeERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlF6VkRMRU5CUVVNN2FVSkJRVTBzUTBGQlF6dG5Ra0ZEVGl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZETlVJc1EwRkJRenRaUVVORUxFbEJRVWtzVlVGQlZTeEZRVUZGTEdOQlFXTXNSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeFhRVUZYTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRiRVFzUTBGQlF6dFJRVU5JTEVOQlFVTTdVVUZGUkN4SlFVZE5MSE5DUVVGelFpdzRRa0ZJTlVJc1RVRkhUU3h6UWtGQmRVSXNVMEZCVVN4dlFrRkJkVUk3V1VGSGFFUXNUVUZCVFN4TFFVRkxMRXRCUVVzN1owSkJRM2hDTEU5QlFVOHNWMEZCVnl4RFFVRkRPMWxCUTNKQ0xFTkJRVU03V1VGRlJDeEpRVUZoTEV0QlFVczdaMEpCUTJoQ0xFOUJRVThzVjBGQlZ5eERRVUZETzFsQlEzSkNMRU5CUVVNN1dVRkZSQ3haUVVGWkxHRkJRV3RETzJkQ1FVTTFReXhMUVVGTExFTkJRVU1zWVVGQllTeEZRVUZGTEhkQ1FVRnpRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzJkQ1FWaHVReXhQUVVGRkxFZEJRVmNzUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4WFFVRlhMRU5CUVZjc1EwRkJRenRuUWtGWk5VUXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkRUaXcyUTBGQk5rTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxGbEJRVmtzVTBGQlV5eEZRVUZGTEVOQlEzQkdMRU5CUVVNN1dVRkRTaXhEUVVGRE8xTkJRMFlzUTBGQlFUdFJRV3BDU3l4elFrRkJjMEk3V1VGSU0wSXNWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJRenRaUVVOeVFpeFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRPMWxCUTNaQ0xHTkJRV01zUTBGQlF5eFhRVUZYTEVOQlFVTTdOa05CV1VNc2JVSkJRVzFDTzFkQldERkRMSE5DUVVGelFpeERRV2xDTTBJN1VVRkZSQ3hqUVVGakxFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1EwRkJRenRSUVVWMlF5eEpRVUZKTEdGQlFXRXNSVUZCUlN4RFFVRkRPMWxCUTJ4Q0xFMUJRVTBzV1VGQldTeEhRVUZITEVOQlFVTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRM0JFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZEY0VRc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVOd1JDeE5RVUZOTEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRPMmRDUVVOMFJTeE5RVUZOTEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRPMmRDUVVOMFJTeE5RVUZOTEdGQlFXRXNSMEZCUnl4VFFVRlRMRU5CUVVNc1RVRkJUU3hIUVVGSExGZEJRVmNzUTBGQlF6dG5Ra0ZEY2tRc1RVRkJUU3hoUVVGaExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNSMEZCUnl4WFFVRlhMRU5CUVVNN1owSkJRM0pFTEVsQlFVa3NZVUZCWVN4TFFVRkxMR0ZCUVdFN2IwSkJRMnBETEU5QlFVOHNZVUZCWVN4SFFVRkhMR0ZCUVdFc1EwRkJRenRuUWtGRGRrTXNTVUZCU1N4WFFVRlhMRXRCUVVzc1YwRkJWenR2UWtGQlJTeFBRVUZQTEZkQlFWY3NSMEZCUnl4WFFVRlhMRU5CUVVNN1owSkJRMnhGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTFnc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRlNDeExRVUZMTEUxQlFVMHNTMEZCU3l4SlFVRkpMRmxCUVZrc1JVRkJSU3hEUVVGRE8yZENRVU5xUXl4TlFVRk5MRlZCUVZVc1IwRkRaQ3hMUVVGTExFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzJkQ1FVTXpSQ3hOUVVGTkxGbEJRVmtzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhWUVVGVkxFTkJRMnBFTEZWQlFWVXNSVUZEVml4TFFVRkxMRVZCUTB3c1RVRkJUU3hGUVVOT0xHRkJRV0VzUlVGRFlpeExRVUZMTEVWQlEwd3NWMEZCVnl4RlFVTllMR05CUVdNc1EwRkRaaXhEUVVGRE8yZENRVU5HTEVsQlFVa3NRMEZCUXl4WlFVRlpPMjlDUVVGRkxGTkJRVk03WjBKQlJUVkNMRTFCUVUwc1JVRkRTaXhWUVVGVkxFVkJRVVVzYjBKQlFXOUNMRVZCUTJoRExFOUJRVThzUlVGRFVDeFZRVUZWTEVWQlExWXNaVUZCWlN4SFFVTm9RaXhIUVVGSExGbEJRVmtzUTBGQlF6dG5Ra0ZGYWtJc1RVRkJUU3hWUVVGVkxFZEJRVWNzYlVKQlFXMUNMRU5CUVVNc1dVRkJXU3hEUVVOcVJDeHpRa0ZCYzBJc1JVRkRkRUlzYjBKQlFXOUNMRVZCUTNCQ0xFOUJRVThzUTBGRFVpeERRVUZETzJkQ1FVVkdMRWxCUVVrc1ZVRkJWU3hGUVVGRkxFTkJRVU03YjBKQlEyWXNUVUZCVFN4aFFVRmhMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVcxQ0xFTkJRVU1zUTBGRGJFVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRk5CUVZNc1EwRkRiRVFzUTBGQlF6dHZRa0ZEUml4dFFrRkJiVUlzUTBGQlF5eGxRVUZsTEVOQlEycERMSE5DUVVGelFpeEZRVU4wUWl4dlFrRkJiMElzUlVGRGNFSXNRMEZCUXl4aFFVRmhMRVZCUVVVc1IwRkJSeXhWUVVGVkxFTkJRVU1zUlVGRE9VSXNaVUZCWlN4RFFVTm9RaXhEUVVGRE8yZENRVU5LTEVOQlFVTTdXVUZEU0N4RFFVRkRPMUZCUTBnc1EwRkJRenRSUVVWRUxFOUJRVThzYzBKQlFUWkNMRU5CUVVNN1NVRkRka01zUTBGQlF6dEpRVVZFTEUxQlFVMHNRMEZCUXl3eVFrRkJNa0lzUTBGRGFFTXNWVUZCSzBJN1VVRlBMMElzVFVGQlRTeEZRVUZGTEVkQlFVY3NTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRWEZDTEVOQlFVTTdVVUZEY0VRc1RVRkJUU3hSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZETTBJc1ZVRkJWU3hGUVVOV0xGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGRGJFTXNRMEZCUXp0UlFVTkdMRTFCUVUwc1dVRkJXU3hIUVVGSExGRkJRVkVzUlVGQlJTeEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUlRGRExFMUJRVTBzVlVGQlZTeEhRVU5rTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRPMWxCUTNCRUxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNoRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUldoRExFMUJRVTBzVjBGQlZ5eEhRVUZITEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlF6TkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJRM3BETEUxQlFVMHNZVUZCWVN4SFFVRjFRaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVN1dVRkRMMFFzVDBGQlR6dG5Ra0ZEVEN4SlFVRkpMRVZCUVVVc1IwRkJSenRuUWtGRFZDeFhRVUZYTEVWQlFVVXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETzJkQ1FVTnNSQ3hSUVVGUkxFVkJRVVVzU1VGQlNUdG5Ra0ZEWkN4SlFVRkpMRVZCUVVVc1RVRkJUVHRoUVVOaUxFTkJRVU03VVVGRFNpeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVklMRTlCUVU4N1dVRkRUQ3hKUVVGSk8xbEJRMG9zVjBGQlZ6dFpRVU5ZTEdGQlFXRTdXVUZEWWl4TFFVRkxMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVGhDTEVWQlFVVXNSVUZCUlN4RFFVTXpReXhSUVVGUkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTTdVMEZETVVVc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNiMEpCUVc5Q0xFTkJRMnBETEVsQlFWazdVVUZGV2l4SlFVRkpMRlZCUVZVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGJrSXNUMEZCVHl4SlFVRkpPMkZCUTFJc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF6dGhRVU5XTEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNN1lVRkRaaXhQUVVGUExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlR0WlFVTnVRaXhKUVVGSkxFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRE5VSXNUMEZCVHp0dlFrRkRUQ3hGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1JVRkJSVHRwUWtGRGJrVXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkRSQ3hKUVVGSkxFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRE5VSXNUMEZCVHp0dlFrRkRUQ3hGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1JVRkJSVHRwUWtGRGJrVXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkRSQ3hQUVVGUExFVkJRVVVzUTBGQlF6dFJRVU5hTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTFBc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlEzcENMRTFCUVZjc1JVRkRXQ3hWUVVGclFpeEZRVU5zUWl4UFFVRm5RenRSUVVWb1F5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJReXhUUVVGVExFbEJRVWtzVFVGQlRTeEZRVUZGTEZWQlFWVXNSVUZCUlR0WlFVTTFSQ3hMUVVGTExFVkJRVVVzVDBGQlR6dFpRVU5rTEZGQlFWRXNSVUZCUlN4TFFVRkxPMWxCUTJZc1dVRkJXU3hGUVVGRkxFbEJRVWs3V1VGRGJFSXNWVUZCVlN4RlFVRkZMRXRCUVVzN1UwRkRiRUlzUTBGQlF5eERRVUZETzFGQlJVZ3NUMEZCVHl4TlFVRk5MRU5CUVVNc2QwSkJRWGRDTEVOQlEzQkRMRTFCUVUwc1EwRkJReXhUUVVGVExFbEJRVWtzVFVGQlRTeEZRVU14UWl4VlFVRlZMRU5CUTFnc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNaVUZCWlN4RFFVTTFRaXhOUVVGWExFVkJRMWdzVlVGQmEwSXNSVUZEYkVJc1owSkJRWE5GTEVWQlEzUkZMR3RDUVVkTExFVkJRVVU3VVVGRlVDeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRVZCUVVVc1UwRkJVeXhKUVVGSkxFMUJRVTBzUTBGQlF6dFJRVU14UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1MwRkJTeXhGUVVGRkxGVkJRVlVzUTBGQlF5eERRVUZETzFGQlEzUkZMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVNdlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RlFVRkZMRlZCUVZVc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGRGNFTXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zVlVGQlZTeERRVU4yUWl4VlFVRnJRaXhGUVVOc1FpeExRVUZyUWl4RlFVTnNRaXhOUVVGakxFVkJRMlFzWVVGQmFVTXNSVUZEYWtNc1MwRkJLME1zUlVGREwwTXNWMEZCYTBNc1JVRkRiRU1zWTBGQmMwSTdVVUZaZEVJc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkRMMElzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhaUVVGWkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEZEVRc1RVRkJUU3hQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEdOQlFYbERMRU5CUVVNN1VVRkZhRVVzU1VGQlNTeE5RVUZOTEV0QlFVc3NUVUZCVFN4SlFVRkpMR05CUVdNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU12UXl4UFFVRlBMRzFDUVVGdFFpeERRVUZETEd0Q1FVRnJRaXhEUVVNelF5eFJRVUZSTEVWQlExSXNUMEZCVHl4RlFVTlFMRzFDUVVGdFFpeERRVUZETEhOQ1FVRnpRaXhEUVVGRExGZEJRVmNzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZEZGtVN1owSkJRMFVzUlVGQlJTeFRRVUZUTEVWQlFVVXNVMEZCVXl4RlFVRlRMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJUdG5Ra0ZETTBNc1JVRkJSU3hUUVVGVExFVkJRVVVzVVVGQlVTeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGUkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlR0aFFVTm9SU3hEUVVOR0xFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1RVRkJUU3hKUVVGSkxHTkJRV01zUzBGQlN5eE5RVUZOTEVWQlFVVXNRMEZCUXp0WlFVTnVSQ3hQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4WFFVRlhMRVZCUTFnc1QwRkJUeXhGUVVOUUxHMUNRVUZ0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZkQlFWY3NSVUZCUlN4alFVRmpMRU5CUVVNc1JVRkRja1U3WjBKQlEwVXNSVUZCUlN4VFFVRlRMRVZCUVVVc1UwRkJVeXhGUVVGVExFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRNME1zUlVGQlJTeFRRVUZUTEVWQlFVVXNVVUZCVVN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZSTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSVHRoUVVOb1JTeERRVU5HTEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUlVRc1NVRkJTU3hOUVVGTkxFdEJRVXNzUzBGQlN5eEpRVUZKTEdOQlFXTXNTMEZCU3l4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVOc1JDeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVTXpReXhUUVVGVExFVkJRMVFzVDBGQlR5eEZRVU5RTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hqUVVGakxFTkJRVU1zUlVGRGJrVXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZSTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJReTlETEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUlVRc1NVRkJTU3hOUVVGTkxFdEJRVXNzUzBGQlN5eEpRVUZKTEdOQlFXTXNTMEZCU3l4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVOc1JDeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExHdENRVUZyUWl4RFFVTXpReXhYUVVGWExFVkJRMWdzVDBGQlR5eEZRVU5RTEcxQ1FVRnRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVTjBReXhYUVVGWExFVkJRMWdzWTBGQll5eEZRVU5rTEdGQlFXRXNRMEZEWkN4RlFVTkVPMmRDUVVORkxFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNSVUZCVXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlF6TkRMRVZCUVVVc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlF5eEZRVUZGTEZkQlFWY3NSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJVU3hGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVTdZVUZEYUVVc1EwRkRSaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEVsQlFVa3NUVUZCVFN4TFFVRkxMRkZCUVZFc1NVRkJTU3hqUVVGakxFdEJRVXNzVFVGQlRTeEZRVUZGTEVOQlFVTTdXVUZEY2tRc1QwRkJUeXh0UWtGQmJVSXNRMEZCUXl4clFrRkJhMElzUTBGRE0wTXNWMEZCVnl4RlFVTllMRTlCUVU4c1JVRkRVQ3h0UWtGQmJVSXNRMEZCUXl4dlFrRkJiMElzUTBGRGRFTXNWMEZCVnl4RlFVTllMR05CUVdNc1JVRkRaQ3hoUVVGaExFTkJRMlFzUlVGRFJEdG5Ra0ZEUlN4RlFVRkZMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZSTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGRE5VTXNSVUZCUlN4VFFVRlRMRVZCUVVVc1VVRkJVU3hEUVVGRExFVkJRVVVzVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4RFFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJUdGhRVU5vUlN4RFFVTkdMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzU1VGQlNTeE5RVUZOTEV0QlFVc3NTMEZCU3l4SlFVRkpMR05CUVdNc1MwRkJTeXhOUVVGTkxFVkJRVVVzUTBGQlF6dFpRVU5zUkN4UFFVRlBMRzFDUVVGdFFpeERRVUZETEd0Q1FVRnJRaXhEUVVNelF5eE5RVUZOTEVWQlEwNHNUMEZCVHl4RlFVTlFMRzFDUVVGdFFpeERRVUZETEdOQlFXTXNRMEZEYUVNc1YwRkJWeXhGUVVOWUxHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNUVUZCVFN4RFFVTlFMRVZCUTBRc2JVSkJRVzFDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWTBGQll5eERRVUZETEVOQlEzcEVMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzU1VGQlNTeE5RVUZOTEV0QlFVc3NTMEZCU3l4SlFVRkpMR05CUVdNc1MwRkJTeXhOUVVGTkxFVkJRVVVzUTBGQlF6dFpRVU5zUkN4TlFVRk5MRmRCUVZjc1IwRkRaaXh0UWtGQmJVSXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0WlFVTXpSQ3hQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4UlFVRlJMRVZCUTFJc1QwRkJUeXhGUVVOUUxHMUNRVUZ0UWl4RFFVRkRMR2RDUVVGblFpeERRVU5zUXl4WFFVRlhMRVZCUTFnc1kwRkJZeXhGUVVOa0xHRkJRV0VzUlVGRFlpeE5RVUZOTEVOQlExQXNSVUZEUkR0blFrRkRSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeFRRVUZUTEVWQlFWTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU16UXl4SFFVRkhMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEZOQlFWTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dHZRa0ZETlVNc1UwRkJVenR2UWtGRFZDeExRVUZMTEVWQlFVVXNTMEZCU3l4SFFVRkhMRU5CUVVNN2FVSkJRMnBDTEVOQlFVTXNRMEZCUXp0aFFVTktMRU5CUTBZc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeEpRVUZKTEUxQlFVMHNTMEZCU3l4UlFVRlJMRWxCUVVrc1kwRkJZeXhMUVVGTExFMUJRVTBzUlVGQlJTeERRVUZETzFsQlEzSkVMRTFCUVUwc1YwRkJWeXhIUVVObUxHMUNRVUZ0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMWxCUXpORUxFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRkZCUVZFc1JVRkRVaXhQUVVGUExFVkJRMUFzYlVKQlFXMUNMRU5CUVVNc1owSkJRV2RDTEVOQlEyeERMRmRCUVZjc1JVRkRXQ3hqUVVGakxFVkJRMlFzWVVGQllTeEZRVU5pTEUxQlFVMHNRMEZEVUN4RlFVTkVMRmRCUVZjc1EwRkRXaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEhWRlFVRjFSVHRSUVVOMlJTeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExHTkJRV01zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEyNUZMRTFCUVUwc1YwRkJWeXhIUVVObUxHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRE8xbEJRek5DTEdkQ1FVRm5RaXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTI1RUxFbEJRVWtzVjBGQlZ5eEpRVUZKTEdOQlFXTXNTMEZCU3l4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVNM1F5eE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExHZENRVUZuUWp0cFFrRkRkRU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOMFFpeEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03WjBKQlEyUXNTVUZCU1R0blFrRkRTaXhYUVVGWExFVkJRVVVzUjBGQlJ5eEpRVUZKTEZsQlFWazdaMEpCUTJoRExGRkJRVkVzUlVGQlJTeEpRVUZKTzJkQ1FVTmtMRWxCUVVrc1JVRkJSU3hOUVVGTk8yRkJRMklzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEVGl4TlFVRk5MRTFCUVUwc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRia1VzVFVGQlRTeFhRVUZYTEVkQlEyWXNiVUpCUVcxQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03V1VGRE0wUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1MwRkJTeXhGUVVGRkxFTkJRVU03WjBKQlEzSkNMRTlCUVU4c2JVSkJRVzFDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRek5ETEZOQlFWTXNUVUZCVFN4RlFVRkZMRVZCUTJwQ0xFOUJRVThzUlVGRFVDeHRRa0ZCYlVJc1EwRkJReXhqUVVGakxFTkJRMmhETEZkQlFWY3NSVUZEV0N4alFVRmpMRVZCUTJRc1owSkJRV2RDTEVWQlEyaENMR05CUVdNc1EwRkRaaXhGUVVORUxGZEJRVmNzUTBGRFdpeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVTkVMRWxCUVVrc1RVRkJUU3hMUVVGTExFdEJRVXNzUlVGQlJTeERRVUZETzJkQ1FVTnlRaXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVGclFpeERRVU16UXl4WFFVRlhMRTFCUVUwc1JVRkJSU3hGUVVOdVFpeFBRVUZQTEVWQlExQXNiVUpCUVcxQ0xFTkJRVU1zWjBKQlFXZENMRU5CUTJ4RExGZEJRVmNzUlVGRFdDeGpRVUZqTEVWQlEyUXNaMEpCUVdkQ0xFVkJRMmhDTEdOQlFXTXNRMEZEWml4RlFVTkVPMjlDUVVORkxFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNSVUZCVXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVU3YjBKQlF6TkRMRWRCUVVjc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzNkQ1FVTTFReXhUUVVGVE8zZENRVU5VTEV0QlFVc3NSVUZCUlN4TFFVRkxMRWRCUVVjc1EwRkJRenR4UWtGRGFrSXNRMEZCUXl4RFFVRkRPMmxDUVVOS0xFTkJRMFlzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZEUkN4SlFVRkpMRTFCUVUwc1MwRkJTeXhSUVVGUkxFVkJRVVVzUTBGQlF6dG5Ra0ZEZUVJc1QwRkJUeXh0UWtGQmJVSXNRMEZCUXl4clFrRkJhMElzUTBGRE0wTXNWMEZCVnl4TlFVRk5MRVZCUVVVc1JVRkRia0lzVDBGQlR5eEZRVU5RTEcxQ1FVRnRRaXhEUVVGRExHZENRVUZuUWl4RFFVTnNReXhYUVVGWExFVkJRMWdzWTBGQll5eEZRVU5rTEdkQ1FVRm5RaXhGUVVOb1FpeGpRVUZqTEVOQlEyWXNSVUZEUkN4WFFVRlhMRU5CUTFvc1EwRkJRenRaUVVOS0xFTkJRVU03VVVGRFNDeERRVUZETzFGQlJVUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1MwRkJTeXhKUVVGSkxHTkJRV01zUzBGQlN5eDVRa0ZCZVVJc1JVRkJSU3hEUVVGRE8xbEJRM0pGTEU5QlFVOHNiVUpCUVcxQ0xFTkJRVU1zYTBKQlFXdENMRU5CUXpORExGZEJRVmNzUlVGRFdDeFBRVUZQTEVWQlExQXNiVUpCUVcxQ0xFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1YwRkJWeXhGUVVGRkxHTkJRV01zUTBGQlF5eEZRVU53UlR0blFrRkRSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJUdG5Ra0ZETDBNc1JVRkJSU3hUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCVVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlF6ZERMRVZCUVVVc1UwRkJVeXhGUVVGRkxGVkJRVlVzUlVGQlV5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVVN1lVRkROME1zUTBGRFJpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVVkVMRWxCUVVrc1RVRkJUU3hMUVVGTExFdEJRVXNzU1VGQlNTeGpRVUZqTEV0QlFVc3NkVUpCUVhWQ0xFVkJRVVVzUTBGQlF6dFpRVU51UlN4UFFVRlBMRzFDUVVGdFFpeERRVUZETEd0Q1FVRnJRaXhEUVVNelF5eFhRVUZYTEVWQlExZ3NUMEZCVHl4RlFVTlFMRzFDUVVGdFFpeERRVUZETERKQ1FVRXlRaXhEUVVNM1F5eFhRVUZYTEVWQlExZ3NZMEZCWXl4RlFVTmtMR05CUVdNc1JVRkRaQ3h4UWtGQmNVSXNRMEZCUXl4WFFVRlhMRU5CUTJ4RExFVkJRMFFzYlVKQlFXMUNMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUXpWRUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNUVUZCVFN4bFFVRmxMRWRCUVRKQ08xbEJRemxETEdGQlFXRXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFsQlF6VkRMSFZDUVVGMVFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExFOUJRVTg3V1VGRGRFUXNZVUZCWVN4RlFVRkZMSEZDUVVGeFFpeERRVUZETEVsQlFVazdXVUZEZWtNc1lVRkJZU3hGUVVGRkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrN1dVRkRla01zZFVKQlFYVkNMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNWMEZCVnp0WlFVTXhSQ3h2UWtGQmIwSXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFsQlEyNUVMR2RDUVVGblFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExGRkJRVkU3V1VGRGFFUXNZMEZCWXl4RlFVRkZMSEZDUVVGeFFpeERRVUZETEUxQlFVMDdXVUZETlVNc1kwRkJZeXhGUVVGRkxIRkNRVUZ4UWl4RFFVRkRMRTFCUVUwN1dVRkROVU1zWTBGQll5eEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExFMUJRVTA3V1VGRE5VTXNZMEZCWXl4RlFVRkZMSEZDUVVGeFFpeERRVUZETEUxQlFVMDdXVUZETlVNc2JVSkJRVzFDTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVjBGQlZ6dFpRVU4wUkN4blFrRkJaMElzUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhSUVVGUk8xTkJRMnBFTEVOQlFVTTdVVUZGUml4TlFVRk5MRmxCUVZrc1IwRkJSeXhsUVVGbExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTTdVVUZEY2tRc1NVRkJTU3haUVVGWkxFbEJRVWtzVFVGQlRTeExRVUZMTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTNKRExFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRzFDUVVGdFFpeERRVUZETEcxQ1FVRnRRaXhEUVVGRExHTkJRV01zUTBGQlF5eEZRVU4yUkN4UFFVRlBMRVZCUTFBc2JVSkJRVzFDTEVOQlFVTXNNa0pCUVRKQ0xFTkJRemRETEZkQlFWY3NSVUZEV0N4alFVRmpMRVZCUTJRc1kwRkJZeXhGUVVOa0xGbEJRVmtzUTBGRFlpeEZRVU5FTEcxQ1FVRnRRaXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVNMVJDeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVVkVMRWxCUVVrc1RVRkJUU3hMUVVGTExFdEJRVXNzU1VGQlNTeGpRVUZqTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRE5VUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNwRkxFOUJRVThzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlF6TkRMRmRCUVZjc1JVRkRXQ3hQUVVGUExFVkJRMUFzYlVKQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlEzQkRMRmRCUVZjc1JVRkRXQ3hqUVVGakxFVkJRMlFzUzBGQlN5eEZRVU5NTEVsQlFVa3NRMEZEVEN4RlFVTkVMRzFDUVVGdFFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExHTkJRV01zUTBGQlF5eERRVU4yUkN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFMUJRVTBzV1VGQldTeEhRVUZITEdOQlFXTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUXk5RUxFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NSMEZCUnl4RFFVRlRPMWxCUTNCRExGRkJRVkU3V1VGRFVpeFJRVUZSTzFsQlExSXNaMEpCUVdkQ08xbEJRMmhDTEZkQlFWYzdXVUZEV0N4WlFVRlpPMWxCUTFvc1RVRkJUVHRaUVVOT0xFMUJRVTA3V1VGRFRpeFRRVUZUTzFsQlExUXNUMEZCVHp0WlFVTlFMRTlCUVU4N1dVRkRVQ3hQUVVGUE8xbEJRMUFzVDBGQlR6dFpRVU5RTEZsQlFWazdXVUZEV2l4VFFVRlRPMWxCUTFRc1YwRkJWenRaUVVOWUxFMUJRVTA3V1VGRFRpeFBRVUZQTzFOQlExSXNRMEZCUXl4RFFVRkRPMUZCUTBnc1NVRkRSU3haUVVGWkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTTdXVUZEZGtJc1EwRkJReXhqUVVGakxFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXp0WlFVTndReXhEUVVGRExHTkJRV01zUTBGQlF5eFZRVUZWTEVOQlFVTXNXVUZCV1N4RFFVRkRPMWxCUTNoRExFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGRGJrTXNRMEZCUXp0WlFVTkVMRTFCUVUwc1lVRkJZU3hIUVVGSExGbEJRVms3YVVKQlF5OUNMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dHBRa0ZEYUVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJsQ1FVTjBRaXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1owSkJRMlFzU1VGQlNUdG5Ra0ZEU2l4WFFVRlhMRVZCUVVVc1IwRkJSeXhKUVVGSkxEQkNRVUV3UWp0blFrRkRPVU1zVVVGQlVTeEZRVUZGTEVsQlFVazdaMEpCUTJRc1NVRkJTU3hGUVVGRkxFMUJRVTA3WVVGRFlpeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVVk9MRTlCUVU4c2JVSkJRVzFDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRek5ETEZWQlFWVXNSVUZEVml4UFFVRlBMRVZCUTFBN1owSkJRMFVzUjBGQlJ5eGhRVUZoTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hETEZsQlFWa3NRMEZCUXl4RlFVRkZMRTlCUVU4c1JVRkJSU3d5UWtGQk1rSXNWVUZCVlN4SlFVRkpMRVZCUVVVc1EwRkJRenRuUWtGRGNFVXNZVUZCWVN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxHZERRVUZuUXl4RlFVRkZMRU5CUVVNN1owSkJRMmhGTEc5Q1FVRnZRaXhEUVVGRE8yOUNRVU51UWl4WFFVRlhMRVZCUVVVc2IwTkJRVzlETzJsQ1FVTnNSQ3hEUVVGRE8yRkJRMGdzUlVGRFJDeHRRa0ZCYlVJc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkRla1FzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4UFFVRlBMRk5CUVZNc1EwRkJRenRKUVVOdVFpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeERRVU12UWl4VlFVRnJRaXhGUVVOc1FpeFBRVUZuUXl4RlFVTm9ReXhWUVVGblJTeEZRVU5vUlN4bFFVRjNSVHRSUVVWNFJTeFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzWlVGQlpTeEZRVUZGTEVOQlFVTTdTVUZET1VRc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhKUVVGWk8xRkJRemRETEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zVDBGQlR5eFpRVUZaTEVOQlFVTTdTVUZEZEVJc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eDFRa0ZCZFVJc1EwRkRjRU1zU1VGQldUdFJRVVZhTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGJFVXNUVUZCVFN4TlFVRk5MRWRCUVRSRUxFVkJRVVVzUTBGQlF6dFJRVU16UlN4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpGQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEyeERMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeFRRVUZUTEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJVU3hGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUXpORUxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEwZ3NTVUZEUlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF6dFpRVU14UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF6dFpRVU01UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF6dFpRVU40UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eEZRVU40UWl4RFFVRkRPMWxCUTBRc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEZOQlFWTXNSVUZCUlN4VlFVRlZMRVZCUVZNc1JVRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRNVVVzUTBGQlF6dFJRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNhMEpCUVd0Q0xFTkJReTlDTEVsQlFWazdVVUZGV2l4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyeEZMRTFCUVUwc1RVRkJUU3hIUVVFMFJDeEZRVUZGTEVOQlFVTTdVVUZETTBVc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNeFFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0WlFVTnNReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVkVzUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNelJDeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTklMRWxCUVVrc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpsQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4VFFVRlRMRVZCUVVVc1ZVRkJWU3hGUVVGVExFVkJRVVVzUzBGQlN5eEZRVUZGTEZGQlFWRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRekZGTEVOQlFVTTdVVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETzBsQlJVOHNUVUZCVFN4RFFVRkRMSGxDUVVGNVFpeERRVUZETEZWQlFXdENPMUZCUTNwRUxFOUJRVThzUzBGQlN5eFZRVUZWTEZsQlFWa3NRMEZGYUVNc1IwRkJSeXhKUVVGWE8xbEJSV1FzVFVGQlRTeEhRVUZITEVkQlFWRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVTXZReXhKUVVGSkxFTkJRVU03WjBKQlEwZ3NTVUZCU1N4SFFVRkhPMjlDUVVGRkxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNNRUpCUVRCQ0xGVkJRVlVzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUXpWRUxFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVU16UkN4WlFVRlpMRU5CUTJJc1EwRkJRenRuUWtGRFJpeE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTXhReXhOUVVGTkxGVkJRVlVzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRuUWtGRGFFVXNTVUZEUlN4WFFVRlhMRVZCUVVVc1NVRkJTVHR2UWtGRGFrSXNUMEZCVHl4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEZWQlFWVXNSVUZEYkVRc1EwRkJRenR2UWtGRFJDeFBRVUZQTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXp0blFrRkRja1FzUTBGQlF6dG5Ra0ZEUkN4SlFVRkpMRTlCUVU4c1YwRkJWeXhEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEZWQlFWVXNSVUZCUlN4RFFVRkRPMjlDUVVOc1JDeFBRVUZQTEZkQlFWY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eERRVUZETzJkQ1FVTm9SQ3hEUVVGRE8yZENRVU5FTEVsQlFVa3NWMEZCVnl4RlFVRkZMRXRCUVVzc1NVRkJTU3hQUVVGUExGZEJRVmNzUTBGQlF5eExRVUZMTEV0QlFVc3NWVUZCVlN4RlFVRkZMRU5CUVVNN2IwSkJRMnhGTEU5QlFVOHNWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXp0blFrRkRkRVFzUTBGQlF6dG5Ra0ZEUkN4SlFVRkpMRTlCUVU4c1YwRkJWeXhEUVVGRExGTkJRVk1zUzBGQlN5eFZRVUZWTEVWQlFVVXNRMEZCUXp0dlFrRkRhRVFzVDBGQlR5eFhRVUZYTEVOQlFVTXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hIUVVGSExGVkJRVlVzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRMMFFzUTBGQlF6dG5Ra0ZEUkN4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVOeVFpeDFRa0ZCZFVJc1ZVRkJWU3hyUWtGQmEwSXNWMEZCVnl4RlFVRkZMRmRCUVZjc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGRGNFWXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkJReXhQUVVGUExFTkJRVTBzUlVGQlJTeERRVUZETzJkQ1FVTm9RaXhKUVVGSkxFZEJRVWM3YjBKQlFVVXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNWVUZCVlN4VlFVRlZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6ZEVMRTFCUVUwc2JVSkJRVzFDTEVOQlFVTXNXVUZCV1N4RFFVTndReXhEUVVGRExFVkJRMFFzYVVKQlFXbENMRlZCUVZVc1ZVRkJWU3hEUVVOMFF5eERRVUZETzFsQlEwb3NRMEZCUXp0UlFVTklMRU5CUVVNc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlZ6dFJRVU42UXl4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF6dFpRVUZGTEU5QlFVOHNTVUZCU1N4RFFVRkRPMUZCUTI1RExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyNURMRWxCUVVrc1NVRkJTU3hKUVVGSkxFOUJRVThzU1VGQlNTeExRVUZMTEZGQlFWRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTTNSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkROVUlzVFVGQlRTeFpRVUZaTEVkQlFVY3NVVUZCVVN4RFFVRkRMRk5CUVZNc1MwRkJTeXhUUVVGVExFTkJRVU03V1VGRGRFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRExFdEJRVXNzUzBGQlN5eFRRVUZUTEVOQlFVTTdXVUZET1VNc1RVRkJUU3hUUVVGVExFZEJRVWNzVVVGQlVTeERRVUZETEUxQlFVMHNTMEZCU3l4VFFVRlRMRU5CUVVNN1dVRkRhRVFzU1VGQlNTeERRVUZETEZsQlFWa3NTVUZCU1N4RFFVRkRMRkZCUVZFc1NVRkJTU3hEUVVGRExGTkJRVk03WjBKQlFVVXNUMEZCVHl4SlFVRkpMRU5CUVVNN1dVRkRNVVFzVFVGQlRTeE5RVUZOTEVkQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNwQ0xFbEJRVWtzV1VGQldUdG5Ra0ZCUlN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0cFFrRkROME1zU1VGQlNTeFJRVUZSTEVsQlFVa3NVMEZCVXp0blFrRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMWxCUTNaRUxFbEJRVWtzVVVGQlVUdG5Ra0ZCUlN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0WlFVTXhReXhKUVVGSkxGTkJRVk03WjBKQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZETlVNc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRPVUlzUTBGQlF6dFJRVU5FTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhKUVVGWE8xRkJRek5ETEUxQlFVMHNWVUZCVlN4SFFVRkhMRzFDUVVGdFFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6bEVMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETzFsQlFVVXNUMEZCVHl4VlFVRlZMRU5CUVVNN1VVRkZMME1zVFVGQlRTeEpRVUZKTEVkQlFVY3NWVUZCVlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZETDBNc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeFBRVUZQTEVsQlFVa3NTMEZCU3l4UlFVRlJMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpkRUxFOUJRVThzVlVGQlZTeERRVUZETzFGQlEzQkNMRU5CUVVNN1VVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUV5UWl4RFFVRkRPMUZCUXpkRExFMUJRVTBzWTBGQll5eEhRVU5zUWl4UlFVRlJMRU5CUVVNc1UwRkJVeXhMUVVGTExGTkJRVk03V1VGRGFFTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1MwRkJTeXhUUVVGVE8xbEJRelZDTEZGQlFWRXNRMEZCUXl4TlFVRk5MRXRCUVVzc1UwRkJVenRaUVVNM1FpeFJRVUZSTEVOQlFVTXNVVUZCVVN4TFFVRkxMRk5CUVZNc1EwRkJRenRSUVVWc1F5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkRjRUlzVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMWxCUTJwQ0xFOUJRVThzVlVGQlZTeERRVUZETzFGQlEzQkNMRU5CUVVNN1VVRkZSQ3hWUVVGVkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZEYWtJc1NVRkJTU3hSUVVGUkxFTkJRVU1zVTBGQlV5eExRVUZMTEZOQlFWTTdXVUZCUlN4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTXhSU3hKUVVGSkxGRkJRVkVzUTBGQlF5eExRVUZMTEV0QlFVc3NVMEZCVXp0WlFVRkZMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTJ4RkxFbEJRVWtzVVVGQlVTeERRVUZETEUxQlFVMHNTMEZCU3l4VFFVRlRPMWxCUVVVc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRjRVVzU1VGQlNTeFJRVUZSTEVOQlFVTXNVVUZCVVN4TFFVRkxMRk5CUVZNN1dVRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVONFJTeFBRVUZQTEZWQlFWVXNRMEZCUXp0SlFVTndRaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEhOQ1FVRnpRaXhEUVVOdVF5eFhRVUZyUXl4RlFVTnNReXhqUVVGelFqdFJRVVYwUWl4UFFVRlBPMWxCUTB3c2NVSkJRWEZDTEVOQlFVTXNWMEZCVnl4RlFVRkZMRTFCUVUwc1EwRkJRenRaUVVNeFF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1owSkJRV2RDTEdOQlFXTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkROVVFzVDBGQlR5eERRVUZETzJkQ1FVTk9MRmRCUVZjc1JVRkJSU3hsUVVGbExHTkJRV01zUlVGQlJUdG5Ra0ZETlVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RlFVRkZMRmRCUVZjc1EwRkJRenRoUVVOb1JDeERRVUZETzFsQlEwWXNhMEpCUVd0Q0xFTkJRVU03WjBKQlEycENMRmRCUVZjc1JVRkJSU3hIUVVGSExHTkJRV01zZDBKQlFYZENPMmRDUVVOMFJDeE5RVUZOTEVWQlFVVXNSVUZCUlN4SlFVRkpMRVZCUVVVc1lVRkJZU3hEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTzJGQlF6ZERMRU5CUVVNN1dVRkRSaXh4UWtGQmNVSXNRMEZCUXl4RlFVRkZMRmRCUVZjc1JVRkJSU3cwUWtGQk5FSXNSVUZCUlN4RFFVRkRPMWxCUTNCRkxEaENRVUU0UWl4RFFVRkRPMmRDUVVNM1FpeFhRVUZYTEVWQlFVVXNNa05CUVRKRE8yRkJRM3BFTEVOQlFVTTdVMEZEU0N4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1EwRkRha01zVjBGQmEwTXNSVUZEYkVNc1kwRkJjMEk3VVVGRmRFSXNUMEZCVHp0WlFVTk1MSEZDUVVGeFFpeERRVUZETEZkQlFWY3NSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRE8xbEJRMnhFTEZsQlFWa3NRMEZCUXl4RlFVRkZMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNZMEZCWXl4SFFVRkhMRVZCUVVVc1EwRkJRenRaUVVNMVJDeFBRVUZQTEVOQlFVTTdaMEpCUTA0c1YwRkJWeXhGUVVGRkxHVkJRV1VzWTBGQll5eEZRVUZGTzJkQ1FVTTFReXhOUVVGTkxFVkJRVVU3YjBKQlEwNHNTVUZCU1N4RlFVRkZMRTlCUVU4N2IwSkJRMklzUzBGQlN5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMR0ZCUVdFc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJUdHBRa0ZETlVNN1lVRkRSaXhEUVVGRE8xbEJRMFlzYTBKQlFXdENMRU5CUVVNN1owSkJRMnBDTEZkQlFWY3NSVUZCUlN4SFFVRkhMR05CUVdNc2QwSkJRWGRDTzJkQ1FVTjBSQ3hOUVVGTkxFVkJRVVU3YjBKQlEwNHNTVUZCU1N4RlFVRkZMRTlCUVU4N2IwSkJRMklzUzBGQlN5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMR0ZCUVdFc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJUdHBRa0ZETlVNN1lVRkRSaXhEUVVGRE8xbEJRMFlzY1VKQlFYRkNMRU5CUVVNc1JVRkJSU3hYUVVGWExFVkJRVVVzTkVKQlFUUkNMRVZCUVVVc1EwRkJRenRaUVVOd1JTdzRRa0ZCT0VJc1EwRkJRenRuUWtGRE4wSXNWMEZCVnl4RlFVRkZMREpEUVVFeVF6dGhRVU42UkN4RFFVRkRPMU5CUTBnc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNhMEpCUVd0Q0xFTkJReTlDTEZkQlFXdERMRVZCUTJ4RExHTkJRWE5DTzFGQlJYUkNMRTlCUVU4N1dVRkRUQ3h4UWtGQmNVSXNRMEZCUXl4WFFVRlhMRVZCUVVVc1MwRkJTeXhGUVVGRkxFMUJRVTBzUTBGQlF6dFpRVU5xUkN4WlFVRlpMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzV1VGQldTeGpRVUZqTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVU03V1VGRGRrVXNVVUZCVVN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU40UkN4aFFVRmhMRU5CUVVNN1owSkJRMW9zVjBGQlZ5eEZRVUZGTEVkQlFVY3NZMEZCWXl3d1FrRkJNRUk3WjBKQlEzaEVMRTFCUVUwc1JVRkJSVHR2UWtGRFRpeEpRVUZKTEVWQlFVVXNUMEZCVHp0dlFrRkRZaXhMUVVGTExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNZVUZCWVN4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRk8ybENRVU0xUXp0aFFVTkdMRU5CUVVNN1dVRkRSaXh0UWtGQmJVSXNRMEZCUXp0blFrRkRiRUlzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZMEZCWXl3d1EwRkJNRU03WVVGRE5VVXNRMEZCUXp0VFFVTklMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEc5Q1FVRnZRaXhEUVVOcVF5eFhRVUZyUXl4RlFVTnNReXhqUVVGelFpeEZRVU4wUWl4aFFVRnBRenRSUVVWcVF5eFBRVUZQTzFsQlEwd3NjVUpCUVhGQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNN1dVRkRha1FzYTBKQlFXdENMRU5CUVVNc1lVRkJZU3hEUVVGRE8xbEJRMnBETEZsQlFWa3NRMEZCUXp0blFrRkRXQ3hQUVVGUExFVkJRVVVzYjBKQlFXOUNMR05CUVdNc05rSkJRVFpDTzJGQlEzcEZMRU5CUVVNN1dVRkRSaXhQUVVGUExFTkJRVU03WjBKQlEwNHNWMEZCVnl4RlFVRkZMRFpEUVVFMlF5eGpRVUZqTEVWQlFVVTdaMEpCUXpGRkxFMUJRVTBzUlVGQlJUdHZRa0ZEVGl4SlFVRkpMRVZCUVVVc1QwRkJUenR2UWtGRFlpeEpRVUZKTEVWQlFVVXNZVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhoUVVGaExFTkJRVU1zVFVGQlRTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMmxDUVVNdlJEdGhRVU5HTEVOQlFVTTdXVUZEUml4aFFVRmhMRU5CUVVNN1owSkJRMW9zVjBGQlZ5eEZRVUZGTEVkQlFVY3NZMEZCWXl4M1FrRkJkMEk3WjBKQlEzUkVMRTFCUVUwc1JVRkJSVHR2UWtGRFRpeEpRVUZKTEVWQlFVVXNUMEZCVHp0dlFrRkRZaXhMUVVGTExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNZVUZCWVN4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRk8ybENRVU0xUXp0aFFVTkdMRU5CUVVNN1dVRkRSaXh0UWtGQmJVSXNRMEZCUXp0blFrRkRiRUlzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZMEZCWXl3d1EwRkJNRU03WVVGRE5VVXNRMEZCUXp0WlFVTkdMSEZDUVVGeFFpeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRFJDUVVFMFFpeEZRVUZGTEVOQlFVTTdVMEZEY2tVc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlR5eE5RVUZOTEVOQlFVTXNiMEpCUVc5Q0xFTkJRMnBETEZkQlFXdERMRVZCUTJ4RExHTkJRWE5DTEVWQlEzUkNMR0ZCUVdsRE8xRkJSV3BETEU5QlFVODdXVUZEVEN4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJRenRaUVVOd1JDeHJRa0ZCYTBJc1EwRkJReXhoUVVGaExFTkJRVU03V1VGRGFrTXNXVUZCV1N4RFFVRkRMRVZCUVVVc1QwRkJUeXhGUVVGRkxGVkJRVlVzWTBGQll5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8xbEJRM0pGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRGVFUXNZVUZCWVN4RFFVRkRPMmRDUVVOYUxGZEJRVmNzUlVGQlJTeEhRVUZITEdOQlFXTXNkMEpCUVhkQ08yZENRVU4wUkN4TlFVRk5MRVZCUVVVN2IwSkJRMDRzU1VGQlNTeEZRVUZGTEU5QlFVODdiMEpCUTJJc1MwRkJTeXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRwUWtGRE5VTTdZVUZEUml4RFFVRkRPMWxCUTBZc2JVSkJRVzFDTEVOQlFVTTdaMEpCUTJ4Q0xGZEJRVmNzUlVGQlJTeE5RVUZOTEdOQlFXTXNNRU5CUVRCRE8yRkJRelZGTEVOQlFVTTdVMEZEU0N4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5eGpRVUZqTEVOQlF6TkNMRmRCUVd0RExFVkJRMnhETEdOQlFYTkNMRVZCUTNSQ0xHRkJRV2xETEVWQlEycERMRTFCUVdNN1VVRkZaQ3hQUVVGUE8xbEJRMHdzY1VKQlFYRkNMRU5CUVVNc1YwRkJWeXhGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEVOQlFVTTdXVUZEYWtRc2EwSkJRV3RDTEVOQlFVTXNZVUZCWVN4RFFVRkRPMWxCUTJwRExGbEJRVmtzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4alFVRmpMR05CUVdNc1owSkJRV2RDTEVWQlFVVXNRMEZCUXp0WlFVTjJSU3hoUVVGaExFTkJRVU03WjBKQlExb3NWMEZCVnl4RlFVRkZMRWRCUVVjc1kwRkJZeXd3UWtGQk1FSTdaMEpCUTNoRUxFMUJRVTBzUlVGQlJTeEZRVUZGTEVsQlFVa3NSVUZCUlN4aFFVRmhMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVU3WVVGRE4wTXNRMEZCUXp0WlFVTkdMRzFDUVVGdFFpeERRVUZETzJkQ1FVTnNRaXhYUVVGWExFVkJRVVVzVFVGQlRTeGpRVUZqTERCRFFVRXdRenRoUVVNMVJTeERRVUZETzFOQlEwZ3NRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUXpkQ0xGZEJRV3RETEVWQlEyeERMR05CUVhOQ0xFVkJRM1JDTEdGQlFXbERMRVZCUTJwRExFMUJRV003VVVGRlpDeFBRVUZQTzFsQlEwd3NjVUpCUVhGQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNN1dVRkRha1FzYTBKQlFXdENMRU5CUVVNc1lVRkJZU3hEUVVGRE8xbEJRMnBETEZsQlFWa3NRMEZCUXp0blFrRkRXQ3hQUVVGUExFVkJRVVVzZFVKQlFYVkNMR05CUVdNc05rSkJRVFpDTzJGQlF6VkZMRU5CUVVNN1dVRkRSaXhQUVVGUExFTkJRVU03WjBKQlEwNHNWMEZCVnl4RlFVRkZMQ3REUVVFclF5eGpRVUZqTEVWQlFVVTdaMEpCUXpWRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hYUVVGWExFTkJRVU03WVVGRGFFUXNRMEZCUXp0WlFVTkdMR0ZCUVdFc1EwRkJRenRuUWtGRFdpeFhRVUZYTEVWQlFVVXNSMEZCUnl4alFVRmpMSGRDUVVGM1FqdG5Ra0ZEZEVRc1RVRkJUU3hGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRoUVVNM1F5eERRVUZETzFsQlEwWXNiVUpCUVcxQ0xFTkJRVU03WjBKQlEyeENMRmRCUVZjc1JVRkJSU3hOUVVGTkxHTkJRV01zTUVOQlFUQkRPMkZCUXpWRkxFTkJRVU03V1VGRFJpeHhRa0ZCY1VJc1EwRkJReXhGUVVGRkxGZEJRVmNzUlVGQlJTdzBRa0ZCTkVJc1JVRkJSU3hEUVVGRE8xTkJRM0pGTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExHZENRVUZuUWl4RFFVTTNRaXhYUVVGclF5eEZRVU5zUXl4alFVRnpRaXhGUVVOMFFpeGhRVUZwUXl4RlFVTnFReXhOUVVGak8xRkJSV1FzVDBGQlR6dFpRVU5NTEhGQ1FVRnhRaXhEUVVGRExGZEJRVmNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRPMWxCUTNCRUxHdENRVUZyUWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRaUVVOcVF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1dVRkJXU3hqUVVGakxHZENRVUZuUWl4RlFVRkZMRU5CUVVNN1dVRkRja1VzWVVGQllTeERRVUZETzJkQ1FVTmFMRmRCUVZjc1JVRkJSU3hIUVVGSExHTkJRV01zZDBKQlFYZENPMmRDUVVOMFJDeE5RVUZOTEVWQlFVVXNSVUZCUlN4SlFVRkpMRVZCUVVVc1lVRkJZU3hEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTzJGQlF6ZERMRU5CUVVNN1dVRkRSaXh0UWtGQmJVSXNRMEZCUXp0blFrRkRiRUlzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZMEZCWXl3d1EwRkJNRU03WVVGRE5VVXNRMEZCUXp0VFFVTklMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVThzVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhEUVVOb1F5eFhRVUZyUXl4RlFVTnNReXhqUVVGelFqdFJRVVYwUWl4UFFVRlBPMWxCUTB3c2NVSkJRWEZDTEVOQlFVTXNWMEZCVnl4RlFVRkZMRXRCUVVzc1JVRkJSU3g1UWtGQmVVSXNRMEZCUXp0WlFVTndSU3haUVVGWkxFTkJRVU03WjBKQlExZ3NUMEZCVHl4RlFVRkZMRzlEUVVGdlF5eGpRVUZqTEVkQlFVYzdZVUZETDBRc1EwRkJRenRaUVVOR0xGRkJRVkVzUTBGQlF6dG5Ra0ZEVUN4SlFVRkpMRVZCUVVVc1VVRkJVVHRuUWtGRFpDeFhRVUZYTEVWQlFVVXNiVU5CUVcxRE8yRkJRMnBFTEVOQlFVTTdXVUZEUml4UlFVRlJMRU5CUVVNN1owSkJRMUFzU1VGQlNTeEZRVUZGTEUxQlFVMDdaMEpCUTFvc1YwRkJWeXhGUVVOVUxHdEZRVUZyUlR0aFFVTnlSU3hEUVVGRE8xbEJRMFlzVVVGQlVTeERRVUZETzJkQ1FVTlFMRWxCUVVrc1JVRkJSU3hYUVVGWE8yZENRVU5xUWl4UlFVRlJMRVZCUVVVc1NVRkJTVHRuUWtGRFpDeEpRVUZKTEVWQlFVVXNZMEZCWXp0blFrRkRjRUlzVjBGQlZ5eEZRVUZGTEdkRFFVRm5RenRoUVVNNVF5eERRVUZETzFsQlEwWXNVVUZCVVN4RFFVRkRPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeFBRVUZQTzJkQ1FVTmlMRkZCUVZFc1JVRkJSU3hKUVVGSk8yZENRVU5rTEZkQlFWY3NSVUZCUlN4dlEwRkJiME03WVVGRGJFUXNRMEZCUXp0WlFVTkdMRkZCUVZFc1EwRkJRenRuUWtGRFVDeEpRVUZKTEVWQlFVVXNVVUZCVVR0blFrRkRaQ3hSUVVGUkxFVkJRVVVzU1VGQlNUdG5Ra0ZEWkN4WFFVRlhMRVZCUVVVc2IwTkJRVzlETzJGQlEyeEVMRU5CUVVNN1dVRkRSaXhoUVVGaExFTkJRVU1zUlVGQlJTeFhRVUZYTEVWQlFVVXNSMEZCUnl4alFVRmpMR2RDUVVGblFpeEZRVUZGTEVOQlFVTTdXVUZEYWtVc2JVSkJRVzFDTEVOQlFVTTdaMEpCUTJ4Q0xGZEJRVmNzUlVGQlJTeE5RVUZOTEdOQlFXTXNNRU5CUVRCRE8yRkJRelZGTEVOQlFVTTdVMEZEU0N4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWUExFMUJRVTBzUTBGQlF5d3lRa0ZCTWtJc1EwRkRlRU1zVjBGQmEwTXNSVUZEYkVNc1kwRkJjMElzUlVGRGRFSXNTVUZCV1N4RlFVTmFMRmxCUVc5Q08xRkJSWEJDTEUxQlFVMHNTVUZCU1N4SFFVRjVSRHRaUVVOcVJTeHhRa0ZCY1VJc1EwRkJReXhYUVVGWExFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXp0WlFVTXZReXhaUVVGWkxFTkJRVU1zUlVGQlJTeFBRVUZQTEVWQlFVVXNXVUZCV1N4alFVRmpMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRMmhGTEdGQlFXRXNRMEZCUXp0blFrRkRXaXhYUVVGWExFVkJRVVVzUjBGQlJ5eGpRVUZqTERCQ1FVRXdRanRoUVVONlJDeERRVUZETzFOQlEwZ3NRMEZCUXp0UlFVVkdMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYkVVc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZPMWxCUTNaQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEyeERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMRmRCUVZjc1JVRkJSU3hQUVVGUExFbEJRVWtzV1VGQldTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNSRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NTVUZEUlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF6dFpRVU14UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF6dFpRVU01UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF6dFpRVU40UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eEZRVU40UWl4RFFVRkRPMWxCUTBRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGRFVDeFJRVUZSTEVOQlFVTTdaMEpCUTFBc1NVRkJTU3hGUVVGRkxGZEJRVmM3WjBKQlEycENMRkZCUVZFc1JVRkJSU3hKUVVGSk8yZENRVU5rTEVsQlFVa3NSVUZCUlN4alFVRmpPMmRDUVVOd1FpeFhRVUZYTEVWQlFVVXNaMEpCUVdkQ08yRkJRemxDTEVOQlFVTXNRMEZEU0N4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRMMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZEVUN4UlFVRlJMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4TFFVRkxMRVZCUVVVc1YwRkJWeXhGUVVGRkxGZEJRVmNzUlVGQlJTeERRVUZETEVWQlEzUkZMRkZCUVZFc1EwRkJRenRuUWtGRFVDeEpRVUZKTEVWQlFVVXNVVUZCVVR0blFrRkRaQ3hSUVVGUkxFVkJRVVVzUzBGQlN6dG5Ra0ZEWml4WFFVRlhMRVZCUVVVc1lVRkJZVHRoUVVNelFpeERRVUZETEVWQlEwWXNVVUZCVVN4RFFVRkRPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeFZRVUZWTzJkQ1FVTm9RaXhSUVVGUkxFVkJRVVVzUzBGQlN6dG5Ra0ZEWml4WFFVRlhMRVZCUVVVc1owTkJRV2RETzJGQlF6bERMRU5CUVVNc1EwRkRTQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGFFVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkRVQ3h0UWtGQmJVSXNRMEZCUXp0blFrRkRiRUlzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZMEZCWXl3d1EwRkJNRU03WVVGRE5VVXNRMEZCUXl4RFFVTklMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzU1VGRFJTeFpRVUZaTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVVVGQlVUdFpRVU12UXl4WlFVRlpMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0WlFVTTNReXhaUVVGWkxFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1RVRkJUU3hGUVVNM1F5eERRVUZETzFsQlEwUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkRVQ3hoUVVGaExFTkJRVU03WjBKQlExb3NWMEZCVnl4RlFVRkZMR05CUVdNc1kwRkJZeXhIUVVGSE8yZENRVU0xUXl4SlFVRkpMRVZCUVVVc1RVRkJUVHRoUVVOaUxFTkJRVU1zUTBGRFNDeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRWxCUVVrc1dVRkJXU3hMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRM1pFTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUTFBc1lVRkJZU3hEUVVGRE8yZENRVU5hTEZkQlFWY3NSVUZCUlN4MVFrRkJkVUlzWTBGQll5eEhRVUZITzJkQ1FVTnlSQ3hKUVVGSkxFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTTdZVUZEWml4RFFVRkRMRU5CUTBnc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZUeXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRU5CUXk5Q0xGVkJRV3RDTEVWQlEyeENMRk5CUVdsQ0xFVkJRMnBDTEZGQlFXZENMRVZCUTJoQ0xIRkNRVUU0UWl4TFFVRkxPMUZCUlc1RExFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1EwRkJReXhEUVVGVExFVkJRVmtzUlVGQlJTeERRVU5vUkN4RFFVRkRPMkZCUTBVc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF6dGhRVU5XTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRoUVVOb1F5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVVMVFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4cFFrRkJhVUlzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEYUVVc1NVRkJTVHRaUVVOS0xGZEJRVmNzUlVGQlJTeEhRVUZITEVsQlFVa3NNRUpCUVRCQ08xbEJRemxETEZGQlFWRXNSVUZCUlN4SlFVRkpPMWxCUTJRc1NVRkJTU3hGUVVGRkxFMUJRVTA3VTBGRFlpeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVktMRTFCUVUwc1ZVRkJWU3hIUVVGNVJEdFpRVU4yUlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU40UXl4WlFVRlpMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzTWtKQlFUSkNMRlZCUVZVc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRGNFVXNZVUZCWVN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxHZERRVUZuUXl4RlFVRkZMRU5CUVVNN1dVRkRhRVVzYjBKQlFXOUNMRU5CUVVNN1owSkJRMjVDTEZkQlFWY3NSVUZCUlN4dlEwRkJiME03WVVGRGJFUXNRMEZCUXp0VFFVTklMRU5CUVVNN1VVRkZSaXhKUVVGSkxGRkJRVkVzUzBGQlN5eExRVUZMTEVsQlFVa3NhMEpCUVd0Q0xFVkJRVVVzUTBGQlF6dFpRVU0zUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVOaUxGRkJRVkVzUTBGQlF6dG5Ra0ZEVUN4SlFVRkpMRVZCUVVVc1YwRkJWenRuUWtGRGFrSXNVVUZCVVN4RlFVRkZMRXRCUVVzN1owSkJRMllzU1VGQlNTeEZRVUZGTEdOQlFXTTdaMEpCUTNCQ0xGZEJRVmNzUlVGQlJTeG5RMEZCWjBNN1lVRkRPVU1zUTBGQlF5eEZRVU5HTEZGQlFWRXNRMEZCUXp0blFrRkRVQ3hKUVVGSkxFVkJRVVVzVDBGQlR6dG5Ra0ZEWWl4UlFVRlJMRVZCUVVVc1MwRkJTenRuUWtGRFppeFhRVUZYTEVWQlFVVXNiMEpCUVc5Q08yRkJRMnhETEVOQlFVTXNSVUZEUml4UlFVRlJMRU5CUVVNN1owSkJRMUFzU1VGQlNTeEZRVUZGTEZGQlFWRTdaMEpCUTJRc1VVRkJVU3hGUVVGRkxFdEJRVXM3WjBKQlEyWXNWMEZCVnl4RlFVRkZMRzlDUVVGdlFqdGhRVU5zUXl4RFFVRkRMRU5CUTBnc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeFBRVUZQTEZWQlFWVXNRMEZCUXp0SlFVTndRaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdGNiaUFnUTI5dWRISnZiR3hsY2l4Y2JpQWdVR0Z5WVcwc1hHNGdJRkYxWlhKNUxGeHVJQ0JTWlhOd2IyNXpaU3hjYmlBZ1UyVjBUV1YwWVdSaGRHRXNYRzU5SUdaeWIyMGdYQ0pBYm1WemRHcHpMMk52YlcxdmJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1FYQnBRbUZrVW1WeGRXVnpkRkpsYzNCdmJuTmxMRnh1SUNCQmNHbENiMlI1TEZ4dUlDQkJjR2xEY21WaGRHVmtVbVZ6Y0c5dWMyVXNYRzRnSUVGd2FVVjRkSEpoVFc5a1pXeHpMRnh1SUNCQmNHbE9iME52Ym5SbGJuUlNaWE53YjI1elpTeGNiaUFnUVhCcFRtOTBSbTkxYm1SU1pYTndiMjV6WlN4Y2JpQWdRWEJwVDJ0U1pYTndiMjV6WlN4Y2JpQWdRWEJwVDNCbGNtRjBhVzl1TEZ4dUlDQkJjR2xRWVhKaGJTeGNiaUFnUVhCcFVYVmxjbmtzWEc0Z0lFRndhVlJoWjNNc1hHNGdJRUZ3YVZWdWNISnZZMlZ6YzJGaWJHVkZiblJwZEhsU1pYTndiMjV6WlN4Y2JpQWdaMlYwVTJOb1pXMWhVR0YwYUN4Y2JuMGdabkp2YlNCY0lrQnVaWE4wYW5NdmMzZGhaMmRsY2x3aU8xeHVhVzF3YjNKMElIdGNiaUFnVFc5a1pXeFRaWEoyYVdObExGeHVJQ0JQY21SbGNrUnBjbVZqZEdsdmJpeGNiaUFnVUdWeWMybHpkR1Z1WTJWTFpYbHpMRnh1SUNCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXNYRzRnSUhSNWNHVWdVbVZ3Ynl4Y2JpQWdVbVZ3YjNOcGRHOXllU3hjYmlBZ1UyVnlkbWxqWlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWpiM0psWENJN1hHNXBiWEJ2Y25RZ2V5Qk5iMlJsYkN3Z1RXOWtaV3hEYjI1emRISjFZM1J2Y2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWNzSUhSdlMyVmlZV0pEWVhObElIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OXNiMmRuYVc1blhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCRVFrdGxlWE1zWEc0Z0lFSmhjMlZGY25KdmNpeGNiaUFnU1c1MFpYSnVZV3hGY25KdmNpeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjI1emRISjFZM1J2Y2l3Z1RXVjBZV1JoZEdFZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3WEc0Z0lFRndhVTl3WlhKaGRHbHZia1p5YjIxTmIyUmxiQ3hjYmlBZ1FYQnBVR0Z5WVcxelJuSnZiVTF2WkdWc0xGeHVJQ0IwZVhCbElFUmxZMkZtUVhCcFVISnZjR1Z5ZEhrc1hHNGdJRVJsWTJGbVFtOWtlU3hjYmlBZ1JHVmpZV1pSZFdWeWVTeGNibjBnWm5KdmJTQmNJaTR2WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2dTSFIwY0ZabGNtSlViMFJsWTI5eVlYUnZjaUI5SUdaeWIyMGdYQ0l1TDJSbFkyOXlZWFJ2Y25NdmRYUnBiSE5jSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnU0hSMGNGWmxjbUp6SUgwZ1puSnZiU0JjSWk0dlpHVmpiM0poZEc5eWN5OTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dSR1ZqWVdaU1pYRjFaWE4wUTI5dWRHVjRkQ0I5SUdaeWIyMGdYQ0l1TGk5eVpYRjFaWE4wWENJN1hHNXBiWEJ2Y25RZ2V5QkVSVU5CUmw5RFQwNVVVazlNVEVWU1gwTlBUa1pKUnl3Z1JFVkRRVVpmVWs5VlZFVWdmU0JtY205dElGd2lMaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2V5QlRTMGxRWDAxUFJFVk1YMUpQVEVWVFgwdEZXU0I5SUdaeWIyMGdYQ0l1TGk5aGRYUm9MMk52Ym5OMFlXNTBjMXdpTzF4dWFXMXdiM0owSUhzZ1FYVjBhQ3dnVUhWaWJHbGpMQ0JTWlhGMWFYSmxVbTlzWlhNZ2ZTQm1jbTl0SUZ3aUxpNHZZWFYwYUM5a1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjI1MGNtOXNiR1Z5UTI5dWMzUnlkV04wYjNJZ2ZTQm1jbTl0SUZ3aUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dSR1ZqWVdaTmIyUmxiRU52Ym5SeWIyeHNaWElnZlNCbWNtOXRJRndpTGk0dlkyOXVkSEp2Ykd4bGNuTmNJanRjYm1sdGNHOXlkQ0I3SUVSMGIwWnZjaUI5SUdaeWIyMGdYQ0l1TGk5bVlXTjBiM0o1TDI5d1pXNWhjR2t2UkhSdlFuVnBiR1JsY2x3aU8xeHVhVzF3YjNKMElGd2lMaTR2YjNabGNuSnBaR1Z6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JOYjJSbGJFTnZiblJ5YjJ4c1pYSkdZV04wYjNKNUxGeHVJQ0IwZVhCbElFMXZaR1ZzUTI5dWRISnZiR3hsY2taaFkzUnZjbmxEYjI1bWFXY3NYRzRnSUhSNWNHVWdRWFYwYUVOdmJtWnBaeXhjYmlBZ2RIbHdaU0JUWlhKMlpYSlNiM1YwWlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OW1iM0l0YUhSMGNDOXpaWEoyWlhKY0lqdGNibHh1Wlhod2IzSjBJR05zWVhOeklFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSWdlMXh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJ5WldGa2IyNXNlU0JzYjJjZ1BTQk1iMmRuYVc1bkxtWnZjaWhHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG01aGJXVXBPMXh1WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUhSdlJHVmpZV1pGY25KdmNpaGNiaUFnSUNCbGNuSnZjam9nZFc1cmJtOTNiaXhjYmlBZ0lDQm1ZV3hzWW1GamEwMWxjM05oWjJVNklITjBjbWx1WjF4dUlDQXBPaUJDWVhObFJYSnliM0lnZTF4dUlDQWdJR2xtSUNobGNuSnZjaUJwYm5OMFlXNWpaVzltSUVKaGMyVkZjbkp2Y2lrZ2NtVjBkWEp1SUdWeWNtOXlPMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUdWeWNtOXlJR2x1YzNSaGJtTmxiMllnUlhKeWIzSmNiaUFnSUNBZ0lDQWdQeUJnSkh0bVlXeHNZbUZqYTAxbGMzTmhaMlY5T2lBa2UyVnljbTl5TG0xbGMzTmhaMlY5WUZ4dUlDQWdJQ0FnSUNBNklHWmhiR3hpWVdOclRXVnpjMkZuWlZ4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCemRHRjBhV01nWjJWMFVHVnljMmx6ZEdWdVkyVThWQ0JsZUhSbGJtUnpJRTF2WkdWc1BHSnZiMnhsWVc0K1BpaGNiaUFnSUNCTmIyUmxiRU5zWVhwNk9pQk5iMlJsYkVOdmJuTjBjblZqZEc5eVBGUStYRzRnSUNrNklGSmxjRzg4VkQ0Z2ZDQk5iMlJsYkZObGNuWnBZMlU4VkQ0Z2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1UyVnlkbWxqWlM1blpYUThUVzlrWld4VFpYSjJhV05sUEZRK1BpaE5iMlJsYkVOc1lYcDZLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXOWtaV3hUWlhKMmFXTmxMbWRsZEZObGNuWnBZMlVvVFc5a1pXeERiR0Y2ZWlrZ1lYTWdUVzlrWld4VFpYSjJhV05sUEZRK08xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pUSTZJSFZ1YTI1dmQyNHBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRkpsY0c5emFYUnZjbmt1Wm05eVRXOWtaV3dvVFc5a1pXeERiR0Y2ZWlrZ1lYTWdVbVZ3Ynp4VVBqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnpkR0YwYVdNZ1kzSmxZWFJsVVhWbGNubFNiM1YwWlhOR2NtOXRVbVZ3YjNOcGRHOXllVHhVSUdWNGRHVnVaSE1nVFc5a1pXdzhZbTl2YkdWaGJqNCtLRnh1SUNBZ0lIQmxjbk5wYzNSbGJtTmxPaUJTWlhCdlBGUStJSHdnVFc5a1pXeFRaWEoyYVdObFBGUStMRnh1SUNBZ0lIQnlaV1pwZURvZ2MzUnlhVzVuSUQwZ1VHVnljMmx6ZEdWdVkyVkxaWGx6TGxGVlJWSlpYRzRnSUNrNklFTnZiblJ5YjJ4c1pYSkRiMjV6ZEhKMVkzUnZjanhVUGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZ3YnpvZ1VtVndienhVUGlBOVhHNGdJQ0FnSUNCd1pYSnphWE4wWlc1alpTQnBibk4wWVc1alpXOW1JRTF2WkdWc1UyVnlkbWxqWlNBL0lIQmxjbk5wYzNSbGJtTmxMbkpsY0c4Z09pQndaWEp6YVhOMFpXNWpaVHRjYmlBZ0lDQmpiMjV6ZENCeGRXVnllVTFsZEdodlpITTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIc2dabWxsYkdSelB6b2djM1J5YVc1blcxMGdmQ0IxYm1SbFptbHVaV1FnZlQ0Z1BWeHVJQ0FnSUNBZ1RXVjBZV1JoZEdFdVoyVjBLRnh1SUNBZ0lDQWdJQ0J5WlhCdkxtTnZibk4wY25WamRHOXlJR0Z6SUVOdmJuTjBjblZqZEc5eUxGeHVJQ0FnSUNBZ0lDQk5aWFJoWkdGMFlTNXJaWGtvVUdWeWMybHpkR1Z1WTJWTFpYbHpMbEZWUlZKWktWeHVJQ0FnSUNBZ0tTQS9QeUI3ZlR0Y2JseHVJQ0FnSUdOdmJuTjBJSEp2ZFhSbFRXVjBhRzlrY3pvZ1VtVmpiM0prUEhOMGNtbHVaeXdnWVc1NVBpQTlYRzRnSUNBZ0lDQk5aWFJoWkdGMFlTNW5aWFFvWEc0Z0lDQWdJQ0FnSUhCbGNuTnBjM1JsYm1ObExtTnZibk4wY25WamRHOXlJR0Z6SUVOdmJuTjBjblZqZEc5eUxGeHVJQ0FnSUNBZ0lDQk5aWFJoWkdGMFlTNXJaWGtvUkVWRFFVWmZVazlWVkVVcFhHNGdJQ0FnSUNBcElEOC9JSHQ5TzF4dVhHNGdJQ0FnWTJ4aGMzTWdVWFZsY25sRGIyNTBjbTlzYkdWeUlHVjRkR1Z1WkhNZ1JHVmpZV1pOYjJSbGJFTnZiblJ5YjJ4c1pYSThWRDRnZTF4dUlDQWdJQ0FnYjNabGNuSnBaR1VnWjJWMElHTnNZWE56S0NrNklFMXZaR1ZzUTI5dWMzUnlkV04wYjNJOFZENGdlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNJazFsZEdodlpDQnViM1FnYVcxd2JHVnRaVzUwWldRdVhDSXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZMjl1YzNSeWRXTjBiM0lvWTJ4cFpXNTBRMjl1ZEdWNGREb2dSR1ZqWVdaU1pYRjFaWE4wUTI5dWRHVjRkQ3dnYm1GdFpUb2djM1J5YVc1bktTQjdYRzRnSUNBZ0lDQWdJSE4xY0dWeUtHTnNhV1Z1ZEVOdmJuUmxlSFFzSUc1aGJXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdXMjFsZEdodlpFNWhiV1VzSUhCaGNtRnRjMTBnYjJZZ1QySnFaV04wTG1WdWRISnBaWE1vY205MWRHVk5aWFJvYjJSektTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2NtOTFkR1ZRWVhSb0lEMGdXM0JoY21GdGN5NXdZWFJvTG5KbGNHeGhZMlVvTDE1Y1hDOHJmRnhjTHlza0wyY3NJRndpWENJcFhWeHVJQ0FnSUNBZ0lDQXVabWxzZEdWeUtDaHpaV2R0Wlc1ME9pQnpkSEpwYm1jcElEMCtJSE5sWjIxbGJuUWdKaVlnYzJWbmJXVnVkQzUwY21sdEtDa3BYRzRnSUNBZ0lDQWdJQzVxYjJsdUtGd2lMMXdpS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYUdGdVpHeGxjaUE5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVkzSmxZWFJsUTI5dGNHeGxlRkYxWlhKNVNHRnVaR3hsY2loY2JpQWdJQ0FnSUNBZ2JXVjBhRzlrVG1GdFpWeHVJQ0FnSUNBZ0tTQmhjeUJoYm5rN1hHNGdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtUmxabWx1WlUxbGRHaHZaQ2hSZFdWeWVVTnZiblJ5YjJ4c1pYSXNJRzFsZEdodlpFNWhiV1VzSUdoaGJtUnNaWElwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0JvZEhSd1JHVmpiM0poZEc5eUlEMGdTSFIwY0ZabGNtSlViMFJsWTI5eVlYUnZjaWh3WVhKaGJYTXVhSFIwY0UxbGRHaHZaQ0JoY3lCSWRIUndWbVZ5WW5NcEtGeHVJQ0FnSUNBZ0lDQnliM1YwWlZCaGRHZ2dmSHdnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR1ZqYjNKaGRHOXljeUE5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVoyVjBVWFZsY25sRVpXTnZjbUYwYjNKektGeHVJQ0FnSUNBZ0lDQnRaWFJvYjJST1lXMWxMRnh1SUNBZ0lDQWdJQ0J5YjNWMFpWQmhkR2dzWEc0Z0lDQWdJQ0FnSUhCaGNtRnRjeTVvZEhSd1RXVjBhRzlrWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1aGNIQnNlVVJsWTI5eVlYUnZjbk1vVVhWbGNubERiMjUwY205c2JHVnlMQ0J0WlhSb2IyUk9ZVzFsTENCYlhHNGdJQ0FnSUNBZ0lHaDBkSEJFWldOdmNtRjBiM0lzWEc0Z0lDQWdJQ0FnSUM0dUxtUmxZMjl5WVhSdmNuTXNYRzRnSUNBZ0lDQmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJRnR0WlhSb2IyUk9ZVzFsTENCdlltcFdZV3gxWlhOZElHOW1JRTlpYW1WamRDNWxiblJ5YVdWektIRjFaWEo1VFdWMGFHOWtjeWtwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1pwWld4a2N5QTlJRzlpYWxaaGJIVmxjeTVtYVdWc1pITWdQejhnVzEwN1hHNGdJQ0FnSUNCamIyNXpkQ0J5YjNWMFpWQmhkR2dnUFNCYmNISmxabWw0TENCdFpYUm9iMlJPWVcxbExDQXVMaTVtYVdWc1pITXViV0Z3S0NobUtTQTlQaUJnT2lSN1puMWdLVjFjYmlBZ0lDQWdJQ0FnTG1acGJIUmxjaWdvYzJWbmJXVnVkQ2tnUFQ0Z2MyVm5iV1Z1ZENBbUppQnpaV2R0Wlc1MExuUnlhVzBvS1NsY2JpQWdJQ0FnSUNBZ0xtcHZhVzRvWENJdlhDSXBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQm9ZVzVrYkdWeUlEMGdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqY21WaGRHVkRiMjF3YkdWNFVYVmxjbmxJWVc1a2JHVnlLRnh1SUNBZ0lDQWdJQ0J0WlhSb2IyUk9ZVzFsWEc0Z0lDQWdJQ0FwSUdGeklHRnVlVHRjYmlBZ0lDQWdJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WkdWbWFXNWxUV1YwYUc5a0tGRjFaWEo1UTI5dWRISnZiR3hsY2l3Z2JXVjBhRzlrVG1GdFpTd2dhR0Z1Wkd4bGNpazdYRzVjYmlBZ0lDQWdJR052Ym5OMElHaDBkSEJFWldOdmNtRjBiM0lnUFNCSWRIUndWbVZ5WWxSdlJHVmpiM0poZEc5eUtGd2lSMFZVWENJZ1lYTWdTSFIwY0ZabGNtSnpLU2hjYmlBZ0lDQWdJQ0FnY205MWRHVlFZWFJvSUh4OElIVnVaR1ZtYVc1bFpGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdSbFkyOXlZWFJ2Y25NZ1BTQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbWRsZEZGMVpYSjVSR1ZqYjNKaGRHOXljeWhjYmlBZ0lDQWdJQ0FnYldWMGFHOWtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ2NtOTFkR1ZRWVhSb0xGeHVJQ0FnSUNBZ0lDQmNJa2RGVkZ3aUxGeHVJQ0FnSUNBZ0lDQjBjblZsWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1aGNIQnNlVVJsWTI5eVlYUnZjbk1vVVhWbGNubERiMjUwY205c2JHVnlMQ0J0WlhSb2IyUk9ZVzFsTENCYlhHNGdJQ0FnSUNBZ0lHaDBkSEJFWldOdmNtRjBiM0lzWEc0Z0lDQWdJQ0FnSUM0dUxtUmxZMjl5WVhSdmNuTXNYRzRnSUNBZ0lDQmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1VYVmxjbmxEYjI1MGNtOXNiR1Z5TzF4dUlDQjlYRzVjYmlBZ2MzUmhkR2xqSUdOeVpXRjBaVHhVSUdWNGRHVnVaSE1nVFc5a1pXdzhZVzU1UGo0b1hHNGdJQ0FnVFc5a1pXeERiMjV6ZEhJNklFMXZaR1ZzUTI5dWMzUnlkV04wYjNJOFZENHNYRzRnSUNBZ2JXOWtkV3hsUTI5dVptbG5UM1psY25KcFpHVnpQem9nVW1WamIzSmtQSE4wY21sdVp5d2dUVzlrWld4RGIyNTBjbTlzYkdWeVJtRmpkRzl5ZVVOdmJtWnBaejRzWEc0Z0lDQWdaMnh2WW1Gc1JHVm1ZWFZzZEhNL09pQlFZWEowYVdGc1BFMXZaR1ZzUTI5dWRISnZiR3hsY2taaFkzUnZjbmxEYjI1bWFXYytYRzRnSUNrNklFTnZiblJ5YjJ4c1pYSkRiMjV6ZEhKMVkzUnZjanhVUGlCN1hHNGdJQ0FnWTI5dWMzUWdiRzluSUQwZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXNiMmN1Wm05eUtFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbEtUdGNiaUFnSUNCamIyNXpkQ0IwWVdKc1pVNWhiV1VnUFNCTmIyUmxiQzUwWVdKc1pVNWhiV1VvVFc5a1pXeERiMjV6ZEhJcE8xeHVJQ0FnSUdOdmJuTjBJSEp2ZFhSbFVHRjBhQ0E5SUhSdlMyVmlZV0pEWVhObEtIUmhZbXhsVG1GdFpTazdYRzRnSUNBZ1kyOXVjM1FnYlc5a1pXeERiR0Y2ZWs1aGJXVWdQU0JOYjJSbGJFTnZibk4wY2k1dVlXMWxPMXh1SUNBZ0lHTnZibk4wSUhCbGNuTnBjM1JsYm1ObElEMGdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVuWlhSUVpYSnphWE4wWlc1alpTaE5iMlJsYkVOdmJuTjBjaWs3WEc1Y2JpQWdJQ0F2THlCWGFHVnVJSEJsY25OcGMzUmxibU5sSUdseklHRWdUVzlrWld4VFpYSjJhV05sTENCMGFHVWdRSEYxWlhKNUwwQnliM1YwWlNCdFpYUmhaR0YwWVNCc2FYWmxjeUJ2Ymx4dUlDQWdJQzh2SUhSb1pTQjFibVJsY214NWFXNW5JSEpsY0c5emFYUnZjbmtnWTJ4aGMzTWdLR04xYzNSdmJTQnlaWEJ2S1N3Z2JtOTBJRzl1SUUxdlpHVnNVMlZ5ZG1salpTQnBkSE5sYkdZdVhHNGdJQ0FnTHk4Z1VHRnpjeUIwYUdVZ2NtVndieUIwYnlCMGFHVWdabUZqZEc5eWVTQnpieUJoWkdSRGIyMXdiR1Y0VVhWbGNtbGxjeWdwSUdOaGJpQmthWE5qYjNabGNpQjBhR1Z0TGx4dUlDQWdJR052Ym5OMElHWmhZM1J2Y25sUVpYSnphWE4wWlc1alpTQTlYRzRnSUNBZ0lDQndaWEp6YVhOMFpXNWpaU0JwYm5OMFlXNWpaVzltSUUxdlpHVnNVMlZ5ZG1salpTQS9JSEJsY25OcGMzUmxibU5sTG5KbGNHOGdPaUJ3WlhKemFYTjBaVzVqWlR0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsWTI5eVlYUnZja052Ym1acFp5QTlJRTFsZEdGa1lYUmhMbWRsZENoY2JpQWdJQ0FnSUUxdlpHVnNRMjl1YzNSeUxGeHVJQ0FnSUNBZ1RXVjBZV1JoZEdFdWEyVjVLRVJGUTBGR1gwTlBUbFJTVDB4TVJWSmZRMDlPUmtsSEtWeHVJQ0FnSUNrZ1lYTWdUVzlrWld4RGIyNTBjbTlzYkdWeVJtRmpkRzl5ZVVOdmJtWnBaeUI4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYjI1emRDQnRiMlIxYkdWUGRtVnljbWxrWlNBOUlHMXZaSFZzWlVOdmJtWnBaMDkyWlhKeWFXUmxjejh1VzAxdlpHVnNRMjl1YzNSeUxtNWhiV1ZkTzF4dUlDQWdJR052Ym5OMElHMWxjbWRsWkVOdmJtWnBaem9nVFc5a1pXeERiMjUwY205c2JHVnlSbUZqZEc5eWVVTnZibVpwWnlBOUlIdGNiaUFnSUNBZ0lDNHVMaWhuYkc5aVlXeEVaV1poZFd4MGN5QjhmQ0I3ZlNrc1hHNGdJQ0FnSUNBdUxpNG9aR1ZqYjNKaGRHOXlRMjl1Wm1sbklIeDhJSHQ5S1N4Y2JpQWdJQ0FnSUM0dUxpaHRiMlIxYkdWUGRtVnljbWxrWlNCOGZDQjdmU2tzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR052Ym5OMElFWmhZM1J2Y25sRGIyNTBjbTlzYkdWeUlEMGdUVzlrWld4RGIyNTBjbTlzYkdWeVJtRmpkRzl5ZVM1amNtVmhkR1U4VkQ0b1hHNGdJQ0FnSUNCTmIyUmxiRU52Ym5OMGNpeGNiaUFnSUNBZ0lHWmhZM1J2Y25sUVpYSnphWE4wWlc1alpTeGNiaUFnSUNBZ0lHMWxjbWRsWkVOdmJtWnBaMXh1SUNBZ0lDazdYRzRnSUNBZ1kyOXVjM1FnWm1GamRHOXllVkp2ZFhSbGN5QTlJQ2hHWVdOMGIzSjVRMjl1ZEhKdmJHeGxjaUJoY3lCaGJua3BMbDlmY205MWRHVnpYMThnWVhOY2JpQWdJQ0FnSUh3Z1UyVnlkbVZ5VW05MWRHVmJYVnh1SUNBZ0lDQWdmQ0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQm5aWFJRU3l4Y2JpQWdJQ0FnSUdGd2FWQnliM0JsY25ScFpYTXNYRzRnSUNBZ0lDQndZWFJvT2lCd2ExQmhkR2dzWEc0Z0lDQWdmU0E5SUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVoyVjBVbTkxZEdWUVlYSmhiV1YwWlhKelJuSnZiVTF2WkdWc0tFMXZaR1ZzUTI5dWMzUnlLVHRjYmx4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0JEY21WaGRHbHVaeUJqYjI1MGNtOXNiR1Z5SUdadmNpQnRiMlJsYkRvZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwZ2QybDBhQ0FrZTJaaFkzUnZjbmxTYjNWMFpYTS9MbXhsYm1kMGFDQS9QeUF3ZlNCbVlXTjBiM0o1SUhKdmRYUmxjMkJjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1lYVjBhRU52Ym1acFp6b2dRWFYwYUVOdmJtWnBaeUI4SUhWdVpHVm1hVzVsWkNBOUlHMWxjbWRsWkVOdmJtWnBaeTVoZFhSb08xeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z1lYQndiSGxEYkdGemMwRjFkR2dvZEdGeVoyVjBPaUJoYm5rcElIdGNiaUFnSUNBZ0lHbG1JQ2hoZFhSb1EyOXVabWxuUHk1d2RXSnNhV01wSUh0Y2JpQWdJQ0FnSUNBZ1VIVmliR2xqS0Nrb2RHRnlaMlYwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lYVjBhRU52Ym1acFp6OHVjbTlzWlhNL0xteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQlNaWEYxYVhKbFVtOXNaWE1vTGk0dVlYVjBhRU52Ym1acFp5NXliMnhsY3lrb2RHRnlaMlYwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUVGMWRHZ29UVzlrWld4RGIyNXpkSElwS0hSaGNtZGxkQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1lYVjBhRU52Ym1acFp6OHVjMnRwY0UxdlpHVnNVbTlzWlhNcElIdGNiaUFnSUNBZ0lDQWdVMlYwVFdWMFlXUmhkR0VvVTB0SlVGOU5UMFJGVEY5U1QweEZVMTlMUlZrc0lIUnlkV1VwS0hSaGNtZGxkQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdRRU52Ym5SeWIyeHNaWElvY205MWRHVlFZWFJvS1Z4dUlDQWdJRUJCY0dsVVlXZHpLRzF2WkdWc1EyeGhlbnBPWVcxbEtWeHVJQ0FnSUVCQmNHbEZlSFJ5WVUxdlpHVnNjeWhOYjJSbGJFTnZibk4wY2lsY2JpQWdJQ0JqYkdGemN5QkVlVzVoYldsalRXOWtaV3hEYjI1MGNtOXNiR1Z5SUdWNGRHVnVaSE1nUkdWallXWk5iMlJsYkVOdmJuUnliMnhzWlhJOFZENGdlMXh1SUNBZ0lDQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQndhem9nYzNSeWFXNW5JRDBnVFc5a1pXd3VjR3NvVFc5a1pXeERiMjV6ZEhJcElHRnpJSE4wY21sdVp6dGNibHh1SUNBZ0lDQWdjSEp2ZEdWamRHVmtJSE4wWVhScFl5Qm5aWFFnWTJ4aGMzTW9LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJOYjJSbGJFTnZibk4wY2p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2IzWmxjbkpwWkdVZ1oyVjBJR05zWVhOektDazZJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSThWRDRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFc5a1pXeERiMjV6ZEhJN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZibk4wY25WamRHOXlLR05zYVdWdWRFTnZiblJsZUhRNklFUmxZMkZtVW1WeGRXVnpkRU52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQ0FnYzNWd1pYSW9ZMnhwWlc1MFEyOXVkR1Y0ZEN3Z1JIbHVZVzFwWTAxdlpHVnNRMjl1ZEhKdmJHeGxjaTV1WVcxbEtUdGNiaUFnSUNBZ0lDQWdiRzluTG1sdVptOG9YRzRnSUNBZ0lDQWdJQ0FnWUZKbFoybHpkR1Z5YVc1bklHUjVibUZ0YVdNZ1kyOXVkSEp2Ykd4bGNpQm1iM0lnYlc5a1pXdzZJQ1I3ZEdocGN5NWpiR0Z6Y3k1dVlXMWxmU0J5YjNWMFpUb2dMeVI3Y205MWRHVlFZWFJvZldCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCaGNIQnNlVU5zWVhOelFYVjBhQ2hFZVc1aGJXbGpUVzlrWld4RGIyNTBjbTlzYkdWeUtUdGNibHh1SUNBZ0lHbG1JQ2htWVdOMGIzSjVVbTkxZEdWektTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCemIzSjBaV1JTYjNWMFpYTWdQU0JiTGk0dVptRmpkRzl5ZVZKdmRYUmxjMTB1YzI5eWRDZ29ZU3dnWWlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhVMlZuYldWdWRITWdQU0JoTG5CaGRHZ3VjM0JzYVhRb1hDSXZYQ0lwTG1acGJIUmxjaWhDYjI5c1pXRnVLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZbE5sWjIxbGJuUnpJRDBnWWk1d1lYUm9Mbk53YkdsMEtGd2lMMXdpS1M1bWFXeDBaWElvUW05dmJHVmhiaWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0ZRWVhKaGJVTnZkVzUwSUQwZ1lWTmxaMjFsYm5SekxtWnBiSFJsY2lnb2N5a2dQVDRnY3k1emRHRnlkSE5YYVhSb0tGd2lPbHdpS1NrdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JpVUdGeVlXMURiM1Z1ZENBOUlHSlRaV2R0Wlc1MGN5NW1hV3gwWlhJb0tITXBJRDArSUhNdWMzUmhjblJ6VjJsMGFDaGNJanBjSWlrcExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWVV4cGRHVnlZV3hEYjNWdWRDQTlJR0ZUWldkdFpXNTBjeTVzWlc1bmRHZ2dMU0JoVUdGeVlXMURiM1Z1ZER0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWWt4cGRHVnlZV3hEYjNWdWRDQTlJR0pUWldkdFpXNTBjeTVzWlc1bmRHZ2dMU0JpVUdGeVlXMURiM1Z1ZER0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ZNYVhSbGNtRnNRMjkxYm5RZ0lUMDlJR0pNYVhSbGNtRnNRMjkxYm5RcFhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHSk1hWFJsY21Gc1EyOTFiblFnTFNCaFRHbDBaWEpoYkVOdmRXNTBPMXh1SUNBZ0lDQWdJQ0JwWmlBb1lWQmhjbUZ0UTI5MWJuUWdJVDA5SUdKUVlYSmhiVU52ZFc1MEtTQnlaWFIxY200Z1lWQmhjbUZ0UTI5MWJuUWdMU0JpVUdGeVlXMURiM1Z1ZER0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J5YjNWMFpTQnZaaUJ6YjNKMFpXUlNiM1YwWlhNcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXVjBhRzlrVG1GdFpTQTlYRzRnSUNBZ0lDQWdJQ0FnY205MWRHVXVhVzF3YkdWdFpXNTBZWFJwYjI0L0xtNWhiV1VnZkh3Z2NtOTFkR1V1YldWMGFHOWtMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKbFoybHpkSEpoZEdsdmJpQTlJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1YldGMFkyaFNiM1YwWlNoY2JpQWdJQ0FnSUNBZ0lDQnRaWFJvYjJST1lXMWxMRnh1SUNBZ0lDQWdJQ0FnSUhKdmRYUmxMRnh1SUNBZ0lDQWdJQ0FnSUhCclVHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNCaGNHbFFjbTl3WlhKMGFXVnpMRnh1SUNBZ0lDQWdJQ0FnSUdkbGRGQkxMRnh1SUNBZ0lDQWdJQ0FnSUUxdlpHVnNRMjl1YzNSeUxGeHVJQ0FnSUNBZ0lDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJR2xtSUNnaGNtVm5hWE4wY21GMGFXOXVLU0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXVjBhRzlrVG1GdFpUb2djbVZuYVhOMFpYSmxaRTFsZEdodlpFNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ2FHRnVaR3hsY2l4Y2JpQWdJQ0FnSUNBZ0lDQmtaV052Y21GMGIzSnpMRnh1SUNBZ0lDQWdJQ0FnSUhCaGNtRnRSR1ZqYjNKaGRHOXljeXhjYmlBZ0lDQWdJQ0FnZlNBOUlISmxaMmx6ZEhKaGRHbHZianRjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrWlhOamNtbHdkRzl5SUQwZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWtaV1pwYm1WTlpYUm9iMlFvWEc0Z0lDQWdJQ0FnSUNBZ1JIbHVZVzFwWTAxdlpHVnNRMjl1ZEhKdmJHeGxjaXhjYmlBZ0lDQWdJQ0FnSUNCeVpXZHBjM1JsY21Wa1RXVjBhRzlrVG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0JvWVc1a2JHVnlYRzRnSUNBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR1JsYzJOeWFYQjBiM0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCb2RIUndSR1ZqYjNKaGRHOXlJRDBnU0hSMGNGWmxjbUpVYjBSbFkyOXlZWFJ2Y2loeWIzVjBaUzV0WlhSb2IyUWdZWE1nU0hSMGNGWmxjbUp6S1NoY2JpQWdJQ0FnSUNBZ0lDQWdJSEp2ZFhSbExuQmhkR2d1Y21Wd2JHRmpaU2d2WGx4Y0x5dDhYRnd2S3lRdlp5d2dYQ0pjSWlrZ2ZId2dkVzVrWldacGJtVmtYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbUZ3Y0d4NVJHVmpiM0poZEc5eWN5aGNiaUFnSUNBZ0lDQWdJQ0FnSUVSNWJtRnRhV05OYjJSbGJFTnZiblJ5YjJ4c1pYSXNYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpXZHBjM1JsY21Wa1RXVjBhRzlrVG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUZ0b2RIUndSR1ZqYjNKaGRHOXlMQ0F1TGk1a1pXTnZjbUYwYjNKelhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGNtRnRSR1ZqYjNKaGRHOXljMXh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnUkhsdVlXMXBZMDF2WkdWc1EyOXVkSEp2Ykd4bGNpQmhjeUJoYm5rN1hHNGdJSDFjYmx4dUlDQnpkR0YwYVdNZ1oyVjBVbTkxZEdWUVlYSmhiV1YwWlhKelJuSnZiVTF2WkdWc1BGUWdaWGgwWlc1a2N5Qk5iMlJsYkR4aGJuaytQaWhjYmlBZ0lDQk5iMlJsYkVOc1lYcDZPaUJOYjJSbGJFTnZibk4wY25WamRHOXlQRlErWEc0Z0lDazZJSHRjYmlBZ0lDQndZWFJvT2lCemRISnBibWM3WEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUhOMGNtbHVaenRjYmlBZ0lDQmhjR2xRY205d1pYSjBhV1Z6T2lCRVpXTmhaa0Z3YVZCeWIzQmxjblI1VzEwN1hHNGdJQ0FnWjJWMFVFczZJQ2d1TGk1d1lYSmhiWE02SUVGeWNtRjVQSE4wY21sdVp5QjhJRzUxYldKbGNqNHBJRDArSUhOMGNtbHVaenRjYmlBZ2ZTQjdYRzRnSUNBZ1kyOXVjM1FnY0dzZ1BTQk5iMlJsYkM1d2F5aE5iMlJsYkVOc1lYcDZLU0JoY3lCclpYbHZaaUJOYjJSbGJEeGhibmsrTzF4dUlDQWdJR052Ym5OMElHTnZiWEJ2YzJWa0lEMGdUV1YwWVdSaGRHRXVaMlYwS0Z4dUlDQWdJQ0FnVFc5a1pXeERiR0Y2ZWl4Y2JpQWdJQ0FnSUUxbGRHRmtZWFJoTG10bGVTaEVRa3RsZVhNdVEwOU5VRTlUUlVRc0lIQnJLVnh1SUNBZ0lDazdYRzRnSUNBZ1kyOXVjM1FnWTI5dGNHOXpaV1JMWlhseklEMGdZMjl0Y0c5elpXUS9MbUZ5WjNNZ1B6OGdXMTA3WEc1Y2JpQWdJQ0JqYjI1emRDQjFibWx4ZFdWTFpYbHpJRDFjYmlBZ0lDQWdJRUZ5Y21GNUxtbHpRWEp5WVhrb1kyOXRjRzl6WldSTFpYbHpLU0FtSmlCamIyMXdiM05sWkV0bGVYTXViR1Z1WjNSb0lENGdNRnh1SUNBZ0lDQWdJQ0EvSUVGeWNtRjVMbVp5YjIwb2JtVjNJRk5sZENoYkxpNHVZMjl0Y0c5elpXUkxaWGx6WFNrcFhHNGdJQ0FnSUNBZ0lEb2dRWEp5WVhrdVpuSnZiU2h1WlhjZ1UyVjBLRnR3YTEwcEtUdGNibHh1SUNBZ0lHTnZibk4wSUdSbGMyTnlhWEIwYVc5dUlEMGdUV1YwWVdSaGRHRXVaR1Z6WTNKcGNIUnBiMjRvVFc5a1pXeERiR0Y2ZWlrZ1B6OGdYQ0pjSWp0Y2JpQWdJQ0JqYjI1emRDQndZWFJvSUQwZ1lEb2tlM1Z1YVhGMVpVdGxlWE11YW05cGJpaGNJaTg2WENJcGZXQTdYRzRnSUNBZ1kyOXVjM1FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRJRDBnZFc1cGNYVmxTMlY1Y3k1dFlYQW9LR3RsZVNrZ1BUNGdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdibUZ0WlRvZ2EyVjVMRnh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1RXVjBZV1JoZEdFdVpHVnpZM0pwY0hScGIyNG9UVzlrWld4RGJHRjZlaXdnYTJWNUtTeGNiaUFnSUNBZ0lDQWdjbVZ4ZFdseVpXUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUZOMGNtbHVaeXhjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdjR0YwYUN4Y2JpQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dUxGeHVJQ0FnSUNBZ1lYQnBVSEp2Y0dWeWRHbGxjeXhjYmlBZ0lDQWdJR2RsZEZCTE9pQW9MaTR1Y0dGeVlXMXpPaUJCY25KaGVUeHpkSEpwYm1jZ2ZDQnVkVzFpWlhJK0tTQTlQbHh1SUNBZ0lDQWdJQ0JqYjIxd2IzTmxaRDh1YzJWd1lYSmhkRzl5SUQ4Z2NHRnlZVzF6TG1wdmFXNG9ZMjl0Y0c5elpXUXVjMlZ3WVhKaGRHOXlLU0E2SUhCaGNtRnRjeTVxYjJsdUtGd2lYQ0lwTEZ4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJ5YjNWMFpWQmhjbUZ0UkdWamIzSmhkRzl5Y3loY2JpQWdJQ0J3WVhSb09pQnpkSEpwYm1kY2JpQWdLVG9nUVhKeVlYazhleUJrWldOdmNtRjBiM0k2SUZCaGNtRnRaWFJsY2tSbFkyOXlZWFJ2Y2pzZ2FXNWtaWGc2SUc1MWJXSmxjaUI5UGlCN1hHNGdJQ0FnYkdWMElIQmhjbUZ0U1c1a1pYZ2dQU0F3TzF4dUlDQWdJSEpsZEhWeWJpQndZWFJvWEc0Z0lDQWdJQ0F1YzNCc2FYUW9YQ0l2WENJcFhHNGdJQ0FnSUNBdVptbHNkR1Z5S0VKdmIyeGxZVzRwWEc0Z0lDQWdJQ0F1Wm14aGRFMWhjQ2dvYzJWbmJXVnVkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWbmJXVnVkQzV6ZEdGeWRITlhhWFJvS0Z3aU9sd2lLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0I3SUdSbFkyOXlZWFJ2Y2pvZ1VHRnlZVzBvYzJWbmJXVnVkQzV6YkdsalpTZ3hLU2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2djR0Z5WVcxSmJtUmxlQ3NySUgwc1hHNGdJQ0FnSUNBZ0lDQWdYVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9jMlZuYldWdWRDNXpkR0Z5ZEhOWGFYUm9LRndpS2x3aUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdJR1JsWTI5eVlYUnZjam9nVUdGeVlXMG9jMlZuYldWdWRDNXpiR2xqWlNneEtTa2dZWE1nWVc1NUxDQnBibVJsZURvZ2NHRnlZVzFKYm1SbGVDc3JJSDBzWEc0Z0lDQWdJQ0FnSUNBZ1hUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMTA3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUdSbFptbHVaVTFsZEdodlpDaGNiaUFnSUNCMFlYSm5aWFE2SUdGdWVTeGNiaUFnSUNCdFpYUm9iMlJPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnYUdGdVpHeGxjam9nS0M0dUxtRnlaM002SUdGdWVWdGRLU0E5UGlCaGJubGNiaUFnS1RvZ1VISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUlId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMbkJ5YjNSdmRIbHdaU0I4ZkNCMFlYSm5aWFFzSUcxbGRHaHZaRTVoYldVc0lIdGNiaUFnSUNBZ0lIWmhiSFZsT2lCb1lXNWtiR1Z5TEZ4dUlDQWdJQ0FnZDNKcGRHRmliR1U2SUdaaGJITmxMRnh1SUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWhjYmlBZ0lDQWdJSFJoY21kbGRDNXdjbTkwYjNSNWNHVWdmSHdnZEdGeVoyVjBMRnh1SUNBZ0lDQWdiV1YwYUc5a1RtRnRaVnh1SUNBZ0lDazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4wWVhScFl5QmhjSEJzZVVSbFkyOXlZWFJ2Y25Nb1hHNGdJQ0FnZEdGeVoyVjBPaUJoYm5rc1hHNGdJQ0FnYldWMGFHOWtUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJRzFsZEdodlpFUmxZMjl5WVhSdmNuTTZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENHNYRzRnSUNBZ2NHRnlZVzFFWldOdmNtRjBiM0p6T2lCQmNuSmhlVHg3WEc0Z0lDQWdJQ0JrWldOdmNtRjBiM0k2SUZCaGNtRnRaWFJsY2tSbFkyOXlZWFJ2Y2p0Y2JpQWdJQ0FnSUdsdVpHVjRPaUJ1ZFcxaVpYSTdYRzRnSUNBZ2ZUNGdQU0JiWFZ4dUlDQXBJSHRjYmlBZ0lDQmpiMjV6ZENCd2NtOTBieUE5SUhSaGNtZGxkRDh1Y0hKdmRHOTBlWEJsSUQ4L0lIUmhjbWRsZER0Y2JpQWdJQ0JqYjI1emRDQmtaWE5qY21sd2RHOXlJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaHdjbTkwYnl3Z2JXVjBhRzlrVG1GdFpTazdYRzRnSUNBZ2JXVjBhRzlrUkdWamIzSmhkRzl5Y3k1bWIzSkZZV05vS0Noa0tTQTlQaUJrS0hCeWIzUnZMQ0J0WlhSb2IyUk9ZVzFsTENCa1pYTmpjbWx3ZEc5eUtTazdYRzRnSUNBZ2NHRnlZVzFFWldOdmNtRjBiM0p6TG1admNrVmhZMmdvS0hzZ1pHVmpiM0poZEc5eUxDQnBibVJsZUNCOUtTQTlQbHh1SUNBZ0lDQWdaR1ZqYjNKaGRHOXlLSEJ5YjNSdkxDQnRaWFJvYjJST1lXMWxMQ0JwYm1SbGVDbGNiaUFnSUNBcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ2JXRjBZMmhTYjNWMFpTaGNiaUFnSUNCdFpYUm9iMlJPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnY205MWRHVTZJRk5sY25abGNsSnZkWFJsTEZ4dUlDQWdJSEJyVUdGMGFEb2djM1J5YVc1bkxGeHVJQ0FnSUdGd2FWQnliM0JsY25ScFpYTTZJRVJsWTJGbVFYQnBVSEp2Y0dWeWRIbGJYU3hjYmlBZ0lDQm5aWFJRU3pvZ0tDNHVMbkE2SUVGeWNtRjVQSE4wY21sdVp5QjhJRzUxYldKbGNqNHBJRDArSUhOMGNtbHVaeXhjYmlBZ0lDQk5iMlJsYkVOdmJuTjBjam9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK0xGeHVJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxPaUJ6ZEhKcGJtZGNiaUFnS1RwY2JpQWdJQ0I4SUh0Y2JpQWdJQ0FnSUNBZ2JXVjBhRzlrVG1GdFpUb2djM1J5YVc1bk8xeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeU9pQW9MaTR1WVhKbmN6b2dZVzU1VzEwcElEMCtJR0Z1ZVR0Y2JpQWdJQ0FnSUNBZ1pHVmpiM0poZEc5eWN6b2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BqdGNiaUFnSUNBZ0lDQWdjR0Z5WVcxRVpXTnZjbUYwYjNKek9pQkJjbkpoZVR4N1hHNGdJQ0FnSUNBZ0lDQWdaR1ZqYjNKaGRHOXlPaUJRWVhKaGJXVjBaWEpFWldOdmNtRjBiM0k3WEc0Z0lDQWdJQ0FnSUNBZ2FXNWtaWGc2SUc1MWJXSmxjanRjYmlBZ0lDQWdJQ0FnZlQ0N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYldWMGFHOWtMQ0J3WVhSb0lIMGdQU0J5YjNWMFpUdGNiaUFnSUNCamIyNXpkQ0J1YjNKdFlXeHBlbVZrVUdGMGFDQTlJSEJoZEdndWNtVndiR0ZqWlNndlhseGNMeXQ4WEZ3dkt5UXZaeXdnWENKY0lpazdYRzRnSUNBZ1kyOXVjM1FnYUdGdVpHeGxjaUE5SUhKdmRYUmxMbWx0Y0d4bGJXVnVkR0YwYVc5dUlHRnpJQ2d1TGk1aGNtZHpPaUJoYm5sYlhTa2dQVDRnWVc1NU8xeHVYRzRnSUNBZ2FXWWdLRzFsZEdodlpDQTlQVDBnWENKUVQxTlVYQ0lnSmlZZ2JtOXliV0ZzYVhwbFpGQmhkR2dnUFQwOUlGd2lYQ0lwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaVkpsWjJsemRISmhkR2x2YmloY2JpQWdJQ0FnSUNBZ1hDSmpjbVZoZEdWY0lpeGNiaUFnSUNBZ0lDQWdhR0Z1Wkd4bGNpeGNiaUFnSUNBZ0lDQWdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqY21WaGRHVkRjbVZoZEdWRVpXTnZjbUYwYjNKektFMXZaR1ZzUTI5dWMzUnlMQ0J0YjJSbGJFTnNZWHA2VG1GdFpTa3NYRzRnSUNBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSUNCN0lHUmxZMjl5WVhSdmNqb2dSR1ZqWVdaQ2IyUjVLQ2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lIc2daR1ZqYjNKaGRHOXlPaUJTWlhOd2IyNXpaU2g3SUhCaGMzTjBhSEp2ZFdkb09pQjBjblZsSUgwcElHRnpJR0Z1ZVN3Z2FXNWtaWGc2SURFZ2ZTeGNiaUFnSUNBZ0lDQWdYVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYldWMGFHOWtJRDA5UFNCY0lsQlBVMVJjSWlBbUppQnViM0p0WVd4cGVtVmtVR0YwYUNBOVBUMGdYQ0ppZFd4clhDSXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbU55WldGMFpWSmxaMmx6ZEhKaGRHbHZiaWhjYmlBZ0lDQWdJQ0FnWENKamNtVmhkR1ZCYkd4Y0lpeGNiaUFnSUNBZ0lDQWdhR0Z1Wkd4bGNpeGNiaUFnSUNBZ0lDQWdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVpZFd4clEzSmxZWFJsUkdWamIzSmhkRzl5Y3loTmIyUmxiRU52Ym5OMGNpd2diVzlrWld4RGJHRjZlazVoYldVcExGeHVJQ0FnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ0FnZXlCa1pXTnZjbUYwYjNJNklFUmxZMkZtUW05a2VTZ3BJR0Z6SUdGdWVTd2dhVzVrWlhnNklEQWdmU3hjYmlBZ0lDQWdJQ0FnSUNCN0lHUmxZMjl5WVhSdmNqb2dVbVZ6Y0c5dWMyVW9leUJ3WVhOemRHaHliM1ZuYURvZ2RISjFaU0I5S1NCaGN5QmhibmtzSUdsdVpHVjRPaUF4SUgwc1hHNGdJQ0FnSUNBZ0lGMWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzFsZEdodlpDQTlQVDBnWENKSFJWUmNJaUFtSmlCdWIzSnRZV3hwZW1Wa1VHRjBhQ0E5UFQwZ1hDSmlkV3hyWENJcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtTnlaV0YwWlZKbFoybHpkSEpoZEdsdmJpaGNiaUFnSUNBZ0lDQWdYQ0p5WldGa1FXeHNYQ0lzWEc0Z0lDQWdJQ0FnSUdoaGJtUnNaWElzWEc0Z0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVluVnNhMUpsWVdSRVpXTnZjbUYwYjNKektFMXZaR1ZzUTI5dWMzUnlMQ0J0YjJSbGJFTnNZWHA2VG1GdFpTa3NYRzRnSUNBZ0lDQWdJRnQ3SUdSbFkyOXlZWFJ2Y2pvZ1VYVmxjbmtvWENKcFpITmNJaWtnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNQ0I5WFZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXVjBhRzlrSUQwOVBTQmNJbEJWVkZ3aUlDWW1JRzV2Y20xaGJHbDZaV1JRWVhSb0lEMDlQU0JjSW1KMWJHdGNJaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WTNKbFlYUmxVbVZuYVhOMGNtRjBhVzl1S0Z4dUlDQWdJQ0FnSUNCY0luVndaR0YwWlVGc2JGd2lMRnh1SUNBZ0lDQWdJQ0JvWVc1a2JHVnlMRnh1SUNBZ0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1KMWJHdFZjR1JoZEdWRVpXTnZjbUYwYjNKektGeHVJQ0FnSUNBZ0lDQWdJRTF2WkdWc1EyOXVjM1J5TEZ4dUlDQWdJQ0FnSUNBZ0lHMXZaR1ZzUTJ4aGVucE9ZVzFsTEZ4dUlDQWdJQ0FnSUNBZ0lHRndhVkJ5YjNCbGNuUnBaWE5jYmlBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQWdJSHNnWkdWamIzSmhkRzl5T2lCRVpXTmhaa0p2Wkhrb0tTQmhjeUJoYm5rc0lHbHVaR1Y0T2lBd0lIMHNYRzRnSUNBZ0lDQWdJQ0FnZXlCa1pXTnZjbUYwYjNJNklGSmxjM0J2Ym5ObEtIc2djR0Z6YzNSb2NtOTFaMmc2SUhSeWRXVWdmU2tnWVhNZ1lXNTVMQ0JwYm1SbGVEb2dNU0I5TEZ4dUlDQWdJQ0FnSUNCZFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpUkVWTVJWUkZYQ0lnSmlZZ2JtOXliV0ZzYVhwbFpGQmhkR2dnUFQwOUlGd2lZblZzYTF3aUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWpjbVZoZEdWU1pXZHBjM1J5WVhScGIyNG9YRzRnSUNBZ0lDQWdJRndpWkdWc1pYUmxRV3hzWENJc1hHNGdJQ0FnSUNBZ0lHaGhibVJzWlhJc1hHNGdJQ0FnSUNBZ0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZblZzYTBSbGJHVjBaVVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdJQ0FnSUNBZ1RXOWtaV3hEYjI1emRISXNYRzRnSUNBZ0lDQWdJQ0FnYlc5a1pXeERiR0Y2ZWs1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGMxeHVJQ0FnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNBZ2V5QmtaV052Y21GMGIzSTZJRkYxWlhKNUtGd2lhV1J6WENJcElHRnpJR0Z1ZVN3Z2FXNWtaWGc2SURBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0I3SUdSbFkyOXlZWFJ2Y2pvZ1VtVnpjRzl1YzJVb2V5QndZWE56ZEdoeWIzVm5hRG9nZEhKMVpTQjlLU0JoY3lCaGJua3NJR2x1WkdWNE9pQXhJSDBzWEc0Z0lDQWdJQ0FnSUYxY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMWxkR2h2WkNBOVBUMGdYQ0pIUlZSY0lpQW1KaUJ1YjNKdFlXeHBlbVZrVUdGMGFDQTlQVDBnY0d0UVlYUm9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqY21WaGRHVlNaV2RwYzNSeVlYUnBiMjRvWEc0Z0lDQWdJQ0FnSUZ3aWNtVmhaRndpTEZ4dUlDQWdJQ0FnSUNCb1lXNWtiR1Z5TEZ4dUlDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuSmxZV1JFWldOdmNtRjBiM0p6S0Z4dUlDQWdJQ0FnSUNBZ0lFMXZaR1ZzUTI5dWMzUnlMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxMRnh1SUNBZ0lDQWdJQ0FnSUdGd2FWQnliM0JsY25ScFpYTXNYRzRnSUNBZ0lDQWdJQ0FnY0d0UVlYUm9YRzRnSUNBZ0lDQWdJQ2tzWEc0Z0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdWNtOTFkR1ZRWVhKaGJVUmxZMjl5WVhSdmNuTW9ibTl5YldGc2FYcGxaRkJoZEdncFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpVUZWVVhDSWdKaVlnYm05eWJXRnNhWHBsWkZCaGRHZ2dQVDA5SUhCclVHRjBhQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbTkxZEdWUVlYSmhiWE1nUFZ4dUlDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuSnZkWFJsVUdGeVlXMUVaV052Y21GMGIzSnpLRzV2Y20xaGJHbDZaV1JRWVhSb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtTnlaV0YwWlZKbFoybHpkSEpoZEdsdmJpaGNiaUFnSUNBZ0lDQWdYQ0oxY0dSaGRHVmNJaXhjYmlBZ0lDQWdJQ0FnYUdGdVpHeGxjaXhjYmlBZ0lDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1MWNHUmhkR1ZFWldOdmNtRjBiM0p6S0Z4dUlDQWdJQ0FnSUNBZ0lFMXZaR1ZzUTI5dWMzUnlMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxMRnh1SUNBZ0lDQWdJQ0FnSUdGd2FWQnliM0JsY25ScFpYTXNYRzRnSUNBZ0lDQWdJQ0FnY0d0UVlYUm9YRzRnSUNBZ0lDQWdJQ2tzWEc0Z0lDQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0lDQjdJR1JsWTI5eVlYUnZjam9nUkdWallXWkNiMlI1S0NrZ1lYTWdZVzU1TENCcGJtUmxlRG9nTUNCOUxGeHVJQ0FnSUNBZ0lDQWdJQzR1TG5KdmRYUmxVR0Z5WVcxekxtMWhjQ2dvZXlCa1pXTnZjbUYwYjNJc0lHbHVaR1Y0SUgwcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaV052Y21GMGIzSXNYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxlRG9nYVc1a1pYZ2dLeUF4TEZ4dUlDQWdJQ0FnSUNBZ0lIMHBLU3hjYmlBZ0lDQWdJQ0FnWFZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXVjBhRzlrSUQwOVBTQmNJa1JGVEVWVVJWd2lJQ1ltSUc1dmNtMWhiR2w2WldSUVlYUm9JRDA5UFNCd2ExQmhkR2dwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEp2ZFhSbFVHRnlZVzF6SUQxY2JpQWdJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXliM1YwWlZCaGNtRnRSR1ZqYjNKaGRHOXljeWh1YjNKdFlXeHBlbVZrVUdGMGFDazdYRzRnSUNBZ0lDQnlaWFIxY200Z1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWpjbVZoZEdWU1pXZHBjM1J5WVhScGIyNG9YRzRnSUNBZ0lDQWdJRndpWkdWc1pYUmxYQ0lzWEc0Z0lDQWdJQ0FnSUdoaGJtUnNaWElzWEc0Z0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdVpHVnNaWFJsUkdWamIzSmhkRzl5Y3loY2JpQWdJQ0FnSUNBZ0lDQk5iMlJsYkVOdmJuTjBjaXhjYmlBZ0lDQWdJQ0FnSUNCdGIyUmxiRU5zWVhwNlRtRnRaU3hjYmlBZ0lDQWdJQ0FnSUNCaGNHbFFjbTl3WlhKMGFXVnpMRnh1SUNBZ0lDQWdJQ0FnSUhCclVHRjBhRnh1SUNBZ0lDQWdJQ0FwTEZ4dUlDQWdJQ0FnSUNCeWIzVjBaVkJoY21GdGMxeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkRiMjF3YjNObFpDQlFTeUJtWVd4c1ltRmpheUJ5YjNWMFpYTWdLR1pwYkhSbGNrVnRjSFI1S1NEaWdKUWdjR0YwYUNCa2FXWm1aWEp6SUdaeWIyMGdjR3RRWVhSb1hHNGdJQ0FnWTI5dWMzUWdabUZzYkdKaFkydFRaV2R0Wlc1MGN5QTlJRzV2Y20xaGJHbDZaV1JRWVhSb0xuTndiR2wwS0Z3aUwxd2lLUzVtYVd4MFpYSW9RbTl2YkdWaGJpazdYRzRnSUNBZ1kyOXVjM1FnYVhOQmJHeFFZWEpoYlhNZ1BWeHVJQ0FnSUNBZ1ptRnNiR0poWTJ0VFpXZHRaVzUwY3k1c1pXNW5kR2dnUGlBd0lDWW1YRzRnSUNBZ0lDQm1ZV3hzWW1GamExTmxaMjFsYm5SekxtVjJaWEo1S0NoektTQTlQaUJ6TG5OMFlYSjBjMWRwZEdnb1hDSTZYQ0lwS1R0Y2JpQWdJQ0JwWmlBb2FYTkJiR3hRWVhKaGJYTWdKaVlnYm05eWJXRnNhWHBsWkZCaGRHZ2dJVDA5SUhCclVHRjBhQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdabUZzYkdKaFkydEJjR2xRY205d2N5QTlJR1poYkd4aVlXTnJVMlZuYldWdWRITmNiaUFnSUNBZ0lDQWdMbTFoY0Nnb2N5a2dQVDRnY3k1emJHbGpaU2d4S1NsY2JpQWdJQ0FnSUNBZ0xtMWhjQ2dvYm1GdFpTa2dQVDRnS0h0Y2JpQWdJQ0FnSUNBZ0lDQnVZVzFsTEZ4dUlDQWdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnSkh0dVlXMWxmU0J3WVhKaGJXVjBaWEpnTEZ4dUlDQWdJQ0FnSUNBZ0lISmxjWFZwY21Wa09pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZOMGNtbHVaeXhjYmlBZ0lDQWdJQ0FnZlNrcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYzNWbVptbDRJRDBnWm1Gc2JHSmhZMnRUWldkdFpXNTBjeTV0WVhBb0tITXBJRDArSUhNdWMyeHBZMlVvTVNrcExtcHZhVzRvWENKQmJtUmNJaWs3WEc0Z0lDQWdJQ0JqYjI1emRDQnliM1YwWlZCaGNtRnRjeUE5WEc0Z0lDQWdJQ0FnSUVaeWIyMU5iMlJsYkVOdmJuUnliMnhzWlhJdWNtOTFkR1ZRWVhKaGJVUmxZMjl5WVhSdmNuTW9ibTl5YldGc2FYcGxaRkJoZEdncE8xeHVJQ0FnSUNBZ2FXWWdLRzFsZEdodlpDQTlQVDBnWENKSFJWUmNJaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1amNtVmhkR1ZTWldkcGMzUnlZWFJwYjI0b1hHNGdJQ0FnSUNBZ0lDQWdZSEpsWVdSQ2VTUjdjM1ZtWm1sNGZXQXNYRzRnSUNBZ0lDQWdJQ0FnYUdGdVpHeGxjaXhjYmlBZ0lDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuSmxZV1JFWldOdmNtRjBiM0p6S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdUVzlrWld4RGIyNXpkSElzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRiMlJsYkVOc1lYcDZUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1poYkd4aVlXTnJRWEJwVUhKdmNITXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdWIzSnRZV3hwZW1Wa1VHRjBhRnh1SUNBZ0lDQWdJQ0FnSUNrc1hHNGdJQ0FnSUNBZ0lDQWdjbTkxZEdWUVlYSmhiWE5jYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJRndpVUZWVVhDSXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WTNKbFlYUmxVbVZuYVhOMGNtRjBhVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lHQjFjR1JoZEdWQ2VTUjdjM1ZtWm1sNGZXQXNYRzRnSUNBZ0lDQWdJQ0FnYUdGdVpHeGxjaXhjYmlBZ0lDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuVndaR0YwWlVSbFkyOXlZWFJ2Y25Nb1hHNGdJQ0FnSUNBZ0lDQWdJQ0JOYjJSbGJFTnZibk4wY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnWm1Gc2JHSmhZMnRCY0dsUWNtOXdjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXZjbTFoYkdsNlpXUlFZWFJvWEc0Z0lDQWdJQ0FnSUNBZ0tTeGNiaUFnSUNBZ0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdJR1JsWTI5eVlYUnZjam9nUkdWallXWkNiMlI1S0NrZ1lYTWdZVzU1TENCcGJtUmxlRG9nTUNCOUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWNtOTFkR1ZRWVhKaGJYTXViV0Z3S0NoN0lHUmxZMjl5WVhSdmNpd2dhVzVrWlhnZ2ZTa2dQVDRnS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWamIzSmhkRzl5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGVEb2dhVzVrWlhnZ0t5QXhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTa3BMRnh1SUNBZ0lDQWdJQ0FnSUYxY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2h0WlhSb2IyUWdQVDA5SUZ3aVJFVk1SVlJGWENJcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbFVtVm5hWE4wY21GMGFXOXVLRnh1SUNBZ0lDQWdJQ0FnSUdCa1pXeGxkR1ZDZVNSN2MzVm1abWw0ZldBc1hHNGdJQ0FnSUNBZ0lDQWdhR0Z1Wkd4bGNpeGNiaUFnSUNBZ0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1SbGJHVjBaVVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdJQ0FnSUNBZ0lDQk5iMlJsYkVOdmJuTjBjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHMXZaR1ZzUTJ4aGVucE9ZVzFsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdabUZzYkdKaFkydEJjR2xRY205d2N5eGNiaUFnSUNBZ0lDQWdJQ0FnSUc1dmNtMWhiR2w2WldSUVlYUm9YRzRnSUNBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0FnSUNBZ0lDQnliM1YwWlZCaGNtRnRjMXh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodFpYUm9iMlFnUFQwOUlGd2lSMFZVWENJZ0ppWWdibTl5YldGc2FYcGxaRkJoZEdnZ1BUMDlJRndpYzNSaGRHVnRaVzUwTHpwdFpYUm9iMlF2S21GeVozTmNJaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WTNKbFlYUmxVbVZuYVhOMGNtRjBhVzl1S0Z4dUlDQWdJQ0FnSUNCY0luTjBZWFJsYldWdWRGd2lMRnh1SUNBZ0lDQWdJQ0JvWVc1a2JHVnlMRnh1SUNBZ0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG5OMFlYUmxiV1Z1ZEVSbFkyOXlZWFJ2Y25Nb1RXOWtaV3hEYjI1emRISXNJRzF2WkdWc1EyeGhlbnBPWVcxbEtTeGNiaUFnSUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FnSUhzZ1pHVmpiM0poZEc5eU9pQlFZWEpoYlNoY0ltMWxkR2h2WkZ3aUtTQmhjeUJoYm5rc0lHbHVaR1Y0T2lBd0lIMHNYRzRnSUNBZ0lDQWdJQ0FnZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0S0Z3aVlYSm5jMXdpS1NCaGN5QmhibmtzSUdsdVpHVjRPaUF4SUgwc1hHNGdJQ0FnSUNBZ0lDQWdleUJrWldOdmNtRjBiM0k2SUVSbFkyRm1VWFZsY25rb0tTQmhjeUJoYm5rc0lHbHVaR1Y0T2lBeUlIMHNYRzRnSUNBZ0lDQWdJRjFjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0cxbGRHaHZaQ0E5UFQwZ1hDSkhSVlJjSWlBbUppQnViM0p0WVd4cGVtVmtVR0YwYUNBOVBUMGdYQ0ptYVc1a1QyNWxRbmt2T210bGVTODZkbUZzZFdWY0lpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVZM0psWVhSbFVtVm5hWE4wY21GMGFXOXVLRnh1SUNBZ0lDQWdJQ0JjSW1acGJtUlBibVZDZVZ3aUxGeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeUxGeHVJQ0FnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbk4wWVhSbGJXVnVkRk5vYjNKMFkzVjBSR1ZqYjNKaGRHOXljeWhjYmlBZ0lDQWdJQ0FnSUNCTmIyUmxiRU52Ym5OMGNpeGNiaUFnSUNBZ0lDQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0J1YjNKdFlXeHBlbVZrVUdGMGFDeGNiaUFnSUNBZ0lDQWdJQ0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVJrbE9SRjlQVGtWZlFsbGNiaUFnSUNBZ0lDQWdLU3hjYmlBZ0lDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1emRHRjBaVzFsYm5SVGFHOXlkR04xZEZCaGNtRnRjeWh1YjNKdFlXeHBlbVZrVUdGMGFDbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzNSaGRHVnRaVzUwVW05MWRHVnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQnpkSEpwYm1jK0lEMGdlMXh1SUNBZ0lDQWdYQ0pzYVhOMFFua3ZPbXRsZVZ3aU9pQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11VEVsVFZGOUNXU3hjYmlBZ0lDQWdJRndpY0dGbmFXNWhkR1ZDZVM4NmEyVjVMenB3WVdkbFhDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1UVFVZEZYMEpaTEZ4dUlDQWdJQ0FnWENKbWFXNWtMenAyWVd4MVpWd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVJrbE9SQ3hjYmlBZ0lDQWdJRndpY0dGblpTODZkbUZzZFdWY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGxCQlIwVXNYRzRnSUNBZ0lDQmNJbVpwYm1SUGJtVkNlUzg2YTJWNUx6cDJZV3gxWlZ3aU9pQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UmtsT1JGOVBUa1ZmUWxrc1hHNGdJQ0FnSUNCY0ltWnBibVJDZVM4NmEyVjVMenAyWVd4MVpWd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVJrbE9SRjlDV1N4Y2JpQWdJQ0FnSUZ3aVkyOTFiblJQWmk4NlptbGxiR1JjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa05QVlU1VVgwOUdMRnh1SUNBZ0lDQWdYQ0p0WVhoUFppODZabWxsYkdSY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGsxQldGOVBSaXhjYmlBZ0lDQWdJRndpYldsdVQyWXZPbVpwWld4a1hDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1TlNVNWZUMFlzWEc0Z0lDQWdJQ0JjSW1GMlowOW1MenBtYVdWc1pGd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVFWWkhYMDlHTEZ4dUlDQWdJQ0FnWENKemRXMVBaaTg2Wm1sbGJHUmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxsTlZUVjlQUml4Y2JpQWdJQ0FnSUZ3aVpHbHpkR2x1WTNSUFppODZabWxsYkdSY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtSSlUxUkpUa05VWDA5R0xGeHVJQ0FnSUNBZ1hDSm5jbTkxY0U5bUx6cG1hV1ZzWkZ3aU9pQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UjFKUFZWQmZUMFlzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR052Ym5OMElITjBZWFJsYldWdWRFdGxlU0E5SUhOMFlYUmxiV1Z1ZEZKdmRYUmxjMXR1YjNKdFlXeHBlbVZrVUdGMGFGMDdYRzRnSUNBZ2FXWWdLSE4wWVhSbGJXVnVkRXRsZVNBbUppQnRaWFJvYjJRZ1BUMDlJRndpUjBWVVhDSXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbU55WldGMFpWSmxaMmx6ZEhKaGRHbHZiaWhjYmlBZ0lDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1emRHRjBaVzFsYm5STlpYUm9iMlJPWVcxbEtHNXZjbTFoYkdsNlpXUlFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ2FHRnVaR3hsY2l4Y2JpQWdJQ0FnSUNBZ1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNXpkR0YwWlcxbGJuUlRhRzl5ZEdOMWRFUmxZMjl5WVhSdmNuTW9YRzRnSUNBZ0lDQWdJQ0FnVFc5a1pXeERiMjV6ZEhJc1hHNGdJQ0FnSUNBZ0lDQWdiVzlrWld4RGJHRjZlazVoYldVc1hHNGdJQ0FnSUNBZ0lDQWdibTl5YldGc2FYcGxaRkJoZEdnc1hHNGdJQ0FnSUNBZ0lDQWdjM1JoZEdWdFpXNTBTMlY1WEc0Z0lDQWdJQ0FnSUNrc1hHNGdJQ0FnSUNBZ0lFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVjM1JoZEdWdFpXNTBVMmh2Y25SamRYUlFZWEpoYlhNb2JtOXliV0ZzYVhwbFpGQmhkR2dwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodFpYUm9iMlFnUFQwOUlGd2lSMFZVWENJZ0ppWWdibTl5YldGc2FYcGxaRkJoZEdndWMzUmhjblJ6VjJsMGFDaGNJbkYxWlhKNUwxd2lLU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjWFZsY25sTlpYUm9iMlFnUFNCdWIzSnRZV3hwZW1Wa1VHRjBhQzV5WlhCc1lXTmxLQzllY1hWbGNubGNYQzh2TENCY0lsd2lLUzV6Y0d4cGRDaGNJaTljSWlsYk1GMDdYRzRnSUNBZ0lDQnlaWFIxY200Z1JuSnZiVTF2WkdWc1EyOXVkSEp2Ykd4bGNpNWpjbVZoZEdWU1pXZHBjM1J5WVhScGIyNG9YRzRnSUNBZ0lDQWdJSEYxWlhKNVRXVjBhRzlrTEZ4dUlDQWdJQ0FnSUNCb1lXNWtiR1Z5TEZ4dUlDQWdJQ0FnSUNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtZGxkRkYxWlhKNVJHVmpiM0poZEc5eWN5aGNiaUFnSUNBZ0lDQWdJQ0J4ZFdWeWVVMWxkR2h2WkN4Y2JpQWdJQ0FnSUNBZ0lDQnViM0p0WVd4cGVtVmtVR0YwYUN4Y2JpQWdJQ0FnSUNBZ0lDQmNJa2RGVkZ3aUxGeHVJQ0FnSUNBZ0lDQWdJSFJ5ZFdWY2JpQWdJQ0FnSUNBZ0tTeGNiaUFnSUNBZ0lDQWdSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaTVqYjIxd2JHVjRVWFZsY25sUVlYSmhiWE1vYm05eWJXRnNhWHBsWkZCaGRHZ3BYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhCaGRHaFRaV2R0Wlc1MGN5QTlJRzV2Y20xaGJHbDZaV1JRWVhSb0xuTndiR2wwS0Z3aUwxd2lLUzVtYVd4MFpYSW9RbTl2YkdWaGJpazdYRzRnSUNBZ1kyOXVjM1FnYTI1dmQyNVFjbVZtYVhobGN5QTlJRzVsZHlCVFpYUThjM1J5YVc1blBpaGJYRzRnSUNBZ0lDQmNJbXhwYzNSQ2VWd2lMRnh1SUNBZ0lDQWdYQ0ptYVc1a1FubGNJaXhjYmlBZ0lDQWdJRndpWm1sdVpFSjVVR0ZuYVc1aGRHVmNJaXhjYmlBZ0lDQWdJRndpWm1sdVpFOXVaVUo1WENJc1hHNGdJQ0FnSUNCY0luQmhaMmx1WVhSbFFubGNJaXhjYmlBZ0lDQWdJRndpWm1sdVpGd2lMRnh1SUNBZ0lDQWdYQ0p3WVdkbFhDSXNYRzRnSUNBZ0lDQmNJbU52ZFc1MFQyWmNJaXhjYmlBZ0lDQWdJRndpYldGNFQyWmNJaXhjYmlBZ0lDQWdJRndpYldsdVQyWmNJaXhjYmlBZ0lDQWdJRndpWVhablQyWmNJaXhjYmlBZ0lDQWdJRndpYzNWdFQyWmNJaXhjYmlBZ0lDQWdJRndpWkdsemRHbHVZM1JQWmx3aUxGeHVJQ0FnSUNBZ1hDSm5jbTkxY0U5bVhDSXNYRzRnSUNBZ0lDQmNJbk4wWVhSbGJXVnVkRndpTEZ4dUlDQWdJQ0FnWENKaWRXeHJYQ0lzWEc0Z0lDQWdJQ0JjSW5GMVpYSjVYQ0lzWEc0Z0lDQWdYU2s3WEc0Z0lDQWdhV1lnS0Z4dUlDQWdJQ0FnY0dGMGFGTmxaMjFsYm5SekxteGxibWQwYUNBK0lEQWdKaVpjYmlBZ0lDQWdJQ0Z1YjNKdFlXeHBlbVZrVUdGMGFDNXpkR0Z5ZEhOWGFYUm9LRndpY1hWbGNua3ZYQ0lwSUNZbVhHNGdJQ0FnSUNBaGJtOXliV0ZzYVhwbFpGQmhkR2d1YzNSaGNuUnpWMmwwYUNoY0luTjBZWFJsYldWdWRDOWNJaWtnSmlaY2JpQWdJQ0FnSUNGcmJtOTNibEJ5WldacGVHVnpMbWhoY3lod1lYUm9VMlZuYldWdWRITmJNRjBwWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmhjR2xRWVhSb1VHRnlZVzF6SUQwZ2NHRjBhRk5sWjIxbGJuUnpYRzRnSUNBZ0lDQWdJQzVtYVd4MFpYSW9LSE1wSUQwK0lITXVjM1JoY25SelYybDBhQ2hjSWpwY0lpa3BYRzRnSUNBZ0lDQWdJQzV0WVhBb0tITXBJRDArSUhNdWMyeHBZMlVvTVNrcFhHNGdJQ0FnSUNBZ0lDNXRZWEFvS0c1aGJXVXBJRDArSUNoN1hHNGdJQ0FnSUNBZ0lDQWdibUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUNSN2JtRnRaWDBnY0dGeVlXMWxkR1Z5SUdadmNpQjBhR1VnY1hWbGNubGdMRnh1SUNBZ0lDQWdJQ0FnSUhKbGNYVnBjbVZrT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRk4wY21sdVp5eGNiaUFnSUNBZ0lDQWdmU2twTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1amNtVmhkR1ZTWldkcGMzUnlZWFJwYjI0b1hHNGdJQ0FnSUNBZ0lHMWxkR2h2WkU1aGJXVXNYRzRnSUNBZ0lDQWdJR2hoYm1Sc1pYSXNYRzRnSUNBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSUNBdUxpNWhjR2xRWVhSb1VHRnlZVzF6TG0xaGNDZ29jQ2tnUFQ0Z1FYQnBVR0Z5WVcwb2NDa3BMRnh1SUNBZ0lDQWdJQ0FnSUVGd2FVOXdaWEpoZEdsdmJpaDdJSE4xYlcxaGNuazZJR0JTWlhSeWFXVjJaU0J5WldOdmNtUnpJSFZ6YVc1bklGd2lKSHR0WlhSb2IyUk9ZVzFsZlZ3aUxtQWdmU2tzWEc0Z0lDQWdJQ0FnSUNBZ1FYQnBUMnRTWlhOd2IyNXpaU2g3SUdSbGMyTnlhWEIwYVc5dU9pQmNJbEpsYzNWc2RDQnpkV05qWlhOelpuVnNiSGtnY21WMGNtbGxkbVZrTGx3aUlIMHBMRnh1SUNBZ0lDQWdJQ0FnSUVGd2FVNXZRMjl1ZEdWdWRGSmxjM0J2Ym5ObEtIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJazV2SUdOdmJuUmxiblFnY21WMGRYSnVaV1FnWW5rZ2RHaGxJRzFsZEdodlpDNWNJaXhjYmlBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdYU3hjYmlBZ0lDQWdJQ0FnUm5KdmJVMXZaR1ZzUTI5dWRISnZiR3hsY2k1eWIzVjBaVkJoY21GdFJHVmpiM0poZEc5eWN5aHViM0p0WVd4cGVtVmtVR0YwYUNsY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJR055WldGMFpWSmxaMmx6ZEhKaGRHbHZiaWhjYmlBZ0lDQnRaWFJvYjJST1lXMWxPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2FHRnVaR3hsY2pvZ0tDNHVMbUZ5WjNNNklHRnVlVnRkS1NBOVBpQmhibmtzWEc0Z0lDQWdaR1ZqYjNKaGRHOXljem9nUVhKeVlYazhLSFJoY21kbGREb2dZVzU1TENCclpYazZJSE4wY21sdVp5d2daR1Z6WXpvZ1lXNTVLU0E5UGlCMmIybGtQaXhjYmlBZ0lDQndZWEpoYlVSbFkyOXlZWFJ2Y25NNklFRnljbUY1UEhzZ1pHVmpiM0poZEc5eU9pQlFZWEpoYldWMFpYSkVaV052Y21GMGIzSTdJR2x1WkdWNE9pQnVkVzFpWlhJZ2ZUNWNiaUFnS1NCN1hHNGdJQ0FnY21WMGRYSnVJSHNnYldWMGFHOWtUbUZ0WlN3Z2FHRnVaR3hsY2l3Z1pHVmpiM0poZEc5eWN5d2djR0Z5WVcxRVpXTnZjbUYwYjNKeklIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4wWVhScFl5QnpkR0YwWlcxbGJuUk5aWFJvYjJST1lXMWxLSEJoZEdnNklITjBjbWx1WnlrNklITjBjbWx1WnlCN1hHNGdJQ0FnWTI5dWMzUWdabWx5YzNSVFpXZHRaVzUwSUQwZ2NHRjBhQzV6Y0d4cGRDaGNJaTljSWlsYk1GMDdYRzRnSUNBZ2NtVjBkWEp1SUdacGNuTjBVMlZuYldWdWREdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklITjBZWFJsYldWdWRGTm9iM0owWTNWMFVHRnlZVzF6S0Z4dUlDQWdJSEJoZEdnNklITjBjbWx1WjF4dUlDQXBPaUJCY25KaGVUeDdJR1JsWTI5eVlYUnZjam9nVUdGeVlXMWxkR1Z5UkdWamIzSmhkRzl5T3lCcGJtUmxlRG9nYm5WdFltVnlJSDArSUh0Y2JpQWdJQ0JqYjI1emRDQnpaV2R0Wlc1MGN5QTlJSEJoZEdndWMzQnNhWFFvWENJdlhDSXBMbVpwYkhSbGNpZ29jeWtnUFQ0Z2N5NXpkR0Z5ZEhOWGFYUm9LRndpT2x3aUtTazdYRzRnSUNBZ1kyOXVjM1FnY0dGeVlXMXpPaUJCY25KaGVUeDdJR1JsWTI5eVlYUnZjam9nVUdGeVlXMWxkR1Z5UkdWamIzSmhkRzl5T3lCcGJtUmxlRG9nYm5WdFltVnlJSDArSUQwZ1cxMDdYRzRnSUNBZ2MyVm5iV1Z1ZEhNdVptOXlSV0ZqYUNnb2MyVm5MQ0JwS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCdVlXMWxJRDBnYzJWbkxuSmxjR3hoWTJVb1hDSTZYQ0lzSUZ3aVhDSXBPMXh1SUNBZ0lDQWdjR0Z5WVcxekxuQjFjMmdvZXlCa1pXTnZjbUYwYjNJNklGQmhjbUZ0S0c1aGJXVXBJR0Z6SUdGdWVTd2dhVzVrWlhnNklHa2dmU2s3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdhV1lnS0Z4dUlDQWdJQ0FnY0dGMGFDNXpkR0Z5ZEhOWGFYUm9LRndpYkdsemRFSjVMMXdpS1NCOGZGeHVJQ0FnSUNBZ2NHRjBhQzV6ZEdGeWRITlhhWFJvS0Z3aWNHRm5hVzVoZEdWQ2VTOWNJaWtnZkh4Y2JpQWdJQ0FnSUhCaGRHZ3VjM1JoY25SelYybDBhQ2hjSW1acGJtUXZYQ0lwSUh4OFhHNGdJQ0FnSUNCd1lYUm9Mbk4wWVhKMGMxZHBkR2dvWENKd1lXZGxMMXdpS1Z4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnY0dGeVlXMXpMbkIxYzJnb2V5QmtaV052Y21GMGIzSTZJRVJsWTJGbVVYVmxjbmtvS1NCaGN5QmhibmtzSUdsdVpHVjRPaUJ6WldkdFpXNTBjeTVzWlc1bmRHZ2dmU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCd1lYSmhiWE03WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJqYjIxd2JHVjRVWFZsY25sUVlYSmhiWE1vWEc0Z0lDQWdjR0YwYURvZ2MzUnlhVzVuWEc0Z0lDazZJRUZ5Y21GNVBIc2daR1ZqYjNKaGRHOXlPaUJRWVhKaGJXVjBaWEpFWldOdmNtRjBiM0k3SUdsdVpHVjRPaUJ1ZFcxaVpYSWdmVDRnZTF4dUlDQWdJR052Ym5OMElITmxaMjFsYm5SeklEMGdjR0YwYUM1emNHeHBkQ2hjSWk5Y0lpa3VabWxzZEdWeUtDaHpLU0E5UGlCekxuTjBZWEowYzFkcGRHZ29YQ0k2WENJcEtUdGNiaUFnSUNCamIyNXpkQ0J3WVhKaGJYTTZJRUZ5Y21GNVBIc2daR1ZqYjNKaGRHOXlPaUJRWVhKaGJXVjBaWEpFWldOdmNtRjBiM0k3SUdsdVpHVjRPaUJ1ZFcxaVpYSWdmVDRnUFNCYlhUdGNiaUFnSUNCelpXZHRaVzUwY3k1bWIzSkZZV05vS0NoelpXY3NJR2twSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUc1aGJXVWdQU0J6WldjdWNtVndiR0ZqWlNoY0lqcGNJaXdnWENKY0lpazdYRzRnSUNBZ0lDQndZWEpoYlhNdWNIVnphQ2g3SUdSbFkyOXlZWFJ2Y2pvZ1VHRnlZVzBvYm1GdFpTa2dZWE1nWVc1NUxDQnBibVJsZURvZ2FTQjlLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnBaaUFvY0dGMGFDNXpkR0Z5ZEhOWGFYUm9LRndpY1hWbGNua3ZYQ0lwS1NCN1hHNGdJQ0FnSUNCd1lYSmhiWE11Y0hWemFDaDdJR1JsWTI5eVlYUnZjam9nUkdWallXWlJkV1Z5ZVNncElHRnpJR0Z1ZVN3Z2FXNWtaWGc2SUhObFoyMWxiblJ6TG14bGJtZDBhQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIQmhjbUZ0Y3p0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUdOeVpXRjBaVU52YlhCc1pYaFJkV1Z5ZVVoaGJtUnNaWElvYldWMGFHOWtUbUZ0WlRvZ2MzUnlhVzVuS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0Z6ZVc1aklHWjFibU4wYVc5dUlHTnZiWEJzWlhoUmRXVnllU2hjYmlBZ0lDQWdJSFJvYVhNNklHRnVlU3hjYmlBZ0lDQWdJQzR1TG1GeVozTTZJR0Z1ZVZ0ZFhHNGdJQ0FnS1RvZ1VISnZiV2x6WlR4aGJuaytJSHRjYmlBZ0lDQWdJR052Ym5OMElHeHZaem9nWVc1NUlEMGdkR2hwY3k1c2IyYy9MbVp2Y2o4dUtHTnZiWEJzWlhoUmRXVnllU2s3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYkc5bktTQnNiMmN1WkdWaWRXY29ZRWx1ZG05cmFXNW5JR04xYzNSdmJTQnhkV1Z5ZVNCY0lpUjdiV1YwYUc5a1RtRnRaWDFjSW1BcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHTjBlQ0I5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGRMQ0J0WlhSb2IyUk9ZVzFsTENCMGNuVmxLU2t1Wm05eUtGeHVJQ0FnSUNBZ0lDQWdJR052YlhCc1pYaFJkV1Z5ZVZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd1pYSnphWE4wWlc1alpTQTlJSFJvYVhNdWNHVnljMmx6ZEdWdVkyVW9ZM1I0S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzNCeVpXRmtRWEpuY3lBOUlFWnliMjFOYjJSbGJFTnZiblJ5YjJ4c1pYSXVibTl5YldGc2FYcGxVWFZsY25sQmNtZHpLR0Z5WjNNcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWEc0Z0lDQWdJQ0FnSUNBZ2NHVnljMmx6ZEdWdVkyVS9MbkpsY0c4Z0ppWmNiaUFnSUNBZ0lDQWdJQ0IwZVhCbGIyWWdjR1Z5YzJsemRHVnVZMlV1Y21Wd2IxdHRaWFJvYjJST1lXMWxYU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lYRzRnSUNBZ0lDQWdJQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCd1pYSnphWE4wWlc1alpTNXlaWEJ2VzIxbGRHaHZaRTVoYldWZEtDNHVMbk53Y21WaFpFRnlaM01wTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjR1Z5YzJsemRHVnVZMlZiYldWMGFHOWtUbUZ0WlYwZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQndaWEp6YVhOMFpXNWpaVnR0WlhSb2IyUk9ZVzFsWFNndUxpNXpjSEpsWVdSQmNtZHpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9jR1Z5YzJsemRHVnVZMlUvTG5GMVpYSjVJQ1ltSUhSNWNHVnZaaUJ3WlhKemFYTjBaVzVqWlM1eGRXVnllU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCbGNuTnBjM1JsYm1ObExuRjFaWEo1S0cxbGRHaHZaRTVoYldVc0lDNHVMbk53Y21WaFpFRnlaM01wTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjR1Z5YzJsemRHVnVZMlV1YzNSaGRHVnRaVzUwSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NHVnljMmx6ZEdWdVkyVXVjM1JoZEdWdFpXNTBLRzFsZEdodlpFNWhiV1VzSUM0dUxuTndjbVZoWkVGeVozTXNJR04wZUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDQWdZRkJsY25OcGMzUmxibU5sSUcxbGRHaHZaQ0JjSWlSN2JXVjBhRzlrVG1GdFpYMWNJaUJ1YjNRZ1ptOTFibVFnYjI0Z0pIdHdaWEp6YVhOMFpXNWpaVDh1WTI5dWMzUnlkV04wYjNJL0xtNWhiV1Y5WUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pUb2dZVzU1S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hzYjJjcElHeHZaeTVsY25KdmNpaGdRM1Z6ZEc5dElIRjFaWEo1SUZ3aUpIdHRaWFJvYjJST1lXMWxmVndpSUdaaGFXeGxaR0FzSUdVcE8xeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxuUnZSR1ZqWVdaRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNCbExGeHVJQ0FnSUNBZ0lDQWdJR0JEZFhOMGIyMGdjWFZsY25rZ1hDSWtlMjFsZEdodlpFNWhiV1Y5WENJZ1ptRnBiR1ZrWUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCbGVIUnlZV04wVVhWbGNubEJjbWR6S0dGeVozTTZJR0Z1ZVZ0ZEtUb2dZVzU1VzEwZ2UxeHVJQ0FnSUdsbUlDaGhjbWR6TG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHRnlaM003WEc0Z0lDQWdZMjl1YzNRZ2JHRnpkQ0E5SUdGeVozTmJZWEpuY3k1c1pXNW5kR2dnTFNBeFhUdGNiaUFnSUNCcFppQW9iR0Z6ZENBbUppQjBlWEJsYjJZZ2JHRnpkQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUFoUVhKeVlYa3VhWE5CY25KaGVTaHNZWE4wS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY1hWbGNubFBZbW9nUFNCaGNtZHpMbkJ2Y0NncE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYUdGelJHbHlaV04wYVc5dUlEMGdjWFZsY25sUFltb3VaR2x5WldOMGFXOXVJQ0U5UFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCamIyNXpkQ0JvWVhOTWFXMXBkQ0E5SUhGMVpYSjVUMkpxTG14cGJXbDBJQ0U5UFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCamIyNXpkQ0JvWVhOUFptWnpaWFFnUFNCeGRXVnllVTlpYWk1dlptWnpaWFFnSVQwOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lHbG1JQ2doYUdGelJHbHlaV04wYVc5dUlDWW1JQ0ZvWVhOTWFXMXBkQ0FtSmlBaGFHRnpUMlptYzJWMEtTQnlaWFIxY200Z1lYSm5jenRjYmlBZ0lDQWdJR052Ym5OMElHVjRkSEpoY3pvZ1lXNTVXMTBnUFNCYlhUdGNiaUFnSUNBZ0lHbG1JQ2hvWVhORWFYSmxZM1JwYjI0cElHVjRkSEpoY3k1d2RYTm9LSEYxWlhKNVQySnFMbVJwY21WamRHbHZiaWs3WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2hvWVhOTWFXMXBkQ0I4ZkNCb1lYTlBabVp6WlhRcElHVjRkSEpoY3k1d2RYTm9LSFZ1WkdWbWFXNWxaQ2s3WEc0Z0lDQWdJQ0JwWmlBb2FHRnpUR2x0YVhRcElHVjRkSEpoY3k1d2RYTm9LSEYxWlhKNVQySnFMbXhwYldsMEtUdGNiaUFnSUNBZ0lHbG1JQ2hvWVhOUFptWnpaWFFwSUdWNGRISmhjeTV3ZFhOb0tIRjFaWEo1VDJKcUxtOW1abk5sZENrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnV3k0dUxtRnlaM01zSUM0dUxtVjRkSEpoYzEwN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmhjbWR6TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nYm05eWJXRnNhWHBsVVhWbGNubEJjbWR6S0dGeVozTTZJR0Z1ZVZ0ZEtUb2dZVzU1VzEwZ2UxeHVJQ0FnSUdOdmJuTjBJRzV2Y20xaGJHbDZaV1FnUFNCR2NtOXRUVzlrWld4RGIyNTBjbTlzYkdWeUxtVjRkSEpoWTNSUmRXVnllVUZ5WjNNb1lYSm5jeWs3WEc0Z0lDQWdhV1lnS0c1dmNtMWhiR2w2WldRdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdibTl5YldGc2FYcGxaRHRjYmx4dUlDQWdJR052Ym5OMElHeGhjM1FnUFNCdWIzSnRZV3hwZW1Wa1cyNXZjbTFoYkdsNlpXUXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdhV1lnS0NGc1lYTjBJSHg4SUhSNWNHVnZaaUJzWVhOMElDRTlQU0JjSW05aWFtVmpkRndpSUh4OElFRnljbUY1TG1selFYSnlZWGtvYkdGemRDa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnViM0p0WVd4cGVtVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhGMVpYSjVUMkpxSUQwZ2JHRnpkQ0JoY3lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK08xeHVJQ0FnSUdOdmJuTjBJR2hoYzFGMVpYSjVSbWxsYkdSeklEMWNiaUFnSUNBZ0lIRjFaWEo1VDJKcUxtUnBjbVZqZEdsdmJpQWhQVDBnZFc1a1pXWnBibVZrSUh4OFhHNGdJQ0FnSUNCeGRXVnllVTlpYWk1c2FXMXBkQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lIeDhYRzRnSUNBZ0lDQnhkV1Z5ZVU5aWFpNXZabVp6WlhRZ0lUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkZ4dUlDQWdJQ0FnY1hWbGNubFBZbW91WW05dmEyMWhjbXNnSVQwOUlIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHbG1JQ2doYUdGelVYVmxjbmxHYVdWc1pITXBJSHRjYmlBZ0lDQWdJRzV2Y20xaGJHbDZaV1F1Y0c5d0tDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtOXliV0ZzYVhwbFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCdWIzSnRZV3hwZW1Wa0xuQnZjQ2dwTzF4dUlDQWdJR2xtSUNoeGRXVnllVTlpYWk1a2FYSmxZM1JwYjI0Z0lUMDlJSFZ1WkdWbWFXNWxaQ2tnYm05eWJXRnNhWHBsWkM1d2RYTm9LSEYxWlhKNVQySnFMbVJwY21WamRHbHZiaWs3WEc0Z0lDQWdhV1lnS0hGMVpYSjVUMkpxTG14cGJXbDBJQ0U5UFNCMWJtUmxabWx1WldRcElHNXZjbTFoYkdsNlpXUXVjSFZ6YUNoeGRXVnllVTlpYWk1c2FXMXBkQ2s3WEc0Z0lDQWdhV1lnS0hGMVpYSjVUMkpxTG05bVpuTmxkQ0FoUFQwZ2RXNWtaV1pwYm1Wa0tTQnViM0p0WVd4cGVtVmtMbkIxYzJnb2NYVmxjbmxQWW1vdWIyWm1jMlYwS1R0Y2JpQWdJQ0JwWmlBb2NYVmxjbmxQWW1vdVltOXZhMjFoY21zZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnYm05eWJXRnNhWHBsWkM1d2RYTm9LSEYxWlhKNVQySnFMbUp2YjJ0dFlYSnJLVHRjYmlBZ0lDQnlaWFIxY200Z2JtOXliV0ZzYVhwbFpEdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklHTnlaV0YwWlVOeVpXRjBaVVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdUVzlrWld4RGIyNXpkSEk2SUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k4WVc1NVBpeGNiaUFnSUNCdGIyUmxiRU5zWVhwNlRtRnRaVG9nYzNSeWFXNW5YRzRnSUNrNklFRnljbUY1UENoMFlYSm5aWFE2SUdGdWVTd2dhMlY1T2lCemRISnBibWNzSUdSbGMyTTZJR0Z1ZVNrZ1BUNGdkbTlwWkQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI1R2NtOXRUVzlrWld3b1RXOWtaV3hEYjI1emRISXNJRndpVUU5VFZGd2lLU3hjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmloN0lITjFiVzFoY25rNklHQkRjbVZoZEdVZ1lTQnVaWGNnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDB1WUNCOUtTeGNiaUFnSUNBZ0lFRndhVUp2Wkhrb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUZCaGVXeHZZV1FnWm05eUlDUjdiVzlrWld4RGJHRjZlazVoYldWOVlDeGNiaUFnSUNBZ0lDQWdkSGx3WlRvZ1JIUnZSbTl5S0U5d1pYSmhkR2x2Ymt0bGVYTXVRMUpGUVZSRkxDQk5iMlJsYkVOdmJuTjBjaWtzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVTnlaV0YwWldSU1pYTndiMjV6WlNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnWTNKbFlYUmxaQ0J6ZFdOalpYTnpablZzYkhrdVlDeGNiaUFnSUNBZ0lDQWdjMk5vWlcxaE9pQjdJQ1J5WldZNklHZGxkRk5qYUdWdFlWQmhkR2dvVFc5a1pXeERiMjV6ZEhJcElIMHNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVVKaFpGSmxjWFZsYzNSU1pYTndiMjV6WlNoN0lHUmxjMk55YVhCMGFXOXVPaUJjSWxCaGVXeHZZV1FnZG1Gc2FXUmhkR2x2YmlCbVlXbHNaV1F1WENJZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xWYm5CeWIyTmxjM05oWW14bFJXNTBhWFI1VW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dYQ0pTWlhCdmMybDBiM0o1SUhKbGFtVmpkR1ZrSUhSb1pTQndjbTkyYVdSbFpDQndZWGxzYjJGa0xsd2lMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdYVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJR0oxYkd0RGNtVmhkR1ZFWldOdmNtRjBiM0p6S0Z4dUlDQWdJRTF2WkdWc1EyOXVjM1J5T2lCTmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHNYRzRnSUNBZ2JXOWtaV3hEYkdGNmVrNWhiV1U2SUhOMGNtbHVaMXh1SUNBcE9pQkJjbkpoZVR3b2RHRnlaMlYwT2lCaGJua3NJR3RsZVRvZ2MzUnlhVzVuTENCa1pYTmpPaUJoYm5rcElEMCtJSFp2YVdRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVzF4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dVJuSnZiVTF2WkdWc0tFMXZaR1ZzUTI5dWMzUnlMQ0JjSWxCUFUxUmNJaXdnWENKaWRXeHJYQ0lwTEZ4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dUtIc2djM1Z0YldGeWVUb2dZRU55WldGMFpTQmhJRzVsZHlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlM1Z0lIMHBMRnh1SUNBZ0lDQWdRWEJwUW05a2VTaDdYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCZ1VHRjViRzloWkNCbWIzSWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMWdMRnh1SUNBZ0lDQWdJQ0J6WTJobGJXRTZJSHRjYmlBZ0lDQWdJQ0FnSUNCMGVYQmxPaUJjSW1GeWNtRjVYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ2FYUmxiWE02SUhzZ0pISmxaam9nWjJWMFUyTm9aVzFoVUdGMGFDaE5iMlJsYkVOdmJuTjBjaWtnZlN4Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwUTNKbFlYUmxaRkpsYzNCdmJuTmxLSHRjYmlBZ0lDQWdJQ0FnWkdWelkzSnBjSFJwYjI0NklHQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQmpjbVZoZEdWa0lITjFZMk5sYzNObWRXeHNlUzVnTEZ4dUlDQWdJQ0FnSUNCelkyaGxiV0U2SUh0Y2JpQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0ltRnljbUY1WENJc1hHNGdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklIc2dKSEpsWmpvZ1oyVjBVMk5vWlcxaFVHRjBhQ2hOYjJSbGJFTnZibk4wY2lrZ2ZTeGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFFtRmtVbVZ4ZFdWemRGSmxjM0J2Ym5ObEtIc2daR1Z6WTNKcGNIUnBiMjQ2SUZ3aVVHRjViRzloWkNCMllXeHBaR0YwYVc5dUlHWmhhV3hsWkM1Y0lpQjlLU3hjYmlBZ0lDQWdJRUZ3YVZWdWNISnZZMlZ6YzJGaWJHVkZiblJwZEhsU1pYTndiMjV6WlNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWxKbGNHOXphWFJ2Y25rZ2NtVnFaV04wWldRZ2RHaGxJSEJ5YjNacFpHVmtJSEJoZVd4dllXUXVYQ0lzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0JkTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nWW5Wc2ExSmxZV1JFWldOdmNtRjBiM0p6S0Z4dUlDQWdJRTF2WkdWc1EyOXVjM1J5T2lCTmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHNYRzRnSUNBZ2JXOWtaV3hEYkdGNmVrNWhiV1U2SUhOMGNtbHVaMXh1SUNBcE9pQkJjbkpoZVR3b2RHRnlaMlYwT2lCaGJua3NJR3RsZVRvZ2MzUnlhVzVuTENCa1pYTmpPaUJoYm5rcElEMCtJSFp2YVdRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVzF4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dVJuSnZiVTF2WkdWc0tFMXZaR1ZzUTI5dWMzUnlMQ0JjSWtkRlZGd2lMQ0JjSW1KMWJHdGNJaWtzWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI0b2V5QnpkVzF0WVhKNU9pQmdVbVYwY21sbGRtVWdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVZqYjNKa2N5QmllU0JwWkhNdVlDQjlLU3hjYmlBZ0lDQWdJRUZ3YVZGMVpYSjVLSHNnYm1GdFpUb2dYQ0pwWkhOY0lpd2djbVZ4ZFdseVpXUTZJSFJ5ZFdVc0lIUjVjR1U2SUZ3aVlYSnlZWGxjSWlCOUtTeGNiaUFnSUNBZ0lFRndhVTlyVW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dZQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlJSEpsZEhKcFpYWmxaQ0J6ZFdOalpYTnpablZzYkhrdVlDeGNiaUFnSUNBZ0lDQWdjMk5vWlcxaE9pQjdYRzRnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dYQ0poY25KaGVWd2lMRnh1SUNBZ0lDQWdJQ0FnSUdsMFpXMXpPaUI3SUNSeVpXWTZJR2RsZEZOamFHVnRZVkJoZEdnb1RXOWtaV3hEYjI1emRISXBJSDBzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lFRndhVTV2ZEVadmRXNWtVbVZ6Y0c5dWMyVW9lMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1lFNXZJQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlJSEpsWTI5eVpDQnRZWFJqYUdWeklIUm9aU0J3Y205MmFXUmxaQ0JwWkdWdWRHbG1hV1Z5TG1Bc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNCZE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ1luVnNhMVZ3WkdGMFpVUmxZMjl5WVhSdmNuTW9YRzRnSUNBZ1RXOWtaV3hEYjI1emRISTZJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSThZVzU1UGl4Y2JpQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdGd2FWQnliM0JsY25ScFpYTTZJRVJsWTJGbVFYQnBVSEp2Y0dWeWRIbGJYVnh1SUNBcE9pQkJjbkpoZVR3b2RHRnlaMlYwT2lCaGJua3NJR3RsZVRvZ2MzUnlhVzVuTENCa1pYTmpPaUJoYm5rcElEMCtJSFp2YVdRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVzF4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dVJuSnZiVTF2WkdWc0tFMXZaR1ZzUTI5dWMzUnlMQ0JjSWxCVlZGd2lMQ0JjSW1KMWJHdGNJaWtzWEc0Z0lDQWdJQ0JCY0dsUVlYSmhiWE5HY205dFRXOWtaV3dvWVhCcFVISnZjR1Z5ZEdsbGN5a3NYRzRnSUNBZ0lDQkJjR2xQY0dWeVlYUnBiMjRvZTF4dUlDQWdJQ0FnSUNCemRXMXRZWEo1T2lCZ1VtVndiR0ZqWlNCbGVHbHpkR2x1WnlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCeVpXTnZjbVJ6SUhkcGRHZ2dibVYzSUhCaGVXeHZZV1J6TG1Bc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lFRndhVUp2Wkhrb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUZCaGVXeHZZV1FnWm05eUlISmxjR3hoWTJsdVp5QmxlR2x6ZEdsdVp5QnlaV052Y21SeklHOW1JQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlZQ3hjYmlBZ0lDQWdJQ0FnYzJOb1pXMWhPaUI3WEc0Z0lDQWdJQ0FnSUNBZ2RIbHdaVG9nWENKaGNuSmhlVndpTEZ4dUlDQWdJQ0FnSUNBZ0lDUnlaV1k2SUdkbGRGTmphR1Z0WVZCaGRHZ29SSFJ2Um05eUtFOXdaWEpoZEdsdmJrdGxlWE11VlZCRVFWUkZMQ0JOYjJSbGJFTnZibk4wY2lrcExGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JCY0dsUGExSmxjM0J2Ym5ObEtIdGNiaUFnSUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUdBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCMWNHUmhkR1ZrSUhOMVkyTmxjM05tZFd4c2VTNWdMRnh1SUNBZ0lDQWdJQ0J6WTJobGJXRTZJSHRjYmlBZ0lDQWdJQ0FnSUNCMGVYQmxPaUJjSW1GeWNtRjVYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ2FYUmxiWE02SUhzZ0pISmxaam9nWjJWMFUyTm9aVzFoVUdGMGFDaE5iMlJsYkVOdmJuTjBjaWtnZlN4Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwVG05MFJtOTFibVJTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdUbThnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnY21WamIzSmtJRzFoZEdOb1pYTWdkR2hsSUhCeWIzWnBaR1ZrSUdsa1pXNTBhV1pwWlhJdVlDeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdRWEJwUW1Ga1VtVnhkV1Z6ZEZKbGMzQnZibk5sS0hzZ1pHVnpZM0pwY0hScGIyNDZJRndpVUdGNWJHOWhaQ0IyWVd4cFpHRjBhVzl1SUdaaGFXeGxaQzVjSWlCOUtTeGNiaUFnSUNCZE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpkR0YwYVdNZ1luVnNhMFJsYkdWMFpVUmxZMjl5WVhSdmNuTW9YRzRnSUNBZ1RXOWtaV3hEYjI1emRISTZJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSThZVzU1UGl4Y2JpQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdGd2FWQnliM0JsY25ScFpYTTZJRVJsWTJGbVFYQnBVSEp2Y0dWeWRIbGJYVnh1SUNBcE9pQkJjbkpoZVR3b2RHRnlaMlYwT2lCaGJua3NJR3RsZVRvZ2MzUnlhVzVuTENCa1pYTmpPaUJoYm5rcElEMCtJSFp2YVdRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVzF4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dVJuSnZiVTF2WkdWc0tFMXZaR1ZzUTI5dWMzUnlMQ0JjSWtSRlRFVlVSVndpTENCY0ltSjFiR3RjSWlrc1hHNGdJQ0FnSUNCQmNHbFFZWEpoYlhOR2NtOXRUVzlrWld3b1lYQnBVSEp2Y0dWeWRHbGxjeWtzWEc0Z0lDQWdJQ0JCY0dsUGNHVnlZWFJwYjI0b2V5QnpkVzF0WVhKNU9pQmdSR1ZzWlhSbElDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkhNZ1lua2dhV1J6TG1BZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xSZFdWeWVTaDdJRzVoYldVNklGd2lhV1J6WENJc0lISmxjWFZwY21Wa09pQjBjblZsTENCMGVYQmxPaUJjSW1GeWNtRjVYQ0lnZlNrc1hHNGdJQ0FnSUNCQmNHbFBhMUpsYzNCdmJuTmxLSHRjYmlBZ0lDQWdJQ0FnWkdWelkzSnBjSFJwYjI0NklHQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQmtaV3hsZEdWa0lITjFZMk5sYzNObWRXeHNlUzVnTEZ4dUlDQWdJQ0FnSUNCelkyaGxiV0U2SUh0Y2JpQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0ltRnljbUY1WENJc1hHNGdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklIc2dKSEpsWmpvZ1oyVjBVMk5vWlcxaFVHRjBhQ2hOYjJSbGJFTnZibk4wY2lrZ2ZTeGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFRtOTBSbTkxYm1SU1pYTndiMjV6WlNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnVG04Z0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwZ2NtVmpiM0prSUcxaGRHTm9aWE1nZEdobElIQnliM1pwWkdWa0lHbGtaVzUwYVdacFpYSXVZQ3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJRjA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJ5WldGa1JHVmpiM0poZEc5eWN5aGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRMRnh1SUNBZ0lIQnJVR0YwYURvZ2MzUnlhVzVuWEc0Z0lDazZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENGdlMXh1SUNBZ0lISmxkSFZ5YmlCYlhHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNUdjbTl0VFc5a1pXd29UVzlrWld4RGIyNXpkSElzSUZ3aVIwVlVYQ0lzSUhCclVHRjBhQ2tzWEc0Z0lDQWdJQ0JCY0dsUVlYSmhiWE5HY205dFRXOWtaV3dvWVhCcFVISnZjR1Z5ZEdsbGN5a3NYRzRnSUNBZ0lDQkJjR2xQY0dWeVlYUnBiMjRvZXlCemRXMXRZWEo1T2lCZ1VtVjBjbWxsZG1VZ1lTQWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQnlaV052Y21RZ1lua2dhV1F1WUNCOUtTeGNiaUFnSUNBZ0lFRndhVTlyVW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dZQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlJSEpsZEhKcFpYWmxaQ0J6ZFdOalpYTnpablZzYkhrdVlDeGNiaUFnSUNBZ0lDQWdjMk5vWlcxaE9pQjdJQ1J5WldZNklHZGxkRk5qYUdWdFlWQmhkR2dvVFc5a1pXeERiMjV6ZEhJcElIMHNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVU1dmRFWnZkVzVrVW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dZRTV2SUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5SUhKbFkyOXlaQ0J0WVhSamFHVnpJSFJvWlNCd2NtOTJhV1JsWkNCcFpHVnVkR2xtYVdWeUxtQXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQmRPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdkWEJrWVhSbFJHVmpiM0poZEc5eWN5aGNiaUFnSUNCTmIyUmxiRU52Ym5OMGNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQWdJRzF2WkdWc1EyeGhlbnBPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWVhCcFVISnZjR1Z5ZEdsbGN6b2dSR1ZqWVdaQmNHbFFjbTl3WlhKMGVWdGRMRnh1SUNBZ0lIQnJVR0YwYURvZ2MzUnlhVzVuWEc0Z0lDazZJRUZ5Y21GNVBDaDBZWEpuWlhRNklHRnVlU3dnYTJWNU9pQnpkSEpwYm1jc0lHUmxjMk02SUdGdWVTa2dQVDRnZG05cFpENGdlMXh1SUNBZ0lISmxkSFZ5YmlCYlhHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNUdjbTl0VFc5a1pXd29UVzlrWld4RGIyNXpkSElzSUZ3aVVGVlVYQ0lzSUhCclVHRjBhQ2tzWEc0Z0lDQWdJQ0JCY0dsUVlYSmhiWE5HY205dFRXOWtaV3dvWVhCcFVISnZjR1Z5ZEdsbGN5a3NYRzRnSUNBZ0lDQkJjR2xQY0dWeVlYUnBiMjRvZTF4dUlDQWdJQ0FnSUNCemRXMXRZWEo1T2lCZ1VtVndiR0ZqWlNCaGJpQmxlR2x6ZEdsdVp5QWtlMjF2WkdWc1EyeGhlbnBPWVcxbGZTQnlaV052Y21RZ2QybDBhQ0JoSUc1bGR5QndZWGxzYjJGa0xtQXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVVKdlpIa29lMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1lGQmhlV3h2WVdRZ1ptOXlJSEpsY0d4aFkybHVaeUJoYmlCbGVHbHpkR2x1WnlCeVpXTnZjbVFnYjJZZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgxZ0xGeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCRWRHOUdiM0lvVDNCbGNtRjBhVzl1UzJWNWN5NVZVRVJCVkVVc0lFMXZaR1ZzUTI5dWMzUnlLU3hjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFQydFNaWE53YjI1elpTaDdYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwZ2RYQmtZWFJsWkNCemRXTmpaWE56Wm5Wc2JIa3VZQ3hjYmlBZ0lDQWdJQ0FnYzJOb1pXMWhPaUI3SUNSeVpXWTZJR2RsZEZOamFHVnRZVkJoZEdnb1RXOWtaV3hEYjI1emRISXBJSDBzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVNXZkRVp2ZFc1a1VtVnpjRzl1YzJVb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUU1dklDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkNCdFlYUmphR1Z6SUhSb1pTQndjbTkyYVdSbFpDQnBaR1Z1ZEdsbWFXVnlMbUFzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVSmhaRkpsY1hWbGMzUlNaWE53YjI1elpTaDdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsQmhlV3h2WVdRZ2RtRnNhV1JoZEdsdmJpQm1ZV2xzWldRdVhDSWdmU2tzWEc0Z0lDQWdYVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJR1JsYkdWMFpVUmxZMjl5WVhSdmNuTW9YRzRnSUNBZ1RXOWtaV3hEYjI1emRISTZJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSThZVzU1UGl4Y2JpQWdJQ0J0YjJSbGJFTnNZWHA2VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdGd2FWQnliM0JsY25ScFpYTTZJRVJsWTJGbVFYQnBVSEp2Y0dWeWRIbGJYU3hjYmlBZ0lDQndhMUJoZEdnNklITjBjbWx1WjF4dUlDQXBPaUJCY25KaGVUd29kR0Z5WjJWME9pQmhibmtzSUd0bGVUb2djM1J5YVc1bkxDQmtaWE5qT2lCaGJua3BJRDArSUhadmFXUStJSHRjYmlBZ0lDQnlaWFIxY200Z1cxeHVJQ0FnSUNBZ1FYQnBUM0JsY21GMGFXOXVSbkp2YlUxdlpHVnNLRTF2WkdWc1EyOXVjM1J5TENCY0lrUkZURVZVUlZ3aUxDQndhMUJoZEdncExGeHVJQ0FnSUNBZ1FYQnBVR0Z5WVcxelJuSnZiVTF2WkdWc0tHRndhVkJ5YjNCbGNuUnBaWE1wTEZ4dUlDQWdJQ0FnUVhCcFQzQmxjbUYwYVc5dUtIc2djM1Z0YldGeWVUb2dZRVJsYkdWMFpTQmhJQ1I3Ylc5a1pXeERiR0Y2ZWs1aGJXVjlJSEpsWTI5eVpDQmllU0JwWkM1Z0lIMHBMRnh1SUNBZ0lDQWdRWEJwVDJ0U1pYTndiMjV6WlNoN1hHNGdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnWkdWc1pYUmxaQ0J6ZFdOalpYTnpablZzYkhrdVlDeGNiaUFnSUNBZ0lDQWdjMk5vWlcxaE9pQjdJQ1J5WldZNklHZGxkRk5qYUdWdFlWQmhkR2dvVFc5a1pXeERiMjV6ZEhJcElIMHNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJRUZ3YVU1dmRFWnZkVzVrVW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dZRTV2SUNSN2JXOWtaV3hEYkdGNmVrNWhiV1Y5SUhKbFkyOXlaQ0J0WVhSamFHVnpJSFJvWlNCd2NtOTJhV1JsWkNCcFpHVnVkR2xtYVdWeUxtQXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQmRPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdjM1JoZEdWdFpXNTBSR1ZqYjNKaGRHOXljeWhjYmlBZ0lDQk5iMlJsYkVOdmJuTjBjam9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK0xGeHVJQ0FnSUcxdlpHVnNRMnhoZW5wT1lXMWxPaUJ6ZEhKcGJtZGNiaUFnS1RvZ1FYSnlZWGs4S0hSaGNtZGxkRG9nWVc1NUxDQnJaWGs2SUhOMGNtbHVaeXdnWkdWell6b2dZVzU1S1NBOVBpQjJiMmxrUGlCN1hHNGdJQ0FnY21WMGRYSnVJRnRjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmtaeWIyMU5iMlJsYkNoTmIyUmxiRU52Ym5OMGNpd2dYQ0pIUlZSY0lpd2dYQ0p6ZEdGMFpXMWxiblF2T20xbGRHaHZaQzhxWVhKbmMxd2lLU3hjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmloN1hHNGdJQ0FnSUNBZ0lITjFiVzFoY25rNklHQkZlR1ZqZFhSbGN5QmhJSEJ5WlhCaGNtVmtJSE4wWVhSbGJXVnVkQ0J2YmlBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlM1Z0xGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xRWVhKaGJTaDdYRzRnSUNBZ0lDQWdJRzVoYldVNklGd2liV1YwYUc5a1hDSXNYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0luUm9aU0J3Y21Wd1lYSmxaQ0J6ZEdGMFpXMWxiblFnZEc4Z1pYaGxZM1YwWlZ3aUxGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQkJjR2xRWVhKaGJTaDdYRzRnSUNBZ0lDQWdJRzVoYldVNklGd2lZWEpuYzF3aUxGeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZianBjYmlBZ0lDQWdJQ0FnSUNCY0ltTnZibU5oZEdWdVlYUmxaQ0JzYVhOMElHOW1JR0Z5WjNWdFpXNTBjeUIwYUdVZ2NISmxjR0Z5WldRZ2MzUmhkR1Z0Wlc1MElHTmhiaUJoWTJObGNIUmNJaXhjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFVYVmxjbmtvZTF4dUlDQWdJQ0FnSUNCdVlXMWxPaUJjSW1ScGNtVmpkR2x2Ymx3aUxGeHVJQ0FnSUNBZ0lDQnlaWEYxYVhKbFpEb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ1pXNTFiVG9nVDNKa1pYSkVhWEpsWTNScGIyNHNYRzRnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0luUm9aU0J6YjNKMElHOXlaR1Z5SUhkb1pXNGdZWEJ3YkdsallXSnNaVndpTEZ4dUlDQWdJQ0FnZlNrc1hHNGdJQ0FnSUNCQmNHbFJkV1Z5ZVNoN1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUZ3aWJHbHRhWFJjSWl4Y2JpQWdJQ0FnSUNBZ2NtVnhkV2x5WldRNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJbXhwYldsMElHOXlJSEJoWjJVZ2MybDZaU0IzYUdWdUlHRndjR3hwWTJGaWJHVmNJaXhjYmlBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFVYVmxjbmtvZTF4dUlDQWdJQ0FnSUNCdVlXMWxPaUJjSW05bVpuTmxkRndpTEZ4dUlDQWdJQ0FnSUNCeVpYRjFhWEpsWkRvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2liMlptYzJWMElHOXlJR0p2YjJ0dFlYSnJJSGRvWlc0Z1lYQndiR2xqWVdKc1pWd2lMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JCY0dsUGExSmxjM0J2Ym5ObEtIc2daR1Z6WTNKcGNIUnBiMjQ2SUdBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlNCc2FYTjBaV1FnWm05MWJtUXVZQ0I5S1N4Y2JpQWdJQ0FnSUVGd2FVNXZkRVp2ZFc1a1VtVnpjRzl1YzJVb2UxeHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUU1dklDUjdiVzlrWld4RGJHRjZlazVoYldWOUlISmxZMjl5WkNCdFlYUmphR1Z6SUhSb1pTQndjbTkyYVdSbFpDQnBaR1Z1ZEdsbWFXVnlMbUFzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0JkTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemRHRjBhV01nYzNSaGRHVnRaVzUwVTJodmNuUmpkWFJFWldOdmNtRjBiM0p6S0Z4dUlDQWdJRTF2WkdWc1EyOXVjM1J5T2lCTmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHNYRzRnSUNBZ2JXOWtaV3hEYkdGNmVrNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQndZWFJvT2lCemRISnBibWNzWEc0Z0lDQWdjM1JoZEdWdFpXNTBTMlY1T2lCemRISnBibWRjYmlBZ0tUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnWW1GelpUb2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQTlJRnRjYmlBZ0lDQWdJRUZ3YVU5d1pYSmhkR2x2YmtaeWIyMU5iMlJsYkNoTmIyUmxiRU52Ym5OMGNpd2dYQ0pIUlZSY0lpd2djR0YwYUNrc1hHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNG9leUJ6ZFcxdFlYSjVPaUJnVW1WMGNtbGxkbVVnSkh0dGIyUmxiRU5zWVhwNlRtRnRaWDBnY21WamIzSmtjeTVnSUgwcExGeHVJQ0FnSUNBZ1FYQnBUMnRTWlhOd2IyNXpaU2g3WEc0Z0lDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVYwY21sbGRtVmtJSE4xWTJObGMzTm1kV3hzZVM1Z0xGeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ1hUdGNibHh1SUNBZ0lHTnZibk4wSUhObFoyMWxiblJ6SUQwZ2NHRjBhQzV6Y0d4cGRDaGNJaTljSWlrdVptbHNkR1Z5S0NoektTQTlQaUJ6TG5OMFlYSjBjMWRwZEdnb1hDSTZYQ0lwS1R0Y2JpQWdJQ0J6WldkdFpXNTBjeTVtYjNKRllXTm9LQ2h6WldjcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHNWhiV1VnUFNCelpXY3VjbVZ3YkdGalpTaGNJanBjSWl3Z1hDSmNJaWs3WEc0Z0lDQWdJQ0JpWVhObExuQjFjMmdvUVhCcFVHRnlZVzBvZXlCdVlXMWxMQ0JrWlhOamNtbHdkR2x2YmpvZ1lGUm9aU0FrZTI1aGJXVjlJSEJoY21GdFpYUmxjbUFnZlNrcE8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdjR0YwYUM1emRHRnlkSE5YYVhSb0tGd2liR2x6ZEVKNUwxd2lLU0I4ZkZ4dUlDQWdJQ0FnY0dGMGFDNXpkR0Z5ZEhOWGFYUm9LRndpY0dGbmFXNWhkR1ZDZVM5Y0lpa2dmSHhjYmlBZ0lDQWdJSEJoZEdndWMzUmhjblJ6VjJsMGFDaGNJbVpwYm1RdlhDSXBJSHg4WEc0Z0lDQWdJQ0J3WVhSb0xuTjBZWEowYzFkcGRHZ29YQ0p3WVdkbEwxd2lLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdZbUZ6WlM1d2RYTm9LRnh1SUNBZ0lDQWdJQ0JCY0dsUmRXVnllU2g3WEc0Z0lDQWdJQ0FnSUNBZ2JtRnRaVG9nWENKa2FYSmxZM1JwYjI1Y0lpeGNiaUFnSUNBZ0lDQWdJQ0J5WlhGMWFYSmxaRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0JsYm5WdE9pQlBjbVJsY2tScGNtVmpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKMGFHVWdjMjl5ZENCdmNtUmxjbHdpTEZ4dUlDQWdJQ0FnSUNCOUtWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIQmhkR2d1YzNSaGNuUnpWMmwwYUNoY0luQmhaMmx1WVhSbFFua3ZYQ0lwSUh4OElIQmhkR2d1YzNSaGNuUnpWMmwwYUNoY0luQmhaMlV2WENJcEtTQjdYRzRnSUNBZ0lDQmlZWE5sTG5CMWMyZ29YRzRnSUNBZ0lDQWdJRUZ3YVZGMVpYSjVLSHNnYm1GdFpUb2dYQ0pzYVcxcGRGd2lMQ0J5WlhGMWFYSmxaRG9nWm1Gc2MyVXNJR1JsYzJOeWFYQjBhVzl1T2lCY0luQmhaMlVnYzJsNlpWd2lJSDBwTEZ4dUlDQWdJQ0FnSUNCQmNHbFJkV1Z5ZVNoN1hHNGdJQ0FnSUNBZ0lDQWdibUZ0WlRvZ1hDSnZabVp6WlhSY0lpeGNiaUFnSUNBZ0lDQWdJQ0J5WlhGMWFYSmxaRG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2ljR0ZuWlNCdWRXMWlaWEpjSWl4Y2JpQWdJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQWdJRUZ3YVZGMVpYSjVLSHRjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxPaUJjSW1KdmIydHRZWEpyWENJc1hHNGdJQ0FnSUNBZ0lDQWdjbVZ4ZFdseVpXUTZJR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0ltSnZiMnR0WVhKcklHWnZjaUJqZFhKemIzSWdjR0ZuYVc1aGRHbHZibHdpTEZ4dUlDQWdJQ0FnSUNCOUtWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jR0YwYUM1emRHRnlkSE5YYVhSb0tGd2labWx1WkU5dVpVSjVMMXdpS1NCOGZDQndZWFJvTG5OMFlYSjBjMWRwZEdnb1hDSm1hVzVrUW5rdlhDSXBLU0I3WEc0Z0lDQWdJQ0JpWVhObExuQjFjMmdvWEc0Z0lDQWdJQ0FnSUVGd2FVNXZkRVp2ZFc1a1VtVnpjRzl1YzJVb2UxeHVJQ0FnSUNBZ0lDQWdJR1JsYzJOeWFYQjBhVzl1T2lCZ1RtOGdKSHR0YjJSbGJFTnNZWHA2VG1GdFpYMGdjbVZqYjNKa0lHMWhkR05vWlhNZ2RHaGxJSEJ5YjNacFpHVmtJR2xrWlc1MGFXWnBaWEl1WUN4Y2JpQWdJQ0FnSUNBZ2ZTbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdjM1JoZEdWdFpXNTBTMlY1SUQwOVBTQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11UTA5VlRsUmZUMFlnZkh4Y2JpQWdJQ0FnSUhOMFlYUmxiV1Z1ZEV0bGVTQTlQVDBnVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrRldSMTlQUmlCOGZGeHVJQ0FnSUNBZ2MzUmhkR1Z0Wlc1MFMyVjVJRDA5UFNCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVVMVZOWDA5R1hHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCaVlYTmxMbkIxYzJnb1hHNGdJQ0FnSUNBZ0lFRndhVTlyVW1WemNHOXVjMlVvZTF4dUlDQWdJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJnVW1WemRXeDBJR1p2Y2lBa2UyMXZaR1ZzUTJ4aGVucE9ZVzFsZlM1Z0xGeHVJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklFNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ2ZTbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHpkR0YwWlcxbGJuUkxaWGtnUFQwOUlGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVFU1ZOVVNVNURWRjlQUmlrZ2UxeHVJQ0FnSUNBZ1ltRnpaUzV3ZFhOb0tGeHVJQ0FnSUNBZ0lDQkJjR2xQYTFKbGMzQnZibk5sS0h0Y2JpQWdJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUVScGMzUnBibU4wSUhaaGJIVmxjeUJtYjNJZ0pIdHRiMlJsYkVOc1lYcDZUbUZ0WlgwdVlDeGNiaUFnSUNBZ0lDQWdJQ0IwZVhCbE9pQmJVM1J5YVc1blhTeGNiaUFnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHSmhjMlU3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJuWlhSUmRXVnllVVJsWTI5eVlYUnZjbk1vWEc0Z0lDQWdiV1YwYUc5a1RtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lISnZkWFJsVUdGMGFEb2djM1J5YVc1bkxGeHVJQ0FnSUdoMGRIQldaWEppT2lCemRISnBibWNzWEc0Z0lDQWdhVzVqYkhWa1pWRjFaWEo1VUdGeVlXMXpPaUJpYjI5c1pXRnVJRDBnWm1Gc2MyVmNiaUFnS1RvZ1FYSnlZWGs4S0hSaGNtZGxkRG9nWVc1NUxDQnJaWGs2SUhOMGNtbHVaeXdnWkdWell6b2dZVzU1S1NBOVBpQjJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdaWGgwY21GamRGQmhkR2hRWVhKaGJYTWdQU0FvY0RvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuVzEwZ1BUNWNiaUFnSUNBZ0lIQmNiaUFnSUNBZ0lDQWdMbk53YkdsMEtGd2lMMXdpS1Z4dUlDQWdJQ0FnSUNBdVptbHNkR1Z5S0NoektTQTlQaUJ6TG5OMFlYSjBjMWRwZEdnb1hDSTZYQ0lwS1Z4dUlDQWdJQ0FnSUNBdWJXRndLQ2h6S1NBOVBpQnpMbk5zYVdObEtERXBLVHRjYmx4dUlDQWdJR052Ym5OMElHRndhVkJoZEdoUVlYSmhiWE1nUFNCbGVIUnlZV04wVUdGMGFGQmhjbUZ0Y3loeWIzVjBaVkJoZEdncExtMWhjQ2dvYm1GdFpTa2dQVDRnS0h0Y2JpQWdJQ0FnSUc1aGJXVXNYRzRnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWUNSN2JtRnRaWDBnY0dGeVlXMWxkR1Z5SUdadmNpQjBhR1VnY1hWbGNubGdMRnh1SUNBZ0lDQWdjbVZ4ZFdseVpXUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNCMGVYQmxPaUJUZEhKcGJtY3NYRzRnSUNBZ2ZTa3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pHVmpiM0poZEc5eWN6b2dRWEp5WVhrOEtIUmhjbWRsZERvZ1lXNTVMQ0JyWlhrNklITjBjbWx1Wnl3Z1pHVnpZem9nWVc1NUtTQTlQaUIyYjJsa1BpQTlJRnRjYmlBZ0lDQWdJQzR1TG1Gd2FWQmhkR2hRWVhKaGJYTXViV0Z3S0Nod0tTQTlQaUJCY0dsUVlYSmhiU2h3S1Nrc1hHNGdJQ0FnSUNCQmNHbFBjR1Z5WVhScGIyNG9leUJ6ZFcxdFlYSjVPaUJnVW1WMGNtbGxkbVVnY21WamIzSmtjeUIxYzJsdVp5QmNJaVI3YldWMGFHOWtUbUZ0WlgxY0lpNWdJSDBwTEZ4dUlDQWdJQ0FnUVhCcFQydFNaWE53YjI1elpTaDdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsSmxjM1ZzZENCemRXTmpaWE56Wm5Wc2JIa2djbVYwY21sbGRtVmtMbHdpSUgwcExGeHVJQ0FnSUNBZ1FYQnBUbTlEYjI1MFpXNTBVbVZ6Y0c5dWMyVW9lMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSk9ieUJqYjI1MFpXNTBJSEpsZEhWeWJtVmtJR0o1SUhSb1pTQnRaWFJvYjJRdVhDSXNYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQmRPMXh1WEc0Z0lDQWdhV1lnS0doMGRIQldaWEppSUQwOVBTQmNJa2RGVkZ3aUlDWW1JR2x1WTJ4MVpHVlJkV1Z5ZVZCaGNtRnRjeWtnZTF4dUlDQWdJQ0FnWkdWamIzSmhkRzl5Y3k1d2RYTm9LRnh1SUNBZ0lDQWdJQ0JCY0dsUmRXVnllU2g3WEc0Z0lDQWdJQ0FnSUNBZ2JtRnRaVG9nWENKa2FYSmxZM1JwYjI1Y0lpeGNiaUFnSUNBZ0lDQWdJQ0J5WlhGMWFYSmxaRG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnWlc1MWJUb2dUM0prWlhKRWFYSmxZM1JwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aWRHaGxJSE52Y25RZ2IzSmtaWElnZDJobGJpQmhjSEJzYVdOaFlteGxYQ0lzWEc0Z0lDQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0lDQkJjR2xSZFdWeWVTaDdYRzRnSUNBZ0lDQWdJQ0FnYm1GdFpUb2dYQ0pzYVcxcGRGd2lMRnh1SUNBZ0lDQWdJQ0FnSUhKbGNYVnBjbVZrT2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJqb2dYQ0pzYVcxcGRDQnZjaUJ3WVdkbElITnBlbVZjSWl4Y2JpQWdJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQWdJRUZ3YVZGMVpYSjVLSHRjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxPaUJjSW05bVpuTmxkRndpTEZ4dUlDQWdJQ0FnSUNBZ0lISmxjWFZwY21Wa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKdlptWnpaWFFnYjNJZ1ltOXZhMjFoY210Y0lpeGNiaUFnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHUmxZMjl5WVhSdmNuTTdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==