sigesp 0.9.9-20221205 → 0.9.11-20221211

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.
Files changed (147) hide show
  1. package/bundles/sigesp.umd.js +449 -212
  2. package/bundles/sigesp.umd.js.map +1 -1
  3. package/bundles/sigesp.umd.min.js +15 -1
  4. package/bundles/sigesp.umd.min.js.map +1 -1
  5. package/esm2015/lib/core/interfaces/Auditoria.js +1 -1
  6. package/esm2015/lib/core/interfaces/Clasificacion.js +1 -1
  7. package/esm2015/lib/core/interfaces/CuentasPorPagar.js +1 -1
  8. package/esm2015/lib/core/interfaces/Nomina.js +1 -1
  9. package/esm2015/lib/core/interfaces/RecursosHumanos.js +1 -1
  10. package/esm2015/lib/core/models/CXP/MConceptosCXP.model.js +6 -3
  11. package/esm2015/lib/core/models/CXP/MTipoDocumentoCXP.model.js +6 -3
  12. package/esm2015/lib/core/models/RPC/clasification.model.js +4 -2
  13. package/esm2015/lib/core/models/SNO/MAnticipoPrestaciones.model.js +4 -1
  14. package/esm2015/lib/core/models/SNO/MArchivoTxtCampo.model.js +6 -3
  15. package/esm2015/lib/core/models/SNO/MArchivosTxt.model.js +6 -3
  16. package/esm2015/lib/core/models/SNO/MAsignacionCargo.model.js +6 -3
  17. package/esm2015/lib/core/models/SNO/MAspectoEvaluacion.model.js +11 -5
  18. package/esm2015/lib/core/models/SNO/MAuditoria.model.js +5 -2
  19. package/esm2015/lib/core/models/SNO/MBeneficiario.model.js +6 -3
  20. package/esm2015/lib/core/models/SNO/MCargosPersonal.model.js +6 -2
  21. package/esm2015/lib/core/models/SNO/MClasificacionObrero.mdel.js +6 -3
  22. package/esm2015/lib/core/models/SNO/MCodigoUnicoRac.model.js +6 -3
  23. package/esm2015/lib/core/models/SNO/MComponete.model.js +6 -3
  24. package/esm2015/lib/core/models/SNO/MConceptoVacaciones.model.js +5 -2
  25. package/esm2015/lib/core/models/SNO/MConceptosNomina.model.js +5 -2
  26. package/esm2015/lib/core/models/SNO/MConceptosPersonalNomina.model.js +6 -3
  27. package/esm2015/lib/core/models/SNO/MConcursante.model.js +26 -11
  28. package/esm2015/lib/core/models/SNO/MConcurso.model.js +21 -9
  29. package/esm2015/lib/core/models/SNO/MConfiguracionSNO.model.js +5 -2
  30. package/esm2015/lib/core/models/SNO/MConstanteNomina.model.js +5 -2
  31. package/esm2015/lib/core/models/SNO/MConstantePersonalNomina.model.js +5 -2
  32. package/esm2015/lib/core/models/SNO/MDedicacion.model.js +6 -3
  33. package/esm2015/lib/core/models/SNO/MDefinicionNomina.model.js +6 -3
  34. package/esm2015/lib/core/models/SNO/MDefinicionesBasicas.model.js +12 -3
  35. package/esm2015/lib/core/models/SNO/MDeudaAnterior.model.js +4 -1
  36. package/esm2015/lib/core/models/SNO/MEncargaduria.model.js +6 -3
  37. package/esm2015/lib/core/models/SNO/MEscalaEvaluacion.model.js +6 -3
  38. package/esm2015/lib/core/models/SNO/MEscalaEvaluacionDt.model.js +6 -3
  39. package/esm2015/lib/core/models/SNO/MEstructuraOrganizativa.model.js +6 -3
  40. package/esm2015/lib/core/models/SNO/MFamiliares.model.js +6 -3
  41. package/esm2015/lib/core/models/SNO/MFideicomiso.model.js +27 -9
  42. package/esm2015/lib/core/models/SNO/MFormacionAcademica.model.js +6 -3
  43. package/esm2015/lib/core/models/SNO/MGrado.model.js +6 -3
  44. package/esm2015/lib/core/models/SNO/MHojaTiempo.model.js +7 -2
  45. package/esm2015/lib/core/models/SNO/MImpuestoSobreRenta.model.js +4 -1
  46. package/esm2015/lib/core/models/SNO/MMetodoBanco.model.js +11 -5
  47. package/esm2015/lib/core/models/SNO/MNominaSimple.model.js +6 -3
  48. package/esm2015/lib/core/models/SNO/MPeriodoNomina.model.js +6 -3
  49. package/esm2015/lib/core/models/SNO/MPermisos.model.js +4 -1
  50. package/esm2015/lib/core/models/SNO/MPersonal.model.js +29 -9
  51. package/esm2015/lib/core/models/SNO/MPersonalJubilado.model.js +6 -3
  52. package/esm2015/lib/core/models/SNO/MPersonalNomina.model.js +13 -3
  53. package/esm2015/lib/core/models/SNO/MPlanHorario.model.js +30 -45
  54. package/esm2015/lib/core/models/SNO/MPrestamo.model.js +10 -1
  55. package/esm2015/lib/core/models/SNO/MPrimaGrados.model.js +6 -3
  56. package/esm2015/lib/core/models/SNO/MPrimasConcepto.model.js +5 -2
  57. package/esm2015/lib/core/models/SNO/MRango.model.js +6 -3
  58. package/esm2015/lib/core/models/SNO/MRequisitosConcursante.model.js +6 -3
  59. package/esm2015/lib/core/models/SNO/MRequisitosConcursos.model.js +6 -3
  60. package/esm2015/lib/core/models/SNO/MRequisitosMinimos.model.js +11 -5
  61. package/esm2015/lib/core/models/SNO/MSalarioHistorico.model.js +6 -3
  62. package/esm2015/lib/core/models/SNO/MSolicitudEmpleo.model.js +6 -3
  63. package/esm2015/lib/core/models/SNO/MTablaVacaciones.model.js +6 -3
  64. package/esm2015/lib/core/models/SNO/MTablaVacacionesPeriodo.model.js +6 -3
  65. package/esm2015/lib/core/models/SNO/MTabulador.model.js +11 -5
  66. package/esm2015/lib/core/models/SNO/MTipoEvaluacion.model.js +11 -5
  67. package/esm2015/lib/core/models/SNO/MTipoPersonal.model.js +6 -3
  68. package/esm2015/lib/core/models/SNO/MTiposEnfermedad.model.js +6 -3
  69. package/esm2015/lib/core/models/SNO/MTrabajoAnterior.model.js +4 -1
  70. package/esm2015/lib/core/models/SNO/MUbicacionFisica.model.js +6 -3
  71. package/esm2015/lib/core/models/SNO/MVacacionesPersonal.model.js +6 -3
  72. package/esm2015/lib/core/models/SNO/McargaFamiliar.model.js +6 -3
  73. package/esm2015/lib/sigesp.service.js +2 -2
  74. package/esm2015/public-api.js +2 -2
  75. package/fesm2015/sigesp.js +444 -184
  76. package/fesm2015/sigesp.js.map +1 -1
  77. package/lib/core/interfaces/Auditoria.d.ts +2 -1
  78. package/lib/core/interfaces/Clasificacion.d.ts +1 -0
  79. package/lib/core/interfaces/CuentasPorPagar.d.ts +6 -3
  80. package/lib/core/interfaces/Nomina.d.ts +31 -14
  81. package/lib/core/interfaces/RecursosHumanos.d.ts +140 -57
  82. package/lib/core/models/CXP/MConceptosCXP.model.d.ts +1 -0
  83. package/lib/core/models/CXP/MTipoDocumentoCXP.model.d.ts +1 -0
  84. package/lib/core/models/RPC/clasification.model.d.ts +1 -0
  85. package/lib/core/models/SNO/MAnticipoPrestaciones.model.d.ts +1 -0
  86. package/lib/core/models/SNO/MArchivoTxtCampo.model.d.ts +1 -0
  87. package/lib/core/models/SNO/MArchivosTxt.model.d.ts +1 -0
  88. package/lib/core/models/SNO/MAsignacionCargo.model.d.ts +1 -0
  89. package/lib/core/models/SNO/MAspectoEvaluacion.model.d.ts +2 -0
  90. package/lib/core/models/SNO/MAuditoria.model.d.ts +1 -0
  91. package/lib/core/models/SNO/MBeneficiario.model.d.ts +1 -0
  92. package/lib/core/models/SNO/MCargosPersonal.model.d.ts +1 -0
  93. package/lib/core/models/SNO/MClasificacionObrero.mdel.d.ts +1 -0
  94. package/lib/core/models/SNO/MCodigoUnicoRac.model.d.ts +1 -0
  95. package/lib/core/models/SNO/MComponete.model.d.ts +1 -0
  96. package/lib/core/models/SNO/MConceptoVacaciones.model.d.ts +1 -0
  97. package/lib/core/models/SNO/MConceptosNomina.model.d.ts +1 -0
  98. package/lib/core/models/SNO/MConceptosPersonalNomina.model.d.ts +1 -0
  99. package/lib/core/models/SNO/MConcursante.model.d.ts +5 -0
  100. package/lib/core/models/SNO/MConcurso.model.d.ts +4 -0
  101. package/lib/core/models/SNO/MConfiguracionSNO.model.d.ts +1 -0
  102. package/lib/core/models/SNO/MConstanteNomina.model.d.ts +1 -0
  103. package/lib/core/models/SNO/MConstantePersonalNomina.model.d.ts +1 -0
  104. package/lib/core/models/SNO/MDedicacion.model.d.ts +1 -0
  105. package/lib/core/models/SNO/MDefinicionNomina.model.d.ts +1 -0
  106. package/lib/core/models/SNO/MDefinicionesBasicas.model.d.ts +3 -0
  107. package/lib/core/models/SNO/MDeudaAnterior.model.d.ts +1 -0
  108. package/lib/core/models/SNO/MEncargaduria.model.d.ts +1 -0
  109. package/lib/core/models/SNO/MEscalaEvaluacion.model.d.ts +1 -0
  110. package/lib/core/models/SNO/MEscalaEvaluacionDt.model.d.ts +1 -0
  111. package/lib/core/models/SNO/MEstructuraOrganizativa.model.d.ts +1 -0
  112. package/lib/core/models/SNO/MFamiliares.model.d.ts +1 -0
  113. package/lib/core/models/SNO/MFideicomiso.model.d.ts +8 -0
  114. package/lib/core/models/SNO/MFormacionAcademica.model.d.ts +1 -0
  115. package/lib/core/models/SNO/MGrado.model.d.ts +1 -0
  116. package/lib/core/models/SNO/MHojaTiempo.model.d.ts +2 -0
  117. package/lib/core/models/SNO/MImpuestoSobreRenta.model.d.ts +1 -0
  118. package/lib/core/models/SNO/MMetodoBanco.model.d.ts +2 -0
  119. package/lib/core/models/SNO/MNominaSimple.model.d.ts +1 -0
  120. package/lib/core/models/SNO/MPeriodoNomina.model.d.ts +1 -0
  121. package/lib/core/models/SNO/MPermisos.model.d.ts +1 -0
  122. package/lib/core/models/SNO/MPersonal.model.d.ts +6 -0
  123. package/lib/core/models/SNO/MPersonalJubilado.model.d.ts +1 -0
  124. package/lib/core/models/SNO/MPersonalNomina.model.d.ts +4 -0
  125. package/lib/core/models/SNO/MPlanHorario.model.d.ts +8 -13
  126. package/lib/core/models/SNO/MPrestamo.model.d.ts +3 -0
  127. package/lib/core/models/SNO/MPrimaGrados.model.d.ts +1 -0
  128. package/lib/core/models/SNO/MPrimasConcepto.model.d.ts +1 -0
  129. package/lib/core/models/SNO/MRango.model.d.ts +1 -0
  130. package/lib/core/models/SNO/MRequisitosConcursante.model.d.ts +1 -0
  131. package/lib/core/models/SNO/MRequisitosConcursos.model.d.ts +1 -0
  132. package/lib/core/models/SNO/MRequisitosMinimos.model.d.ts +2 -0
  133. package/lib/core/models/SNO/MSalarioHistorico.model.d.ts +1 -0
  134. package/lib/core/models/SNO/MSolicitudEmpleo.model.d.ts +1 -0
  135. package/lib/core/models/SNO/MTablaVacaciones.model.d.ts +1 -0
  136. package/lib/core/models/SNO/MTablaVacacionesPeriodo.model.d.ts +1 -0
  137. package/lib/core/models/SNO/MTabulador.model.d.ts +2 -0
  138. package/lib/core/models/SNO/MTipoEvaluacion.model.d.ts +2 -0
  139. package/lib/core/models/SNO/MTipoPersonal.model.d.ts +1 -0
  140. package/lib/core/models/SNO/MTiposEnfermedad.model.d.ts +1 -0
  141. package/lib/core/models/SNO/MTrabajoAnterior.model.d.ts +1 -0
  142. package/lib/core/models/SNO/MUbicacionFisica.model.d.ts +1 -0
  143. package/lib/core/models/SNO/MVacacionesPersonal.model.d.ts +1 -0
  144. package/lib/core/models/SNO/McargaFamiliar.model.d.ts +1 -0
  145. package/package.json +1 -1
  146. package/public-api.d.ts +1 -1
  147. package/sigesp.metadata.json +1 -1
@@ -4,6 +4,7 @@ export class MPersonal extends MBasicModel {
4
4
  constructor(p = null) {
5
5
  super();
6
6
  this.idEmpresa = 0;
7
+ this.idEnterprise = 0;
7
8
  this.idPersonal = 0;
8
9
  this.codigoPersonal = ''; //10
9
10
  this.cedulaPersonal = ''; //10
@@ -113,7 +114,8 @@ export class MPersonal extends MBasicModel {
113
114
  this.codigoPuestoTrabajo = '';
114
115
  this.descripcionHorario = '';
115
116
  if (p) {
116
- this.idEmpresa = +p.id_empresa;
117
+ this.idEnterprise = +p.id_enterprise;
118
+ this.idEmpresa = p.id_empresa;
117
119
  this.idPersonal = +p.id_personal;
118
120
  this.codigoPersonal = p.codper;
119
121
  this.cedulaPersonal = p.cedper;
@@ -234,6 +236,8 @@ export class MPersonal extends MBasicModel {
234
236
  else if (this.idHora > 0) {
235
237
  this.descripcionHorario = p.horini + '-' + p.horfin;
236
238
  }
239
+ this.descripcionPuestoTrabajo = p.despuetra;
240
+ this.codigoPuestoTrabajo = p.codpuetra;
237
241
  }
238
242
  else {
239
243
  this.isNew = true;
@@ -241,7 +245,8 @@ export class MPersonal extends MBasicModel {
241
245
  }
242
246
  dataInterface() {
243
247
  return {
244
- id_empresa: +this.idEmpresa,
248
+ id_empresa: this.idEmpresa,
249
+ id_enterprise: this.idEnterprise.toString(),
245
250
  id_personal: +this.idPersonal,
246
251
  codper: this.codigoPersonal,
247
252
  cedper: this.cedulaPersonal,
@@ -346,6 +351,8 @@ export class MPersonal extends MBasicModel {
346
351
  export class MCambioEstatusPersonal extends MBasicModel {
347
352
  constructor(e = null) {
348
353
  super();
354
+ this.idEmpresa = 0;
355
+ this.idEnterprise = 0;
349
356
  this.idPersonal = 0;
350
357
  this.codigoPersonal = '';
351
358
  this.estatusActual = '2';
@@ -357,6 +364,8 @@ export class MCambioEstatusPersonal extends MBasicModel {
357
364
  this.observacion = '';
358
365
  this.fechaReingreso = '1900-01-01';
359
366
  if (e) {
367
+ this.idEnterprise = +e.id_enterprise;
368
+ this.idEmpresa = e.id_empresa;
360
369
  this.idPersonal = e.idPersonal;
361
370
  this.codigoPersonal = e.codigoPersonal;
362
371
  this.estatusActual = e.estatusActual;
@@ -371,6 +380,8 @@ export class MCambioEstatusPersonal extends MBasicModel {
371
380
  }
372
381
  dataInterface() {
373
382
  return {
383
+ id_empresa: this.idEmpresa,
384
+ id_enterprise: this.idEnterprise.toString(),
374
385
  idPersonal: this.idPersonal,
375
386
  codigoPersonal: this.codigoPersonal,
376
387
  estatusActual: this.estatusActual,
@@ -388,6 +399,7 @@ export class MPersonalCuentaBanco extends MBasicModel {
388
399
  constructor(e) {
389
400
  super();
390
401
  this.idEmpresa = 0;
402
+ this.idEnterprise = 0;
391
403
  this.idPersonal = 0;
392
404
  this.idCuentaBancoPersonal = -1;
393
405
  this.codigoCuentaBancoPersonal = '';
@@ -402,7 +414,8 @@ export class MPersonalCuentaBanco extends MBasicModel {
402
414
  this.nombreBanco = '';
403
415
  this.nombreTipoCuentaBanco = '';
404
416
  if (e) {
405
- this.idEmpresa = parseInt(e.id_empresa);
417
+ this.idEnterprise = +e.id_enterprise;
418
+ this.idEmpresa = e.id_empresa;
406
419
  this.idPersonal = parseInt(e.id_personal);
407
420
  this.idCuentaBancoPersonal = parseInt(e.id_ctabanper);
408
421
  this.codigoCuentaBancoPersonal = e.codctabanper;
@@ -423,7 +436,8 @@ export class MPersonalCuentaBanco extends MBasicModel {
423
436
  }
424
437
  dataInterface() {
425
438
  return {
426
- id_empresa: this.idEmpresa.toString(),
439
+ id_enterprise: this.idEnterprise.toString(),
440
+ id_empresa: this.idEmpresa,
427
441
  id_personal: this.idPersonal.toString(),
428
442
  id_ctabanper: this.idCuentaBancoPersonal.toString(),
429
443
  codctabanper: this.codigoCuentaBancoPersonal,
@@ -439,6 +453,7 @@ export class MPersonalCuentaBanco extends MBasicModel {
439
453
  export class MEstudiosRealizados {
440
454
  constructor(e = null) {
441
455
  this.idEmpresa = 0;
456
+ this.idEnterprise = 0;
442
457
  this.idPersonal = 0;
443
458
  this.idEstudio = 0;
444
459
  this.codigoEstudioRealizado = '';
@@ -458,7 +473,8 @@ export class MEstudiosRealizados {
458
473
  this.TipoEstudio = Estudios;
459
474
  this.Aprobado = EstatusEstudio;
460
475
  if (e) {
461
- this.idEmpresa = parseInt(e.id_empresa);
476
+ this.idEmpresa = e.id_empresa;
477
+ this.idEnterprise = +e.id_enterprise;
462
478
  this.idPersonal = parseInt(e.id_personal);
463
479
  this.idEstudio = parseInt(e.id_estudio);
464
480
  this.codigoEstudioRealizado = e.codestrea;
@@ -480,7 +496,8 @@ export class MEstudiosRealizados {
480
496
  }
481
497
  dataInterface() {
482
498
  return {
483
- id_empresa: this.idEmpresa.toString(),
499
+ id_empresa: this.idEmpresa,
500
+ id_enterprise: this.idEnterprise.toString(),
484
501
  id_personal: this.idPersonal.toString(),
485
502
  id_estudio: this.idEstudio.toString(),
486
503
  codestrea: this.codigoEstudioRealizado,
@@ -503,6 +520,7 @@ export class MPrestacionesAntiguedad extends MBasicModel {
503
520
  constructor(e = null) {
504
521
  super();
505
522
  this.idEmpresa = 0;
523
+ this.idEnterprice = 0;
506
524
  this.idPersonal = 0;
507
525
  this.idFideicomiso = 0;
508
526
  this.anoCurPeriodo = 0;
@@ -524,7 +542,8 @@ export class MPrestacionesAntiguedad extends MBasicModel {
524
542
  this.codigoUsuario = '';
525
543
  this.idDtFideicomisoPeriodo = 0;
526
544
  if (e) {
527
- this.idEmpresa = parseInt(e.id_empresa);
545
+ this.idEmpresa = e.id_empresa;
546
+ this.idEmpresa = +e.id_enterprise;
528
547
  this.idPersonal = parseInt(e.id_personal);
529
548
  this.idFideicomiso = parseInt(e.id_fideicomiso);
530
549
  this.anoCurPeriodo = parseInt(e.anocurper);
@@ -552,7 +571,8 @@ export class MPrestacionesAntiguedad extends MBasicModel {
552
571
  }
553
572
  dataInterface() {
554
573
  return {
555
- id_empresa: this.idEmpresa.toString(),
574
+ id_empresa: this.idEmpresa,
575
+ id_enterprise: this.idEnterprice.toString(),
556
576
  id_personal: this.idPersonal.toString(),
557
577
  id_fideicomiso: this.idFideicomiso.toString(),
558
578
  anocurper: this.anoCurPeriodo.toString(),
@@ -576,4 +596,4 @@ export class MPrestacionesAntiguedad extends MBasicModel {
576
596
  };
577
597
  }
578
598
  }
579
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBlcnNvbmFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxTQUFVLFNBQVEsV0FBVztJQWdIdEMsWUFBYSxJQUFZLElBQUk7UUFDekIsS0FBSyxFQUFFLENBQUE7UUFoSEosY0FBUyxHQUFTLENBQUMsQ0FBQztRQUNwQixlQUFVLEdBQVMsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQVMsRUFBRSxDQUFDLENBQUEsS0FBSztRQUMvQixtQkFBYyxHQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDakMsZ0JBQVcsR0FBUyxFQUFFLENBQUMsQ0FBQSxLQUFLO1FBQzVCLG1CQUFjLEdBQVMsRUFBRSxDQUFDLENBQUEsS0FBSztRQUMvQixxQkFBZ0IsR0FBUyxFQUFFLENBQUM7UUFDNUIsNEJBQXVCLEdBQVMsWUFBWSxDQUFDO1FBQzdDLHlCQUFvQixHQUFTLEVBQUUsQ0FBQztRQUNoQywyQkFBc0IsR0FBUyxFQUFFLENBQUM7UUFDbEMseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQy9CLHdCQUFtQixHQUFRLEdBQUcsQ0FBQztRQUMvQiwrQkFBMEIsR0FBUSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQzFDLDBCQUFxQixHQUFRLEVBQUUsQ0FBQyxDQUFRLElBQUk7UUFDNUMsOEJBQXlCLEdBQVEsRUFBRSxDQUFDLENBQUMsSUFBSTtRQUN6QyxzQkFBaUIsR0FBUSxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2xDLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixvQkFBZSxHQUFRLENBQUMsQ0FBQztRQUN6QiwrQkFBMEIsR0FBUSxFQUFFLENBQUM7UUFDckMsYUFBUSxHQUFTLENBQUMsQ0FBQztRQUNuQixTQUFJLEdBQVMsQ0FBQyxDQUFDO1FBQ2YsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBUSxDQUFDLENBQUM7UUFDckIsMkJBQXNCLEdBQVEsRUFBRSxDQUFDLENBQUMsR0FBRztRQUNyQyxpQkFBWSxHQUFTLENBQUMsQ0FBQztRQUN2QixZQUFPLEdBQVMsQ0FBQyxDQUFDO1FBQ2xCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFRLEdBQUcsQ0FBQztRQUMzQiw0QkFBdUIsR0FBUyxDQUFDLENBQUM7UUFDbEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDLENBQUMsS0FBSztRQUNqQyxrQkFBYSxHQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUc7UUFDNUIsb0JBQWUsR0FBUSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQy9CLHVCQUFrQixHQUFRLENBQUMsQ0FBQztRQUM1Qix1QkFBa0IsR0FBUSxFQUFFLENBQUMsQ0FBQSxJQUFJO1FBQ2pDLDZCQUF3QixHQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDeEMsMEJBQXFCLEdBQVEsRUFBRSxDQUFDLENBQUMsS0FBSztRQUN0Qyx5QkFBb0IsR0FBUSxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3BDLDZCQUF3QixHQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7UUFDNUMsZ0NBQTJCLEdBQVMsQ0FBQyxDQUFDO1FBQ3RDLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQiw2QkFBd0IsR0FBUSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQ3hDLHlCQUFvQixHQUFRLENBQUMsQ0FBQztRQUM5Qix3Q0FBbUMsR0FBUSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQ25ELHNCQUFpQixHQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDakMscUJBQWdCLEdBQVMsQ0FBQyxDQUFDO1FBQzNCLHNDQUFpQyxHQUFRLFlBQVksQ0FBQztRQUN0RCw0QkFBdUIsR0FBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzNDLGtDQUE2QixHQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDakQsc0JBQWlCLEdBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNyQyw4QkFBeUIsR0FBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzdDLGdDQUEyQixHQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDL0MsK0JBQTBCLEdBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM5Qyx5QkFBb0IsR0FBUSxZQUFZLENBQUM7UUFDekMsMkJBQXNCLEdBQVEsWUFBWSxDQUFDO1FBQzNDLDRCQUF1QixHQUFRLFlBQVksQ0FBQztRQUM1Qyx3QkFBbUIsR0FBUSxZQUFZLENBQUM7UUFDeEMsd0JBQW1CLEdBQVEsR0FBRyxDQUFDLENBQUMsR0FBRztRQUNuQyw4QkFBeUIsR0FBUSxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQzFDLGFBQVEsR0FBUSxHQUFHLENBQUMsQ0FBQyxHQUFHO1FBQ3hCLGdCQUFXLEdBQVEsWUFBWSxDQUFDO1FBQ2hDLGNBQVMsR0FBUSxHQUFHLENBQUMsQ0FBQyxHQUFHO1FBQ3pCLG1CQUFjLEdBQVEsWUFBWSxDQUFDO1FBQ25DLGVBQVUsR0FBVSxDQUFDLENBQUM7UUFDdEIseUJBQW9CLEdBQVEsWUFBWSxDQUFDO1FBQ3pDLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBQ3hCLG1CQUFjLEdBQVMsQ0FBQyxDQUFDO1FBQ3pCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QiwyQkFBc0IsR0FBVSxFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFDeEIsc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUMvQiw2QkFBd0IsR0FBVSxFQUFFLENBQUM7UUFDckMsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBQy9CLDZCQUF3QixHQUFVLEVBQUUsQ0FBQztRQUNyQyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsNEJBQXVCLEdBQVMsRUFBRSxDQUFDO1FBQ25DLDRCQUF1QixHQUFRLENBQUMsQ0FBQztRQUNqQyx3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDOUIsYUFBUSxHQUFTLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFRLENBQUMsQ0FBQztRQUNyQixvQkFBZSxHQUFRLE9BQU8sQ0FBQztRQUMvQiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0IsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBQ2pDLG9CQUFlLEdBQVMsRUFBRSxDQUFDO1FBQzNCLDBCQUFxQixHQUFTLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2QixXQUFNLEdBQVEsQ0FBQyxDQUFDO1FBQ2hCLDJCQUFzQixHQUFRLEVBQUUsQ0FBQztRQUNqQyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsb0JBQWUsR0FBUSxDQUFDLENBQUM7UUFDekIsNkJBQXdCLEdBQVEsRUFBRSxDQUFDO1FBQ25DLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFLaEMsSUFBSSxDQUFDLEVBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDaEMsSUFBSSxDQUFDLHVCQUF1QixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLG9CQUFvQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHNCQUFzQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLHlCQUF5QixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QixJQUFJLENBQUMsZUFBZSxHQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsMEJBQTBCLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFFLENBQUMsQ0FBQyxPQUFPLENBQUE7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQUEsQ0FBQyxDQUFBO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNsQyxJQUFJLENBQUMsc0JBQXNCLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLENBQUMsa0JBQWtCLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLHdCQUF3QixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNsRCxJQUFJLENBQUMsaUJBQWlCLEdBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBRSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsR0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLG1DQUFtQyxHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFBQSxDQUFDLENBQUE7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUN0QyxJQUFJLENBQUMsaUNBQWlDLEdBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUMxRCxJQUFJLENBQUMsdUJBQXVCLEdBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ2hELElBQUksQ0FBQyw2QkFBNkIsR0FBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLENBQUMseUJBQXlCLEdBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ2pELElBQUksQ0FBQywyQkFBMkIsR0FBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDbkQsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNsRCxJQUFJLENBQUMsb0JBQW9CLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2QyxJQUFJLENBQUMsc0JBQXNCLEdBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMseUJBQXlCLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRSxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxXQUFXO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxlQUFlO2dCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLHdCQUF3QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDaEMsSUFBSSxDQUFDLHVCQUF1QixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFBLENBQUM7b0JBQzdELElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsU0FBUyxDQUFBLENBQUM7d0JBQzlELElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsVUFBVSxDQUFBLENBQUM7NEJBQy9ELElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsVUFBVSxDQUFBLENBQUM7Z0NBQy9ELElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFBLENBQUM7b0NBQzdELElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsYUFBYSxDQUFBLENBQUM7d0NBQ2xFLElBQUksQ0FBQyxlQUFlLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsUUFBUSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFLLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLElBQUcsSUFBSSxDQUFDLGFBQWEsR0FBQyxDQUFDLEVBQUM7Z0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzthQUM1QztpQkFBTSxJQUFHLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNqRDtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU87WUFDSCxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUMzQixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyx1QkFBdUI7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDcEMsU0FBUyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDdEMsTUFBTSxFQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDaEMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsU0FBUyxFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDckMsU0FBUyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDNUIsTUFBTSxFQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUMzQixNQUFNLEVBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUM1QixTQUFTLEVBQUMsSUFBSSxDQUFDLDBCQUEwQjtZQUN6QyxRQUFRLEVBQUMsSUFBSSxDQUFDLFFBQVE7WUFDdEIsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2QsT0FBTyxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQ3hCLE9BQU8sRUFBQyxJQUFJLENBQUMsYUFBYTtZQUMxQixPQUFPLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDeEIsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQzdCLFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3JDLGFBQWEsRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ2hDLFFBQVEsRUFBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ3RCLE1BQU0sRUFBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixNQUFNLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsU0FBUyxFQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGFBQWE7WUFDekIsTUFBTSxFQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLE1BQU0sRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLFNBQVMsRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQ2pDLFNBQVMsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCO1lBQ3BDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZDLFlBQVksRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzdDLFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLFlBQVksRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQzFDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsbUNBQW1DO1lBQ2xELFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLFlBQVksRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQ2xDLGVBQWUsRUFBQyxJQUFJLENBQUMsaUNBQWlDO1lBQ3RELGNBQWMsRUFBQyxJQUFJLENBQUMsdUJBQXVCO1lBQzNDLGNBQWMsRUFBQyxJQUFJLENBQUMsNkJBQTZCO1lBQ2pELFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLGFBQWEsRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQzVDLGFBQWEsRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzlDLGFBQWEsRUFBQyxJQUFJLENBQUMsMEJBQTBCO1lBQzdDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFdBQVcsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMsdUJBQXVCO1lBQ3RDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ2xDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ2xDLFNBQVMsRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQ3hDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUTtZQUN0QixVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDM0IsU0FBUyxFQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3hCLE9BQU8sRUFBQyxJQUFJLENBQUMsY0FBYztZQUMzQixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUM3QixTQUFTLEVBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUNuQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGFBQWE7WUFDekIsV0FBVyxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQzVCLFdBQVcsRUFBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ2hDLGVBQWUsRUFBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ3BDLE1BQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzVCLE1BQU0sRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ2xDLE1BQU0sRUFBQyxJQUFJLENBQUMsV0FBVztZQUN2QixNQUFNLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUM3QixXQUFXLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNuQyxXQUFXLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN6QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNqQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUM3QixNQUFNLEVBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUNuQyx3QkFBd0IsRUFBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFO1lBQ2hFLFlBQVksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsTUFBTSxFQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDakMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsR0FBRztZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLFVBQVU7WUFDdEIsTUFBTSxFQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBQyxJQUFJLENBQUMsZUFBZTtZQUMzQixNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsVUFBVSxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDdEMsVUFBVSxFQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDcEMsVUFBVSxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ3hDLE9BQU8sRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM5QixTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDNUMsQ0FBQTtJQUNMLENBQUM7Q0FFSjtBQUVELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBWW5ELFlBQWEsSUFBeUIsSUFBSTtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQVpMLGVBQVUsR0FBUyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBUyxFQUFFLENBQUM7UUFDMUIsa0JBQWEsR0FBUyxHQUFHLENBQUM7UUFDMUIsaUJBQVksR0FBUyxHQUFHLENBQUM7UUFDekIsZ0JBQVcsR0FBUyxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBUyxFQUFFLENBQUM7UUFDdkIsYUFBUSxHQUFTLEdBQUcsQ0FBQztRQUNyQixlQUFVLEdBQVMsQ0FBQyxDQUFDO1FBQ3JCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVEsWUFBWSxDQUFDO1FBSXRDLElBQUcsQ0FBQyxFQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsY0FBYyxDQUFDO1NBRXpDO0lBQ0wsQ0FBQztJQUNNLGFBQWE7UUFDaEIsT0FBTztZQUNILFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGNBQWMsRUFBQyxJQUFJLENBQUMsY0FBYztTQUNyQyxDQUFBO0lBQ0wsQ0FBQztDQUdKO0FBRUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFnQmpELFlBQVksQ0FBNEI7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFoQkwsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLDBCQUFxQixHQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLDhCQUF5QixHQUFRLEVBQUUsQ0FBQztRQUNwQyxvQ0FBK0IsR0FBUSxFQUFFLENBQUM7UUFDMUMsWUFBTyxHQUFRLENBQUMsQ0FBQztRQUNqQixzQkFBaUIsR0FBUSxDQUFDLENBQUM7UUFDM0Isd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUFTLElBQUksQ0FBQztRQUNoQyx3QkFBbUIsR0FBUyxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsMEJBQXFCLEdBQVEsRUFBRSxDQUFDO1FBSW5DLElBQUksQ0FBQyxFQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMseUJBQXlCLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUM5QyxJQUFJLENBQUMsK0JBQStCLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxTQUFTLElBQUUsR0FBRyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQztZQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxHQUFHLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUMxQzthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU87WUFDSCxVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDcEMsV0FBVyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFlBQVksRUFBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFO1lBQ2xELFlBQVksRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQzNDLFlBQVksRUFBQyxJQUFJLENBQUMsK0JBQStCO1lBQ2pELFFBQVEsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNoQyxVQUFVLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUM1QyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFBLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUc7WUFDMUMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQSxDQUFDLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxHQUFHO1NBRTlDLENBQUE7SUFFTCxDQUFDO0NBRUo7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBc0I1QixZQUFhLElBQXFCLElBQUk7UUFyQi9CLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLDJCQUFzQixHQUFRLEVBQUUsQ0FBQztRQUNqQyx5QkFBb0IsR0FBUSxHQUFHLENBQUM7UUFDaEMsaUNBQTRCLEdBQVEsR0FBRyxDQUFDO1FBQ3hDLDhCQUF5QixHQUFRLEVBQUUsQ0FBQztRQUNwQyxnQ0FBMkIsR0FBUSxFQUFFLENBQUM7UUFDdEMsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBQ2pDLGlDQUE0QixHQUFRLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixnQ0FBMkIsR0FBUSxZQUFZLENBQUM7UUFDaEQsNkJBQXdCLEdBQVEsWUFBWSxDQUFDO1FBQzdDLCtCQUEwQixHQUFRLFlBQVksQ0FBQztRQUMvQywrQkFBMEIsR0FBUSxHQUFHLENBQUM7UUFFdEMsa0NBQTZCLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZDLDBCQUFxQixHQUFRLENBQUMsQ0FBQztRQUMvQixnQkFBVyxHQUFDLFFBQVEsQ0FBQTtRQUNwQixhQUFRLEdBQUMsY0FBYyxDQUFBO1FBRzFCLElBQUcsQ0FBQyxFQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLHNCQUFzQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxDQUFDLDJCQUEyQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUMsSUFBSSxDQUFDLHNCQUFzQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLDRCQUE0QixHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDOUMsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDaEQsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxDQUFDLDZCQUE2QixHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLHFCQUFxQixHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLDRCQUE0QixHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDM0csSUFBSSxDQUFDLHNDQUFzQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxZQUFZLENBQUE7U0FDM0g7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3BDLFdBQVcsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDcEMsU0FBUyxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDckMsU0FBUyxFQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDbkMsU0FBUyxFQUFDLElBQUksQ0FBQyx5QkFBeUI7WUFDeEMsU0FBUyxFQUFDLElBQUksQ0FBQywyQkFBMkI7WUFDMUMsU0FBUyxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDckMsU0FBUyxFQUFDLElBQUksQ0FBQyw0QkFBNEI7WUFDM0MsTUFBTSxFQUFDLElBQUksQ0FBQyxhQUFhO1lBQ3pCLFlBQVksRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzdDLFlBQVksRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQzFDLFlBQVksRUFBQyxJQUFJLENBQUMsMEJBQTBCO1lBQzVDLFNBQVMsRUFBQyxJQUFJLENBQUMsMEJBQTBCO1lBQ3pDLFlBQVksRUFBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFO1lBQzFELFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFO1NBQ2xELENBQUE7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBVztJQXVCcEQsWUFBWSxJQUEwQixJQUFJO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBdkJMLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2QixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2QixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2QiwyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFDaEMsc0JBQWlCLEdBQVEsQ0FBQyxDQUFDO1FBQzNCLDJCQUFzQixHQUFRLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFDeEIsbUJBQWMsR0FBUSxDQUFDLENBQUE7UUFDdkIsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLDBCQUFxQixHQUFRLEVBQUUsQ0FBQztRQUNoQywwQ0FBcUMsR0FBUSxDQUFDLENBQUM7UUFDL0MsdUNBQWtDLEdBQVEsQ0FBQyxDQUFDO1FBQzVDLDBDQUFxQyxHQUFRLENBQUMsQ0FBQztRQUMvQywrQkFBMEIsR0FBUSxDQUFDLENBQUM7UUFDcEMsNEJBQXVCLEdBQVEsQ0FBQyxDQUFDO1FBQ2pDLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLDJCQUFzQixHQUFRLENBQUMsQ0FBQztRQUluQyxJQUFJLENBQUMsRUFBRTtZQUNILElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLHNCQUFzQixHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2QyxJQUFJLENBQUMscUNBQXFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzNELElBQUksQ0FBQyxrQ0FBa0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDeEQsSUFBSSxDQUFDLHFDQUFxQyxHQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMzRCxJQUFJLENBQUMsMEJBQTBCLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLElBQUksQ0FBQyx1QkFBdUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDOUQ7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTTtZQUNGLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsY0FBYyxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLFNBQVMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDdkMsU0FBUyxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDckMsU0FBUyxFQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDaEMsU0FBUyxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDckMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjO1lBQzFCLE1BQU0sRUFBQyxJQUFJLENBQUMsY0FBYztZQUMxQixNQUFNLEVBQUMsSUFBSSxDQUFDLFlBQVk7WUFDeEIsU0FBUyxFQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDakMsU0FBUyxFQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDcEMsWUFBWSxFQUFDLElBQUksQ0FBQyxxQ0FBcUM7WUFDdkQsWUFBWSxFQUFDLElBQUksQ0FBQyxrQ0FBa0M7WUFDcEQsWUFBWSxFQUFDLElBQUksQ0FBQyxxQ0FBcUM7WUFDdkQsU0FBUyxFQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDekMsU0FBUyxFQUFDLElBQUksQ0FBQyx1QkFBdUI7WUFDdEMsTUFBTSxFQUFDLElBQUksQ0FBQyxhQUFhO1lBQ3pCLGtCQUFrQixFQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUU7U0FDNUQsQ0FBQTtJQUNMLENBQUM7Q0FHSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzdGF0dXNFc3R1ZGlvLCBFc3R1ZGlvcyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQ29uc3RhbnRlcyc7XHJcbmltcG9ydCB7IElDYW1iaW9Fc3RhdHVzUGVyc29uYWwsIElFc3R1ZGlvUmVhbGl6YWRvLCBJUGVyc29uYWwsIElQZXJzb25hbEN1ZW50YXNCYW5jYXJpYXMsIElQcmVzdGFjaW9uZXNBbnRpZ3VlZGFkIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9SZWN1cnNvc0h1bWFub3MnO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gJy4uL2Jhc2ljLW1vZGVsLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyc29uYWwgZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGNvZGlnb1BlcnNvbmFsOiBzdHJpbmc9Jyc7Ly8xMCBcclxuICAgIHB1YmxpYyBjZWR1bGFQZXJzb25hbDogc3RyaW5nPSAnJzsgLy8xMCBcclxuICAgIHB1YmxpYyByaWZQZXJzb25hbDogc3RyaW5nPScnOy8vMTUgXHJcbiAgICBwdWJsaWMgbm9tYnJlUGVyc29uYWw6IHN0cmluZz0nJzsvLzYwIFxyXG4gICAgcHVibGljIGFwZWxsaWRvUGVyc29uYWw6IHN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgZmVjaGFOYWNpbWllbnRvUGVyc29uYWw6IHN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGNvZGlnb1BhaXNOYWNpbWllbnRvOnN0cmluZyA9Jyc7ICAgICBcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3RhZG9OYWNpbWllbnRvOnN0cmluZyA9Jyc7ICBcclxuICAgIHB1YmxpYyBuYWNpb25hbGlkYWRQZXJzb25hbDpzdHJpbmc9Jyc7ICAgXHJcbiAgICBwdWJsaWMgZXN0YWRvQ2l2aWxQZXJzb25hbDpzdHJpbmc9J1MnO1xyXG4gICAgcHVibGljIHRlbGVmb25vSGFiaXRhY2lvblBlcnNvbmFsOnN0cmluZz0nJzsgLy8xNVxyXG4gICAgcHVibGljIHRlbGVmb25vTW92aWxQZXJzb2JhbDpzdHJpbmc9Jyc7ICAgICAgICAvLzE1XHJcbiAgICBwdWJsaWMgY29ycmVvRWxlY3Ryb25pY29QZXJzb25hbDpzdHJpbmc9Jyc7IC8vNjBcclxuICAgIHB1YmxpYyBkaXJlY2Npb25QZXJzb25hbDpzdHJpbmc9Jyc7IC8vMjU1XHJcbiAgICBwdWJsaWMgY29kaWdvUGFpczpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb0VzdGFkbzpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb011bmljaXBpbzpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb1BhcnJvcXVpYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgc2V4b1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgbnVtZXJvSGlqbzpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgY29ueXVndWVUcmFiYWphOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjZWR1bGFCZW5lZmljaWFyaW9QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGVzdGF0dXJhOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgcGVzbzogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIHRhbGxhQ2FtaXNhOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgdGFsbGFQYW50YWxvbjpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIHRhbGxhWmFwYXRvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgaWRQcm9mZXNpb246bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIG5pdmVsQWNhZGVtaWNvUGVyc29uYWw6c3RyaW5nPScnOyAvLzFcclxuICAgIHB1YmxpYyBpZENvbXBvbmVudGU6IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFJhbmdvOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgZm90b1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgb2JzZXJ2YWNpb25QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGVzdGF0dXNQZXJzb25hbDpzdHJpbmc9JzEnOyBcclxuICAgIHB1YmxpYyBpZENsYXNpZmljYWNpb25QZXJzb25hbDogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGNlbnRyb01lZGljb0lWVlM6c3RyaW5nPScnOyAvLzE1NVxyXG4gICAgcHVibGljIHR1cm5vUGVyc29uYWw6c3RyaW5nPScnOyAvLzFcclxuICAgIHB1YmxpYyBob3JhcmlvUGVyc29uYWw6c3RyaW5nPScnOyAvLzEwXHJcbiAgICBwdWJsaWMgZXN0YXR1c0hDTVBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyB0aXBvU2FuZ3JlUGVyc29uYWw6c3RyaW5nPScnOy8vMTBcclxuICAgIHB1YmxpYyBudW1lcm9FeHBlZGllbnRlUGVyc29uYWw6c3RyaW5nPScnOyAvLzIwXHJcbiAgICBwdWJsaWMgY2FyZ29PcmlnaW5hbFBlcnNvbmFsOnN0cmluZz0nJzsgLy8xMDBcclxuICAgIHB1YmxpYyB0aXBvVml2aWVuZGFQZXJzb25hbDpudW1iZXI9MDsgLy9vam9cclxuICAgIHB1YmxpYyB0ZW5lbmNpYVZpdmllbmRhUGVyc29uYWw6c3RyaW5nPScnOyAvLzQwL29qb1xyXG4gICAgcHVibGljIG1vbnRvUGFnYWRvVml2aWVuZGFQZXJzb25hbDpudW1iZXIgPTA7IFxyXG4gICAgcHVibGljIGVzdGF0dXNDYWphQWhvcnJvOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjdWVudGFDYWphQWhvcnJvUGVyc29uYWw6c3RyaW5nPScnOyAvLzI1XHJcbiAgICBwdWJsaWMgcG9yY2VudGFqZUNhamFBaG9ycm86bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGN1ZXRhTGV5UG9saXRpY2FIYWJpdGFjaW9uYVBlcnNvbmFsOnN0cmluZz0nJzsgLy8yNVxyXG4gICAgcHVibGljIGN1ZW50YUZpZGVpY29taXNvOnN0cmluZz0nJzsgLy8yNVxyXG4gICAgcHVibGljIGVzdGF0dXNTaW5kaWNhdG86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGZlY2hhSW5ncmVzb0FkbWluaXN0cmFjaW9uUHVibGljYTpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBhbm9TZXJ2aWNpb1ByZXZpb0Zpam9BUDpudW1iZXI9MDsgLy9pbnRlZ2VyXHJcbiAgICBwdWJsaWMgYW5vU2VydmljaW9QcmV2aW9Db250cmF0YWRvQVA6bnVtYmVyPTA7IC8vaW50ZWdlclxyXG4gICAgcHVibGljIGFub1BlcnNvbmFsT2JyZXJvOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBhbm9TZXJ2aWNpb1ByZXZpb1BlcnNvbmFsOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBtZXNlc1NlcnZpY2lvUHJldmlvUGVyc29uYWw6bnVtYmVyPTA7IC8vaW50ZWdlclxyXG4gICAgcHVibGljIGRpYXNTZXJ2aWNpb1ByZXZpb1BlcnNvbmFsOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBmZWNoYUluZ2Vyb3NQZXJzb25hbDpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBmZWNoYVJlaW5ncmVzb1BlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhanViaWxhY2lvblBlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhRWdyZXNvUGVyc29uYWw6c3RyaW5nPScxOTAwLTAxLTAxJzsgXHJcbiAgICBwdWJsaWMgY2F1c2FFZ3Jlc29QZXJzb25hbDpzdHJpbmc9J04nOyAvLzFcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvbkVncmVzb1BlcnNvbmFsOnN0cmluZz0nJzsgLy8yNTRcclxuICAgIHB1YmxpYyBwcmVhdmlzbzpzdHJpbmc9JzAnOyAvLzFcclxuICAgIHB1YmxpYyBmZWNoYUxPU0ZBTjpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBzaXR1YWNpb246c3RyaW5nPSdOJzsgLy8xXHJcbiAgICBwdWJsaWMgZmVjaGFTaXR1YWNpb246c3RyaW5nPScxOTAwLTAxLTAxJzsgXHJcbiAgICBwdWJsaWMgaWRDYXVzYWxlczogbnVtYmVyID0wOyBcclxuICAgIHB1YmxpYyBmZWNoYVJlZ2lzdHJvU2lzdGVtYTpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBjb2RpZG9Vc3VhcmlvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgb2JzZXJ2YWNpb246IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgaWRDZW50cm9NZWRpY286IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFRpcG9QZXJzb25hbDpudW1iZXI9MDsgICAgICAgXHJcbiAgICBwdWJsaWMgY29kaWdvQ29tcG9uZW50ZTogc3RyaW5nID0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Db21wb25lbnRlOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1JhbmdvOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblJhbmdvOiBzdHJpbmcgPScnOyBcclxuICAgIHB1YmxpYyBjb2RpZ29DZW50cm9NZWRpY286IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2VudHJvTWVkaWNvOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1RpcG9QZXJzb25hbDogc3RyaW5nID0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvUGVyc29uYWw6IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvQ2F1c2FSZXRpcm86c3RyaW5nPScnOyAgXHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2F1c2FSZXRpcm86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZFByb3ZlZWRvckJlbmVmaWNpYXJpbzpudW1iZXI9MDsgICBcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb25hcGRpczpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIGlkU2luZGljYXRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb1NpbmRpY2F0bzpzdHJpbmc9JzAwMDAwJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25TaW5kaWNhdG86c3RyaW5nPScnOyAgXHJcbiAgICBwdWJsaWMgbm9tYnJlUGFpczpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlRXN0YWRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVNdW5pY2lwaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZVBhcnJvcXVpYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlUGFpc05hY2ltaWVudG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZUVzdGFkb05hY2ltaWVudG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1Byb2Zlc2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblByb2Zlc2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG1vbnRvUGVuc2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBsYW5Ib3JhcmlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkSG9yYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvblBsYW5Ib3JhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29QbGFuSG9yYXJpbzpzdHJpbmc9Jyc7ICBcclxuICAgIHB1YmxpYyBpZFB1ZXN0b1RyYWJham86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25QdWVzdG9UcmFiYWpvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29QdWVzdG9UcmFiYWpvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbkhvcmFyaW86c3RyaW5nPScnOyAgICBcclxuICAgXHJcblxyXG4gICAgY29uc3RydWN0b3IgKHA6SVBlcnNvbmFsPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAocCl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPSArcC5pZF9lbXByZXNhO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9ICtwLmlkX3BlcnNvbmFsO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BlcnNvbmFsPSBwLmNvZHBlcjtcclxuICAgICAgICAgICAgdGhpcy5jZWR1bGFQZXJzb25hbD0gcC5jZWRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMucmlmUGVyc29uYWw9IHAucmlmcGVyO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVBlcnNvbmFsPSBwLm5vbXBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuYXBlbGxpZG9QZXJzb25hbD0gcC5hcGVwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFOYWNpbWllbnRvUGVyc29uYWw9IHAuZmVjbmFjcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BhaXNOYWNpbWllbnRvPSBwLmNvZHBhaW5hYztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RhZG9OYWNpbWllbnRvPSBwLmNvZGVzdG5hYzsgIFxyXG4gICAgICAgICAgICB0aGlzLm5hY2lvbmFsaWRhZFBlcnNvbmFsPSBwLm5hY3BlcjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhZG9DaXZpbFBlcnNvbmFsPSBwLmVzdGNpdnBlcjtcclxuICAgICAgICAgICAgdGhpcy50ZWxlZm9ub0hhYml0YWNpb25QZXJzb25hbD0gcC50ZWxoYWJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMudGVsZWZvbm9Nb3ZpbFBlcnNvYmFsPSBwLnRlbG1vdnBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb3JyZW9FbGVjdHJvbmljb1BlcnNvbmFsPSBwLmNvcmVsZXBlcjtcclxuICAgICAgICAgICAgdGhpcy5kaXJlY2Npb25QZXJzb25hbD0gcC5kaXJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGFpcz0gcC5jb2RwYWk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRXN0YWRvPSBwLmNvZGVzdDtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29NdW5pY2lwaW89IHAuY29kbXVuO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BhcnJvcXVpYT0gcC5jb2RwYXI7XHJcbiAgICAgICAgICAgIHRoaXMuc2V4b1BlcnNvbmFsPSBwLnNleHBlcjtcclxuICAgICAgICAgICAgdGhpcy5udW1lcm9IaWpvPStwLm51bWhpanBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuY29ueXVndWVUcmFiYWphPSArcC5jb250cmE7IFxyXG4gICAgICAgICAgICB0aGlzLmNlZHVsYUJlbmVmaWNpYXJpb1BlcnNvbmFsPSBwLmNlZGJlbnBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1cmE9K3AuZXN0YXR1cmE7XHJcbiAgICAgICAgICAgIHRoaXMucGVzbz0rcC5wZXNvO1xyXG4gICAgICAgICAgICB0aGlzLnRhbGxhQ2FtaXNhPSBwLnRhbGxjYW1cclxuICAgICAgICAgICAgdGhpcy50YWxsYVBhbnRhbG9uPXAudGFsbHBhbjsxIFxyXG4gICAgICAgICAgICB0aGlzLnRhbGxhWmFwYXRvPSBwLnRhbGx6YXA7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQcm9mZXNpb249ICtwLmlkX3Byb2Zlc2lvbjsgXHJcbiAgICAgICAgICAgIHRoaXMubml2ZWxBY2FkZW1pY29QZXJzb25hbD0gcC5uaXZhY2FwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb21wb25lbnRlPStwLmlkX2NvbXBvbmVudGU7XHJcbiAgICAgICAgICAgIHRoaXMuaWRSYW5nbz0rcC5pZF9yYW5nbztcclxuICAgICAgICAgICAgdGhpcy5mb3RvUGVyc29uYWw9IHAuZm90cGVyO1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uUGVyc29uYWw9IHAub2JzZWdycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD0gcC5lc3RwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDbGFzaWZpY2FjaW9uUGVyc29uYWw9K3AuaWRfY2xhcGVyO1xyXG4gICAgICAgICAgICB0aGlzLnR1cm5vUGVyc29uYWw9IHAudHVycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFyaW9QZXJzb25hbD0gcC5ob3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c0hDTVBlcnNvbmFsPSArcC5oY21wZXI7IFxyXG4gICAgICAgICAgICB0aGlzLnRpcG9TYW5ncmVQZXJzb25hbD0gcC50aXBzYW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMubnVtZXJvRXhwZWRpZW50ZVBlcnNvbmFsPSBwLm51bWV4cHBlcjtcclxuICAgICAgICAgICAgdGhpcy5jYXJnb09yaWdpbmFsUGVyc29uYWw9IHAuY2Fyb3JpcGVyO1xyXG4gICAgICAgICAgICB0aGlzLnRpcG9WaXZpZW5kYVBlcnNvbmFsPSArcC50aXB2aXZwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLnRlbmVuY2lhVml2aWVuZGFQZXJzb25hbD0gcC50ZW52aXZwZXI7XHJcbiAgICAgICAgICAgIHRoaXMubW9udG9QYWdhZG9WaXZpZW5kYVBlcnNvbmFsPSArcC5tb25wYWd2aXZwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNDYWphQWhvcnJvPSArcC5lc3RjYWphaG87IFxyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUNhamFBaG9ycm9QZXJzb25hbD0gcC5jdWVjYWphaG9wZXI7XHJcbiAgICAgICAgICAgIHRoaXMucG9yY2VudGFqZUNhamFBaG9ycm89ICtwLnBvcmNhamFobzsgXHJcbiAgICAgICAgICAgIHRoaXMuY3VldGFMZXlQb2xpdGljYUhhYml0YWNpb25hUGVyc29uYWw9IHAuY3VlbHBocGVyO1xyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUZpZGVpY29taXNvPSBwLmN1ZWZpZHBlcjsxXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1NpbmRpY2F0bz0rcC5lc3RzaW5kaWNhdG87XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvQWRtaW5pc3RyYWNpb25QdWJsaWNhPSBwLmZlY2luZ2FkbXB1YnBlcjtcclxuICAgICAgICAgICAgdGhpcy5hbm9TZXJ2aWNpb1ByZXZpb0Zpam9BUD0gK3AuYW5vc2VydnByZWZpam87XHJcbiAgICAgICAgICAgIHRoaXMuYW5vU2VydmljaW9QcmV2aW9Db250cmF0YWRvQVA9ICtwLmFub3NlcnZwcmVjb250OyBcclxuICAgICAgICAgICAgdGhpcy5hbm9QZXJzb25hbE9icmVybz0gK3AuYW5vcGVyb2JyO1xyXG4gICAgICAgICAgICB0aGlzLmFub1NlcnZpY2lvUHJldmlvUGVyc29uYWw9ICtwLmFub3NlcnZwcmVwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLm1lc2VzU2VydmljaW9QcmV2aW9QZXJzb25hbD0gK3AubWVzc2VydnByZXBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZGlhc1NlcnZpY2lvUHJldmlvUGVyc29uYWw9ICtwLmRpYXNlcnZwcmVwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5nZXJvc1BlcnNvbmFsPSBwLmZlY2luZ3BlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWluZ3Jlc29QZXJzb25hbD0gcC5mZWNyZWluZ3BlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFqdWJpbGFjaW9uUGVyc29uYWw9IHAuZmVjanVicGVyOyBcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUVncmVzb1BlcnNvbmFsPSBwLmZlY2VncnBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuY2F1c2FFZ3Jlc29QZXJzb25hbD0gcC5jYXVlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWNpb25FZ3Jlc29QZXJzb25hbD0gcC5vYnNlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMucHJlYXZpc289IHAucHJlYXZpc287XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFMT1NGQU49IHAuZmVjbG9zc2ZhbjtcclxuICAgICAgICAgICAgdGhpcy5zaXR1YWNpb249IHAuc2l0dWFjaW9uO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhU2l0dWFjaW9uPSBwLmZlY3NpdHU7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXVzYWxlcz0gK3AuaWRfY2F1c2FsZXM7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWdpc3Ryb1Npc3RlbWE9IHAuZmVjcmVnc2lzO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlkb1VzdWFyaW89IHAuY29kdXN1O1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uID1wLm9ic2VydmFjaW9uO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ2VudHJvTWVkaWNvPSBwLmlkX2Nlbm1lZHNzLCBcclxuICAgICAgICAgICAgdGhpcy5pZFRpcG9QZXJzb25hbD0gcC5pZF90aXBvcGVyc29uYWwsXHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29tcG9uZW50ZT1wLmNvZGNvbTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Db21wb25lbnRlPXAuZGVuY29tO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1JhbmdvPXAuY29kcmFuO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblJhbmdvPXAuZGVucmFuOyBcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DZW50cm9NZWRpY289cC5jb2RjZW5tZWRzcztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DZW50cm9NZWRpY289cC5kZW5jZW5tZWRzcztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UaXBvUGVyc29uYWw9cC5jb2R0aXBwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsPXAuZGVudGlwcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NhdXNhUmV0aXJvPXAuZGVuY2F1O1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkNhdXNhUmV0aXJvPXAuY29kY2F1O1xyXG4gICAgICAgICAgICB0aGlzLmlkUHJvdmVlZG9yQmVuZWZpY2lhcmlvPXBhcnNlSW50KHAuaWRfcHJvdmVlZG9yYmVuZWZpY2lhcmlvKTtcclxuICAgICAgICAgICAgdGhpcy5pZFNpbmRpY2F0bz1wYXJzZUludChwLmlkX3NpbmRpY2F0byk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvU2luZGljYXRvPXAuY29kc2luO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblNpbmRpY2F0bz1wLmRlbnNpbjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUGVyc29uYWw9PScwJz8gdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPSdQUkUtSU5HUkVTTycgOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzEnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J0FDVElWTyc6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nMic/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nTklOR1VOTyc6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nMyc/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nRUdSRVNBRE8nOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzQnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J1JFTU9DScOTTic6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nNSc/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nUkVUSVJPJzpcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUGVyc29uYWw9PSc2Jz8gdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPSdERVNUSVRVQ0nDk04nOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzcnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J0xJUVVJREFDScOTTic6Jyc7XHJcbiAgICAgICAgICAgIHRoaXMuY29uYXBkaXM9cC5jb25hcGRpcz09JzEnPyB0cnVlOmZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlkU2luZGljYXRvPSBwYXJzZUludChwLmlkX3NpbmRpY2F0byk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvU2luZGljYXRvPXAuY29kc2luO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblNpbmRpY2F0bz1wLmRlbnNpbjtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQYWlzPXAuZGVzcGFpO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUVzdGFkbz1wLmRlc2VzdDtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVNdW5pY2lwaW89cC5kZXNtdW47XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlUGFycm9xdWlhPXAuZGVzcGFyOyBcclxuICAgICAgICAgICAgdGhpcy5ub21icmVFc3RhZG9OYWNpbWllbnRvPXAuZGVzZXN0X25hYztcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQYWlzTmFjaW1pZW50bz1wLmRlc3BhaV9uYWM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUHJvZmVzaW9uPXAuY29kcHJvO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblByb2Zlc2lvbj1wLmRlbnBybztcclxuICAgICAgICAgICAgdGhpcy5tb250b1BlbnNpb249K3AubW9ucGVuO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89K3AuaWRfcGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy5pZEhvcmE9K3AuaWRfaG9yYTtcclxuICAgICAgICAgICAgaWYodGhpcy5pZFBsYW5Ib3JhcmlvPjApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2RpZ29QbGFuSG9yYXJpbz1wLmNvZHBsYW5ob3I7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUGxhbkhvcmFyaW89cC5kZW5wbGFuaG9yO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYodGhpcy5pZEhvcmE+MCl7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkhvcmFyaW89cC5ob3JpbmkrJy0nK3AuaG9yZmluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlOyAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUGVyc29uYWwge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2HCoDordGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFswqA6K3RoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgY29kcGVywqA6dGhpcy5jb2RpZ29QZXJzb25hbCxcclxuICAgICAgICAgICAgY2VkcGVywqA6dGhpcy5jZWR1bGFQZXJzb25hbCxcclxuICAgICAgICAgICAgcmlmcGVywqA6dGhpcy5yaWZQZXJzb25hbCxcclxuICAgICAgICAgICAgbm9tcGVywqA6dGhpcy5ub21icmVQZXJzb25hbCxcclxuICAgICAgICAgICAgYXBlcGVywqA6dGhpcy5hcGVsbGlkb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBmZWNuYWNwZXLCoDp0aGlzLmZlY2hhTmFjaW1pZW50b1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RwYWluYWPCoDp0aGlzLmNvZGlnb1BhaXNOYWNpbWllbnRvLFxyXG4gICAgICAgICAgICBjb2Rlc3RuYWPCoDp0aGlzLmNvZGlnb0VzdGFkb05hY2ltaWVudG8sXHJcbiAgICAgICAgICAgIG5hY3Blcjp0aGlzLm5hY2lvbmFsaWRhZFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBlc3RjaXZwZXI6dGhpcy5lc3RhZG9DaXZpbFBlcnNvbmFsLFxyXG4gICAgICAgICAgICB0ZWxoYWJwZXLCoDp0aGlzLnRlbGVmb25vSGFiaXRhY2lvblBlcnNvbmFsLFxyXG4gICAgICAgICAgICB0ZWxtb3ZwZXLCoDp0aGlzLnRlbGVmb25vTW92aWxQZXJzb2JhbCxcclxuICAgICAgICAgICAgY29yZWxlcGVywqA6dGhpcy5jb3JyZW9FbGVjdHJvbmljb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBkaXJwZXLCoDp0aGlzLmRpcmVjY2lvblBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RwYWnCoDp0aGlzLmNvZGlnb1BhaXMsXHJcbiAgICAgICAgICAgIGNvZGVzdMKgOnRoaXMuY29kaWdvRXN0YWRvLFxyXG4gICAgICAgICAgICBjb2RtdW7CoDp0aGlzLmNvZGlnb011bmljaXBpbyxcclxuICAgICAgICAgICAgY29kcGFyOnRoaXMuY29kaWdvUGFycm9xdWlhLFxyXG4gICAgICAgICAgICBzZXhwZXLCoDp0aGlzLnNleG9QZXJzb25hbCxcclxuICAgICAgICAgICAgbnVtaGlqcGVywqA6K3RoaXMubnVtZXJvSGlqbyxcclxuICAgICAgICAgICAgY29udHJhOit0aGlzLmNvbnl1Z3VlVHJhYmFqYSxcclxuICAgICAgICAgICAgY2VkYmVucGVyOnRoaXMuY2VkdWxhQmVuZWZpY2lhcmlvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGVzdGF0dXJhOnRoaXMuZXN0YXR1cmEsXHJcbiAgICAgICAgICAgIHBlc286dGhpcy5wZXNvLFxyXG4gICAgICAgICAgICB0YWxsY2FtOnRoaXMudGFsbGFDYW1pc2EsXHJcbiAgICAgICAgICAgIHRhbGxwYW46dGhpcy50YWxsYVBhbnRhbG9uLFxyXG4gICAgICAgICAgICB0YWxsemFwOnRoaXMudGFsbGFaYXBhdG8sXHJcbiAgICAgICAgICAgIGlkX3Byb2Zlc2lvbjp0aGlzLmlkUHJvZmVzaW9uLFxyXG4gICAgICAgICAgICBuaXZhY2FwZXI6dGhpcy5uaXZlbEFjYWRlbWljb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBpZF9jb21wb25lbnRlOit0aGlzLmlkQ29tcG9uZW50ZSxcclxuICAgICAgICAgICAgaWRfcmFuZ286K3RoaXMuaWRSYW5nbyxcclxuICAgICAgICAgICAgZm90cGVyOnRoaXMuZm90b1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBvYnNwZXI6dGhpcy5vYnNlcnZhY2lvblBlcnNvbmFsLFxyXG4gICAgICAgICAgICBlc3RwZXI6dGhpcy5lc3RhdHVzUGVyc29uYWwsICAgXHJcbiAgICAgICAgICAgIGlkX2NsYXBlcjordGhpcy5pZENsYXNpZmljYWNpb25QZXJzb25hbCwgICAgICAgIFxyXG4gICAgICAgICAgICB0dXJwZXI6dGhpcy50dXJub1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBob3JwZXI6dGhpcy5ob3JhcmlvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGhjbXBlcjp0aGlzLmVzdGF0dXNIQ01QZXJzb25hbCxcclxuICAgICAgICAgICAgdGlwc2FucGVyOnRoaXMudGlwb1NhbmdyZVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBudW1leHBwZXI6dGhpcy5udW1lcm9FeHBlZGllbnRlUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNhcm9yaXBlcjp0aGlzLmNhcmdvT3JpZ2luYWxQZXJzb25hbCxcclxuICAgICAgICAgICAgdGlwdml2cGVyOnRoaXMudGlwb1ZpdmllbmRhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIHRlbnZpdnBlcjp0aGlzLnRlbmVuY2lhVml2aWVuZGFQZXJzb25hbCxcclxuICAgICAgICAgICAgbW9ucGFndml2cGVyOnRoaXMubW9udG9QYWdhZG9WaXZpZW5kYVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBlc3RjYWphaG86dGhpcy5lc3RhdHVzQ2FqYUFob3JybyxcclxuICAgICAgICAgICAgY3VlY2FqYWhvcGVyOnRoaXMuY3VlbnRhQ2FqYUFob3Jyb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBwb3JjYWphaG86dGhpcy5wb3JjZW50YWplQ2FqYUFob3JybyxcclxuICAgICAgICAgICAgY3VlbHBocGVyOnRoaXMuY3VldGFMZXlQb2xpdGljYUhhYml0YWNpb25hUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGN1ZWZpZHBlcjp0aGlzLmN1ZW50YUZpZGVpY29taXNvLFxyXG4gICAgICAgICAgICBlc3RzaW5kaWNhdG86dGhpcy5lc3RhdHVzU2luZGljYXRvLFxyXG4gICAgICAgICAgICBmZWNpbmdhZG1wdWJwZXI6dGhpcy5mZWNoYUluZ3Jlc29BZG1pbmlzdHJhY2lvblB1YmxpY2EsXHJcbiAgICAgICAgICAgIGFub3NlcnZwcmVmaWpvOnRoaXMuYW5vU2VydmljaW9QcmV2aW9GaWpvQVAsXHJcbiAgICAgICAgICAgIGFub3NlcnZwcmVjb250OnRoaXMuYW5vU2VydmljaW9QcmV2aW9Db250cmF0YWRvQVAsXHJcbiAgICAgICAgICAgIGFub3Blcm9icjp0aGlzLmFub1BlcnNvbmFsT2JyZXJvLFxyXG4gICAgICAgICAgICBhbm9zZXJ2cHJlcGVyOnRoaXMuYW5vU2VydmljaW9QcmV2aW9QZXJzb25hbCxcclxuICAgICAgICAgICAgbWVzc2VydnByZXBlcjp0aGlzLm1lc2VzU2VydmljaW9QcmV2aW9QZXJzb25hbCxcclxuICAgICAgICAgICAgZGlhc2VydnByZXBlcjp0aGlzLmRpYXNTZXJ2aWNpb1ByZXZpb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBmZWNpbmdwZXI6dGhpcy5mZWNoYUluZ2Vyb3NQZXJzb25hbMKgLFxyXG4gICAgICAgICAgICBmZWNyZWluZ3Blcjp0aGlzLmZlY2hhUmVpbmdyZXNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY2p1YnBlcjp0aGlzLmZlY2hhanViaWxhY2lvblBlcnNvbmFswqAsXHJcbiAgICAgICAgICAgIGZlY2VncnBlcjp0aGlzLmZlY2hhRWdyZXNvUGVyc29uYWzCoCxcclxuICAgICAgICAgICAgY2F1ZWdycGVyOnRoaXMuY2F1c2FFZ3Jlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgb2JzZWdycGVyOnRoaXMub2JzZXJ2YWNpb25FZ3Jlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgcHJlYXZpc286dGhpcy5wcmVhdmlzbyxcclxuICAgICAgICAgICAgZmVjbG9zc2Zhbjp0aGlzLmZlY2hhTE9TRkFOwqAsXHJcbiAgICAgICAgICAgIHNpdHVhY2lvbjp0aGlzLnNpdHVhY2lvbixcclxuICAgICAgICAgICAgZmVjc2l0dTp0aGlzLmZlY2hhU2l0dWFjaW9uwqAsXHJcbiAgICAgICAgICAgIGlkX2NhdXNhbGVzOsKgK3RoaXMuaWRDYXVzYWxlcyxcclxuICAgICAgICAgICAgZmVjcmVnc2lzOnRoaXMuZmVjaGFSZWdpc3Ryb1Npc3RlbWHCoCxcclxuICAgICAgICAgICAgY29kdXN1OnRoaXMuY29kaWRvVXN1YXJpbyxcclxuICAgICAgICAgICAgb2JzZXJ2YWNpb246dGhpcy5vYnNlcnZhY2lvbiwgXHJcbiAgICAgICAgICAgIGlkX2Nlbm1lZHNzOit0aGlzLmlkQ2VudHJvTWVkaWNvLCBcclxuICAgICAgICAgICAgaWRfdGlwb3BlcnNvbmFsOit0aGlzLmlkVGlwb1BlcnNvbmFsLCAgXHJcbiAgICAgICAgICAgIGNvZGNvbTp0aGlzLmNvZGlnb0NvbXBvbmVudGUsXHJcbiAgICAgICAgICAgIGRlbmNvbTp0aGlzLmRlbm9taW5hY2lvbkNvbXBvbmVudGUsXHJcbiAgICAgICAgICAgIGNvZHJhbjp0aGlzLmNvZGlnb1JhbmdvLFxyXG4gICAgICAgICAgICBkZW5yYW46dGhpcy5kZW5vbWluYWNpb25SYW5nbyxcclxuICAgICAgICAgICAgY29kY2VubWVkc3M6dGhpcy5jb2RpZ29DZW50cm9NZWRpY28sXHJcbiAgICAgICAgICAgIGRlbmNlbm1lZHNzOnRoaXMuZGVub21pbmFjaW9uQ2VudHJvTWVkaWNvLFxyXG4gICAgICAgICAgICBjb2R0aXBwZXI6dGhpcy5jb2RpZ29UaXBvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGRlbnRpcHBlcjp0aGlzLmRlbm9taW5hY2lvblRpcG9QZXJzb25hbCxcclxuICAgICAgICAgICAgY29kY2F1OnRoaXMuY29kaWdvQ2F1c2FSZXRpcm8sXHJcbiAgICAgICAgICAgIGRlbmNhdTp0aGlzLmRlbm9taW5hY2lvbkNhdXNhUmV0aXJvLCAgIFxyXG4gICAgICAgICAgICBpZF9wcm92ZWVkb3JiZW5lZmljaWFyaW86dGhpcy5pZFByb3ZlZWRvckJlbmVmaWNpYXJpby50b1N0cmluZygpLCAgICAgXHJcbiAgICAgICAgICAgIGlkX3NpbmRpY2F0bzp0aGlzLmlkU2luZGljYXRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZHNpbjp0aGlzLmNvZGlnb1NpbmRpY2F0byxcclxuICAgICAgICAgICAgZGVuc2luOnRoaXMuZGVub21pbmFjaW9uU2luZGljYXRvLCBcclxuICAgICAgICAgICAgY29uYXBkaXM6dGhpcy5jb25hcGRpcz8gJzEnOicwJyxcclxuICAgICAgICAgICAgZGVzcGFpOnRoaXMubm9tYnJlUGFpcyxcclxuICAgICAgICAgICAgZGVzZXN0OnRoaXMubm9tYnJlRXN0YWRvLFxyXG4gICAgICAgICAgICBkZXNtdW46dGhpcy5ub21icmVNdW5pY2lwaW8sXHJcbiAgICAgICAgICAgIGRlc3Bhcjp0aGlzLm5vbWJyZVBhcnJvcXVpYSwgIFxyXG4gICAgICAgICAgICBkZXNlc3RfbmFjOnRoaXMubm9tYnJlRXN0YWRvTmFjaW1pZW50byxcclxuICAgICAgICAgICAgZGVzcGFpX25hYzp0aGlzLm5vbWJyZVBhaXNOYWNpbWllbnRvLFxyXG4gICAgICAgICAgICBpZF9wbGFuaG9yOnRoaXMuaWRQbGFuSG9yYXJpby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9ob3JhOnRoaXMuaWRIb3JhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3B1ZXRyYTp0aGlzLmlkUHVlc3RvVHJhYmFqby50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNQ2FtYmlvRXN0YXR1c1BlcnNvbmFsIGV4dGVuZHMgTUJhc2ljTW9kZWx7XHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvUGVyc29uYWw6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBlc3RhdHVzQWN0dWFsOiBzdHJpbmc9JzInO1xyXG4gICAgcHVibGljIGVzdGF0dXNOdWV2bzogc3RyaW5nPScyJztcclxuICAgIHB1YmxpYyBmZWNoYUVncmVzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNhdXNhRWdyZXNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgcHJlYXZpc286IHN0cmluZz0nMSc7XHJcbiAgICBwdWJsaWMgaWRDYXVzYWxlczogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgb2JzZXJ2YWNpb246IHN0cmluZz0nJzsgIFxyXG4gICAgcHVibGljIGZlY2hhUmVpbmdyZXNvOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcblxyXG4gICAgY29uc3RydWN0b3IgKGU6SUNhbWJpb0VzdGF0dXNQZXJzb25hbD1udWxsKSB7ICBcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWwgPSBlLmlkUGVyc29uYWw7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGVyc29uYWwgPSBlLmNvZGlnb1BlcnNvbmFsO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNBY3R1YWwgPSBlLmVzdGF0dXNBY3R1YWw7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c051ZXZvID0gZS5lc3RhdHVzTnVldm87XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFFZ3Jlc28gPSBlLmZlY2hhRWdyZXNvO1xyXG4gICAgICAgICAgICB0aGlzLmNhdXNhRWdyZXNvID0gZS5jYXVzYUVncmVzbztcclxuICAgICAgICAgICAgdGhpcy5wcmVhdmlzbyA9IGUucHJlYXZpc287XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXVzYWxlcz0gZS5pZENhdXNhbGVzO1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uID0gZS5vYnNlcnZhY2lvbjsgIFxyXG4gICAgICAgICAgICB0aGlzLmZlY2hhUmVpbmdyZXNvPSBlLmZlY2hhUmVpbmdyZXNvO1xyXG4gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJQ2FtYmlvRXN0YXR1c1BlcnNvbmFse1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkUGVyc29uYWw6IHRoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgY29kaWdvUGVyc29uYWw6IHRoaXMuY29kaWdvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGVzdGF0dXNBY3R1YWw6IHRoaXMuZXN0YXR1c0FjdHVhbCxcclxuICAgICAgICAgICAgZXN0YXR1c051ZXZvOiB0aGlzLmVzdGF0dXNOdWV2byxcclxuICAgICAgICAgICAgZmVjaGFFZ3Jlc286IHRoaXMuZmVjaGFFZ3Jlc28sXHJcbiAgICAgICAgICAgIGNhdXNhRWdyZXNvOiB0aGlzLmNhdXNhRWdyZXNvLFxyXG4gICAgICAgICAgICBwcmVhdmlzbzogdGhpcy5wcmVhdmlzbyxcclxuICAgICAgICAgICAgaWRDYXVzYWxlczogdGhpcy5pZENhdXNhbGVzLFxyXG4gICAgICAgICAgICBvYnNlcnZhY2lvbjogdGhpcy5vYnNlcnZhY2lvbiwgXHJcbiAgICAgICAgICAgIGZlY2hhUmVpbmdyZXNvOnRoaXMuZmVjaGFSZWluZ3Jlc28sXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyc29uYWxDdWVudGFCYW5jbyBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEN1ZW50YUJhbmNvUGVyc29uYWw6bnVtYmVyPS0xO1xyXG4gICAgcHVibGljIGNvZGlnb0N1ZW50YUJhbmNvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkN1ZW50YUJhbmNvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQmFuY286bnVtYmVyPTA7ICAgXHJcbiAgICBwdWJsaWMgaWRUaXBvQ3VlbnRhQmFuY286bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY3VlbnRhQmFuY29QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZXN0YXR1c0N1ZW50YUJhbmNvOmJvb2xlYW49dHJ1ZTtcclxuICAgIHB1YmxpYyB0aXBvQ3VlbnRhUHJpbmNpcGFsOmJvb2xlYW49ZmFsc2U7XHJcbiAgICBwdWJsaWMgY29kaWdvQmFuY286c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGN1ZW50YVJlZHVjaWRhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVCYW5jbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlVGlwb0N1ZW50YUJhbmNvOnN0cmluZz0nJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlPzpJUGVyc29uYWxDdWVudGFzQmFuY2FyaWFzKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZFBlcnNvbmFsPXBhcnNlSW50KGUuaWRfcGVyc29uYWwpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ3VlbnRhQmFuY29QZXJzb25hbD1wYXJzZUludChlLmlkX2N0YWJhbnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ3VlbnRhQmFuY29QZXJzb25hbD1lLmNvZGN0YWJhbnBlcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DdWVudGFCYW5jb1BlcnNvbmFsPWUuZGVuY3RhYmFucGVyO1xyXG4gICAgICAgICAgICB0aGlzLmlkQmFuY289cGFyc2VJbnQoZS5pZF9iYW5jbyk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvQ3VlbnRhQmFuY289cGFyc2VJbnQoZS5pZF90aXBvY3RhKTtcclxuICAgICAgICAgICAgdGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsPWUuY3RhYmFucGVyO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNDdWVudGFCYW5jbz1lLmVzdGN0YWJjbz09JzEnPyB0cnVlOmZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnRpcG9DdWVudGFQcmluY2lwYWw9ZS50aXBjdGFwcmk9PScxJz8gdHJ1ZTpmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29CYW5jbz10aGlzLmN1ZW50YUJhbmNvUGVyc29uYWwuc3Vic3RyaW5nKDAsNCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VlbnRhUmVkdWNpZGE9dGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsLnNsaWNlKDQpXHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlQmFuY289ZS5ub21iYW47XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlVGlwb0N1ZW50YUJhbmNvPWUubm9tdGlwY3RhO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGF0YUludGVyZmFjZSgpOklQZXJzb25hbEN1ZW50YXNCYW5jYXJpYXN7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLCBcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBpZF9jdGFiYW5wZXI6dGhpcy5pZEN1ZW50YUJhbmNvUGVyc29uYWwudG9TdHJpbmcoKSwgXHJcbiAgICAgICAgICAgIGNvZGN0YWJhbnBlcjp0aGlzLmNvZGlnb0N1ZW50YUJhbmNvUGVyc29uYWwsIFxyXG4gICAgICAgICAgICBkZW5jdGFiYW5wZXI6dGhpcy5kZW5vbWluYWNpb25DdWVudGFCYW5jb1BlcnNvbmFsLCBcclxuICAgICAgICAgICAgaWRfYmFuY286dGhpcy5pZEJhbmNvLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBpZF90aXBvY3RhOnRoaXMuaWRUaXBvQ3VlbnRhQmFuY28udG9TdHJpbmcoKSwgXHJcbiAgICAgICAgICAgIGN0YWJhbnBlcjp0aGlzLmN1ZW50YUJhbmNvUGVyc29uYWwsIFxyXG4gICAgICAgICAgICBlc3RjdGFiY286dGhpcy5lc3RhdHVzQ3VlbnRhQmFuY28/ICcxJzonMCcsIFxyXG4gICAgICAgICAgICB0aXBjdGFwcmk6dGhpcy50aXBvQ3VlbnRhUHJpbmNpcGFsPyAnMSc6JzAnLFxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1Fc3R1ZGlvc1JlYWxpemFkb3Mge1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRXN0dWRpbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9JzEnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkVzdHVkaW9SZWFsaXphZG86c3RyaW5nPScxJztcclxuICAgIHB1YmxpYyBpbnN0aXR1dG9Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbkVzdHVkaW9SZWFsaXphZG86c3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyB0aXR1bG9Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgY2FsaWZpY2FjaW9uRXN0dWRpb1JlYWxpemFkbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBlc2NhbGFWYWxvcmVzOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgZmVjaGFJbmljaW9Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhRmluRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBmZWNoYUdyYWRvRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBhcHJvYmFjaW9uRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9JzEnOyBcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25BcHJvYmFjaW9uRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc7IFxyXG4gICAgcHVibGljIGFub0Fwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGhvcmFzRXN0dWRpb1JlYWxpemFkbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBUaXBvRXN0dWRpbz1Fc3R1ZGlvc1xyXG4gICAgcHVibGljIEFwcm9iYWRvPUVzdGF0dXNFc3R1ZGlvXHJcblxyXG4gICAgY29uc3RydWN0b3IgKGU6SUVzdHVkaW9SZWFsaXphZG89IG51bGwpe1xyXG4gICAgICAgIGlmKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0gcGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZFBlcnNvbmFsPSBwYXJzZUludChlLmlkX3BlcnNvbmFsKTtcclxuICAgICAgICAgICAgdGhpcy5pZEVzdHVkaW89IHBhcnNlSW50KGUuaWRfZXN0dWRpbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRXN0dWRpb1JlYWxpemFkbz0gZS5jb2Rlc3RyZWE7XHJcbiAgICAgICAgICAgIHRoaXMudGlwb0VzdHVkaW9SZWFsaXphZG89IGUudGlwZXN0cmVhO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RpdHV0b0VzdHVkaW9SZWFsaXphZG89IGUuaW5zZXN0cmVhO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uRXN0dWRpb1JlYWxpemFkbz0gZS5kZXNlc3RyZWE7IFxyXG4gICAgICAgICAgICB0aGlzLnRpdHVsb0VzdHVkaW9SZWFsaXphZG89IGUudGl0ZXN0cmVhOyBcclxuICAgICAgICAgICAgdGhpcy5jYWxpZmljYWNpb25Fc3R1ZGlvUmVhbGl6YWRvPSArZS5jYWxlc3RyZWE7XHJcbiAgICAgICAgICAgIHRoaXMuZXNjYWxhVmFsb3Jlcz0gZS5lc2N2YWw7IFxyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5pY2lvRXN0dWRpb1JlYWxpemFkbz0gZS5mZWNpbmlyZWFlc3Q7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFGaW5Fc3R1ZGlvUmVhbGl6YWRvPSBlLmZlY2ZpbmVzdHJlYTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUdyYWRvRXN0dWRpb1JlYWxpemFkbz0gZS5mZWNncmFlc3RyZWE7XHJcbiAgICAgICAgICAgIHRoaXMuYXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG89IGUuYXByZXN0cmVhOyBcclxuICAgICAgICAgICAgdGhpcy5hbm9BcHJvYmFjaW9uRXN0dWRpb1JlYWxpemFkbz0gcGFyc2VJbnQoZS5hbm9hcHJlc3RyZWEpO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFzRXN0dWRpb1JlYWxpemFkbz0gcGFyc2VJbnQoZS5ob3Jlc3RyZWEpOyAgXHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0dWRpb1JlYWxpemFkbz10aGlzLlRpcG9Fc3R1ZGlvLmZpbmQoZT0+ZS52YWx1ZT09dGhpcy50aXBvRXN0dWRpb1JlYWxpemFkbykuZGVub21pbmFjaW9uICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG89dGhpcy5BcHJvYmFkby5maW5kKGU9PmUudmFsdWU9PXRoaXMuYXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG8pLmRlbm9taW5hY2lvbiAgICAgIFxyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUVzdHVkaW9SZWFsaXphZG97XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLCBcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VzdHVkaW86dGhpcy5pZEVzdHVkaW8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kZXN0cmVhOnRoaXMuY29kaWdvRXN0dWRpb1JlYWxpemFkbyxcclxuICAgICAgICAgICAgdGlwZXN0cmVhOnRoaXMudGlwb0VzdHVkaW9SZWFsaXphZG8sXHJcbiAgICAgICAgICAgIGluc2VzdHJlYTp0aGlzLmluc3RpdHV0b0VzdHVkaW9SZWFsaXphZG8sXHJcbiAgICAgICAgICAgIGRlc2VzdHJlYTp0aGlzLmRlc2NyaXBjaW9uRXN0dWRpb1JlYWxpemFkbywgXHJcbiAgICAgICAgICAgIHRpdGVzdHJlYTp0aGlzLnRpdHVsb0VzdHVkaW9SZWFsaXphZG8sIFxyXG4gICAgICAgICAgICBjYWxlc3RyZWE6dGhpcy5jYWxpZmljYWNpb25Fc3R1ZGlvUmVhbGl6YWRvLCBcclxuICAgICAgICAgICAgZXNjdmFsOnRoaXMuZXNjYWxhVmFsb3JlcywgXHJcbiAgICAgICAgICAgIGZlY2luaXJlYWVzdDp0aGlzLmZlY2hhSW5pY2lvRXN0dWRpb1JlYWxpemFkbywgXHJcbiAgICAgICAgICAgIGZlY2ZpbmVzdHJlYTp0aGlzLmZlY2hhRmluRXN0dWRpb1JlYWxpemFkbywgXHJcbiAgICAgICAgICAgIGZlY2dyYWVzdHJlYTp0aGlzLmZlY2hhR3JhZG9Fc3R1ZGlvUmVhbGl6YWRvLCBcclxuICAgICAgICAgICAgYXByZXN0cmVhOnRoaXMuYXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG8sXHJcbiAgICAgICAgICAgIGFub2FwcmVzdHJlYTp0aGlzLmFub0Fwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBob3Jlc3RyZWE6dGhpcy5ob3Jhc0VzdHVkaW9SZWFsaXphZG8udG9TdHJpbmcoKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNUHJlc3RhY2lvbmVzQW50aWd1ZWRhZCBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRmlkZWljb21pc286bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYW5vQ3VyUGVyaW9kbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBtZXNDdXJQZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHN1ZWxkb0ludGVncmFsUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYm9ub0V4dHJhUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYm9ub1ZhY2FjaW9uZXNQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBib25vRmluQW5ub1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGFwb3J0ZVBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGRpYUZpZGVpY29taXNvOm51bWJlcj0wXHJcbiAgICBwdWJsaWMgZGlhQWRpY2lvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG1ldG9kb1ByZXNhdGNpb25lczpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbWV0b2RvRGlhc0FkaWNpb25hbGVzOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBib25vVmFjYWNpb25hbERpYXNBZGljaW9uYWxlc1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGJvbm9GaW5Bbm5vRGlhc0FkaWNpb25hbGVzUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgc3VlbGRvSW50ZWdyYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBhcG9ydGVQcmVzdGFjaW9uZXNQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBhcG9ydGVBZGljaW9uYWxQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Vc3VhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZER0RmlkZWljb21pc29QZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgIFxyXG4gICAgY29uc3RydWN0b3IoZTpJUHJlc3RhY2lvbmVzQW50aWd1ZWRhZD1udWxsKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7IFxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9wZXJzb25hbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRGaWRlaWNvbWlzbz1wYXJzZUludChlLmlkX2ZpZGVpY29taXNvKTtcclxuICAgICAgICAgICAgdGhpcy5hbm9DdXJQZXJpb2RvPXBhcnNlSW50KGUuYW5vY3VycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5tZXNDdXJQZXJpb2RvPXBhcnNlSW50KGUubWVzY3VycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zdWVsZG9JbnRlZ3JhbFBlcnNvbmFsPStlLnN1ZWludHBlcjtcclxuICAgICAgICAgICAgdGhpcy5ib25vRXh0cmFQZXJzb25hbD0rZS5ib25leHRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub1ZhY2FjaW9uZXNQZXJzb25hbD0rZS5ib252YWNwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub0ZpbkFubm9QZXJzb25hbD0rZS5ib25maW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYXBvcnRlUGVyc29uYWw9K2UuYXBvcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmRpYUZpZGVpY29taXNvPStlLmRpYWZpZDtcclxuICAgICAgICAgICAgdGhpcy5kaWFBZGljaW9uYWw9K2UuZGlhYWRpO1xyXG4gICAgICAgICAgICB0aGlzLm1ldG9kb1ByZXNhdGNpb25lcz1lLm1ldG9kb3ByZTtcclxuICAgICAgICAgICAgdGhpcy5tZXRvZG9EaWFzQWRpY2lvbmFsZXM9ZS5tZXRvZG9hZGk7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub1ZhY2FjaW9uYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5ib252YWNhZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub0ZpbkFubm9EaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5ib25maW5hZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuc3VlbGRvSW50ZWdyYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5zdWVpbnRhZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYXBvcnRlUHJlc3RhY2lvbmVzUGVyc29uYWw9K2UuYXBvcHJlcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmFwb3J0ZUFkaWNpb25hbFBlcnNvbmFsPStlLmFwb2FkaXBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Vc3VhcmlvPWUuY29kdXN1O1xyXG4gICAgICAgICAgICB0aGlzLmlkRHRGaWRlaWNvbWlzb1BlcmlvZG89cGFyc2VJbnQoZS5pZF9kdF9maWRlaXBlcmlvZG8pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUHJlc3RhY2lvbmVzQW50aWd1ZWRhZHtcclxuICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2ZpZGVpY29taXNvOnRoaXMuaWRGaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBhbm9jdXJwZXI6dGhpcy5hbm9DdXJQZXJpb2RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIG1lc2N1cnBlcjp0aGlzLm1lc0N1clBlcmlvZG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgc3VlaW50cGVyOnRoaXMuc3VlbGRvSW50ZWdyYWxQZXJzb25hbCxcclxuICAgICAgICAgICAgYm9uZXh0cGVyOnRoaXMuYm9ub0V4dHJhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGJvbnZhY3Blcjp0aGlzLmJvbm9WYWNhY2lvbmVzUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGJvbmZpbnBlcjp0aGlzLmJvbm9GaW5Bbm5vUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGFwb3Blcjp0aGlzLmFwb3J0ZVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBkaWFmaWQ6dGhpcy5kaWFGaWRlaWNvbWlzbyxcclxuICAgICAgICAgICAgZGlhYWRpOnRoaXMuZGlhQWRpY2lvbmFsLFxyXG4gICAgICAgICAgICBtZXRvZG9wcmU6dGhpcy5tZXRvZG9QcmVzYXRjaW9uZXMsXHJcbiAgICAgICAgICAgIG1ldG9kb2FkaTp0aGlzLm1ldG9kb0RpYXNBZGljaW9uYWxlcyxcclxuICAgICAgICAgICAgYm9udmFjYWRpcGVyOnRoaXMuYm9ub1ZhY2FjaW9uYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgYm9uZmluYWRpcGVyOnRoaXMuYm9ub0ZpbkFubm9EaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgc3VlaW50YWRpcGVyOnRoaXMuc3VlbGRvSW50ZWdyYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgYXBvcHJlcGVyOnRoaXMuYXBvcnRlUHJlc3RhY2lvbmVzUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGFwb2FkaXBlcjp0aGlzLmFwb3J0ZUFkaWNpb25hbFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2R1c3U6dGhpcy5jb2RpZ29Vc3VhcmlvLFxyXG4gICAgICAgICAgICBpZF9kdF9maWRlaXBlcmlvZG86dGhpcy5pZER0RmlkZWljb21pc29QZXJpb2RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgXHJcbn1cclxuXHJcbiJdfQ==
599
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBlcnNvbmFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxTQUFVLFNBQVEsV0FBVztJQWlIdEMsWUFBYSxJQUFZLElBQUk7UUFDekIsS0FBSyxFQUFFLENBQUE7UUFqSEosY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQixpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLG1CQUFjLEdBQVMsRUFBRSxDQUFDLENBQUEsS0FBSztRQUMvQixtQkFBYyxHQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDakMsZ0JBQVcsR0FBUyxFQUFFLENBQUMsQ0FBQSxLQUFLO1FBQzVCLG1CQUFjLEdBQVMsRUFBRSxDQUFDLENBQUEsS0FBSztRQUMvQixxQkFBZ0IsR0FBUyxFQUFFLENBQUM7UUFDNUIsNEJBQXVCLEdBQVMsWUFBWSxDQUFDO1FBQzdDLHlCQUFvQixHQUFTLEVBQUUsQ0FBQztRQUNoQywyQkFBc0IsR0FBUyxFQUFFLENBQUM7UUFDbEMseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQy9CLHdCQUFtQixHQUFRLEdBQUcsQ0FBQztRQUMvQiwrQkFBMEIsR0FBUSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQzFDLDBCQUFxQixHQUFRLEVBQUUsQ0FBQyxDQUFRLElBQUk7UUFDNUMsOEJBQXlCLEdBQVEsRUFBRSxDQUFDLENBQUMsSUFBSTtRQUN6QyxzQkFBaUIs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QXFCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFFBQVEsQ0FBQSxDQUFDO29CQUM3RCxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFNBQVMsQ0FBQSxDQUFDO3dCQUM5RCxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFVBQVUsQ0FBQSxDQUFDOzRCQUMvRCxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFVBQVUsQ0FBQSxDQUFDO2dDQUMvRCxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFFBQVEsQ0FBQSxDQUFDO29DQUM3RCxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLGFBQWEsQ0FBQSxDQUFDO3dDQUNsRSxJQUFJLENBQUMsZUFBZSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLGFBQWEsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxHQUFHLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxvQkFBb0IsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN2QixJQUFHLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxFQUFDO2dCQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLHNCQUFzQixHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7YUFDNUM7aUJBQU0sSUFBRyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQztnQkFDcEIsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDakQ7WUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGFBQWEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyx1QkFBdUI7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDcEMsU0FBUyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDdEMsTUFBTSxFQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDaEMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsU0FBUyxFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDckMsU0FBUyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDNUIsTUFBTSxFQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUMzQixNQUFNLEVBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUM1QixTQUFTLEVBQUMsSUFBSSxDQUFDLDBCQUEwQjtZQUN6QyxRQUFRLEVBQUMsSUFBSSxDQUFDLFFBQVE7WUFDdEIsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2QsT0FBTyxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQ3hCLE9BQU8sRUFBQyxJQUFJLENBQUMsYUFBYTtZQUMxQixPQUFPLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDeEIsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQzdCLFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3JDLGFBQWEsRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ2hDLFFBQVEsRUFBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ3RCLE1BQU0sRUFBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixNQUFNLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsU0FBUyxFQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGFBQWE7WUFDekIsTUFBTSxFQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLE1BQU0sRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLFNBQVMsRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQ2pDLFNBQVMsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCO1lBQ3BDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZDLFlBQVksRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzdDLFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLFlBQVksRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQzFDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsbUNBQW1DO1lBQ2xELFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLFlBQVksRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQ2xDLGVBQWUsRUFBQyxJQUFJLENBQUMsaUNBQWlDO1lBQ3RELGNBQWMsRUFBQyxJQUFJLENBQUMsdUJBQXVCO1lBQzNDLGNBQWMsRUFBQyxJQUFJLENBQUMsNkJBQTZCO1lBQ2pELFNBQVMsRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ2hDLGFBQWEsRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQzVDLGFBQWEsRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzlDLGFBQWEsRUFBQyxJQUFJLENBQUMsMEJBQTBCO1lBQzdDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFdBQVcsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMsdUJBQXVCO1lBQ3RDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ2xDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ2xDLFNBQVMsRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQ3hDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUTtZQUN0QixVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDM0IsU0FBUyxFQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3hCLE9BQU8sRUFBQyxJQUFJLENBQUMsY0FBYztZQUMzQixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUM3QixTQUFTLEVBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUNuQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGFBQWE7WUFDekIsV0FBVyxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQzVCLFdBQVcsRUFBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ2hDLGVBQWUsRUFBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ3BDLE1BQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzVCLE1BQU0sRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ2xDLE1BQU0sRUFBQyxJQUFJLENBQUMsV0FBVztZQUN2QixNQUFNLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUM3QixXQUFXLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNuQyxXQUFXLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN6QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNqQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUM3QixNQUFNLEVBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUNuQyx3QkFBd0IsRUFBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFO1lBQ2hFLFlBQVksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsTUFBTSxFQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDakMsUUFBUSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsR0FBRztZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLFVBQVU7WUFDdEIsTUFBTSxFQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBQyxJQUFJLENBQUMsZUFBZTtZQUMzQixNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsVUFBVSxFQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFDdEMsVUFBVSxFQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDcEMsVUFBVSxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ3hDLE9BQU8sRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM5QixTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDNUMsQ0FBQTtJQUNMLENBQUM7Q0FFSjtBQUVELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBY25ELFlBQWEsSUFBeUIsSUFBSTtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQWRMLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQixtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFTLEdBQUcsQ0FBQztRQUMxQixpQkFBWSxHQUFTLEdBQUcsQ0FBQztRQUN6QixnQkFBVyxHQUFTLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFTLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQVMsR0FBRyxDQUFDO1FBQ3JCLGVBQVUsR0FBUyxDQUFDLENBQUM7UUFDckIsZ0JBQVcsR0FBUyxFQUFFLENBQUM7UUFDdkIsbUJBQWMsR0FBUSxZQUFZLENBQUM7UUFJdEMsSUFBRyxDQUFDLEVBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsY0FBYyxDQUFDO1NBRXpDO0lBQ0wsQ0FBQztJQUNNLGFBQWE7UUFDaEIsT0FBTztZQUNILFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUztZQUN6QixhQUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsY0FBYyxFQUFDLElBQUksQ0FBQyxjQUFjO1NBQ3JDLENBQUE7SUFDTCxDQUFDO0NBR0o7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQWlCakQsWUFBWSxDQUE0QjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQWpCTCxjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGVBQVUsR0FBUSxDQUFDLENBQUM7UUFDcEIsMEJBQXFCLEdBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEMsOEJBQXlCLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLG9DQUErQixHQUFRLEVBQUUsQ0FBQztRQUMxQyxZQUFPLEdBQVEsQ0FBQyxDQUFDO1FBQ2pCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQix3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDOUIsdUJBQWtCLEdBQVMsSUFBSSxDQUFDO1FBQ2hDLHdCQUFtQixHQUFTLEtBQUssQ0FBQztRQUNsQyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7UUFJbkMsSUFBSSxDQUFDLEVBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyx5QkFBeUIsR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQywrQkFBK0IsR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxHQUFHLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDO1lBQ3JELElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsU0FBUyxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFLLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQzFDO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTztZQUNILGFBQWEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVM7WUFDekIsV0FBVyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFlBQVksRUFBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFO1lBQ2xELFlBQVksRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQzNDLFlBQVksRUFBQyxJQUFJLENBQUMsK0JBQStCO1lBQ2pELFFBQVEsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNoQyxVQUFVLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUM1QyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFBLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUc7WUFDMUMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQSxDQUFDLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxHQUFHO1NBRTlDLENBQUE7SUFFTCxDQUFDO0NBRUo7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBdUI1QixZQUFhLElBQXFCLElBQUk7UUF0Qi9CLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLDJCQUFzQixHQUFRLEVBQUUsQ0FBQztRQUNqQyx5QkFBb0IsR0FBUSxHQUFHLENBQUM7UUFDaEMsaUNBQTRCLEdBQVEsR0FBRyxDQUFDO1FBQ3hDLDhCQUF5QixHQUFRLEVBQUUsQ0FBQztRQUNwQyxnQ0FBMkIsR0FBUSxFQUFFLENBQUM7UUFDdEMsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBQ2pDLGlDQUE0QixHQUFRLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixnQ0FBMkIsR0FBUSxZQUFZLENBQUM7UUFDaEQsNkJBQXdCLEdBQVEsWUFBWSxDQUFDO1FBQzdDLCtCQUEwQixHQUFRLFlBQVksQ0FBQztRQUMvQywrQkFBMEIsR0FBUSxHQUFHLENBQUM7UUFFdEMsa0NBQTZCLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZDLDBCQUFxQixHQUFRLENBQUMsQ0FBQztRQUMvQixnQkFBVyxHQUFDLFFBQVEsQ0FBQTtRQUNwQixhQUFRLEdBQUMsY0FBYyxDQUFBO1FBRzFCLElBQUcsQ0FBQyxFQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRSxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLHNCQUFzQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxDQUFDLDJCQUEyQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUMsSUFBSSxDQUFDLHNCQUFzQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLDRCQUE0QixHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDOUMsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDaEQsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxDQUFDLDZCQUE2QixHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLHFCQUFxQixHQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLDRCQUE0QixHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDM0csSUFBSSxDQUFDLHNDQUFzQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxZQUFZLENBQUE7U0FDM0g7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGFBQWEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3BDLFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3JDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMseUJBQXlCO1lBQ3hDLFNBQVMsRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzFDLFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3JDLFNBQVMsRUFBQyxJQUFJLENBQUMsNEJBQTRCO1lBQzNDLE1BQU0sRUFBQyxJQUFJLENBQUMsYUFBYTtZQUN6QixZQUFZLEVBQUMsSUFBSSxDQUFDLDJCQUEyQjtZQUM3QyxZQUFZLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUMxQyxZQUFZLEVBQUMsSUFBSSxDQUFDLDBCQUEwQjtZQUM1QyxTQUFTLEVBQUMsSUFBSSxDQUFDLDBCQUEwQjtZQUN6QyxZQUFZLEVBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRTtZQUMxRCxTQUFTLEVBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRTtTQUNsRCxDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQVc7SUF3QnBELFlBQVksSUFBMEIsSUFBSTtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQXhCTCxjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGVBQVUsR0FBUSxDQUFDLENBQUM7UUFDcEIsa0JBQWEsR0FBUSxDQUFDLENBQUM7UUFDdkIsa0JBQWEsR0FBUSxDQUFDLENBQUM7UUFDdkIsa0JBQWEsR0FBUSxDQUFDLENBQUM7UUFDdkIsMkJBQXNCLEdBQVEsQ0FBQyxDQUFDO1FBQ2hDLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQiwyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFDaEMsd0JBQW1CLEdBQVEsQ0FBQyxDQUFDO1FBQzdCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVEsQ0FBQyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUM3QiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7UUFDaEMsMENBQXFDLEdBQVEsQ0FBQyxDQUFDO1FBQy9DLHVDQUFrQyxHQUFRLENBQUMsQ0FBQztRQUM1QywwQ0FBcUMsR0FBUSxDQUFDLENBQUM7UUFDL0MsK0JBQTBCLEdBQVEsQ0FBQyxDQUFDO1FBQ3BDLDRCQUF1QixHQUFRLENBQUMsQ0FBQztRQUNqQyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QiwyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFJbkMsSUFBSSxDQUFDLEVBQUU7WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUE7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHFDQUFxQyxHQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMzRCxJQUFJLENBQUMsa0NBQWtDLEdBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ3hELElBQUksQ0FBQyxxQ0FBcUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDM0QsSUFBSSxDQUFDLDBCQUEwQixHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLENBQUMsdUJBQXVCLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsc0JBQXNCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzlEO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU07WUFDRixVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzFDLFdBQVcsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxjQUFjLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDNUMsU0FBUyxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxTQUFTLEVBQUMsSUFBSSxDQUFDLHNCQUFzQjtZQUNyQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUNoQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHNCQUFzQjtZQUNyQyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWM7WUFDMUIsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjO1lBQzFCLE1BQU0sRUFBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNqQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHFCQUFxQjtZQUNwQyxZQUFZLEVBQUMsSUFBSSxDQUFDLHFDQUFxQztZQUN2RCxZQUFZLEVBQUMsSUFBSSxDQUFDLGtDQUFrQztZQUNwRCxZQUFZLEVBQUMsSUFBSSxDQUFDLHFDQUFxQztZQUN2RCxTQUFTLEVBQUMsSUFBSSxDQUFDLDBCQUEwQjtZQUN6QyxTQUFTLEVBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN0QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGFBQWE7WUFDekIsa0JBQWtCLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtTQUM1RCxDQUFBO0lBQ0wsQ0FBQztDQUdKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXN0YXR1c0VzdHVkaW8sIEVzdHVkaW9zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Db25zdGFudGVzJztcclxuaW1wb3J0IHsgSUNhbWJpb0VzdGF0dXNQZXJzb25hbCwgSUVzdHVkaW9SZWFsaXphZG8sIElQZXJzb25hbCwgSVBlcnNvbmFsQ3VlbnRhc0JhbmNhcmlhcywgSVByZXN0YWNpb25lc0FudGlndWVkYWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vcyc7XHJcbmltcG9ydCB7IE1CYXNpY01vZGVsIH0gZnJvbSAnLi4vYmFzaWMtbW9kZWwubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1QZXJzb25hbCBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgICBwdWJsaWMgaWRQZXJzb25hbDogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGNvZGlnb1BlcnNvbmFsOiBzdHJpbmc9Jyc7Ly8xMCBcclxuICAgIHB1YmxpYyBjZWR1bGFQZXJzb25hbDogc3RyaW5nPSAnJzsgLy8xMCBcclxuICAgIHB1YmxpYyByaWZQZXJzb25hbDogc3RyaW5nPScnOy8vMTUgXHJcbiAgICBwdWJsaWMgbm9tYnJlUGVyc29uYWw6IHN0cmluZz0nJzsvLzYwIFxyXG4gICAgcHVibGljIGFwZWxsaWRvUGVyc29uYWw6IHN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgZmVjaGFOYWNpbWllbnRvUGVyc29uYWw6IHN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGNvZGlnb1BhaXNOYWNpbWllbnRvOnN0cmluZyA9Jyc7ICAgICBcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3RhZG9OYWNpbWllbnRvOnN0cmluZyA9Jyc7ICBcclxuICAgIHB1YmxpYyBuYWNpb25hbGlkYWRQZXJzb25hbDpzdHJpbmc9Jyc7ICAgXHJcbiAgICBwdWJsaWMgZXN0YWRvQ2l2aWxQZXJzb25hbDpzdHJpbmc9J1MnO1xyXG4gICAgcHVibGljIHRlbGVmb25vSGFiaXRhY2lvblBlcnNvbmFsOnN0cmluZz0nJzsgLy8xNVxyXG4gICAgcHVibGljIHRlbGVmb25vTW92aWxQZXJzb2JhbDpzdHJpbmc9Jyc7ICAgICAgICAvLzE1XHJcbiAgICBwdWJsaWMgY29ycmVvRWxlY3Ryb25pY29QZXJzb25hbDpzdHJpbmc9Jyc7IC8vNjBcclxuICAgIHB1YmxpYyBkaXJlY2Npb25QZXJzb25hbDpzdHJpbmc9Jyc7IC8vMjU1XHJcbiAgICBwdWJsaWMgY29kaWdvUGFpczpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb0VzdGFkbzpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb011bmljaXBpbzpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGNvZGlnb1BhcnJvcXVpYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgc2V4b1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgbnVtZXJvSGlqbzpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgY29ueXVndWVUcmFiYWphOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjZWR1bGFCZW5lZmljaWFyaW9QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGVzdGF0dXJhOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgcGVzbzogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIHRhbGxhQ2FtaXNhOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgdGFsbGFQYW50YWxvbjpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIHRhbGxhWmFwYXRvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgaWRQcm9mZXNpb246bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIG5pdmVsQWNhZGVtaWNvUGVyc29uYWw6c3RyaW5nPScnOyAvLzFcclxuICAgIHB1YmxpYyBpZENvbXBvbmVudGU6IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFJhbmdvOiBudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgZm90b1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgb2JzZXJ2YWNpb25QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIGVzdGF0dXNQZXJzb25hbDpzdHJpbmc9JzEnOyBcclxuICAgIHB1YmxpYyBpZENsYXNpZmljYWNpb25QZXJzb25hbDogbnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGNlbnRyb01lZGljb0lWVlM6c3RyaW5nPScnOyAvLzE1NVxyXG4gICAgcHVibGljIHR1cm5vUGVyc29uYWw6c3RyaW5nPScnOyAvLzFcclxuICAgIHB1YmxpYyBob3JhcmlvUGVyc29uYWw6c3RyaW5nPScnOyAvLzEwXHJcbiAgICBwdWJsaWMgZXN0YXR1c0hDTVBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyB0aXBvU2FuZ3JlUGVyc29uYWw6c3RyaW5nPScnOy8vMTBcclxuICAgIHB1YmxpYyBudW1lcm9FeHBlZGllbnRlUGVyc29uYWw6c3RyaW5nPScnOyAvLzIwXHJcbiAgICBwdWJsaWMgY2FyZ29PcmlnaW5hbFBlcnNvbmFsOnN0cmluZz0nJzsgLy8xMDBcclxuICAgIHB1YmxpYyB0aXBvVml2aWVuZGFQZXJzb25hbDpudW1iZXI9MDsgLy9vam9cclxuICAgIHB1YmxpYyB0ZW5lbmNpYVZpdmllbmRhUGVyc29uYWw6c3RyaW5nPScnOyAvLzQwL29qb1xyXG4gICAgcHVibGljIG1vbnRvUGFnYWRvVml2aWVuZGFQZXJzb25hbDpudW1iZXIgPTA7IFxyXG4gICAgcHVibGljIGVzdGF0dXNDYWphQWhvcnJvOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBjdWVudGFDYWphQWhvcnJvUGVyc29uYWw6c3RyaW5nPScnOyAvLzI1XHJcbiAgICBwdWJsaWMgcG9yY2VudGFqZUNhamFBaG9ycm86bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGN1ZXRhTGV5UG9saXRpY2FIYWJpdGFjaW9uYVBlcnNvbmFsOnN0cmluZz0nJzsgLy8yNVxyXG4gICAgcHVibGljIGN1ZW50YUZpZGVpY29taXNvOnN0cmluZz0nJzsgLy8yNVxyXG4gICAgcHVibGljIGVzdGF0dXNTaW5kaWNhdG86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGZlY2hhSW5ncmVzb0FkbWluaXN0cmFjaW9uUHVibGljYTpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBhbm9TZXJ2aWNpb1ByZXZpb0Zpam9BUDpudW1iZXI9MDsgLy9pbnRlZ2VyXHJcbiAgICBwdWJsaWMgYW5vU2VydmljaW9QcmV2aW9Db250cmF0YWRvQVA6bnVtYmVyPTA7IC8vaW50ZWdlclxyXG4gICAgcHVibGljIGFub1BlcnNvbmFsT2JyZXJvOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBhbm9TZXJ2aWNpb1ByZXZpb1BlcnNvbmFsOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBtZXNlc1NlcnZpY2lvUHJldmlvUGVyc29uYWw6bnVtYmVyPTA7IC8vaW50ZWdlclxyXG4gICAgcHVibGljIGRpYXNTZXJ2aWNpb1ByZXZpb1BlcnNvbmFsOm51bWJlcj0wOyAvL2ludGVnZXJcclxuICAgIHB1YmxpYyBmZWNoYUluZ2Vyb3NQZXJzb25hbDpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBmZWNoYVJlaW5ncmVzb1BlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhanViaWxhY2lvblBlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhRWdyZXNvUGVyc29uYWw6c3RyaW5nPScxOTAwLTAxLTAxJzsgXHJcbiAgICBwdWJsaWMgY2F1c2FFZ3Jlc29QZXJzb25hbDpzdHJpbmc9J04nOyAvLzFcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvbkVncmVzb1BlcnNvbmFsOnN0cmluZz0nJzsgLy8yNTRcclxuICAgIHB1YmxpYyBwcmVhdmlzbzpzdHJpbmc9JzAnOyAvLzFcclxuICAgIHB1YmxpYyBmZWNoYUxPU0ZBTjpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBzaXR1YWNpb246c3RyaW5nPSdOJzsgLy8xXHJcbiAgICBwdWJsaWMgZmVjaGFTaXR1YWNpb246c3RyaW5nPScxOTAwLTAxLTAxJzsgXHJcbiAgICBwdWJsaWMgaWRDYXVzYWxlczogbnVtYmVyID0wOyBcclxuICAgIHB1YmxpYyBmZWNoYVJlZ2lzdHJvU2lzdGVtYTpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBjb2RpZG9Vc3VhcmlvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgb2JzZXJ2YWNpb246IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgaWRDZW50cm9NZWRpY286IG51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFRpcG9QZXJzb25hbDpudW1iZXI9MDsgICAgICAgXHJcbiAgICBwdWJsaWMgY29kaWdvQ29tcG9uZW50ZTogc3RyaW5nID0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Db21wb25lbnRlOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1JhbmdvOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblJhbmdvOiBzdHJpbmcgPScnOyBcclxuICAgIHB1YmxpYyBjb2RpZ29DZW50cm9NZWRpY286IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2VudHJvTWVkaWNvOiBzdHJpbmcgPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1RpcG9QZXJzb25hbDogc3RyaW5nID0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvUGVyc29uYWw6IHN0cmluZyA9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvQ2F1c2FSZXRpcm86c3RyaW5nPScnOyAgXHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2F1c2FSZXRpcm86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZFByb3ZlZWRvckJlbmVmaWNpYXJpbzpudW1iZXI9MDsgICBcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb25hcGRpczpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIGlkU2luZGljYXRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb1NpbmRpY2F0bzpzdHJpbmc9JzAwMDAwJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25TaW5kaWNhdG86c3RyaW5nPScnOyAgXHJcbiAgICBwdWJsaWMgbm9tYnJlUGFpczpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlRXN0YWRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVNdW5pY2lwaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZVBhcnJvcXVpYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlUGFpc05hY2ltaWVudG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG5vbWJyZUVzdGFkb05hY2ltaWVudG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1Byb2Zlc2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblByb2Zlc2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG1vbnRvUGVuc2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBsYW5Ib3JhcmlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkSG9yYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvblBsYW5Ib3JhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29QbGFuSG9yYXJpbzpzdHJpbmc9Jyc7ICBcclxuICAgIHB1YmxpYyBpZFB1ZXN0b1RyYWJham86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25QdWVzdG9UcmFiYWpvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29QdWVzdG9UcmFiYWpvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbkhvcmFyaW86c3RyaW5nPScnOyAgIFxyXG4gICAgXHJcblxyXG4gICAgY29uc3RydWN0b3IgKHA6SVBlcnNvbmFsPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAocCl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStwLmlkX2VudGVycHJpc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXAuaWRfZW1wcmVzYTsgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9ICtwLmlkX3BlcnNvbmFsO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BlcnNvbmFsPSBwLmNvZHBlcjtcclxuICAgICAgICAgICAgdGhpcy5jZWR1bGFQZXJzb25hbD0gcC5jZWRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMucmlmUGVyc29uYWw9IHAucmlmcGVyO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVBlcnNvbmFsPSBwLm5vbXBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuYXBlbGxpZG9QZXJzb25hbD0gcC5hcGVwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFOYWNpbWllbnRvUGVyc29uYWw9IHAuZmVjbmFjcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BhaXNOYWNpbWllbnRvPSBwLmNvZHBhaW5hYztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RhZG9OYWNpbWllbnRvPSBwLmNvZGVzdG5hYzsgIFxyXG4gICAgICAgICAgICB0aGlzLm5hY2lvbmFsaWRhZFBlcnNvbmFsPSBwLm5hY3BlcjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhZG9DaXZpbFBlcnNvbmFsPSBwLmVzdGNpdnBlcjtcclxuICAgICAgICAgICAgdGhpcy50ZWxlZm9ub0hhYml0YWNpb25QZXJzb25hbD0gcC50ZWxoYWJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMudGVsZWZvbm9Nb3ZpbFBlcnNvYmFsPSBwLnRlbG1vdnBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb3JyZW9FbGVjdHJvbmljb1BlcnNvbmFsPSBwLmNvcmVsZXBlcjtcclxuICAgICAgICAgICAgdGhpcy5kaXJlY2Npb25QZXJzb25hbD0gcC5kaXJwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGFpcz0gcC5jb2RwYWk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRXN0YWRvPSBwLmNvZGVzdDtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29NdW5pY2lwaW89IHAuY29kbXVuO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BhcnJvcXVpYT0gcC5jb2RwYXI7XHJcbiAgICAgICAgICAgIHRoaXMuc2V4b1BlcnNvbmFsPSBwLnNleHBlcjtcclxuICAgICAgICAgICAgdGhpcy5udW1lcm9IaWpvPStwLm51bWhpanBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuY29ueXVndWVUcmFiYWphPSArcC5jb250cmE7IFxyXG4gICAgICAgICAgICB0aGlzLmNlZHVsYUJlbmVmaWNpYXJpb1BlcnNvbmFsPSBwLmNlZGJlbnBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1cmE9K3AuZXN0YXR1cmE7XHJcbiAgICAgICAgICAgIHRoaXMucGVzbz0rcC5wZXNvO1xyXG4gICAgICAgICAgICB0aGlzLnRhbGxhQ2FtaXNhPSBwLnRhbGxjYW1cclxuICAgICAgICAgICAgdGhpcy50YWxsYVBhbnRhbG9uPXAudGFsbHBhbjsxIFxyXG4gICAgICAgICAgICB0aGlzLnRhbGxhWmFwYXRvPSBwLnRhbGx6YXA7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQcm9mZXNpb249ICtwLmlkX3Byb2Zlc2lvbjsgXHJcbiAgICAgICAgICAgIHRoaXMubml2ZWxBY2FkZW1pY29QZXJzb25hbD0gcC5uaXZhY2FwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDb21wb25lbnRlPStwLmlkX2NvbXBvbmVudGU7XHJcbiAgICAgICAgICAgIHRoaXMuaWRSYW5nbz0rcC5pZF9yYW5nbztcclxuICAgICAgICAgICAgdGhpcy5mb3RvUGVyc29uYWw9IHAuZm90cGVyO1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uUGVyc29uYWw9IHAub2JzZWdycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD0gcC5lc3RwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDbGFzaWZpY2FjaW9uUGVyc29uYWw9K3AuaWRfY2xhcGVyO1xyXG4gICAgICAgICAgICB0aGlzLnR1cm5vUGVyc29uYWw9IHAudHVycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFyaW9QZXJzb25hbD0gcC5ob3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c0hDTVBlcnNvbmFsPSArcC5oY21wZXI7IFxyXG4gICAgICAgICAgICB0aGlzLnRpcG9TYW5ncmVQZXJzb25hbD0gcC50aXBzYW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMubnVtZXJvRXhwZWRpZW50ZVBlcnNvbmFsPSBwLm51bWV4cHBlcjtcclxuICAgICAgICAgICAgdGhpcy5jYXJnb09yaWdpbmFsUGVyc29uYWw9IHAuY2Fyb3JpcGVyO1xyXG4gICAgICAgICAgICB0aGlzLnRpcG9WaXZpZW5kYVBlcnNvbmFsPSArcC50aXB2aXZwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLnRlbmVuY2lhVml2aWVuZGFQZXJzb25hbD0gcC50ZW52aXZwZXI7XHJcbiAgICAgICAgICAgIHRoaXMubW9udG9QYWdhZG9WaXZpZW5kYVBlcnNvbmFsPSArcC5tb25wYWd2aXZwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNDYWphQWhvcnJvPSArcC5lc3RjYWphaG87IFxyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUNhamFBaG9ycm9QZXJzb25hbD0gcC5jdWVjYWphaG9wZXI7XHJcbiAgICAgICAgICAgIHRoaXMucG9yY2VudGFqZUNhamFBaG9ycm89ICtwLnBvcmNhamFobzsgXHJcbiAgICAgICAgICAgIHRoaXMuY3VldGFMZXlQb2xpdGljYUhhYml0YWNpb25hUGVyc29uYWw9IHAuY3VlbHBocGVyO1xyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUZpZGVpY29taXNvPSBwLmN1ZWZpZHBlcjsxXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1NpbmRpY2F0bz0rcC5lc3RzaW5kaWNhdG87XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvQWRtaW5pc3RyYWNpb25QdWJsaWNhPSBwLmZlY2luZ2FkbXB1YnBlcjtcclxuICAgICAgICAgICAgdGhpcy5hbm9TZXJ2aWNpb1ByZXZpb0Zpam9BUD0gK3AuYW5vc2VydnByZWZpam87XHJcbiAgICAgICAgICAgIHRoaXMuYW5vU2VydmljaW9QcmV2aW9Db250cmF0YWRvQVA9ICtwLmFub3NlcnZwcmVjb250OyBcclxuICAgICAgICAgICAgdGhpcy5hbm9QZXJzb25hbE9icmVybz0gK3AuYW5vcGVyb2JyO1xyXG4gICAgICAgICAgICB0aGlzLmFub1NlcnZpY2lvUHJldmlvUGVyc29uYWw9ICtwLmFub3NlcnZwcmVwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLm1lc2VzU2VydmljaW9QcmV2aW9QZXJzb25hbD0gK3AubWVzc2VydnByZXBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZGlhc1NlcnZpY2lvUHJldmlvUGVyc29uYWw9ICtwLmRpYXNlcnZwcmVwZXI7IFxyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5nZXJvc1BlcnNvbmFsPSBwLmZlY2luZ3BlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWluZ3Jlc29QZXJzb25hbD0gcC5mZWNyZWluZ3BlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFqdWJpbGFjaW9uUGVyc29uYWw9IHAuZmVjanVicGVyOyBcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUVncmVzb1BlcnNvbmFsPSBwLmZlY2VncnBlcjsgXHJcbiAgICAgICAgICAgIHRoaXMuY2F1c2FFZ3Jlc29QZXJzb25hbD0gcC5jYXVlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWNpb25FZ3Jlc29QZXJzb25hbD0gcC5vYnNlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMucHJlYXZpc289IHAucHJlYXZpc287XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFMT1NGQU49IHAuZmVjbG9zc2ZhbjtcclxuICAgICAgICAgICAgdGhpcy5zaXR1YWNpb249IHAuc2l0dWFjaW9uO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhU2l0dWFjaW9uPSBwLmZlY3NpdHU7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXVzYWxlcz0gK3AuaWRfY2F1c2FsZXM7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWdpc3Ryb1Npc3RlbWE9IHAuZmVjcmVnc2lzO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlkb1VzdWFyaW89IHAuY29kdXN1O1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uID1wLm9ic2VydmFjaW9uO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ2VudHJvTWVkaWNvPSBwLmlkX2Nlbm1lZHNzLCBcclxuICAgICAgICAgICAgdGhpcy5pZFRpcG9QZXJzb25hbD0gcC5pZF90aXBvcGVyc29uYWwsXHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ29tcG9uZW50ZT1wLmNvZGNvbTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Db21wb25lbnRlPXAuZGVuY29tO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1JhbmdvPXAuY29kcmFuO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblJhbmdvPXAuZGVucmFuOyBcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DZW50cm9NZWRpY289cC5jb2RjZW5tZWRzcztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DZW50cm9NZWRpY289cC5kZW5jZW5tZWRzcztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UaXBvUGVyc29uYWw9cC5jb2R0aXBwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsPXAuZGVudGlwcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NhdXNhUmV0aXJvPXAuZGVuY2F1O1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkNhdXNhUmV0aXJvPXAuY29kY2F1O1xyXG4gICAgICAgICAgICB0aGlzLmlkUHJvdmVlZG9yQmVuZWZpY2lhcmlvPXBhcnNlSW50KHAuaWRfcHJvdmVlZG9yYmVuZWZpY2lhcmlvKTtcclxuICAgICAgICAgICAgdGhpcy5pZFNpbmRpY2F0bz1wYXJzZUludChwLmlkX3NpbmRpY2F0byk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvU2luZGljYXRvPXAuY29kc2luO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblNpbmRpY2F0bz1wLmRlbnNpbjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUGVyc29uYWw9PScwJz8gdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPSdQUkUtSU5HUkVTTycgOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzEnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J0FDVElWTyc6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nMic/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nTklOR1VOTyc6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nMyc/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nRUdSRVNBRE8nOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzQnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J1JFTU9DScOTTic6XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0nNSc/IHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz0nUkVUSVJPJzpcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzUGVyc29uYWw9PSc2Jz8gdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPSdERVNUSVRVQ0nDk04nOlxyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09JzcnPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9J0xJUVVJREFDScOTTic6Jyc7XHJcbiAgICAgICAgICAgIHRoaXMuY29uYXBkaXM9cC5jb25hcGRpcz09JzEnPyB0cnVlOmZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlkU2luZGljYXRvPSBwYXJzZUludChwLmlkX3NpbmRpY2F0byk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvU2luZGljYXRvPXAuY29kc2luO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblNpbmRpY2F0bz1wLmRlbnNpbjtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQYWlzPXAuZGVzcGFpO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUVzdGFkbz1wLmRlc2VzdDtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVNdW5pY2lwaW89cC5kZXNtdW47XHJcbiAgICAgICAgICAgIHRoaXMubm9tYnJlUGFycm9xdWlhPXAuZGVzcGFyOyBcclxuICAgICAgICAgICAgdGhpcy5ub21icmVFc3RhZG9OYWNpbWllbnRvPXAuZGVzZXN0X25hYztcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQYWlzTmFjaW1pZW50bz1wLmRlc3BhaV9uYWM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUHJvZmVzaW9uPXAuY29kcHJvO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblByb2Zlc2lvbj1wLmRlbnBybztcclxuICAgICAgICAgICAgdGhpcy5tb250b1BlbnNpb249K3AubW9ucGVuO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89K3AuaWRfcGxhbmhvcjsgICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5pZEhvcmE9K3AuaWRfaG9yYTtcclxuICAgICAgICAgICAgaWYodGhpcy5pZFBsYW5Ib3JhcmlvPjApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2RpZ29QbGFuSG9yYXJpbz1wLmNvZHBsYW5ob3I7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUGxhbkhvcmFyaW89cC5kZW5wbGFuaG9yO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYodGhpcy5pZEhvcmE+MCl7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkhvcmFyaW89cC5ob3JpbmkrJy0nK3AuaG9yZmluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25QdWVzdG9UcmFiYWpvPXAuZGVzcHVldHJhO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1B1ZXN0b1RyYWJham89cC5jb2RwdWV0cmE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlOyAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUGVyc29uYWwge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGVyc29uYWzCoDordGhpcy5pZFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RwZXLCoDp0aGlzLmNvZGlnb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjZWRwZXLCoDp0aGlzLmNlZHVsYVBlcnNvbmFsLFxyXG4gICAgICAgICAgICByaWZwZXLCoDp0aGlzLnJpZlBlcnNvbmFsLFxyXG4gICAgICAgICAgICBub21wZXLCoDp0aGlzLm5vbWJyZVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBhcGVwZXLCoDp0aGlzLmFwZWxsaWRvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY25hY3BlcsKgOnRoaXMuZmVjaGFOYWNpbWllbnRvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNvZHBhaW5hY8KgOnRoaXMuY29kaWdvUGFpc05hY2ltaWVudG8sXHJcbiAgICAgICAgICAgIGNvZGVzdG5hY8KgOnRoaXMuY29kaWdvRXN0YWRvTmFjaW1pZW50byxcclxuICAgICAgICAgICAgbmFjcGVyOnRoaXMubmFjaW9uYWxpZGFkUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGVzdGNpdnBlcjp0aGlzLmVzdGFkb0NpdmlsUGVyc29uYWwsXHJcbiAgICAgICAgICAgIHRlbGhhYnBlcsKgOnRoaXMudGVsZWZvbm9IYWJpdGFjaW9uUGVyc29uYWwsXHJcbiAgICAgICAgICAgIHRlbG1vdnBlcsKgOnRoaXMudGVsZWZvbm9Nb3ZpbFBlcnNvYmFsLFxyXG4gICAgICAgICAgICBjb3JlbGVwZXLCoDp0aGlzLmNvcnJlb0VsZWN0cm9uaWNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGRpcnBlcsKgOnRoaXMuZGlyZWNjaW9uUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNvZHBhacKgOnRoaXMuY29kaWdvUGFpcyxcclxuICAgICAgICAgICAgY29kZXN0wqA6dGhpcy5jb2RpZ29Fc3RhZG8sXHJcbiAgICAgICAgICAgIGNvZG11bsKgOnRoaXMuY29kaWdvTXVuaWNpcGlvLFxyXG4gICAgICAgICAgICBjb2RwYXI6dGhpcy5jb2RpZ29QYXJyb3F1aWEsXHJcbiAgICAgICAgICAgIHNleHBlcsKgOnRoaXMuc2V4b1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBudW1oaWpwZXLCoDordGhpcy5udW1lcm9IaWpvLFxyXG4gICAgICAgICAgICBjb250cmE6K3RoaXMuY29ueXVndWVUcmFiYWphLFxyXG4gICAgICAgICAgICBjZWRiZW5wZXI6dGhpcy5jZWR1bGFCZW5lZmljaWFyaW9QZXJzb25hbCxcclxuICAgICAgICAgICAgZXN0YXR1cmE6dGhpcy5lc3RhdHVyYSxcclxuICAgICAgICAgICAgcGVzbzp0aGlzLnBlc28sXHJcbiAgICAgICAgICAgIHRhbGxjYW06dGhpcy50YWxsYUNhbWlzYSxcclxuICAgICAgICAgICAgdGFsbHBhbjp0aGlzLnRhbGxhUGFudGFsb24sXHJcbiAgICAgICAgICAgIHRhbGx6YXA6dGhpcy50YWxsYVphcGF0byxcclxuICAgICAgICAgICAgaWRfcHJvZmVzaW9uOnRoaXMuaWRQcm9mZXNpb24sXHJcbiAgICAgICAgICAgIG5pdmFjYXBlcjp0aGlzLm5pdmVsQWNhZGVtaWNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGlkX2NvbXBvbmVudGU6K3RoaXMuaWRDb21wb25lbnRlLFxyXG4gICAgICAgICAgICBpZF9yYW5nbzordGhpcy5pZFJhbmdvLFxyXG4gICAgICAgICAgICBmb3RwZXI6dGhpcy5mb3RvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIG9ic3Blcjp0aGlzLm9ic2VydmFjaW9uUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGVzdHBlcjp0aGlzLmVzdGF0dXNQZXJzb25hbCwgICBcclxuICAgICAgICAgICAgaWRfY2xhcGVyOit0aGlzLmlkQ2xhc2lmaWNhY2lvblBlcnNvbmFsLCAgICAgICAgXHJcbiAgICAgICAgICAgIHR1cnBlcjp0aGlzLnR1cm5vUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGhvcnBlcjp0aGlzLmhvcmFyaW9QZXJzb25hbCxcclxuICAgICAgICAgICAgaGNtcGVyOnRoaXMuZXN0YXR1c0hDTVBlcnNvbmFsLFxyXG4gICAgICAgICAgICB0aXBzYW5wZXI6dGhpcy50aXBvU2FuZ3JlUGVyc29uYWwsXHJcbiAgICAgICAgICAgIG51bWV4cHBlcjp0aGlzLm51bWVyb0V4cGVkaWVudGVQZXJzb25hbCxcclxuICAgICAgICAgICAgY2Fyb3JpcGVyOnRoaXMuY2FyZ29PcmlnaW5hbFBlcnNvbmFsLFxyXG4gICAgICAgICAgICB0aXB2aXZwZXI6dGhpcy50aXBvVml2aWVuZGFQZXJzb25hbCxcclxuICAgICAgICAgICAgdGVudml2cGVyOnRoaXMudGVuZW5jaWFWaXZpZW5kYVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBtb25wYWd2aXZwZXI6dGhpcy5tb250b1BhZ2Fkb1ZpdmllbmRhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGVzdGNhamFobzp0aGlzLmVzdGF0dXNDYWphQWhvcnJvLFxyXG4gICAgICAgICAgICBjdWVjYWphaG9wZXI6dGhpcy5jdWVudGFDYWphQWhvcnJvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIHBvcmNhamFobzp0aGlzLnBvcmNlbnRhamVDYWphQWhvcnJvLFxyXG4gICAgICAgICAgICBjdWVscGhwZXI6dGhpcy5jdWV0YUxleVBvbGl0aWNhSGFiaXRhY2lvbmFQZXJzb25hbCxcclxuICAgICAgICAgICAgY3VlZmlkcGVyOnRoaXMuY3VlbnRhRmlkZWljb21pc28sXHJcbiAgICAgICAgICAgIGVzdHNpbmRpY2F0bzp0aGlzLmVzdGF0dXNTaW5kaWNhdG8sXHJcbiAgICAgICAgICAgIGZlY2luZ2FkbXB1YnBlcjp0aGlzLmZlY2hhSW5ncmVzb0FkbWluaXN0cmFjaW9uUHVibGljYSxcclxuICAgICAgICAgICAgYW5vc2VydnByZWZpam86dGhpcy5hbm9TZXJ2aWNpb1ByZXZpb0Zpam9BUCxcclxuICAgICAgICAgICAgYW5vc2VydnByZWNvbnQ6dGhpcy5hbm9TZXJ2aWNpb1ByZXZpb0NvbnRyYXRhZG9BUCxcclxuICAgICAgICAgICAgYW5vcGVyb2JyOnRoaXMuYW5vUGVyc29uYWxPYnJlcm8sXHJcbiAgICAgICAgICAgIGFub3NlcnZwcmVwZXI6dGhpcy5hbm9TZXJ2aWNpb1ByZXZpb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBtZXNzZXJ2cHJlcGVyOnRoaXMubWVzZXNTZXJ2aWNpb1ByZXZpb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBkaWFzZXJ2cHJlcGVyOnRoaXMuZGlhc1NlcnZpY2lvUHJldmlvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY2luZ3Blcjp0aGlzLmZlY2hhSW5nZXJvc1BlcnNvbmFswqAsXHJcbiAgICAgICAgICAgIGZlY3JlaW5ncGVyOnRoaXMuZmVjaGFSZWluZ3Jlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgZmVjanVicGVyOnRoaXMuZmVjaGFqdWJpbGFjaW9uUGVyc29uYWzCoCxcclxuICAgICAgICAgICAgZmVjZWdycGVyOnRoaXMuZmVjaGFFZ3Jlc29QZXJzb25hbMKgLFxyXG4gICAgICAgICAgICBjYXVlZ3JwZXI6dGhpcy5jYXVzYUVncmVzb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBvYnNlZ3JwZXI6dGhpcy5vYnNlcnZhY2lvbkVncmVzb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBwcmVhdmlzbzp0aGlzLnByZWF2aXNvLFxyXG4gICAgICAgICAgICBmZWNsb3NzZmFuOnRoaXMuZmVjaGFMT1NGQU7CoCxcclxuICAgICAgICAgICAgc2l0dWFjaW9uOnRoaXMuc2l0dWFjaW9uLFxyXG4gICAgICAgICAgICBmZWNzaXR1OnRoaXMuZmVjaGFTaXR1YWNpb27CoCxcclxuICAgICAgICAgICAgaWRfY2F1c2FsZXM6wqArdGhpcy5pZENhdXNhbGVzLFxyXG4gICAgICAgICAgICBmZWNyZWdzaXM6dGhpcy5mZWNoYVJlZ2lzdHJvU2lzdGVtYcKgLFxyXG4gICAgICAgICAgICBjb2R1c3U6dGhpcy5jb2RpZG9Vc3VhcmlvLFxyXG4gICAgICAgICAgICBvYnNlcnZhY2lvbjp0aGlzLm9ic2VydmFjaW9uLCBcclxuICAgICAgICAgICAgaWRfY2VubWVkc3M6K3RoaXMuaWRDZW50cm9NZWRpY28sIFxyXG4gICAgICAgICAgICBpZF90aXBvcGVyc29uYWw6K3RoaXMuaWRUaXBvUGVyc29uYWwsICBcclxuICAgICAgICAgICAgY29kY29tOnRoaXMuY29kaWdvQ29tcG9uZW50ZSxcclxuICAgICAgICAgICAgZGVuY29tOnRoaXMuZGVub21pbmFjaW9uQ29tcG9uZW50ZSxcclxuICAgICAgICAgICAgY29kcmFuOnRoaXMuY29kaWdvUmFuZ28sXHJcbiAgICAgICAgICAgIGRlbnJhbjp0aGlzLmRlbm9taW5hY2lvblJhbmdvLFxyXG4gICAgICAgICAgICBjb2RjZW5tZWRzczp0aGlzLmNvZGlnb0NlbnRyb01lZGljbyxcclxuICAgICAgICAgICAgZGVuY2VubWVkc3M6dGhpcy5kZW5vbWluYWNpb25DZW50cm9NZWRpY28sXHJcbiAgICAgICAgICAgIGNvZHRpcHBlcjp0aGlzLmNvZGlnb1RpcG9QZXJzb25hbCxcclxuICAgICAgICAgICAgZGVudGlwcGVyOnRoaXMuZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RjYXU6dGhpcy5jb2RpZ29DYXVzYVJldGlybyxcclxuICAgICAgICAgICAgZGVuY2F1OnRoaXMuZGVub21pbmFjaW9uQ2F1c2FSZXRpcm8sICAgXHJcbiAgICAgICAgICAgIGlkX3Byb3ZlZWRvcmJlbmVmaWNpYXJpbzp0aGlzLmlkUHJvdmVlZG9yQmVuZWZpY2lhcmlvLnRvU3RyaW5nKCksICAgICBcclxuICAgICAgICAgICAgaWRfc2luZGljYXRvOnRoaXMuaWRTaW5kaWNhdG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kc2luOnRoaXMuY29kaWdvU2luZGljYXRvLFxyXG4gICAgICAgICAgICBkZW5zaW46dGhpcy5kZW5vbWluYWNpb25TaW5kaWNhdG8sIFxyXG4gICAgICAgICAgICBjb25hcGRpczp0aGlzLmNvbmFwZGlzPyAnMSc6JzAnLFxyXG4gICAgICAgICAgICBkZXNwYWk6dGhpcy5ub21icmVQYWlzLFxyXG4gICAgICAgICAgICBkZXNlc3Q6dGhpcy5ub21icmVFc3RhZG8sXHJcbiAgICAgICAgICAgIGRlc211bjp0aGlzLm5vbWJyZU11bmljaXBpbyxcclxuICAgICAgICAgICAgZGVzcGFyOnRoaXMubm9tYnJlUGFycm9xdWlhLCAgXHJcbiAgICAgICAgICAgIGRlc2VzdF9uYWM6dGhpcy5ub21icmVFc3RhZG9OYWNpbWllbnRvLFxyXG4gICAgICAgICAgICBkZXNwYWlfbmFjOnRoaXMubm9tYnJlUGFpc05hY2ltaWVudG8sXHJcbiAgICAgICAgICAgIGlkX3BsYW5ob3I6dGhpcy5pZFBsYW5Ib3JhcmlvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2hvcmE6dGhpcy5pZEhvcmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcHVldHJhOnRoaXMuaWRQdWVzdG9UcmFiYWpvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1DYW1iaW9Fc3RhdHVzUGVyc29uYWwgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcnNvbmFsOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29QZXJzb25hbDogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGVzdGF0dXNBY3R1YWw6IHN0cmluZz0nMic7XHJcbiAgICBwdWJsaWMgZXN0YXR1c051ZXZvOiBzdHJpbmc9JzInO1xyXG4gICAgcHVibGljIGZlY2hhRWdyZXNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY2F1c2FFZ3Jlc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBwcmVhdmlzbzogc3RyaW5nPScxJztcclxuICAgIHB1YmxpYyBpZENhdXNhbGVzOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvbjogc3RyaW5nPScnOyAgXHJcbiAgICBwdWJsaWMgZmVjaGFSZWluZ3Jlc286c3RyaW5nPScxOTAwLTAxLTAxJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJQ2FtYmlvRXN0YXR1c1BlcnNvbmFsPW51bGwpIHsgIFxyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPWUuaWRfZW1wcmVzYTsgXHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbCA9IGUuaWRQZXJzb25hbDtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QZXJzb25hbCA9IGUuY29kaWdvUGVyc29uYWw7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c0FjdHVhbCA9IGUuZXN0YXR1c0FjdHVhbDtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzTnVldm8gPSBlLmVzdGF0dXNOdWV2bztcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUVncmVzbyA9IGUuZmVjaGFFZ3Jlc287XHJcbiAgICAgICAgICAgIHRoaXMuY2F1c2FFZ3Jlc28gPSBlLmNhdXNhRWdyZXNvO1xyXG4gICAgICAgICAgICB0aGlzLnByZWF2aXNvID0gZS5wcmVhdmlzbztcclxuICAgICAgICAgICAgdGhpcy5pZENhdXNhbGVzPSBlLmlkQ2F1c2FsZXM7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWNpb24gPSBlLm9ic2VydmFjaW9uOyAgXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFSZWluZ3Jlc289IGUuZmVjaGFSZWluZ3Jlc287XHJcbiBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklDYW1iaW9Fc3RhdHVzUGVyc29uYWx7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZFBlcnNvbmFsOiB0aGlzLmlkUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNvZGlnb1BlcnNvbmFsOiB0aGlzLmNvZGlnb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBlc3RhdHVzQWN0dWFsOiB0aGlzLmVzdGF0dXNBY3R1YWwsXHJcbiAgICAgICAgICAgIGVzdGF0dXNOdWV2bzogdGhpcy5lc3RhdHVzTnVldm8sXHJcbiAgICAgICAgICAgIGZlY2hhRWdyZXNvOiB0aGlzLmZlY2hhRWdyZXNvLFxyXG4gICAgICAgICAgICBjYXVzYUVncmVzbzogdGhpcy5jYXVzYUVncmVzbyxcclxuICAgICAgICAgICAgcHJlYXZpc286IHRoaXMucHJlYXZpc28sXHJcbiAgICAgICAgICAgIGlkQ2F1c2FsZXM6IHRoaXMuaWRDYXVzYWxlcyxcclxuICAgICAgICAgICAgb2JzZXJ2YWNpb246IHRoaXMub2JzZXJ2YWNpb24sIFxyXG4gICAgICAgICAgICBmZWNoYVJlaW5ncmVzbzp0aGlzLmZlY2hhUmVpbmdyZXNvLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVBlcnNvbmFsQ3VlbnRhQmFuY28gZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEN1ZW50YUJhbmNvUGVyc29uYWw6bnVtYmVyPS0xO1xyXG4gICAgcHVibGljIGNvZGlnb0N1ZW50YUJhbmNvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkN1ZW50YUJhbmNvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkQmFuY286bnVtYmVyPTA7ICAgXHJcbiAgICBwdWJsaWMgaWRUaXBvQ3VlbnRhQmFuY286bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY3VlbnRhQmFuY29QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZXN0YXR1c0N1ZW50YUJhbmNvOmJvb2xlYW49dHJ1ZTtcclxuICAgIHB1YmxpYyB0aXBvQ3VlbnRhUHJpbmNpcGFsOmJvb2xlYW49ZmFsc2U7XHJcbiAgICBwdWJsaWMgY29kaWdvQmFuY286c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGN1ZW50YVJlZHVjaWRhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBub21icmVCYW5jbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbm9tYnJlVGlwb0N1ZW50YUJhbmNvOnN0cmluZz0nJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlPzpJUGVyc29uYWxDdWVudGFzQmFuY2FyaWFzKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVudGVycHJpc2U9K2UuaWRfZW50ZXJwcmlzZTtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9ZS5pZF9lbXByZXNhOyAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD1wYXJzZUludChlLmlkX3BlcnNvbmFsKTtcclxuICAgICAgICAgICAgdGhpcy5pZEN1ZW50YUJhbmNvUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9jdGFiYW5wZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0N1ZW50YUJhbmNvUGVyc29uYWw9ZS5jb2RjdGFiYW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ3VlbnRhQmFuY29QZXJzb25hbD1lLmRlbmN0YWJhbnBlcjtcclxuICAgICAgICAgICAgdGhpcy5pZEJhbmNvPXBhcnNlSW50KGUuaWRfYmFuY28pO1xyXG4gICAgICAgICAgICB0aGlzLmlkVGlwb0N1ZW50YUJhbmNvPXBhcnNlSW50KGUuaWRfdGlwb2N0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VlbnRhQmFuY29QZXJzb25hbD1lLmN0YWJhbnBlcjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzQ3VlbnRhQmFuY289ZS5lc3RjdGFiY289PScxJz8gdHJ1ZTpmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy50aXBvQ3VlbnRhUHJpbmNpcGFsPWUudGlwY3RhcHJpPT0nMSc/IHRydWU6ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQmFuY289dGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsLnN1YnN0cmluZygwLDQpO1xyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YVJlZHVjaWRhPXRoaXMuY3VlbnRhQmFuY29QZXJzb25hbC5zbGljZSg0KVxyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUJhbmNvPWUubm9tYmFuO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVRpcG9DdWVudGFCYW5jbz1lLm5vbXRpcGN0YTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRhdGFJbnRlcmZhY2UoKTpJUGVyc29uYWxDdWVudGFzQmFuY2FyaWFze1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYSwgXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbC50b1N0cmluZygpLCBcclxuICAgICAgICAgICAgaWRfY3RhYmFucGVyOnRoaXMuaWRDdWVudGFCYW5jb1BlcnNvbmFsLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBjb2RjdGFiYW5wZXI6dGhpcy5jb2RpZ29DdWVudGFCYW5jb1BlcnNvbmFsLCBcclxuICAgICAgICAgICAgZGVuY3RhYmFucGVyOnRoaXMuZGVub21pbmFjaW9uQ3VlbnRhQmFuY29QZXJzb25hbCwgXHJcbiAgICAgICAgICAgIGlkX2JhbmNvOnRoaXMuaWRCYW5jby50b1N0cmluZygpLCBcclxuICAgICAgICAgICAgaWRfdGlwb2N0YTp0aGlzLmlkVGlwb0N1ZW50YUJhbmNvLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgICBjdGFiYW5wZXI6dGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsLCBcclxuICAgICAgICAgICAgZXN0Y3RhYmNvOnRoaXMuZXN0YXR1c0N1ZW50YUJhbmNvPyAnMSc6JzAnLCBcclxuICAgICAgICAgICAgdGlwY3RhcHJpOnRoaXMudGlwb0N1ZW50YVByaW5jaXBhbD8gJzEnOicwJyxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNRXN0dWRpb3NSZWFsaXphZG9zIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFc3R1ZGlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0VzdHVkaW9SZWFsaXphZG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHRpcG9Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nMSc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9JzEnO1xyXG4gICAgcHVibGljIGluc3RpdHV0b0VzdHVkaW9SZWFsaXphZG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uRXN0dWRpb1JlYWxpemFkbzpzdHJpbmc9Jyc7IFxyXG4gICAgcHVibGljIHRpdHVsb0VzdHVkaW9SZWFsaXphZG86c3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBjYWxpZmljYWNpb25Fc3R1ZGlvUmVhbGl6YWRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGVzY2FsYVZhbG9yZXM6c3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBmZWNoYUluaWNpb0VzdHVkaW9SZWFsaXphZG86c3RyaW5nPScxOTAwLTAxLTAxJzsgXHJcbiAgICBwdWJsaWMgZmVjaGFGaW5Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGZlY2hhR3JhZG9Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nMTkwMC0wMS0wMSc7IFxyXG4gICAgcHVibGljIGFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZz0nMSc7IFxyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvOnN0cmluZzsgXHJcbiAgICBwdWJsaWMgYW5vQXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaG9yYXNFc3R1ZGlvUmVhbGl6YWRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIFRpcG9Fc3R1ZGlvPUVzdHVkaW9zXHJcbiAgICBwdWJsaWMgQXByb2JhZG89RXN0YXR1c0VzdHVkaW9cclxuXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJRXN0dWRpb1JlYWxpemFkbz0gbnVsbCl7XHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPSBlLmlkX2VtcHJlc2E7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD0gcGFyc2VJbnQoZS5pZF9wZXJzb25hbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFc3R1ZGlvPSBwYXJzZUludChlLmlkX2VzdHVkaW8pO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0VzdHVkaW9SZWFsaXphZG89IGUuY29kZXN0cmVhO1xyXG4gICAgICAgICAgICB0aGlzLnRpcG9Fc3R1ZGlvUmVhbGl6YWRvPSBlLnRpcGVzdHJlYTtcclxuICAgICAgICAgICAgdGhpcy5pbnN0aXR1dG9Fc3R1ZGlvUmVhbGl6YWRvPSBlLmluc2VzdHJlYTtcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkVzdHVkaW9SZWFsaXphZG89IGUuZGVzZXN0cmVhOyBcclxuICAgICAgICAgICAgdGhpcy50aXR1bG9Fc3R1ZGlvUmVhbGl6YWRvPSBlLnRpdGVzdHJlYTsgXHJcbiAgICAgICAgICAgIHRoaXMuY2FsaWZpY2FjaW9uRXN0dWRpb1JlYWxpemFkbz0gK2UuY2FsZXN0cmVhO1xyXG4gICAgICAgICAgICB0aGlzLmVzY2FsYVZhbG9yZXM9IGUuZXNjdmFsOyBcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUluaWNpb0VzdHVkaW9SZWFsaXphZG89IGUuZmVjaW5pcmVhZXN0O1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhRmluRXN0dWRpb1JlYWxpemFkbz0gZS5mZWNmaW5lc3RyZWE7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFHcmFkb0VzdHVkaW9SZWFsaXphZG89IGUuZmVjZ3JhZXN0cmVhO1xyXG4gICAgICAgICAgICB0aGlzLmFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvPSBlLmFwcmVzdHJlYTsgXHJcbiAgICAgICAgICAgIHRoaXMuYW5vQXByb2JhY2lvbkVzdHVkaW9SZWFsaXphZG89IHBhcnNlSW50KGUuYW5vYXByZXN0cmVhKTtcclxuICAgICAgICAgICAgdGhpcy5ob3Jhc0VzdHVkaW9SZWFsaXphZG89IHBhcnNlSW50KGUuaG9yZXN0cmVhKTsgIFxyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdHVkaW9SZWFsaXphZG89dGhpcy5UaXBvRXN0dWRpby5maW5kKGU9PmUudmFsdWU9PXRoaXMudGlwb0VzdHVkaW9SZWFsaXphZG8pLmRlbm9taW5hY2lvbiAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvPXRoaXMuQXByb2JhZG8uZmluZChlPT5lLnZhbHVlPT10aGlzLmFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvKS5kZW5vbWluYWNpb24gICAgICBcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklFc3R1ZGlvUmVhbGl6YWRve1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsIFxyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lc3R1ZGlvOnRoaXMuaWRFc3R1ZGlvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGVzdHJlYTp0aGlzLmNvZGlnb0VzdHVkaW9SZWFsaXphZG8sXHJcbiAgICAgICAgICAgIHRpcGVzdHJlYTp0aGlzLnRpcG9Fc3R1ZGlvUmVhbGl6YWRvLFxyXG4gICAgICAgICAgICBpbnNlc3RyZWE6dGhpcy5pbnN0aXR1dG9Fc3R1ZGlvUmVhbGl6YWRvLFxyXG4gICAgICAgICAgICBkZXNlc3RyZWE6dGhpcy5kZXNjcmlwY2lvbkVzdHVkaW9SZWFsaXphZG8sIFxyXG4gICAgICAgICAgICB0aXRlc3RyZWE6dGhpcy50aXR1bG9Fc3R1ZGlvUmVhbGl6YWRvLCBcclxuICAgICAgICAgICAgY2FsZXN0cmVhOnRoaXMuY2FsaWZpY2FjaW9uRXN0dWRpb1JlYWxpemFkbywgXHJcbiAgICAgICAgICAgIGVzY3ZhbDp0aGlzLmVzY2FsYVZhbG9yZXMsIFxyXG4gICAgICAgICAgICBmZWNpbmlyZWFlc3Q6dGhpcy5mZWNoYUluaWNpb0VzdHVkaW9SZWFsaXphZG8sIFxyXG4gICAgICAgICAgICBmZWNmaW5lc3RyZWE6dGhpcy5mZWNoYUZpbkVzdHVkaW9SZWFsaXphZG8sIFxyXG4gICAgICAgICAgICBmZWNncmFlc3RyZWE6dGhpcy5mZWNoYUdyYWRvRXN0dWRpb1JlYWxpemFkbywgXHJcbiAgICAgICAgICAgIGFwcmVzdHJlYTp0aGlzLmFwcm9iYWNpb25Fc3R1ZGlvUmVhbGl6YWRvLFxyXG4gICAgICAgICAgICBhbm9hcHJlc3RyZWE6dGhpcy5hbm9BcHJvYmFjaW9uRXN0dWRpb1JlYWxpemFkby50b1N0cmluZygpLCBcclxuICAgICAgICAgICAgaG9yZXN0cmVhOnRoaXMuaG9yYXNFc3R1ZGlvUmVhbGl6YWRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXN0YWNpb25lc0FudGlndWVkYWQgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaWNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRGaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBhbm9DdXJQZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG1lc0N1clBlcmlvZG86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgc3VlbGRvSW50ZWdyYWxQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBib25vRXh0cmFQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBib25vVmFjYWNpb25lc1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGJvbm9GaW5Bbm5vUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYXBvcnRlUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGlhRmlkZWljb21pc286bnVtYmVyPTBcclxuICAgIHB1YmxpYyBkaWFBZGljaW9uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgbWV0b2RvUHJlc2F0Y2lvbmVzOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBtZXRvZG9EaWFzQWRpY2lvbmFsZXM6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGJvbm9WYWNhY2lvbmFsRGlhc0FkaWNpb25hbGVzUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYm9ub0ZpbkFubm9EaWFzQWRpY2lvbmFsZXNQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBzdWVsZG9JbnRlZ3JhbERpYXNBZGljaW9uYWxlc1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGFwb3J0ZVByZXN0YWNpb25lc1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGFwb3J0ZUFkaWNpb25hbFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb1VzdWFyaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkRHRGaWRlaWNvbWlzb1BlcmlvZG86bnVtYmVyPTA7XHJcbiAgICAgXHJcbiAgICBjb25zdHJ1Y3RvcihlOklQcmVzdGFjaW9uZXNBbnRpZ3VlZGFkPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9ZS5pZF9lbXByZXNhOyBcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW50ZXJwcmlzZVxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9wZXJzb25hbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRGaWRlaWNvbWlzbz1wYXJzZUludChlLmlkX2ZpZGVpY29taXNvKTtcclxuICAgICAgICAgICAgdGhpcy5hbm9DdXJQZXJpb2RvPXBhcnNlSW50KGUuYW5vY3VycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5tZXNDdXJQZXJpb2RvPXBhcnNlSW50KGUubWVzY3VycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zdWVsZG9JbnRlZ3JhbFBlcnNvbmFsPStlLnN1ZWludHBlcjtcclxuICAgICAgICAgICAgdGhpcy5ib25vRXh0cmFQZXJzb25hbD0rZS5ib25leHRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub1ZhY2FjaW9uZXNQZXJzb25hbD0rZS5ib252YWNwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub0ZpbkFubm9QZXJzb25hbD0rZS5ib25maW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYXBvcnRlUGVyc29uYWw9K2UuYXBvcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmRpYUZpZGVpY29taXNvPStlLmRpYWZpZDtcclxuICAgICAgICAgICAgdGhpcy5kaWFBZGljaW9uYWw9K2UuZGlhYWRpO1xyXG4gICAgICAgICAgICB0aGlzLm1ldG9kb1ByZXNhdGNpb25lcz1lLm1ldG9kb3ByZTtcclxuICAgICAgICAgICAgdGhpcy5tZXRvZG9EaWFzQWRpY2lvbmFsZXM9ZS5tZXRvZG9hZGk7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub1ZhY2FjaW9uYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5ib252YWNhZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYm9ub0ZpbkFubm9EaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5ib25maW5hZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuc3VlbGRvSW50ZWdyYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbD0rZS5zdWVpbnRhZGlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuYXBvcnRlUHJlc3RhY2lvbmVzUGVyc29uYWw9K2UuYXBvcHJlcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmFwb3J0ZUFkaWNpb25hbFBlcnNvbmFsPStlLmFwb2FkaXBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Vc3VhcmlvPWUuY29kdXN1O1xyXG4gICAgICAgICAgICB0aGlzLmlkRHRGaWRlaWNvbWlzb1BlcmlvZG89cGFyc2VJbnQoZS5pZF9kdF9maWRlaXBlcmlvZG8pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUHJlc3RhY2lvbmVzQW50aWd1ZWRhZHtcclxuICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpY2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2ZpZGVpY29taXNvOnRoaXMuaWRGaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBhbm9jdXJwZXI6dGhpcy5hbm9DdXJQZXJpb2RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIG1lc2N1cnBlcjp0aGlzLm1lc0N1clBlcmlvZG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgc3VlaW50cGVyOnRoaXMuc3VlbGRvSW50ZWdyYWxQZXJzb25hbCxcclxuICAgICAgICAgICAgYm9uZXh0cGVyOnRoaXMuYm9ub0V4dHJhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGJvbnZhY3Blcjp0aGlzLmJvbm9WYWNhY2lvbmVzUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGJvbmZpbnBlcjp0aGlzLmJvbm9GaW5Bbm5vUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGFwb3Blcjp0aGlzLmFwb3J0ZVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBkaWFmaWQ6dGhpcy5kaWFGaWRlaWNvbWlzbyxcclxuICAgICAgICAgICAgZGlhYWRpOnRoaXMuZGlhQWRpY2lvbmFsLFxyXG4gICAgICAgICAgICBtZXRvZG9wcmU6dGhpcy5tZXRvZG9QcmVzYXRjaW9uZXMsXHJcbiAgICAgICAgICAgIG1ldG9kb2FkaTp0aGlzLm1ldG9kb0RpYXNBZGljaW9uYWxlcyxcclxuICAgICAgICAgICAgYm9udmFjYWRpcGVyOnRoaXMuYm9ub1ZhY2FjaW9uYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgYm9uZmluYWRpcGVyOnRoaXMuYm9ub0ZpbkFubm9EaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgc3VlaW50YWRpcGVyOnRoaXMuc3VlbGRvSW50ZWdyYWxEaWFzQWRpY2lvbmFsZXNQZXJzb25hbCxcclxuICAgICAgICAgICAgYXBvcHJlcGVyOnRoaXMuYXBvcnRlUHJlc3RhY2lvbmVzUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGFwb2FkaXBlcjp0aGlzLmFwb3J0ZUFkaWNpb25hbFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2R1c3U6dGhpcy5jb2RpZ29Vc3VhcmlvLFxyXG4gICAgICAgICAgICBpZF9kdF9maWRlaXBlcmlvZG86dGhpcy5pZER0RmlkZWljb21pc29QZXJpb2RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgXHJcbn1cclxuXHJcbiJdfQ==
@@ -2,6 +2,7 @@ import { MBasicModel } from "../basic-model.model";
2
2
  export class MPersonalJubilado extends MBasicModel {
3
3
  constructor(e) {
4
4
  super();
5
+ this.idEnterprise = 0;
5
6
  this.idEmpresa = 0;
6
7
  this.idPersonal = 0;
7
8
  this.idJubilacion = 0;
@@ -13,7 +14,8 @@ export class MPersonalJubilado extends MBasicModel {
13
14
  this.fechaFeVida = '1900-01-01';
14
15
  this.tipoJubilacion = 0;
15
16
  if (e) {
16
- this.idEmpresa = parseInt(e.id_empresa);
17
+ this.idEnterprise = +e.id_enterprise;
18
+ this.idEmpresa = +e.id_empresa;
17
19
  this.idPersonal = parseInt(e.id_personal);
18
20
  this.idJubilacion = parseInt(e.id_jubilado);
19
21
  this.primeraRemuneracion = parseFloat(e.prirem);
@@ -30,7 +32,8 @@ export class MPersonalJubilado extends MBasicModel {
30
32
  }
31
33
  dataInterface() {
32
34
  return {
33
- id_empresa: this.idEmpresa.toString(),
35
+ id_enterprise: this.idEnterprise.toString(),
36
+ id_empresa: this.idEmpresa,
34
37
  id_personal: this.idPersonal.toString(),
35
38
  id_jubilado: this.idJubilacion.toString(),
36
39
  prirem: this.primeraRemuneracion.toString(),
@@ -43,4 +46,4 @@ export class MPersonalJubilado extends MBasicModel {
43
46
  };
44
47
  }
45
48
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsSnViaWxhZG8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovQXBwU2Vydi93d3cvc2lnZXNwdjMoZ2l0KS9zaWdlc3AtZXN0YWJsZS9zaWdlc3BfY29yZS9wcm9qZWN0cy9zaWdlc3Avc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL1NOTy9NUGVyc29uYWxKdWJpbGFkby5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFZOUMsWUFBWSxDQUFvQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQVpMLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0Qix3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFRLENBQUMsQ0FBQztRQUNsQiwyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQVEsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQVEsWUFBWSxDQUFDO1FBQ2hDLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBSTNCLElBQUksQ0FBQyxFQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO2FBQUs7WUFDRixJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFRCxhQUFhO1FBRVQsT0FBTztZQUNILFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsV0FBVyxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3hDLE1BQU0sRUFBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1lBQzFDLE1BQU0sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxNQUFNLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsTUFBTSxFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7WUFDekMsT0FBTyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ25DLE1BQU0sRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtTQUN4QyxDQUFBO0lBRUwsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBlcnNvbmFsSnViaWxhZG8gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9SZWN1cnNvc0h1bWFub3NcIjtcclxuaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyc29uYWxKdWJpbGFkbyBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkSnViaWxhY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBwcmltZXJhUmVtdW5lcmFjaW9uOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHN1YlRvdGFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHBvcmNlbnRhamVSZW11bmVyYWNpb246bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgbW9udG9QZW5zaW9uOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHVsdGltYVJlbXVuZXJhY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBmZWNoYUZlVmlkYTpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgcHVibGljIHRpcG9KdWJpbGFjaW9uOm51bWJlcj0wO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGU/OklQZXJzb25hbEp1YmlsYWRvKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgICAgdGhpcy5pZFBlcnNvbmFsPXBhcnNlSW50KGUuaWRfcGVyc29uYWwpO1xyXG4gICAgICAgICAgICB0aGlzLmlkSnViaWxhY2lvbj1wYXJzZUludChlLmlkX2p1YmlsYWRvKTtcclxuICAgICAgICAgICAgdGhpcy5wcmltZXJhUmVtdW5lcmFjaW9uPXBhcnNlRmxvYXQoZS5wcmlyZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnN1YlRvdGFsPXBhcnNlRmxvYXQoZS5zdWJ0b3QpO1xyXG4gICAgICAgICAgICB0aGlzLnBvcmNlbnRhamVSZW11bmVyYWNpb249cGFyc2VGbG9hdChlLnBvcnBlbik7XHJcbiAgICAgICAgICAgIHRoaXMubW9udG9QZW5zaW9uPXBhcnNlRmxvYXQoZS5tb25wZW4pO1xyXG4gICAgICAgICAgICB0aGlzLnVsdGltYVJlbXVuZXJhY2lvbj1wYXJzZUZsb2F0KGUudWx0cmVtKTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUZlVmlkYT1lLmZlY3ZpZGE7XHJcbiAgICAgICAgICAgIHRoaXMudGlwb0p1YmlsYWNpb249cGFyc2VJbnQoZS50aXBqdWIpO1xyXG4gICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRhSW50ZXJmYWNlKCk6SVBlcnNvbmFsSnViaWxhZG8ge1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOnRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9qdWJpbGFkbzp0aGlzLmlkSnViaWxhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBwcmlyZW06dGhpcy5wcmltZXJhUmVtdW5lcmFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHN1YnRvdDp0aGlzLnN1YlRvdGFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHBvcnBlbjp0aGlzLnBvcmNlbnRhamVSZW11bmVyYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgbW9ucGVuOnRoaXMubW9udG9QZW5zaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHVsdHJlbTp0aGlzLnVsdGltYVJlbXVuZXJhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBmZWN2aWRhOnRoaXMuZmVjaGFGZVZpZGEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgdGlwanViOnRoaXMudGlwb0p1YmlsYWNpb24udG9TdHJpbmcoKSwgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufSJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsSnViaWxhZG8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovQXBwU2Vydi93d3cvc2lnZXNwdjMoZ2l0KS9zaWdlc3AtZXN0YWJsZS9zaWdlc3BfY29yZS9wcm9qZWN0cy9zaWdlc3Avc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL1NOTy9NUGVyc29uYWxKdWJpbGFkby5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFhOUMsWUFBWSxDQUFvQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQWJMLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0Qix3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFRLENBQUMsQ0FBQztRQUNsQiwyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQVEsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQVEsWUFBWSxDQUFDO1FBQ2hDLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBSTNCLElBQUksQ0FBQyxFQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFlBQVksR0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7YUFBSztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFFVCxPQUFPO1lBQ0gsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsV0FBVyxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3hDLE1BQU0sRUFBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1lBQzFDLE1BQU0sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxNQUFNLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsTUFBTSxFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7WUFDekMsT0FBTyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ25DLE1BQU0sRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtTQUN4QyxDQUFBO0lBRUwsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBlcnNvbmFsSnViaWxhZG8gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9SZWN1cnNvc0h1bWFub3NcIjtcclxuaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyc29uYWxKdWJpbGFkbyBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRKdWJpbGFjaW9uOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHByaW1lcmFSZW11bmVyYWNpb246bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgc3ViVG90YWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgcG9yY2VudGFqZVJlbXVuZXJhY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBtb250b1BlbnNpb246bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgdWx0aW1hUmVtdW5lcmFjaW9uOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGZlY2hhRmVWaWRhOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICBwdWJsaWMgdGlwb0p1YmlsYWNpb246bnVtYmVyPTA7XHJcblxyXG4gICAgY29uc3RydWN0b3IoZT86SVBlcnNvbmFsSnViaWxhZG8pe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9wZXJzb25hbCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRKdWJpbGFjaW9uPXBhcnNlSW50KGUuaWRfanViaWxhZG8pO1xyXG4gICAgICAgICAgICB0aGlzLnByaW1lcmFSZW11bmVyYWNpb249cGFyc2VGbG9hdChlLnByaXJlbSk7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViVG90YWw9cGFyc2VGbG9hdChlLnN1YnRvdCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9yY2VudGFqZVJlbXVuZXJhY2lvbj1wYXJzZUZsb2F0KGUucG9ycGVuKTtcclxuICAgICAgICAgICAgdGhpcy5tb250b1BlbnNpb249cGFyc2VGbG9hdChlLm1vbnBlbik7XHJcbiAgICAgICAgICAgIHRoaXMudWx0aW1hUmVtdW5lcmFjaW9uPXBhcnNlRmxvYXQoZS51bHRyZW0pO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhRmVWaWRhPWUuZmVjdmlkYTtcclxuICAgICAgICAgICAgdGhpcy50aXBvSnViaWxhY2lvbj1wYXJzZUludChlLnRpcGp1Yik7XHJcbiAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRhdGFJbnRlcmZhY2UoKTpJUGVyc29uYWxKdWJpbGFkbyB7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9wZXJzb25hbDp0aGlzLmlkUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfanViaWxhZG86dGhpcy5pZEp1YmlsYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcHJpcmVtOnRoaXMucHJpbWVyYVJlbXVuZXJhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBzdWJ0b3Q6dGhpcy5zdWJUb3RhbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBwb3JwZW46dGhpcy5wb3JjZW50YWplUmVtdW5lcmFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIG1vbnBlbjp0aGlzLm1vbnRvUGVuc2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICB1bHRyZW06dGhpcy51bHRpbWFSZW11bmVyYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZmVjdmlkYTp0aGlzLmZlY2hhRmVWaWRhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHRpcGp1Yjp0aGlzLnRpcG9KdWJpbGFjaW9uLnRvU3RyaW5nKCksICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iXX0=