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,148 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tareas_tem = void 0;
13
+ function tareas_tem(context, opt) {
14
+ var _a, _b;
15
+ var opt = opt || {};
16
+ var mis = opt.mis ? 'mis_' : '';
17
+ var be = context.be;
18
+ var db = be.db;
19
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
20
+ var fields = [
21
+ { name: 'tarea', typeName: 'text', isPk: 1 },
22
+ { name: 'operativo', typeName: 'text', isPk: 2 },
23
+ { name: 'enc', typeName: 'text', isPk: 3 },
24
+ { name: 'abrir', typeName: 'text', editable: false, inTable: false, clientSide: 'abrirRecepcion' },
25
+ { name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' },
26
+ { name: 'area', typeName: 'integer', editable: false, inTable: false },
27
+ { name: 'ok', typeName: 'text', editable: false, inTable: false },
28
+ { name: "habilitada", typeName: "boolean", editable: puedeEditar },
29
+ { name: 'asignante', typeName: 'text', editable: false, inTable: false },
30
+ { name: 'asignado', typeName: 'text' },
31
+ { name: 'operacion', typeName: 'text' },
32
+ { name: 'fecha_asignacion', typeName: 'date' },
33
+ { name: "carga_observaciones", typeName: "text", editable: true },
34
+ { name: 'cargado_dm', typeName: 'text', editable: false },
35
+ { name: "cargado", typeName: "boolean", editable: false },
36
+ { name: 'notas', typeName: 'text' },
37
+ { name: 'rea', typeName: 'integer', editable: puedeEditar, label: 'rea_dm' },
38
+ { name: 'norea', typeName: 'integer', editable: puedeEditar, label: 'norea_dm' },
39
+ //{name:'cod_no_rea' , typeName:'text' , editable: false , inTable:false },
40
+ { name: 'gru_no_rea', typeName: 'text', editable: false, inTable: false },
41
+ { name: 'resumen_estado', typeName: 'text', editable: false, label: 'resumen_estado_dm' },
42
+ { name: 'utl_rea', typeName: 'integer', editable: false, inTable: false },
43
+ { name: 'ult_norea', typeName: 'integer', editable: false, inTable: false },
44
+ { name: 'ult_resumen_estado', typeName: 'text', editable: false, inTable: false },
45
+ //{name:'resultado' , typeName:'text'}, // fk tareas_resultados
46
+ //{name:'fecha_resultado' , typeName:'date'}, // fk tareas_resultados
47
+ { name: 'supervision_dirigida', typeName: 'integer', editable: true },
48
+ { name: 'supervision_aleatoria', typeName: 'integer', editable: false, inTable: false },
49
+ { name: 'verificado', typeName: 'text' },
50
+ { name: 'proximo_paso', typeName: 'text', editable: false, inTable: false },
51
+ { name: 'obs_verificado', typeName: 'text' },
52
+ { name: 'rea_sup', typeName: 'integer', editable: puedeEditar },
53
+ { name: 'norea_sup', typeName: 'integer', editable: puedeEditar },
54
+ { name: 'resumen_estado_sup', typeName: 'text', editable: false },
55
+ { name: 'utl_rea_sup', typeName: 'integer', editable: false, inTable: false },
56
+ { name: 'ult_norea_sup', typeName: 'integer', editable: false, inTable: false },
57
+ { name: 'ult_resumen_estado_sup', typeName: 'text', editable: false, inTable: false },
58
+ ];
59
+ return {
60
+ name: `${mis}tareas_tem`,
61
+ tableName: `tareas_tem`,
62
+ editable: puedeEditar,
63
+ fields,
64
+ primaryKey: ['tarea', 'operativo', 'enc'],
65
+ hiddenColumns: ['cargado_dm', 'notas'],
66
+ foreignKeys: [
67
+ { references: 'tem', fields: ['operativo', 'enc'], displayFields: [], alias: 'te' },
68
+ { references: 'tareas', fields: ['operativo', 'tarea'] },
69
+ { references: 'usuarios', fields: [{ source: 'asignado', target: 'idper' }], alias: 'ad' },
70
+ { references: 'operaciones', fields: ['operacion'] },
71
+ ],
72
+ softForeignKeys: [
73
+ { references: 'usuarios', fields: [{ source: 'asignante', target: 'idper' }], alias: 'at' },
74
+ { references: 'tem_recepcion', fields: ['operativo', 'enc'], displayAllFields: true, displayAfterFieldName: 'resumen_estado_sup' },
75
+ { references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' },
76
+ ],
77
+ "detailTables": [
78
+ { table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }], refreshParent: true, refreshFromParent: true }
79
+ ],
80
+ sql: {
81
+ isTable: !opt.mis,
82
+ insertIfNotUpdate: true,
83
+ fields: {
84
+ ok: {
85
+ expr: ` coalesce(nullif(
86
+ case when tareas_tem.asignado is null and tareas_tem.verificado is not null then 'Verificado-asignado vacio'
87
+ when tareas_tem.verificado is not null and tareas_tem.habilitada then 'Falta deshabilitar'
88
+ else '' end
89
+ ||case when tareas_tem.asignado is null and tareas_tem.operacion is not null then 'Operacion sin asignado'
90
+ when tareas_tem.verificado is not null and coalesce(tareas_tem.operacion,'descargar')='cargar' then 'Verificado-cargado'
91
+ when tareas_tem.dominio=3 and tareas_tem.verificado is not null and tareas_tem.operacion is null then 'Verificado sin operacion '
92
+ else '' end
93
+ ||(select case
94
+ when tareas_tem.habilitada and tareas_tem.tarea='recu' and count(*) filter(where h.verificado is not null and h.tarea='encu') =0 then 'T.previa a recu sin verificar'
95
+ when tareas_tem.habilitada and tareas_tem.tarea='supe' and (count(*) filter (where h.verificado is not null and h.tarea <>'supe') )=0 then 'T.previa a supe sin verificar'
96
+ else '' end
97
+ from tareas_tem h
98
+ where h.enc=tareas_tem.enc and h.operativo=tareas_tem.operativo
99
+ )
100
+ ||(select case
101
+ when count(cargado_dm)>1 then '+cargados'
102
+ when count(*) filter (where habilitada is true)>1 then '+habilitadas'
103
+ when count(*) filter (where operacion='cargar')>1 then '+opeCargar'
104
+ else '' end
105
+ from tareas_tem h
106
+ where h.enc=tareas_tem.enc and h.operativo=tareas_tem.operativo
107
+ )
108
+ || (select case
109
+ when count(i.consistencia)>0 then 'Revisar inconsist'
110
+ else '' end
111
+ from inconsistencias i
112
+ where i.operativo=tareas_tem.operativo and i.vivienda=tareas_tem.enc and tareas_tem.tarea='encu'
113
+ and justificacion is null
114
+ )
115
+ ,''),'✔')
116
+ `
117
+ },
118
+ },
119
+ from: `(
120
+ select *
121
+ from (
122
+ select tareas.tarea, t.operativo, t.enc, t.area
123
+ ${fields.filter(x => !(x.isPk || x.inTable === false || x.name == 'area')).map(x => `, tt.${db.quoteIdent(x.name)}`).join('')}
124
+ , y.grupo as gru_no_rea
125
+ , case rol_asignante when 'automatico' then null
126
+ when 'recepcionista' then areas.recepcionista end as asignante
127
+ , case when tt.tarea='encu' and y.grupo0 in ('ausentes','rechazos') then 'recuperacion' else null end proximo_paso
128
+ , t.supervision_aleatoria
129
+ , t.rea utl_rea, t.norea as ult_norea, t.resumen_estado ult_resumen_estado
130
+ , t.rea_sup utl_rea_sup, t.norea_sup as ult_norea_sup, t.resumen_estado_sup ult_resumen_estado_sup
131
+ , dominio
132
+ , v.consistido
133
+ from tareas join tem t using (operativo)
134
+ left join areas using (operativo, area)
135
+ left join lateral (select * from tareas_tem where tarea=tareas.tarea and operativo=t.operativo and enc=t.enc) tt on true
136
+ left join no_rea y on tt.norea=y.no_rea::integer
137
+ left join viviendas v on v.operativo=t.operativo and v.vivienda=t.enc
138
+ ) x
139
+
140
+ ${opt.mis ? `where (asignante = ${db.quoteNullable(context.user.idper)} or asignado = ${db.quoteNullable(context.user.idper)})` : ''}
141
+ )`
142
+ },
143
+ clientSide: 'tareasTemRow'
144
+ };
145
+ }
146
+ exports.tareas_tem = tareas_tem;
147
+ });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGFyZWFzX3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUtiLFNBQWdCLFVBQVUsQ0FBQyxPQUFvQixFQUFFLEdBQU87O1FBQ3BELElBQUksR0FBRyxHQUFDLEdBQUcsSUFBRSxFQUFFLENBQUE7UUFDZixJQUFJLEdBQUcsR0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQztRQUMxQixJQUFJLEVBQUUsR0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDYixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQztRQUMzRyxJQUFJLE1BQU0sR0FBbUI7WUFDekIsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQUM7WUFDckQsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFZLFFBQVEsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFBQztZQUNyRCxFQUFDLElBQUksRUFBQyxLQUFLLEVBQWtCLFFBQVEsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFBQztZQUNyRCxFQUFDLElBQUksRUFBQyxPQUFPLEVBQWdCLFFBQVEsRUFBQyxNQUFNLEVBQVUsUUFBUSxFQUFDLEtBQUssRUFBSyxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxnQkFBZ0IsRUFBQztZQUNwSCxFQUFD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LElBQUksRUFBRSxpQkFBaUIsRUFBQyxJQUFJLEVBQUM7YUFDeks7WUFDRCxHQUFHLEVBQUM7Z0JBQ0EsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ2pCLGlCQUFpQixFQUFDLElBQUk7Z0JBQ3RCLE1BQU0sRUFBQztvQkFDSCxFQUFFLEVBQUM7d0JBQ0MsSUFBSSxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FCQStCSjtxQkFDSjtpQkFDSjtnQkFDRCxJQUFJLEVBQUM7Ozs7c0JBSUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUcsS0FBSyxJQUFFLENBQUMsQ0FBQyxJQUFJLElBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztzQkFpQmpILEdBQUcsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLHNCQUFzQixFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRTtjQUN0STthQUNMO1lBQ0QsVUFBVSxFQUFDLGNBQWM7U0FDNUIsQ0FBQztJQUNOLENBQUM7SUFuSUQsZ0NBbUlDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuaW1wb3J0IHsgRmllbGREZWZpbml0aW9uIH0gZnJvbSBcInJlbC1lbmNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YXJlYXNfdGVtKGNvbnRleHQ6VGFibGVDb250ZXh0LCBvcHQ6YW55KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIG9wdD1vcHR8fHt9XHJcbiAgICB2YXIgbWlzPW9wdC5taXM/J21pc18nOicnO1xyXG4gICAgdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgZGI9YmUuZGI7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnVzZXIucm9sPT09J3JlY2VwY2lvbmlzdGEnOyAgICAgICBcclxuICAgIHZhciBmaWVsZHM6RmllbGREZWZpbml0aW9uW109W1xyXG4gICAgICAgIHtuYW1lOid0YXJlYScgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjF9LFxyXG4gICAgICAgIHtuYW1lOidvcGVyYXRpdm8nICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjJ9LFxyXG4gICAgICAgIHtuYW1lOidlbmMnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjN9LFxyXG4gICAgICAgIHtuYW1lOidhYnJpcicgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpclJlY2VwY2lvbid9LFxyXG4gICAgICAgIHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2NvbnNpc3Rpcid9LFxyXG4gICAgICAgIHtuYW1lOidhcmVhJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6ICdpbnRlZ2VyJyAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlIH0sXHJcbiAgICAgICAge25hbWU6J29rJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UgfSxcclxuICAgICAgICB7bmFtZTpcImhhYmlsaXRhZGFcIiAgICAgICAgICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiICAgICwgZWRpdGFibGU6cHVlZGVFZGl0YXJ9LFxyXG4gICAgICAgIHtuYW1lOidhc2lnbmFudGUnICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlfSwgLy8gdmEgYSBsYSBob2phIGRlIHJ1dGFcclxuICAgICAgICB7bmFtZTonYXNpZ25hZG8nICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sIC8vIHZhIGEgbGEgaG9qYSBkZSBydXRhXHJcbiAgICAgICAge25hbWU6J29wZXJhY2lvbicgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LCAvLyBjYXJnYXIvZGVzY2FyZ2FyXHJcbiAgICAgICAge25hbWU6J2ZlY2hhX2FzaWduYWNpb24nICAgLCB0eXBlTmFtZTonZGF0ZSd9LCAvLyBjYXJnYXIvZGVzY2FyZ2FyXHJcbiAgICAgICAge25hbWU6XCJjYXJnYV9vYnNlcnZhY2lvbmVzXCIsIHR5cGVOYW1lOiBcInRleHRcIiAgICAgICAsIGVkaXRhYmxlOiB0cnVlfSwgICAgICAgIFxyXG4gICAgICAgIHtuYW1lOidjYXJnYWRvX2RtJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sIC8vY2FyZ2FyL2Rlc2NhcmdhciBcclxuICAgICAgICB7bmFtZTpcImNhcmdhZG9cIiAgICAgICAgICAgICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICB7bmFtZTonbm90YXMnICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sIC8vIHZpZW5lIGRlIGxhIGhvamEgZGUgcnV0YVxyXG4gICAgICAgIHtuYW1lOidyZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciwgbGFiZWw6J3JlYV9kbSd9LFxyXG4gICAgICAgIHtuYW1lOidub3JlYScgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciwgbGFiZWw6J25vcmVhX2RtJ30sXHJcbiAgICAgICAgLy97bmFtZTonY29kX25vX3JlYScgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UgICAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgbGFiZWw6ICdyZXN1bWVuX2VzdGFkb19kbSd9LFxyXG4gICAgICAgIHtuYW1lOid1dGxfcmVhJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid1bHRfbm9yZWEnICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid1bHRfcmVzdW1lbl9lc3RhZG8nICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIC8ve25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LCAvLyBmayB0YXJlYXNfcmVzdWx0YWRvcyBcclxuICAgICAgICAvL3tuYW1lOidmZWNoYV9yZXN1bHRhZG8nICAgICwgdHlwZU5hbWU6J2RhdGUnfSwgLy8gZmsgdGFyZWFzX3Jlc3VsdGFkb3MgXHJcbiAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2RpcmlnaWRhJyAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHRydWV9LFxyXG4gICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbl9hbGVhdG9yaWEnICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid2ZXJpZmljYWRvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSwgXHJcbiAgICAgICAge25hbWU6J3Byb3hpbW9fcGFzbycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgLCBpblRhYmxlOmZhbHNlfSwgXHJcbiAgICAgICAge25hbWU6J29ic192ZXJpZmljYWRvJyAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxyXG4gICAgICAgIHtuYW1lOidyZWFfc3VwJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhcn0sXHJcbiAgICAgICAge25hbWU6J25vcmVhX3N1cCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyfSxcclxuICAgICAgICB7bmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid1dGxfcmVhX3N1cCcgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondWx0X25vcmVhX3N1cCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3VsdF9yZXN1bWVuX2VzdGFkb19zdXAnLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIF07IFxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOmAke21pc310YXJlYXNfdGVtYCxcclxuICAgICAgICB0YWJsZU5hbWU6YHRhcmVhc190ZW1gLFxyXG4gICAgICAgIGVkaXRhYmxlOnB1ZWRlRWRpdGFyLFxyXG4gICAgICAgIGZpZWxkcyxcclxuICAgICAgICBwcmltYXJ5S2V5OlsndGFyZWEnLCdvcGVyYXRpdm8nLCdlbmMnXSxcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOlsnY2FyZ2Fkb19kbScsJ25vdGFzJ10sXHJcbiAgICAgICAgZm9yZWlnbktleXM6W1xyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondGVtJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ2VuYyddLCBkaXNwbGF5RmllbGRzOltdLCBhbGlhczondGUnfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3RhcmVhcycgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCd0YXJlYSddfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidhc2lnbmFkbycgLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczonYWQnfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J29wZXJhY2lvbmVzJyAsIGZpZWxkczpbJ29wZXJhY2lvbiddfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHNvZnRGb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonYXNpZ25hbnRlJywgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J2F0J30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0ZW1fcmVjZXBjaW9uJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ2VuYyddLCBkaXNwbGF5QWxsRmllbGRzOnRydWUsIGRpc3BsYXlBZnRlckZpZWxkTmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJ30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0b2tlbnMnLCBmaWVsZHM6W3tzb3VyY2U6J2NhcmdhZG9fZG0nLCB0YXJnZXQ6J3Rva2VuJ31dLCBkaXNwbGF5RmllbGRzOlsndXNlcm5hbWUnXSwgZGlzcGxheUFmdGVyRmllbGROYW1lOidjYXJnYWRvJ30sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBcImRldGFpbFRhYmxlc1wiOiBbXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJpbmNvbnNpc3RlbmNpYXNcIiwgYWJyOiBcIklcIiwgZmllbGRzOiBbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSx7c291cmNlOidlbmMnLCB0YXJnZXQ6J3ZpdmllbmRhJ31dLCByZWZyZXNoUGFyZW50OnRydWUsIHJlZnJlc2hGcm9tUGFyZW50OnRydWV9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBzcWw6e1xyXG4gICAgICAgICAgICBpc1RhYmxlOiAhb3B0Lm1pcyxcclxuICAgICAgICAgICAgaW5zZXJ0SWZOb3RVcGRhdGU6dHJ1ZSxcclxuICAgICAgICAgICAgZmllbGRzOntcclxuICAgICAgICAgICAgICAgIG9rOnsgXHJcbiAgICAgICAgICAgICAgICAgICAgZXhwcjpgIGNvYWxlc2NlKG51bGxpZihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHdoZW4gdGFyZWFzX3RlbS5hc2lnbmFkbyBpcyBudWxsIGFuZCB0YXJlYXNfdGVtLnZlcmlmaWNhZG8gaXMgbm90IG51bGwgdGhlbiAnVmVyaWZpY2Fkby1hc2lnbmFkbyB2YWNpbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0YXJlYXNfdGVtLnZlcmlmaWNhZG8gaXMgbm90IG51bGwgYW5kIHRhcmVhc190ZW0uaGFiaWxpdGFkYSB0aGVuICdGYWx0YSBkZXNoYWJpbGl0YXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAnJyBlbmQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHxjYXNlIHdoZW4gdGFyZWFzX3RlbS5hc2lnbmFkbyBpcyBudWxsIGFuZCB0YXJlYXNfdGVtLm9wZXJhY2lvbiBpcyBub3QgbnVsbCB0aGVuICdPcGVyYWNpb24gc2luIGFzaWduYWRvJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHRhcmVhc190ZW0udmVyaWZpY2FkbyBpcyBub3QgbnVsbCBhbmQgY29hbGVzY2UodGFyZWFzX3RlbS5vcGVyYWNpb24sJ2Rlc2NhcmdhcicpPSdjYXJnYXInIHRoZW4gJ1ZlcmlmaWNhZG8tY2FyZ2FkbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0YXJlYXNfdGVtLmRvbWluaW89MyBhbmQgdGFyZWFzX3RlbS52ZXJpZmljYWRvIGlzIG5vdCBudWxsIGFuZCB0YXJlYXNfdGVtLm9wZXJhY2lvbiBpcyBudWxsIHRoZW4gJ1ZlcmlmaWNhZG8gc2luIG9wZXJhY2lvbiAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAnJyBlbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fChzZWxlY3QgY2FzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0YXJlYXNfdGVtLmhhYmlsaXRhZGEgYW5kIHRhcmVhc190ZW0udGFyZWE9J3JlY3UnIGFuZCBjb3VudCgqKSBmaWx0ZXIod2hlcmUgaC52ZXJpZmljYWRvIGlzIG5vdCBudWxsIGFuZCBoLnRhcmVhPSdlbmN1JykgPTAgIHRoZW4gJ1QucHJldmlhIGEgcmVjdSBzaW4gdmVyaWZpY2FyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0YXJlYXNfdGVtLmhhYmlsaXRhZGEgYW5kIHRhcmVhc190ZW0udGFyZWE9J3N1cGUnIGFuZCAoY291bnQoKikgZmlsdGVyICh3aGVyZSBoLnZlcmlmaWNhZG8gaXMgbm90IG51bGwgYW5kIGgudGFyZWEgPD4nc3VwZScpICk9MCAgdGhlbiAnVC5wcmV2aWEgYSBzdXBlIHNpbiB2ZXJpZmljYXInIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICcnIGVuZCAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSBoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIGguZW5jPXRhcmVhc190ZW0uZW5jIGFuZCBoLm9wZXJhdGl2bz10YXJlYXNfdGVtLm9wZXJhdGl2b1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fChzZWxlY3QgY2FzZSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBjb3VudChjYXJnYWRvX2RtKT4xICB0aGVuICcrY2FyZ2Fkb3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gY291bnQoKikgZmlsdGVyICh3aGVyZSBoYWJpbGl0YWRhIGlzIHRydWUpPjEgdGhlbiAnK2hhYmlsaXRhZGFzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGNvdW50KCopIGZpbHRlciAod2hlcmUgb3BlcmFjaW9uPSdjYXJnYXInKT4xICAgdGhlbiAnK29wZUNhcmdhcidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAnJyBlbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSBoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgaC5lbmM9dGFyZWFzX3RlbS5lbmMgYW5kIGgub3BlcmF0aXZvPXRhcmVhc190ZW0ub3BlcmF0aXZvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoc2VsZWN0IGNhc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGNvdW50KGkuY29uc2lzdGVuY2lhKT4wIHRoZW4gJ1JldmlzYXIgaW5jb25zaXN0JyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICcnIGVuZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gaW5jb25zaXN0ZW5jaWFzIGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBpLm9wZXJhdGl2bz10YXJlYXNfdGVtLm9wZXJhdGl2byBhbmQgaS52aXZpZW5kYT10YXJlYXNfdGVtLmVuYyBhbmQgdGFyZWFzX3RlbS50YXJlYT0nZW5jdScgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGp1c3RpZmljYWNpb24gaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgLCcnKSwn4pyUJylcclxuICAgICAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmcm9tOmAoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3QgKlxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gKFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IHRhcmVhcy50YXJlYSwgdC5vcGVyYXRpdm8sIHQuZW5jLCB0LmFyZWFcclxuICAgICAgICAgICAgICAgICAgICAke2ZpZWxkcy5maWx0ZXIoeD0+ISh4LmlzUGsgfHwgeC5pblRhYmxlPT09ZmFsc2V8fHgubmFtZT09J2FyZWEnKSkubWFwKHg9PmAsIHR0LiR7ZGIucXVvdGVJZGVudCh4Lm5hbWUpfWApLmpvaW4oJycpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgeS5ncnVwbyBhcyBncnVfbm9fcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgLCBjYXNlIHJvbF9hc2lnbmFudGUgd2hlbiAnYXV0b21hdGljbycgdGhlbiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gJ3JlY2VwY2lvbmlzdGEnIHRoZW4gYXJlYXMucmVjZXBjaW9uaXN0YSBlbmQgYXMgYXNpZ25hbnRlXHJcbiAgICAgICAgICAgICAgICAgICAgLCBjYXNlIHdoZW4gdHQudGFyZWE9J2VuY3UnIGFuZCAgeS5ncnVwbzAgaW4gKCdhdXNlbnRlcycsJ3JlY2hhem9zJykgdGhlbiAncmVjdXBlcmFjaW9uJyBlbHNlIG51bGwgZW5kIHByb3hpbW9fcGFzbyAgIFxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5zdXBlcnZpc2lvbl9hbGVhdG9yaWFcclxuICAgICAgICAgICAgICAgICAgICAsIHQucmVhIHV0bF9yZWEsIHQubm9yZWEgYXMgdWx0X25vcmVhLCB0LnJlc3VtZW5fZXN0YWRvIHVsdF9yZXN1bWVuX2VzdGFkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdC5yZWFfc3VwIHV0bF9yZWFfc3VwLCB0Lm5vcmVhX3N1cCBhcyB1bHRfbm9yZWFfc3VwLCB0LnJlc3VtZW5fZXN0YWRvX3N1cCB1bHRfcmVzdW1lbl9lc3RhZG9fc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCBkb21pbmlvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB2LmNvbnNpc3RpZG9cclxuICAgICAgICAgICAgICAgICAgICBmcm9tIHRhcmVhcyBqb2luICB0ZW0gdCB1c2luZyAob3BlcmF0aXZvKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIGFyZWFzIHVzaW5nIChvcGVyYXRpdm8sIGFyZWEpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBsYXRlcmFsIChzZWxlY3QgKiBmcm9tIHRhcmVhc190ZW0gd2hlcmUgdGFyZWE9dGFyZWFzLnRhcmVhIGFuZCBvcGVyYXRpdm89dC5vcGVyYXRpdm8gYW5kIGVuYz10LmVuYykgdHQgb24gdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24gdHQubm9yZWE9eS5ub19yZWE6OmludGVnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHZpdmllbmRhcyB2IG9uIHYub3BlcmF0aXZvPXQub3BlcmF0aXZvIGFuZCB2LnZpdmllbmRhPXQuZW5jIFxyXG4gICAgICAgICAgICAgICAgICAgICkgeFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICR7b3B0Lm1pcz9gd2hlcmUgKGFzaWduYW50ZSA9ICR7ZGIucXVvdGVOdWxsYWJsZShjb250ZXh0LnVzZXIuaWRwZXIpfSBvciBhc2lnbmFkbyA9ICR7ZGIucXVvdGVOdWxsYWJsZShjb250ZXh0LnVzZXIuaWRwZXIpfSlgOicnfVxyXG4gICAgICAgICAgICApYFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2xpZW50U2lkZTondGFyZWFzVGVtUm93J1xyXG4gICAgfTtcclxufVxyXG5cclxuIl19
@@ -0,0 +1,187 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tem = void 0;
13
+ function tem(context, opts) {
14
+ var _a, _b, _c, _d;
15
+ var opts = opts || {};
16
+ var recepcion = opts.recepcion ? '_recepcion' : '';
17
+ var be = context.be;
18
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
19
+ var columnasAreasParaLaTem = ['obs_recepcionista', 'verificado_rec', 'recepcionista'];
20
+ var columnasNoRea = [
21
+ { name: 'gru_no_rea', expr: 'grupo' }
22
+ ];
23
+ var columnasSoloTem = [
24
+ 'enc_original', 'json_encuesta', 'json_backup',
25
+ 'h4', 'x', 'y', 'fexp'
26
+ ];
27
+ var def = {
28
+ name: `tem${recepcion}`,
29
+ tableName: 'tem',
30
+ editable: puedeEditar,
31
+ hiddenColumns: [
32
+ 'cita', 'notas', 'cluster',
33
+ 'codviviendaparticular', 'casa', 'obsdatosdomicilio', 'obsconjunto', 'reserva', 'rotacion_etoi', 'rotacion_eah',
34
+ 'trimestre', 'procedencia', 'sel_etoi_villa', 'marco', 'semana', 'periodicidad',
35
+ 'cargado_dm'
36
+ ],
37
+ "fields": [
38
+ { name: 'operativo', typeName: 'text', editable: false, nullable: false, defaultValue: 'etoi211' },
39
+ { name: 'enc', typeName: 'text', editable: false, nullable: false },
40
+ { name: "abrir", typeName: 'text', editable: false, inTable: false, clientSide: 'abrir' },
41
+ { name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' },
42
+ { name: "cluster", typeName: 'integer', editable: false, isName: true },
43
+ { name: 'area', typeName: 'integer', editable: false },
44
+ { name: 'zona', typeName: 'text', editable: false },
45
+ { name: 'rea', typeName: 'integer', editable: false },
46
+ { name: 'norea', typeName: 'integer', editable: false },
47
+ { name: 'cant_h', typeName: 'integer', editable: false },
48
+ { name: 'cant_p', typeName: 'integer', editable: false },
49
+ { name: 'seleccionado', typeName: 'text', editable: false },
50
+ // {name:'sexo_sel' , typeName:'integer' , editable: false },
51
+ // {name:'edad_sel' , typeName:'integer' , editable: false },
52
+ { name: 'resultado', typeName: 'text', editable: false },
53
+ { name: 'gru_no_rea', typeName: 'text', editable: false, inTable: false },
54
+ { name: 'resumen_estado', typeName: 'text', editable: false },
55
+ { name: 'cargado', typeName: 'boolean', editable: false, inTable: false },
56
+ //{name:'encu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
57
+ //{name:'encu_cargado' , typeName:'boolean' , editable: false , inTable: false },
58
+ { name: 'encuestador', typeName: 'text', editable: false, inTable: false },
59
+ //{name:'recu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
60
+ //{name:'recu_cargado' , typeName:'boolean' , editable: false , inTable: false },
61
+ { name: 'recuperador', typeName: 'text', editable: false, inTable: false },
62
+ //{name:'supe_habilitada' , typeName:'boolean' , editable: false , inTable: false },
63
+ //{name:'supe_cargado' , typeName:'boolean' , editable: false , inTable: false },
64
+ { name: 'supervisor', typeName: 'text', editable: false, inTable: false },
65
+ { name: 'rea_sup', typeName: 'integer', editable: false },
66
+ { name: 'norea_sup', typeName: 'integer', editable: false },
67
+ { name: 'resumen_estado_sup', typeName: 'text', editable: false },
68
+ { name: 'pre_sorteo', typeName: 'integer', editable: false, visible: false },
69
+ { name: 'supervision_aleatoria', typeName: 'integer', editable: false },
70
+ { name: 'supervision', typeName: 'integer', editable: false },
71
+ { name: 'fin_campo', typeName: 'text', editable: puedeEditar },
72
+ { name: 'proie', typeName: 'text', editable: puedeEditar },
73
+ { name: 'pase_tabla', typeName: 'text', editable: false },
74
+ { name: 'codcalle', typeName: 'integer', editable: false },
75
+ { name: 'nomcalle', typeName: 'text', editable: false },
76
+ { name: 'nrocatastral', typeName: 'integer', editable: false },
77
+ { name: 'piso', typeName: 'text', editable: false },
78
+ { name: 'departamento', typeName: 'text', editable: false },
79
+ { name: 'habitacion', typeName: 'text', editable: false },
80
+ { name: 'sector', typeName: 'text', editable: false },
81
+ { name: 'edificio', typeName: 'text', editable: false },
82
+ { name: 'entrada', typeName: 'text', editable: false },
83
+ { name: 'barrio', typeName: 'text', editable: false },
84
+ //{name: "verificar" , typeName:'boolean', editable:true, inTable:false, clientSide:'verificarCaso'},
85
+ //{name: "finalizar_campo" , typeName:'boolean', editable:true, inTable:false, clientSide:'finalizarCampo'}, //fin_de_campo
86
+ //{name: "procesamiento" , typeName:'boolean', editable:true, inTable:false, clientSide:'pasarAProcesamiento', label: 'pasar a procesamiento'}, //procesamiento
87
+ { name: 'fexp', typeName: 'integer', editable: false },
88
+ { name: 'areaup', typeName: 'text', editable: false },
89
+ { name: 'codpos', typeName: 'integer', editable: false },
90
+ { name: 'dominio', typeName: 'integer', editable: false },
91
+ { name: 'estrato_ing', typeName: 'integer', editable: false },
92
+ { name: 'id_marco', typeName: 'bigint', editable: false },
93
+ { name: 'obs', typeName: 'text', editable: false },
94
+ { name: 'nrocomuna', typeName: 'integer', editable: false },
95
+ { name: 'nrofraccion', typeName: 'integer', editable: false },
96
+ { name: 'nroradio', typeName: 'integer', editable: false },
97
+ { name: 'nromanzana', typeName: 'integer', editable: false },
98
+ { name: 'nrolado', typeName: 'integer', editable: false },
99
+ { name: 'usodomicilio', typeName: 'integer', editable: false },
100
+ { name: 'orden_relevamiento', typeName: 'integer', editable: false },
101
+ { name: 'mapa', typeName: 'integer', editable: false },
102
+ { name: "consistido", typeName: 'timestamp', editable: false, inTable: false },
103
+ { name: 'cargado_dm', typeName: 'text', editable: false, inTable: false },
104
+ { name: 'participacion', typeName: 'integer', editable: false, visible: true },
105
+ { name: 'rotacion', typeName: 'integer', editable: false, visible: true },
106
+ { name: 'clase', typeName: 'text', editable: false, visible: true },
107
+ { name: 'panel', typeName: 'integer', editable: false, visible: true },
108
+ //vacios o poco interesantes
109
+ { name: 'codviviendaparticular', typeName: 'text', editable: false },
110
+ { name: 'casa', typeName: 'text', editable: false },
111
+ { name: 'obsdatosdomicilio', typeName: 'text', editable: false },
112
+ { name: 'obsconjunto', typeName: 'text', editable: false },
113
+ { name: 'reserva', typeName: 'integer', editable: false },
114
+ { name: 'rotacion_etoi', typeName: 'integer', editable: false, visible: false },
115
+ { name: 'rotacion_eah', typeName: 'integer', editable: false, visible: false },
116
+ { name: 'trimestre', typeName: 'integer', editable: false, visible: false },
117
+ { name: 'procedencia', typeName: 'text', editable: false, visible: false },
118
+ { name: 'sel_etoi_villa', typeName: 'integer', editable: false, visible: false },
119
+ { name: 'marco', typeName: 'integer', editable: false, visible: false },
120
+ { name: 'semana', typeName: 'integer', editable: false, visible: false },
121
+ { name: 'periodicidad', typeName: 'text', editable: false, visible: false },
122
+ //solo tem
123
+ { name: 'json_encuesta', typeName: 'jsonb', editable: false },
124
+ { name: "json_backup", typeName: 'jsonb', editable: false, visible: false },
125
+ { name: "h4", typeName: 'text', editable: false },
126
+ { name: "x", typeName: 'decimal', editable: false },
127
+ { name: "y", typeName: 'decimal', editable: false },
128
+ { name: 'notas', typeName: 'text', editable: false, inTable: false },
129
+ { name: 'cita', typeName: 'text', editable: false },
130
+ { name: "modificado", typeName: 'timestamp', editable: false },
131
+ //{name:'obs_sup' , typeName:'text' , editable: isSupervisor },
132
+ //{name:'obs_coor' , typeName:'text' , editable: isCoordinador || isSubCoordinador },
133
+ ],
134
+ "primaryKey": ["operativo", "enc"],
135
+ foreignKeys: [
136
+ { references: 'areas', fields: ['operativo', 'area'] },
137
+ // {references:'usuarios', fields:[{source:'carga_persona', target:'idper'}], displayFields:['apellido','nombre']},
138
+ ],
139
+ softForeignKeys: [
140
+ { references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' }
141
+ ],
142
+ "detailTables": [
143
+ { table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }] }
144
+ ]
145
+ };
146
+ if (opts.recepcion) {
147
+ def.fields = def.fields.filter(f => !columnasSoloTem.includes(f.name));
148
+ def.hiddenColumns = [...def.hiddenColumns, ...columnasAreasParaLaTem.map(x => `areas__${x}`)];
149
+ def.foreignKeys = (_c = def.foreignKeys) === null || _c === void 0 ? void 0 : _c.map(function (f) { if (f.references = 'areas') {
150
+ f.displayFields = columnasAreasParaLaTem;
151
+ } ; return f; });
152
+ }
153
+ else {
154
+ (_d = def.detailTables) === null || _d === void 0 ? void 0 : _d.unshift({ table: "tareas_tem", abr: "T", fields: ['operativo', 'enc'], label: 'tareas' });
155
+ def.fields = def.fields.filter(f => !columnasNoRea.map(fn => fn.name).includes(f.name));
156
+ }
157
+ ;
158
+ const q = context.be.db.quoteIdent;
159
+ def.sql = {
160
+ isTable: !opts.recepcion,
161
+ isReferable: true,
162
+ from: `
163
+ (select
164
+ ${def.fields.filter(f => f.inTable == undefined && !f.clientSide).map(f => 't.' + q(f.name)).join(',')}
165
+ , tt.cargado, tt.cargado_dm
166
+ --, (tt.etareas->'encu'->>'cargado')::boolean encu_cargado, tt.etareas->'encu'->>'cargado_dm' enc_cargado_dm, (tt.etareas->'encu'->>'habilitada')::boolean encu_habilitada
167
+ , tt.etareas->'encu'->>'asignado' as encuestador
168
+ --, (tt.etareas->'recu'->>'cargado')::boolean recu_cargado, tt.etareas->'recu'->>'cargado_dm' recu_cargado_dm, (tt.etareas->'recu'->>'habilitada')::boolean recu_habilitada
169
+ , tt.etareas->'recu'->>'asignado' as recuperador
170
+ --, (tt.etareas->'supe'->>'cargado')::boolean supe_cargado, tt.etareas->'supe'->>'cargado_dm' supe_cargado_dm, (tt.etareas->'supe'->>'habilitada')::boolean supe_habilitada
171
+ , tt.etareas->'supe'->>'asignado' as supervisor
172
+ , null notas
173
+ , v.consistido
174
+ ${opts.recepcion ? columnasNoRea.map(v => '\n , ' + v.expr + ' as ' + v.name).join('') : ''}
175
+ from tem t left join (
176
+ select tt.operativo, tt.enc, bool_or(cargado) cargado, string_agg(cargado_dm,',') cargado_dm,jsonb_object_agg(tarea,jsonb_build_object('asignado',asignado,'habilitada',habilitada,'cargado',cargado,'cargado_dm',cargado_dm))etareas
177
+ from tareas_tem tt group by tt.operativo, tt.enc )tt on t.operativo=tt.operativo and t.enc=tt.enc
178
+ left join no_rea y on y.no_rea::integer=t.norea
179
+ left join viviendas v on v.vivienda=t.enc
180
+ )
181
+ `
182
+ };
183
+ return def;
184
+ }
185
+ exports.tem = tem;
186
+ });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYixTQUFnQixHQUFHLENBQUMsT0FBb0IsRUFBRSxJQUFROztRQUM5QyxJQUFJLElBQUksR0FBQyxJQUFJLElBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksU0FBUyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLFlBQVksQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO1FBQzdDLElBQUksRUFBRSxHQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsSUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxlQUFlLENBQUM7UUFFM0csSUFBSSxzQkFBc0IsR0FBQyxDQUFDLG1CQUFtQixFQUFDLGdCQUFnQixFQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWxGLElBQUksYUFBYSxHQUFDO1lBQ2QsRUFBQyxJQUFJLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7U0FDdEMsQ0FBQztRQUNGLElBQUksZUFBZSxHQUFDO1lBQ2QsY0FBYyxFQUFLLGVBQWUsRUFBUSxhQUFhO1lBQ3ZELElBQUksRUFBZSxHQUFHLEVBQVMsR0FBRyxFQUFRLE1BQU07U0FDckQsQ0FBQztRQUNGLElBQUksR0FBRyxHQUFtQjtZQUN0QixJQUFJLEVBQUMsTUFBTSxTQUFTLEVBQUU7WUFDdEIsU0FBUyxFQUFDLEtBQUs7WUFDZixRQUFRLEVBQUUsV0FBVztZQUNyQixhQUFhLEVBQUM7Z0JBQ1YsTUFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTO2dCQUN6Qix1QkFBdUIsRUFBRSxNQUFN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Q0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFFLENBQUE7U0FDckY7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxHQUFHLEdBQUU7WUFDRCxPQUFPLEVBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUN2QixXQUFXLEVBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUM7O3NCQUVLLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sSUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDOzs7Ozs7Ozs7O3NCQVU1RixJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsV0FBVyxHQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUUsTUFBTSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLEVBQUU7Ozs7Ozs7YUFPL0Y7U0FDSixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBeEtMLGtCQXdLSyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dH0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtKGNvbnRleHQ6VGFibGVDb250ZXh0LCBvcHRzOmFueSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBvcHRzPW9wdHN8fHt9O1xyXG4gICAgdmFyIHJlY2VwY2lvbj1vcHRzLnJlY2VwY2lvbj8nX3JlY2VwY2lvbic6Jyc7XHJcbiAgICB2YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGNvbnRleHQuZm9yRHVtcCB8fCBjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQudXNlci5yb2w9PT0ncmVjZXBjaW9uaXN0YSc7XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzQXJlYXNQYXJhTGFUZW09WydvYnNfcmVjZXBjaW9uaXN0YScsJ3ZlcmlmaWNhZG9fcmVjJywncmVjZXBjaW9uaXN0YSddO1xyXG5cclxuICAgIHZhciBjb2x1bW5hc05vUmVhPVtcclxuICAgICAgICB7bmFtZTonZ3J1X25vX3JlYScsIGV4cHI6ICdncnVwbycgfVxyXG4gICAgXTtcclxuICAgIHZhciBjb2x1bW5hc1NvbG9UZW09W1xyXG4gICAgICAgICAgJ2VuY19vcmlnaW5hbCcgICAsICdqc29uX2VuY3Vlc3RhJyAgICAgICwgJ2pzb25fYmFja3VwJ1xyXG4gICAgICAgICwgJ2g0JyAgICAgICAgICAgICAsICd4JyAgICAgICAsICd5JyAgICAgICwgJ2ZleHAnXHJcbiAgICBdO1xyXG4gICAgdmFyIGRlZjogVGFibGVEZWZpbml0aW9uPSB7XHJcbiAgICAgICAgbmFtZTpgdGVtJHtyZWNlcGNpb259YCxcclxuICAgICAgICB0YWJsZU5hbWU6J3RlbScsXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLFxyXG4gICAgICAgIGhpZGRlbkNvbHVtbnM6W1xyXG4gICAgICAgICAgICAnY2l0YScsJ25vdGFzJywgJ2NsdXN0ZXInLFxyXG4gICAgICAgICAgICAnY29kdml2aWVuZGFwYXJ0aWN1bGFyJywgJ2Nhc2EnLCAnb2JzZGF0b3Nkb21pY2lsaW8nLCAnb2JzY29uanVudG8nLCAncmVzZXJ2YScsICdyb3RhY2lvbl9ldG9pJywgJ3JvdGFjaW9uX2VhaCdcclxuICAgICAgICAgICAgLCAndHJpbWVzdHJlJyAgICwgJ3Byb2NlZGVuY2lhJywgJ3NlbF9ldG9pX3ZpbGxhJyAgICwgJ21hcmNvJyAgICAgICwgJ3NlbWFuYScgLCAncGVyaW9kaWNpZGFkJyBcclxuICAgICAgICAgICAgLCAnY2FyZ2Fkb19kbSdcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiZmllbGRzXCI6IFtcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICwgbnVsbGFibGU6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJhYnJpclwiICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImNvbnNpc3RpclwiICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidjb25zaXN0aXInfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY2x1c3RlclwiICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICAgICwgZWRpdGFibGU6IGZhbHNlLCBpc05hbWU6dHJ1ZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcmVhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid6b25hJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZWEnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub3JlYScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYW50X2gnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYW50X3AnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZWxlY2Npb25hZG8nICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J3NleG9fc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuLy8gICAgICAgICAgICB7bmFtZTonZWRhZF9zZWwnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVzdWx0YWRvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZ3J1X25vX3JlYScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTpmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VtZW5fZXN0YWRvJyAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NhcmdhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidlbmN1X2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlbmN1ZXN0YWRvcicgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZToncmVjdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3JlY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVjdXBlcmFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3N1cGVfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzb3InICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhX3N1cCcgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub3JlYV9zdXAnICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VtZW5fZXN0YWRvX3N1cCcgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZToncHJlX3NvcnRlbycgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fYWxlYXRvcmlhJywgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbicgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J2Zpbl9jYW1wbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciAgfVxyXG4gICAgICAgICAgICB7bmFtZToncGFzZV90YWJsYScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY29kY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvY2F0YXN0cmFsJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncGlzbycgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZGVwYXJ0YW1lbnRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonaGFiaXRhY2lvbicgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VjdG9yJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZWRpZmljaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW50cmFkYScgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYmFycmlvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOiBcInZlcmlmaWNhclwiICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBlZGl0YWJsZTp0cnVlLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOid2ZXJpZmljYXJDYXNvJ30sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwiZmluYWxpemFyX2NhbXBvXCIgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2ZpbmFsaXphckNhbXBvJ30sIC8vZmluX2RlX2NhbXBvXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwicHJvY2VzYW1pZW50b1wiICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3Bhc2FyQVByb2Nlc2FtaWVudG8nLCBsYWJlbDogJ3Bhc2FyIGEgcHJvY2VzYW1pZW50byd9LCAvL3Byb2Nlc2FtaWVudG9cclxuICAgICAgICAgICAge25hbWU6J2ZleHAnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWF1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZHBvcycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VzdHJhdG9faW5nJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2lkX21hcmNvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29icycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2ZyYWNjaW9uJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb3JhZGlvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2xhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Vzb2RvbWljaWxpbycgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29yZGVuX3JlbGV2YW1pZW50bycgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J21hcGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY29uc2lzdGlkb1wiICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FyZ2Fkb19kbScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXJ0aWNpcGFjaW9uJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb24nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NsYXNlJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYW5lbCcgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICAvL3ZhY2lvcyBvIHBvY28gaW50ZXJlc2FudGVzXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNkYXRvc2RvbWljaWxpbycgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNjb25qdW50bycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXNlcnZhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbl9ldG9pJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2VhaCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondHJpbWVzdHJlJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9jZWRlbmNpYScgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbF9ldG9pX3ZpbGxhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFyY28nICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZW1hbmEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BlcmlvZGljaWRhZCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3NvbG8gdGVtIFxyXG4gICAgICAgICAgICB7bmFtZTonanNvbl9lbmN1ZXN0YScgICAgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImpzb25fYmFja3VwXCIgICAgICAgICAgLCB0eXBlTmFtZTonanNvbmInICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImg0XCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwieFwiICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidkZWNpbWFsJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ5XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm90YXMnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J2NpdGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJtb2RpZmljYWRvXCIgICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfc3VwJyAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNTdXBlcnZpc29yICAgICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfY29vcicgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNDb29yZGluYWRvciB8fCBpc1N1YkNvb3JkaW5hZG9yIH0sICBcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwicHJpbWFyeUtleVwiOiBbIFwib3BlcmF0aXZvXCIsIFwiZW5jXCIgXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidhcmVhcycgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCAnYXJlYSddfSxcclxuICAgICAgICAvLyAgICB7cmVmZXJlbmNlczondXN1YXJpb3MnLCBmaWVsZHM6W3tzb3VyY2U6J2NhcmdhX3BlcnNvbmEnLCB0YXJnZXQ6J2lkcGVyJ31dLCBkaXNwbGF5RmllbGRzOlsnYXBlbGxpZG8nLCdub21icmUnXX0sXHJcbiAgICAgICAgXSwgICAgICAgIFxyXG4gICAgICAgIHNvZnRGb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0b2tlbnMnLCBmaWVsZHM6W3tzb3VyY2U6J2NhcmdhZG9fZG0nLCB0YXJnZXQ6J3Rva2VuJ31dLCBkaXNwbGF5RmllbGRzOlsndXNlcm5hbWUnXSwgZGlzcGxheUFmdGVyRmllbGROYW1lOidjYXJnYWRvJ31cclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiZGV0YWlsVGFibGVzXCI6IFtcclxuICAgICAgICAgICAge3RhYmxlOiBcImluY29uc2lzdGVuY2lhc1wiLCBhYnI6IFwiSVwiLCBmaWVsZHM6IFt7c291cmNlOidvcGVyYXRpdm8nLCB0YXJnZXQ6J29wZXJhdGl2byd9LHtzb3VyY2U6J2VuYycsIHRhcmdldDondml2aWVuZGEnfV19XHJcbiAgICAgICAgXVxyXG4gICAgfTtcclxuICAgIGlmIChvcHRzLnJlY2VwY2lvbikge1xyXG4gICAgICAgIGRlZi5maWVsZHM9ZGVmLmZpZWxkcy5maWx0ZXIoZj0+IWNvbHVtbmFzU29sb1RlbS5pbmNsdWRlcyhmLm5hbWUpIClcclxuICAgICAgICBkZWYuaGlkZGVuQ29sdW1ucz1bLi4uZGVmLmhpZGRlbkNvbHVtbnMsIC4uLmNvbHVtbmFzQXJlYXNQYXJhTGFUZW0ubWFwKHg9PmBhcmVhc19fJHt4fWApXVxyXG4gICAgICAgIGRlZi5mb3JlaWduS2V5cz1kZWYuZm9yZWlnbktleXM/Lm1hcChmdW5jdGlvbiAoZikge2lmIChmLnJlZmVyZW5jZXM9J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgIC0tLCAodHQuZXRhcmVhcy0+J2VuY3UnLT4+J2NhcmdhZG8nKTo6Ym9vbGVhbiBlbmN1X2NhcmdhZG8sIHR0LmV0YXJlYXMtPidlbmN1Jy0+PidjYXJnYWRvX2RtJyBlbmNfY2FyZ2Fkb19kbSwgKHR0LmV0YXJlYXMtPidlbmN1Jy0+PidoYWJpbGl0YWRhJyk6OmJvb2xlYW4gZW5jdV9oYWJpbGl0YWRhXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4nZW5jdSctPj4nYXNpZ25hZG8nIGFzIGVuY3Vlc3RhZG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLS0sICh0dC5ldGFyZWFzLT4ncmVjdSctPj4nY2FyZ2FkbycpOjpib29sZWFuIHJlY3VfY2FyZ2FkbywgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2NhcmdhZG9fZG0nIHJlY3VfY2FyZ2Fkb19kbSwgKHR0LmV0YXJlYXMtPidyZWN1Jy0+PidoYWJpbGl0YWRhJyk6OmJvb2xlYW4gcmVjdV9oYWJpbGl0YWRhXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4ncmVjdSctPj4nYXNpZ25hZG8nIGFzIHJlY3VwZXJhZG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLS0sICh0dC5ldGFyZWFzLT4nc3VwZSctPj4nY2FyZ2FkbycpOjpib29sZWFuIHN1cGVfY2FyZ2FkbywgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2NhcmdhZG9fZG0nIHN1cGVfY2FyZ2Fkb19kbSwgKHR0LmV0YXJlYXMtPidzdXBlJy0+PidoYWJpbGl0YWRhJyk6OmJvb2xlYW4gc3VwZV9oYWJpbGl0YWRhXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4nc3VwZSctPj4nYXNpZ25hZG8nIGFzIHN1cGVydmlzb3JcclxuICAgICAgICAgICAgICAgICAgICAsIG51bGwgbm90YXNcclxuICAgICAgICAgICAgICAgICAgICAsIHYuY29uc2lzdGlkb1xyXG4gICAgICAgICAgICAgICAgICAgICR7b3B0cy5yZWNlcGNpb24/IGNvbHVtbmFzTm9SZWEubWFwKHY9PidcXG4gICAgICwgJysgdi5leHByICsnIGFzICcrIHYubmFtZSkuam9pbignJykgOicnfVxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHR0Lm9wZXJhdGl2bywgdHQuZW5jLCBib29sX29yKGNhcmdhZG8pIGNhcmdhZG8sIHN0cmluZ19hZ2coY2FyZ2Fkb19kbSwnLCcpIGNhcmdhZG9fZG0sanNvbmJfb2JqZWN0X2FnZyh0YXJlYSxqc29uYl9idWlsZF9vYmplY3QoJ2FzaWduYWRvJyxhc2lnbmFkbywnaGFiaWxpdGFkYScsaGFiaWxpdGFkYSwnY2FyZ2FkbycsY2FyZ2FkbywnY2FyZ2Fkb19kbScsY2FyZ2Fkb19kbSkpZXRhcmVhcyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSB0dCBncm91cCBieSB0dC5vcGVyYXRpdm8sIHR0LmVuYyAgKXR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24geS5ub19yZWE6OmludGVnZXI9dC5ub3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHZpdmllbmRhcyB2IG9uIHYudml2aWVuZGE9dC5lbmMgXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIGAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGRlZjtcclxuICAgIH1cclxuICAgICJdfQ==
@@ -0,0 +1,19 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./table-tem"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tem_recepcion = void 0;
13
+ const table_tem_1 = require("./table-tem");
14
+ function tem_recepcion(context) {
15
+ return (0, table_tem_1.tem)(context, { recepcion: true });
16
+ }
17
+ exports.tem_recepcion = tem_recepcion;
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtX3JlY2VwY2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGVtX3JlY2VwY2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLDJDQUFnQztJQUVoQyxTQUFnQixhQUFhLENBQUMsT0FBb0I7UUFDOUMsT0FBTyxJQUFBLGVBQUcsRUFBQyxPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHt0ZW19IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlbV9yZWNlcGNpb24oY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICByZXR1cm4gdGVtKGNvbnRleHQsIHtyZWNlcGNpb246dHJ1ZX0pO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.usuarios = void 0;
13
+ function usuarios(context) {
14
+ var admin = context.user.rol === 'admin';
15
+ return {
16
+ name: 'usuarios',
17
+ title: 'Usuarios de la Aplicación',
18
+ editable: admin,
19
+ fields: [
20
+ { name: 'usuario', typeName: 'text', nullable: false },
21
+ { name: 'idper', typeName: 'text' },
22
+ { name: 'rol', typeName: 'text' },
23
+ { name: 'md5clave', typeName: 'text', allow: { select: context.forDump } },
24
+ { name: 'activo', typeName: 'boolean', nullable: false, defaultValue: false },
25
+ { name: 'nombre', typeName: 'text' },
26
+ { name: 'apellido', typeName: 'text' },
27
+ { name: 'telefono', typeName: 'text', title: 'teléfono' },
28
+ { name: 'interno', typeName: 'text' },
29
+ { name: 'cuit', typeName: 'text' },
30
+ { name: 'recepcionista', typeName: 'text' },
31
+ { name: 'mail', typeName: 'text' },
32
+ { name: 'mail_alternativo', typeName: 'text' },
33
+ { name: 'rol2', typeName: 'text' },
34
+ { name: 'clave_nueva', typeName: 'text', clientSide: 'newPass', allow: { select: admin, update: true, insert: false } },
35
+ ],
36
+ primaryKey: ['usuario'],
37
+ constraints: [
38
+ { constraintType: 'unique', fields: ['idper'] },
39
+ { constraintType: 'unique', fields: ['idper', 'rol'] }
40
+ ],
41
+ foreignKeys: [
42
+ { references: 'roles', fields: ['rol'] },
43
+ { references: 'roles', fields: [{ source: 'rol2', target: 'rol' }], alias: 'rol2' },
44
+ { references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'recepcionista' }
45
+ ],
46
+ sql: {
47
+ where: admin || context.forDump ? 'true' : "usuarios.usuario = " + context.be.db.quoteNullable(context.user.usuario)
48
+ /*
49
+ where:` (${q(esSuperUser)}
50
+ or usuarios.rol= ${q(context.user.rol)}
51
+ or exists (select rol_subordinado from roles_subordinados s where s.rol=${q(context.user.rol)} and usuarios.rol=s.rol_subordinado)
52
+ )`
53
+ */
54
+ }
55
+ };
56
+ }
57
+ exports.usuarios = usuarios;
58
+ });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXN1YXJpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3RhYmxlLXVzdWFyaW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBSWIsU0FBZ0IsUUFBUSxDQUFDLE9BQW9CO1FBQ3pDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLE9BQU8sQ0FBQztRQUN2QyxPQUFPO1lBQ0gsSUFBSSxFQUFDLFVBQVU7WUFDZixLQUFLLEVBQUMsMkJBQTJCO1lBQ2pDLFFBQVEsRUFBQyxLQUFLO1lBQ2QsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBWSxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBQyxLQUFLLEVBQUc7Z0JBQ2pFLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBYyxRQUFRLEVBQUMsTUFBTSxFQUFLO2dCQUMvQyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQWdCLFFBQVEsRUFBQyxNQUFNLEVBQUs7Z0JBQy9DLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBVyxRQUFRLEVBQUMsTUFBTSxFQUFNLEtBQUssRUFBQyxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFDLEVBQUU7Z0JBQ2pGLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBYSxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLEtBQUssRUFBQztnQkFDbkYsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFhLFFBQVEsRUFBQyxNQUFNLEVBQXVCO2dCQUNqRSxFQUFDLElBQUksRUFBQyxVQUFVLEVBQVcsUUFBUSxFQUFDLE1BQU0sRUFBdUI7Z0JBQ2pFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBVyxRQUFRLEVBQUMsTUFBTSxFQUFNLEtBQUssRUFBQyxVQUFVLEVBQUM7Z0JBQ2pFLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBWSxRQUFRLEVBQUMsTUFBTSxFQUF1QjtnQkFDakUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFlLFFBQVEsRUFBQyxNQUFNLEVBQXVCO2dCQUNqRSxFQUFDLElBQUksRUFBQyxlQUFlLEVBQU0sUUFBUSxFQUFDLE1BQU0sRUFBdUI7Z0JBQ2pFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUF1QjtnQkFDakUsRUFBQyxJQUFJLEVBQUMsa0JBQWtCLEVBQUcsUUFBUSxFQUFDLE1BQU0sRUFBdUI7Z0JBQ2pFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUF1QjtnQkFDakUsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFRLFFBQVEsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLEtBQUssRUFBQyxFQUFDO2FBQ3JIO1lBQ0QsVUFBVSxFQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RCLFdBQVcsRUFBQztnQkFDUixFQUFDLGNBQWMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLENBQUMsT0FBTyxDQUFDLEVBQUM7Z0JBQzNDLEVBQUMsY0FBYyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLEVBQUM7YUFDcEQ7WUFDRCxXQUFXLEVBQUM7Z0JBQ1IsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLEtBQUssQ0FBQyxFQUFDO2dCQUNwQyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBQyxNQUFNLEVBQUM7Z0JBQzFFLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUUsS0FBSyxFQUFDLGVBQWUsRUFBQzthQUNwRztZQUNELEdBQUcsRUFBQztnQkFDQSxLQUFLLEVBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQSxDQUFDLENBQUEscUJBQXFCLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUM3Rzs7Ozs7a0JBS0U7YUFDTDtTQUNKLENBQUM7SUFDTixDQUFDO0lBM0NELDRCQTJDQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dH0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXN1YXJpb3MoY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbntcclxuICAgIHZhciBhZG1pbiA9IGNvbnRleHQudXNlci5yb2w9PT0nYWRtaW4nO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOid1c3VhcmlvcycsXHJcbiAgICAgICAgdGl0bGU6J1VzdWFyaW9zIGRlIGxhIEFwbGljYWNpw7NuJyxcclxuICAgICAgICBlZGl0YWJsZTphZG1pbixcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICB7bmFtZTondXN1YXJpbycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBudWxsYWJsZTpmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2lkcGVyJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb2wnICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWQ1Y2xhdmUnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBhbGxvdzp7c2VsZWN0OiBjb250ZXh0LmZvckR1bXB9IH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhY3Rpdm8nICAgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIG51bGxhYmxlOmZhbHNlICxkZWZhdWx0VmFsdWU6ZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tYnJlJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FwZWxsaWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0ZWxlZm9ubycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIHRpdGxlOid0ZWzDqWZvbm8nfSxcclxuICAgICAgICAgICAge25hbWU6J2ludGVybm8nICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjdWl0JyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVjZXBjaW9uaXN0YScgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J21haWwnICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidtYWlsX2FsdGVybmF0aXZvJyAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm9sMicgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NsYXZlX251ZXZhJyAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBjbGllbnRTaWRlOiduZXdQYXNzJywgYWxsb3c6e3NlbGVjdDphZG1pbiwgdXBkYXRlOnRydWUsIGluc2VydDpmYWxzZX19LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpbJ3VzdWFyaW8nXSxcclxuICAgICAgICBjb25zdHJhaW50czpbXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgZmllbGRzOlsnaWRwZXInXX0sXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgZmllbGRzOlsnaWRwZXInLCdyb2wnXX1cclxuICAgICAgICBdLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3JvbGVzJywgZmllbGRzOlsncm9sJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczoncm9sZXMnLCBmaWVsZHM6W3tzb3VyY2U6J3JvbDInLCB0YXJnZXQ6J3JvbCd9XSwgYWxpYXM6J3JvbDInfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidyZWNlcGNpb25pc3RhJywgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J3JlY2VwY2lvbmlzdGEnfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3FsOntcclxuICAgICAgICAgICAgd2hlcmU6YWRtaW4gfHwgY29udGV4dC5mb3JEdW1wPyd0cnVlJzpcInVzdWFyaW9zLnVzdWFyaW8gPSBcIitjb250ZXh0LmJlLmRiLnF1b3RlTnVsbGFibGUoY29udGV4dC51c2VyLnVzdWFyaW8pXHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgIHdoZXJlOmAgKCR7cShlc1N1cGVyVXNlcil9IFxyXG4gICAgICAgICAgICAgICAgb3IgdXN1YXJpb3Mucm9sPSAke3EoY29udGV4dC51c2VyLnJvbCl9XHJcbiAgICAgICAgICAgICAgICBvciBleGlzdHMgKHNlbGVjdCByb2xfc3Vib3JkaW5hZG8gZnJvbSByb2xlc19zdWJvcmRpbmFkb3MgcyB3aGVyZSBzLnJvbD0ke3EoY29udGV4dC51c2VyLnJvbCl9IGFuZCB1c3Vhcmlvcy5yb2w9cy5yb2xfc3Vib3JkaW5hZG8pICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICApYFxyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuIl19