dmencu 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/client/client/client.js +372 -0
  2. package/dist/client/client/css/form-data-signals-2.styl +11 -0
  3. package/dist/client/client/css/form-data-signals.styl +68 -0
  4. package/dist/client/client/css/menu.styl +6 -0
  5. package/dist/client/client/img/ba_etiqueta.jpg +0 -0
  6. package/dist/client/client/img/logo_etiqueta.jpg +0 -0
  7. package/dist/client/client/img/mandatory.png +0 -0
  8. package/dist/client/client/img/optativo.png +0 -0
  9. package/dist/client/client/img/pk-mandatory.png +0 -0
  10. package/dist/client/client/img/wait4this.png +0 -0
  11. package/dist/client/client/menu.js +3 -0
  12. package/dist/client/client/tsconfig.json +14 -0
  13. package/dist/client/unlogged/abrir-formulario.js +99 -0
  14. package/dist/client/unlogged/bypass-formulario.js +1141 -0
  15. package/dist/client/unlogged/css/Roboto-Regular.ttf +0 -0
  16. package/dist/client/unlogged/css/bootstrap.min.css +7 -0
  17. package/dist/client/unlogged/css/formulario-react.styl +756 -0
  18. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
  19. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192_capa.png +0 -0
  20. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192_test.png +0 -0
  21. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
  22. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32_capa.png +0 -0
  23. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32_test.png +0 -0
  24. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
  25. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48_capa.png +0 -0
  26. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48_test.png +0 -0
  27. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
  28. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512_capa.png +0 -0
  29. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512_test.png +0 -0
  30. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
  31. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64_capa.png +0 -0
  32. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64_test.png +0 -0
  33. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
  34. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72_capa.png +0 -0
  35. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72_test.png +0 -0
  36. package/dist/client/unlogged/img/_login-logo-icon.png +0 -0
  37. package/dist/client/unlogged/img/_logo-128.png +0 -0
  38. package/dist/client/unlogged/img/_logo.png +0 -0
  39. package/dist/client/unlogged/img/borrar-valor.pdn +0 -0
  40. package/dist/client/unlogged/img/borrar-valor.png +0 -0
  41. package/dist/client/unlogged/img/fondo-salteado-crudo.pdn +0 -0
  42. package/dist/client/unlogged/img/fondo-salteado-error.png +0 -0
  43. package/dist/client/unlogged/img/fondo-salteado.pdn +0 -0
  44. package/dist/client/unlogged/img/fondo-salteado.png +0 -0
  45. package/dist/client/unlogged/img/img-logo-dgeyc_blanco.png +0 -0
  46. package/dist/client/unlogged/img/login-logo-icon.png +0 -0
  47. package/dist/client/unlogged/img/logo-128.png +0 -0
  48. package/dist/client/unlogged/img/logo.png +0 -0
  49. package/dist/client/unlogged/img/logos-gcbs-blanco-150x57.png +0 -0
  50. package/dist/client/unlogged/offline.jade +10 -0
  51. package/dist/client/unlogged/redux-formulario.js +315 -0
  52. package/dist/client/unlogged/render-formulario.tsx +2103 -0
  53. package/dist/client/unlogged/render-general.tsx +228 -0
  54. package/dist/client/unlogged/tipos.js +19 -0
  55. package/dist/client/unlogged/tsconfig.json +15 -0
  56. package/dist/server/server/app-dmencu.js +641 -0
  57. package/dist/server/server/def-config.js +108 -0
  58. package/dist/server/server/procedures-dmencu.js +759 -0
  59. package/dist/server/server/server-dmencu.js +23 -0
  60. package/dist/server/server/table-areas.js +121 -0
  61. package/dist/server/server/table-comunas.js +29 -0
  62. package/dist/server/server/table-control_campo.js +100 -0
  63. package/dist/server/server/table-control_resumen.js +19 -0
  64. package/dist/server/server/table-encuestadores.js +19 -0
  65. package/dist/server/server/table-hogares.js +157 -0
  66. package/dist/server/server/table-hogares_sup.js +192 -0
  67. package/dist/server/server/table-lotes.js +44 -0
  68. package/dist/server/server/table-mis_encuestadores.js +78 -0
  69. package/dist/server/server/table-mis_tareas.js +19 -0
  70. package/dist/server/server/table-mis_tareas_areas.js +19 -0
  71. package/dist/server/server/table-mis_tareas_tem.js +19 -0
  72. package/dist/server/server/table-no_rea.js +33 -0
  73. package/dist/server/server/table-no_rea_sup.js +33 -0
  74. package/dist/server/server/table-operaciones.js +31 -0
  75. package/dist/server/server/table-parametros.js +40 -0
  76. package/dist/server/server/table-permisos.js +32 -0
  77. package/dist/server/server/table-personal.js +63 -0
  78. package/dist/server/server/table-personal_rol.js +43 -0
  79. package/dist/server/server/table-personas.js +449 -0
  80. package/dist/server/server/table-personas_sup.js +94 -0
  81. package/dist/server/server/table-recepcionistas.js +19 -0
  82. package/dist/server/server/table-recuperadores.js +19 -0
  83. package/dist/server/server/table-resultados_tarea.js +29 -0
  84. package/dist/server/server/table-roles.js +33 -0
  85. package/dist/server/server/table-roles_permisos.js +36 -0
  86. package/dist/server/server/table-roles_subordinados.js +33 -0
  87. package/dist/server/server/table-semanas.js +42 -0
  88. package/dist/server/server/table-sincronizaciones.js +31 -0
  89. package/dist/server/server/table-supervisores.js +19 -0
  90. package/dist/server/server/table-tareas.js +47 -0
  91. package/dist/server/server/table-tareas_areas.js +68 -0
  92. package/dist/server/server/table-tareas_tem.js +148 -0
  93. package/dist/server/server/table-tem.js +187 -0
  94. package/dist/server/server/table-tem_recepcion.js +19 -0
  95. package/dist/server/server/table-usuarios.js +59 -0
  96. package/dist/server/server/table-visitas.js +92 -0
  97. package/dist/server/server/table-visitas_sup.js +92 -0
  98. package/dist/server/server/table-viviendas.js +300 -0
  99. package/dist/server/server/types-dmencu.js +24 -0
  100. package/dist/server/unlogged/tipos.js +19 -0
  101. package/dist/unlogged/unlogged/abrir-formulario.js +99 -0
  102. package/dist/unlogged/unlogged/adapt.js +8 -0
  103. package/dist/unlogged/unlogged/bypass-formulario.js +1141 -0
  104. package/dist/unlogged/unlogged/css/Roboto-Regular.ttf +0 -0
  105. package/dist/unlogged/unlogged/css/bootstrap.min.css +7 -0
  106. package/dist/unlogged/unlogged/css/formulario-react.styl +756 -0
  107. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
  108. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192_capa.png +0 -0
  109. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192_test.png +0 -0
  110. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
  111. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32_capa.png +0 -0
  112. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32_test.png +0 -0
  113. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
  114. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48_capa.png +0 -0
  115. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48_test.png +0 -0
  116. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
  117. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512_capa.png +0 -0
  118. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512_test.png +0 -0
  119. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
  120. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64_capa.png +0 -0
  121. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64_test.png +0 -0
  122. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
  123. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72_capa.png +0 -0
  124. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72_test.png +0 -0
  125. package/dist/unlogged/unlogged/img/_login-logo-icon.png +0 -0
  126. package/dist/unlogged/unlogged/img/_logo-128.png +0 -0
  127. package/dist/unlogged/unlogged/img/_logo.png +0 -0
  128. package/dist/unlogged/unlogged/img/borrar-valor.pdn +0 -0
  129. package/dist/unlogged/unlogged/img/borrar-valor.png +0 -0
  130. package/dist/unlogged/unlogged/img/fondo-salteado-crudo.pdn +0 -0
  131. package/dist/unlogged/unlogged/img/fondo-salteado-error.png +0 -0
  132. package/dist/unlogged/unlogged/img/fondo-salteado.pdn +0 -0
  133. package/dist/unlogged/unlogged/img/fondo-salteado.png +0 -0
  134. package/dist/unlogged/unlogged/img/img-logo-dgeyc_blanco.png +0 -0
  135. package/dist/unlogged/unlogged/img/login-logo-icon.png +0 -0
  136. package/dist/unlogged/unlogged/img/logo-128.png +0 -0
  137. package/dist/unlogged/unlogged/img/logo.png +0 -0
  138. package/dist/unlogged/unlogged/img/logos-gcbs-blanco-150x57.png +0 -0
  139. package/dist/unlogged/unlogged/offline.jade +10 -0
  140. package/dist/unlogged/unlogged/redux-formulario.js +315 -0
  141. package/dist/unlogged/unlogged/render-formulario.js +1485 -0
  142. package/dist/unlogged/unlogged/render-formulario.tsx +2103 -0
  143. package/dist/unlogged/unlogged/render-general.js +185 -0
  144. package/dist/unlogged/unlogged/render-general.tsx +228 -0
  145. package/dist/unlogged/unlogged/tipos.js +19 -0
  146. package/dist/unlogged/unlogged/tsconfig.json +15 -0
  147. package/dist/unlogged/unlogged/unlogged.js +180 -0
  148. package/package.json +91 -0
@@ -0,0 +1,99 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ (function (factory) {
11
+ if (typeof module === "object" && typeof module.exports === "object") {
12
+ var v = factory(require, exports);
13
+ if (v !== undefined) module.exports = v;
14
+ }
15
+ else if (typeof define === "function" && define.amd) {
16
+ define(["require", "exports", "./bypass-formulario"], factory);
17
+ }
18
+ })(function (require, exports) {
19
+ "use strict";
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.cargarEstructura = exports.cargarHojaDeRuta = exports.recuperarDatosByPass = exports.GLOVAR_ESTRUCTURA = exports.GLOVAR_MODOBYPASS = exports.GLOVAR_DATOSBYPASS = void 0;
22
+ const bypass_formulario_1 = require("./bypass-formulario");
23
+ exports.GLOVAR_DATOSBYPASS = 'datosbypass';
24
+ exports.GLOVAR_MODOBYPASS = 'modobypass';
25
+ exports.GLOVAR_ESTRUCTURA = 'estructura';
26
+ (0, bypass_formulario_1.setPersistirDatosByPass)(function persistirEnMemoria(persistentes) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ var { modoAlmacenamiento } = persistentes;
29
+ if (modoAlmacenamiento == 'local') {
30
+ my.setLocalVar(exports.GLOVAR_DATOSBYPASS, persistentes);
31
+ }
32
+ else {
33
+ my.setSessionVar(exports.GLOVAR_DATOSBYPASS, persistentes);
34
+ }
35
+ my.setSessionVar(exports.GLOVAR_MODOBYPASS, modoAlmacenamiento);
36
+ });
37
+ });
38
+ function recuperarDatosByPass() {
39
+ var recuperado;
40
+ var modoAlmacenamiento = my.getSessionVar(exports.GLOVAR_MODOBYPASS);
41
+ if (modoAlmacenamiento == 'local') {
42
+ recuperado = my.getLocalVar(exports.GLOVAR_DATOSBYPASS);
43
+ }
44
+ else {
45
+ recuperado = my.getSessionVar(exports.GLOVAR_DATOSBYPASS);
46
+ }
47
+ if (recuperado) {
48
+ (0, bypass_formulario_1.setDatosByPass)(Object.assign(Object.assign({}, recuperado), { modoAlmacenamiento }));
49
+ }
50
+ return;
51
+ }
52
+ exports.recuperarDatosByPass = recuperarDatosByPass;
53
+ function cargarHojaDeRuta(nuevoPaquete) {
54
+ var _a;
55
+ var modoActual = my.getSessionVar(exports.GLOVAR_MODOBYPASS);
56
+ if (modoActual && nuevoPaquete.modoAlmacenamiento != modoActual) {
57
+ throw new Error('No se pueden mezclar modos de apertura de encuestas, directo y por hoja de ruta para MD (' + modoActual + ', ' + nuevoPaquete.modoAlmacenamiento + ')');
58
+ }
59
+ var datosByPass = Object.assign(Object.assign({}, nuevoPaquete), { dirty: (_a = nuevoPaquete.dirty) !== null && _a !== void 0 ? _a : false });
60
+ (0, bypass_formulario_1.setDatosByPass)(datosByPass);
61
+ }
62
+ exports.cargarHojaDeRuta = cargarHojaDeRuta;
63
+ function cargarEstructura(estructuraACargar) {
64
+ var estructura = (0, bypass_formulario_1.setEstructura)(estructuraACargar);
65
+ my.setLocalVar(exports.GLOVAR_ESTRUCTURA, estructura);
66
+ }
67
+ exports.cargarEstructura = cargarEstructura;
68
+ var backupPendiente = Promise.resolve();
69
+ function enviarBackup() {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ var backups = my.getLocalVar('backups');
72
+ var { token, tem } = backups;
73
+ if (tem.length) {
74
+ try {
75
+ yield my.ajax.dm_backup({ token, tem });
76
+ // tengo que levantarlo de nuevo porque acá hay una interrupción del flujo
77
+ var backupsALimpiar = my.getLocalVar('backups');
78
+ backupsALimpiar.tem = backupsALimpiar.tem.filter(caso => caso.idBackup > backups.idActual);
79
+ my.setLocalVar('backups', backupsALimpiar);
80
+ }
81
+ catch (err) {
82
+ console.log('no se pudo hacer backup', err);
83
+ }
84
+ }
85
+ });
86
+ }
87
+ (0, bypass_formulario_1.setEncolarBackup)(function encolarBackup(token, forPkRaiz, respuestasRaiz) {
88
+ var backups = my.existsLocalVar('backups') ? my.getLocalVar('backups') : {
89
+ idActual: 0,
90
+ tem: []
91
+ };
92
+ backups.idActual += 1;
93
+ backups.token = token;
94
+ backups.tem.push({ idBackup: backups.idActual, forPkRaiz, respuestasRaiz });
95
+ my.setLocalVar('backups', backups);
96
+ backupPendiente = backupPendiente.then(enviarBackup);
97
+ });
98
+ });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJyaXItZm9ybXVsYXJpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bmxvZ2dlZC9hYnJpci1mb3JtdWxhcmlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUtBLDJEQUU0QjtJQUVmLFFBQUEsa0JBQWtCLEdBQUMsYUFBYSxDQUFDO0lBQ2pDLFFBQUEsaUJBQWlCLEdBQUMsWUFBWSxDQUFDO0lBQy9CLFFBQUEsaUJBQWlCLEdBQUMsWUFBWSxDQUFDO0lBRTVDLElBQUEsMkNBQXVCLEVBQ25CLFNBQWUsa0JBQWtCLENBQUMsWUFBb0M7O1lBQ2xFLElBQUksRUFBQyxrQkFBa0IsRUFBQyxHQUFHLFlBQVksQ0FBQTtZQUN2QyxJQUFHLGtCQUFrQixJQUFFLE9BQU8sRUFBQztnQkFDM0IsRUFBRSxDQUFDLFdBQVcsQ0FBQywwQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQTthQUNuRDtpQkFBSTtnQkFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLDBCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFBO2FBQ3JEO1lBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyx5QkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBQzNELENBQUM7S0FBQSxDQUNKLENBQUE7SUFFRCxTQUFnQixvQkFBb0I7UUFDaEMsSUFBSSxVQUFrQyxDQUFDO1FBQ3ZDLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyx5QkFBaUIsQ0FBdUIsQ0FBQztRQUNuRixJQUFHLGtCQUFrQixJQUFFLE9BQU8sRUFBQztZQUMzQixVQUFVLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQywwQkFBa0IsQ0FBQyxDQUFBO1NBQ2xEO2FBQUk7WUFDRCxVQUFVLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQywwQkFBa0IsQ0FBQyxDQUFBO1NBQ3BEO1FBQ0QsSUFBRyxVQUFVLEVBQUM7WUFDVixJQUFBLGtDQUFjLGtDQUFLLFVBQVUs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c3NQZXJzaXN0aWJsZXMsIEVzdHJ1Y3R1cmEsIEZvclBrUmFpeixcclxuICAgIFJlc3B1ZXN0YXMsXHJcbiAgICBNb2RvQWxtYWNlbmFtaWVudG8sXHJcbn0gZnJvbSBcIi4vdGlwb3NcIjtcclxuXHJcbmltcG9ydCB7IFxyXG4gICAgc2V0RGF0b3NCeVBhc3MsIHNldEVuY29sYXJCYWNrdXAsIHNldEVzdHJ1Y3R1cmEsIHNldFBlcnNpc3RpckRhdG9zQnlQYXNzIFxyXG59IGZyb20gXCIuL2J5cGFzcy1mb3JtdWxhcmlvXCJcclxuXHJcbmV4cG9ydCBjb25zdCBHTE9WQVJfREFUT1NCWVBBU1M9J2RhdG9zYnlwYXNzJztcclxuZXhwb3J0IGNvbnN0IEdMT1ZBUl9NT0RPQllQQVNTPSdtb2RvYnlwYXNzJztcclxuZXhwb3J0IGNvbnN0IEdMT1ZBUl9FU1RSVUNUVVJBPSdlc3RydWN0dXJhJztcclxuXHJcbnNldFBlcnNpc3RpckRhdG9zQnlQYXNzKFxyXG4gICAgYXN5bmMgZnVuY3Rpb24gcGVyc2lzdGlyRW5NZW1vcmlhKHBlcnNpc3RlbnRlczpEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyl7XHJcbiAgICAgICAgdmFyIHttb2RvQWxtYWNlbmFtaWVudG99ID0gcGVyc2lzdGVudGVzXHJcbiAgICAgICAgaWYobW9kb0FsbWFjZW5hbWllbnRvPT0nbG9jYWwnKXtcclxuICAgICAgICAgICAgbXkuc2V0TG9jYWxWYXIoR0xPVkFSX0RBVE9TQllQQVNTLCBwZXJzaXN0ZW50ZXMpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIG15LnNldFNlc3Npb25WYXIoR0xPVkFSX0RBVE9TQllQQVNTLCBwZXJzaXN0ZW50ZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIG15LnNldFNlc3Npb25WYXIoR0xPVkFSX01PRE9CWVBBU1MsIG1vZG9BbG1hY2VuYW1pZW50bylcclxuICAgIH1cclxuKVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlY3VwZXJhckRhdG9zQnlQYXNzKCl7XHJcbiAgICB2YXIgcmVjdXBlcmFkbzpEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcztcclxuICAgIHZhciBtb2RvQWxtYWNlbmFtaWVudG8gPSBteS5nZXRTZXNzaW9uVmFyKEdMT1ZBUl9NT0RPQllQQVNTKSBhcyBNb2RvQWxtYWNlbmFtaWVudG87XHJcbiAgICBpZihtb2RvQWxtYWNlbmFtaWVudG89PSdsb2NhbCcpe1xyXG4gICAgICAgIHJlY3VwZXJhZG8gPSBteS5nZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgICByZWN1cGVyYWRvID0gbXkuZ2V0U2Vzc2lvblZhcihHTE9WQVJfREFUT1NCWVBBU1MpXHJcbiAgICB9XHJcbiAgICBpZihyZWN1cGVyYWRvKXtcclxuICAgICAgICBzZXREYXRvc0J5UGFzcyh7Li4ucmVjdXBlcmFkbywgbW9kb0FsbWFjZW5hbWllbnRvfSlcclxuICAgIH1cclxuICAgIHJldHVyblxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FyZ2FySG9qYURlUnV0YShudWV2b1BhcXVldGU6e3Jlc3B1ZXN0YXM6UmVzcHVlc3RhcywgbW9kb0FsbWFjZW5hbWllbnRvOk1vZG9BbG1hY2VuYW1pZW50bywgZGlydHk/OmJvb2xlYW59KXtcclxuICAgIHZhciBtb2RvQWN0dWFsID0gbXkuZ2V0U2Vzc2lvblZhcihHTE9WQVJfTU9ET0JZUEFTUyk7XHJcbiAgICBpZihtb2RvQWN0dWFsICYmIG51ZXZvUGFxdWV0ZS5tb2RvQWxtYWNlbmFtaWVudG8hPW1vZG9BY3R1YWwpe1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc2UgcHVlZGVuIG1lemNsYXIgbW9kb3MgZGUgYXBlcnR1cmEgZGUgZW5jdWVzdGFzLCBkaXJlY3RvIHkgcG9yIGhvamEgZGUgcnV0YSBwYXJhIE1EICgnK21vZG9BY3R1YWwrJywgJytudWV2b1BhcXVldGUubW9kb0FsbWFjZW5hbWllbnRvKycpJyk7XHJcbiAgICB9XHJcbiAgICB2YXIgZGF0b3NCeVBhc3MgPSB7XHJcbiAgICAgICAgLi4ubnVldm9QYXF1ZXRlLCBcclxuICAgICAgICBkaXJ0eTogbnVldm9QYXF1ZXRlLmRpcnR5Pz9mYWxzZVxyXG4gICAgfVxyXG4gICAgc2V0RGF0b3NCeVBhc3MoZGF0b3NCeVBhc3MpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FyZ2FyRXN0cnVjdHVyYShlc3RydWN0dXJhQUNhcmdhcjpFc3RydWN0dXJhKXtcclxuICAgIHZhciBlc3RydWN0dXJhID0gc2V0RXN0cnVjdHVyYShlc3RydWN0dXJhQUNhcmdhcik7XHJcbiAgICBteS5zZXRMb2NhbFZhcihHTE9WQVJfRVNUUlVDVFVSQSwgZXN0cnVjdHVyYSk7XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5cclxudHlwZSBCYWNrdXBzPXtcclxuICAgIGlkQWN0dWFsOm51bWJlcixcclxuICAgIHRva2VuOnN0cmluZ3x1bmRlZmluZWQsXHJcbiAgICB0ZW06e2lkQmFja3VwOm51bWJlciwgZm9yUGtSYWl6OkZvclBrUmFpeiwgcmVzcHVlc3Rhc1JhaXo6UmVzcHVlc3Rhc31bXVxyXG59XHJcblxyXG52YXIgYmFja3VwUGVuZGllbnRlID0gUHJvbWlzZS5yZXNvbHZlKCk7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBlbnZpYXJCYWNrdXAoKXtcclxuICAgIHZhciBiYWNrdXBzOkJhY2t1cHMgPSBteS5nZXRMb2NhbFZhcignYmFja3VwcycpO1xyXG4gICAgdmFyIHt0b2tlbiwgdGVtfSA9IGJhY2t1cHM7XHJcbiAgICBpZih0ZW0ubGVuZ3RoKXtcclxuICAgICAgICB0cnl7XHJcbiAgICAgICAgICAgIGF3YWl0IG15LmFqYXguZG1fYmFja3VwKHt0b2tlbiwgdGVtfSlcclxuICAgICAgICAgICAgLy8gdGVuZ28gcXVlIGxldmFudGFybG8gZGUgbnVldm8gcG9ycXVlIGFjw6EgaGF5IHVuYSBpbnRlcnJ1cGNpw7NuIGRlbCBmbHVqb1xyXG4gICAgICAgICAgICB2YXIgYmFja3Vwc0FMaW1waWFyOkJhY2t1cHMgPSBteS5nZXRMb2NhbFZhcignYmFja3VwcycpO1xyXG4gICAgICAgICAgICBiYWNrdXBzQUxpbXBpYXIudGVtPWJhY2t1cHNBTGltcGlhci50ZW0uZmlsdGVyKGNhc289PmNhc28uaWRCYWNrdXA+YmFja3Vwcy5pZEFjdHVhbClcclxuICAgICAgICAgICAgbXkuc2V0TG9jYWxWYXIoJ2JhY2t1cHMnLCBiYWNrdXBzQUxpbXBpYXIpO1xyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnbm8gc2UgcHVkbyBoYWNlciBiYWNrdXAnLCBlcnIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuc2V0RW5jb2xhckJhY2t1cChcclxuICAgIGZ1bmN0aW9uIGVuY29sYXJCYWNrdXAodG9rZW46c3RyaW5nfHVuZGVmaW5lZCwgZm9yUGtSYWl6OkZvclBrUmFpeiwgcmVzcHVlc3Rhc1JhaXo6UmVzcHVlc3Rhcyl7XHJcbiAgICAgICAgdmFyIGJhY2t1cHM6QmFja3VwcyA9IG15LmV4aXN0c0xvY2FsVmFyKCdiYWNrdXBzJyk/bXkuZ2V0TG9jYWxWYXIoJ2JhY2t1cHMnKTp7XHJcbiAgICAgICAgICAgIGlkQWN0dWFsOjAsXHJcbiAgICAgICAgICAgIHRlbTpbXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYmFja3Vwcy5pZEFjdHVhbCs9MTtcclxuICAgICAgICBiYWNrdXBzLnRva2VuPXRva2VuO1xyXG4gICAgICAgIGJhY2t1cHMudGVtLnB1c2goe2lkQmFja3VwOmJhY2t1cHMuaWRBY3R1YWwsIGZvclBrUmFpeiwgcmVzcHVlc3Rhc1JhaXp9KTtcclxuICAgICAgICBteS5zZXRMb2NhbFZhcignYmFja3VwcycsYmFja3Vwcyk7XHJcbiAgICAgICAgYmFja3VwUGVuZGllbnRlID0gYmFja3VwUGVuZGllbnRlLnRoZW4oZW52aWFyQmFja3VwKVxyXG4gICAgfVxyXG4pXHJcbiJdfQ==