valtech-components 4.0.624 → 4.0.627
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.
- package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +918 -874
- package/esm2022/lib/components/organisms/mini-games/christianity-rules.mjs +120 -8
- package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +1030 -874
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +1 -1
- package/lib/components/organisms/mini-games/christianity-game.component.d.ts +4 -0
- package/lib/components/organisms/mini-games/types.d.ts +42 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -63,7 +63,7 @@ export function playCardFromHand(game, seat, card, options = {}) {
|
|
|
63
63
|
spentOfferings = card.cost ?? 0;
|
|
64
64
|
spendOfferings(player, spentOfferings);
|
|
65
65
|
const life = card.life ?? 1;
|
|
66
|
-
|
|
66
|
+
const newChar = {
|
|
67
67
|
instanceId: `${seat.toLowerCase()}_${next.revision + 1}_${player.battleZone.length}`,
|
|
68
68
|
cardId: card.id,
|
|
69
69
|
name: displayName,
|
|
@@ -74,7 +74,11 @@ export function playCardFromHand(game, seat, card, options = {}) {
|
|
|
74
74
|
currentHp: life,
|
|
75
75
|
maxHp: life,
|
|
76
76
|
canAttack: false,
|
|
77
|
-
}
|
|
77
|
+
};
|
|
78
|
+
bakeEffects(newChar, card.effects ?? []);
|
|
79
|
+
player.battleZone.push(newChar);
|
|
80
|
+
fireEffects(next, newChar, 'on_enter', seat);
|
|
81
|
+
fireEffects(next, newChar, 'passive', seat);
|
|
78
82
|
player.battleZone.sort((left, right) => (left.slot ?? 0) - (right.slot ?? 0));
|
|
79
83
|
}
|
|
80
84
|
else if (card.type === 'tool') {
|
|
@@ -169,8 +173,10 @@ export function resolveAttackLeader(game, attackerSeat, attackerInstanceId, mess
|
|
|
169
173
|
const attacker = next.players[attackerSeat].battleZone.find(card => card.instanceId === attackerInstanceId);
|
|
170
174
|
if (!attacker || !attacker.canAttack)
|
|
171
175
|
return { game, attacked: false, attackerDamage: 0, targetDamage: 0, log: [] };
|
|
172
|
-
|
|
176
|
+
fireEffects(next, attacker, 'on_attack', attackerSeat, { targeting: 'leader' });
|
|
177
|
+
const damage = attacker.attack + (attacker.combatAttackBuff ?? 0);
|
|
173
178
|
next.players[defenderSeat].leaderHp = Math.max(0, next.players[defenderSeat].leaderHp - damage);
|
|
179
|
+
attacker.combatAttackBuff = 0;
|
|
174
180
|
attacker.canAttack = false;
|
|
175
181
|
const log = [
|
|
176
182
|
`${attacker.name} ${attackerSeat === 'P1' ? messages.attacksOpponentLeader : messages.attacksYourLeader}`,
|
|
@@ -190,8 +196,14 @@ export function resolveAttackCharacter(game, attackerSeat, attackerInstanceId, t
|
|
|
190
196
|
if (!attacker || !target || !attacker.canAttack) {
|
|
191
197
|
return { game, attacked: false, attackerDamage: 0, targetDamage: 0, log: [] };
|
|
192
198
|
}
|
|
193
|
-
|
|
194
|
-
|
|
199
|
+
fireEffects(next, attacker, 'on_attack', attackerSeat, { targeting: 'character' }, target);
|
|
200
|
+
fireEffects(next, target, 'on_defend', defenderSeat, { targeting: 'character' }, attacker);
|
|
201
|
+
const attackerTotal = attacker.attack + (attacker.combatAttackBuff ?? 0);
|
|
202
|
+
const targetTotal = target.attack + (target.combatAttackBuff ?? 0);
|
|
203
|
+
target.currentHp -= attackerTotal;
|
|
204
|
+
attacker.currentHp -= targetTotal;
|
|
205
|
+
attacker.combatAttackBuff = 0;
|
|
206
|
+
target.combatAttackBuff = 0;
|
|
195
207
|
attacker.canAttack = false;
|
|
196
208
|
cleanupDestroyed(next.players[attackerSeat], next);
|
|
197
209
|
cleanupDestroyed(next.players[defenderSeat], next);
|
|
@@ -202,8 +214,8 @@ export function resolveAttackCharacter(game, attackerSeat, attackerInstanceId, t
|
|
|
202
214
|
return {
|
|
203
215
|
game: next,
|
|
204
216
|
attacked: true,
|
|
205
|
-
attackerDamage:
|
|
206
|
-
targetDamage:
|
|
217
|
+
attackerDamage: targetTotal,
|
|
218
|
+
targetDamage: attackerTotal,
|
|
207
219
|
log,
|
|
208
220
|
};
|
|
209
221
|
}
|
|
@@ -256,6 +268,9 @@ export function cleanupDestroyed(player, game) {
|
|
|
256
268
|
const destroyed = player.battleZone.filter(card => card.currentHp <= 0);
|
|
257
269
|
if (!destroyed.length)
|
|
258
270
|
return;
|
|
271
|
+
for (const ch of destroyed) {
|
|
272
|
+
fireEffects(game, ch, 'on_death', ch.owner);
|
|
273
|
+
}
|
|
259
274
|
game.historyZone.push(...destroyed.map(card => card.cardId));
|
|
260
275
|
player.battleZone = player.battleZone.filter(card => card.currentHp > 0);
|
|
261
276
|
}
|
|
@@ -282,6 +297,102 @@ function offeringAbilityReserveGain(abilityText, fallbackValue) {
|
|
|
282
297
|
export function opponentSeat(seat) {
|
|
283
298
|
return seat === 'P1' ? 'P2' : 'P1';
|
|
284
299
|
}
|
|
300
|
+
function checkCondition(condition, ctx) {
|
|
301
|
+
if (!condition)
|
|
302
|
+
return true;
|
|
303
|
+
return condition.targeting === ctx.targeting;
|
|
304
|
+
}
|
|
305
|
+
function applyMutationToCharacter(ch, effect) {
|
|
306
|
+
const mut = effect.mutation;
|
|
307
|
+
const duration = effect.duration ?? 'permanent';
|
|
308
|
+
switch (mut.type) {
|
|
309
|
+
case 'buff_attack':
|
|
310
|
+
if (duration === 'combat') {
|
|
311
|
+
ch.combatAttackBuff = (ch.combatAttackBuff ?? 0) + mut.amount;
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
ch.attack += mut.amount;
|
|
315
|
+
}
|
|
316
|
+
break;
|
|
317
|
+
case 'buff_life':
|
|
318
|
+
ch.currentHp += mut.amount;
|
|
319
|
+
ch.maxHp += mut.amount;
|
|
320
|
+
break;
|
|
321
|
+
case 'deal_damage':
|
|
322
|
+
ch.currentHp = Math.max(0, ch.currentHp - mut.amount);
|
|
323
|
+
break;
|
|
324
|
+
case 'restore_hp':
|
|
325
|
+
ch.currentHp = Math.min(ch.maxHp, ch.currentHp + mut.amount);
|
|
326
|
+
break;
|
|
327
|
+
case 'destroy':
|
|
328
|
+
ch.currentHp = 0;
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
function applyEffect(game, effect, source, combatOpponent, seat) {
|
|
333
|
+
const { mutation: mut, target } = effect;
|
|
334
|
+
const opp = opponentSeat(seat);
|
|
335
|
+
switch (target) {
|
|
336
|
+
case 'self':
|
|
337
|
+
applyMutationToCharacter(source, effect);
|
|
338
|
+
break;
|
|
339
|
+
case 'combat_opponent':
|
|
340
|
+
if (combatOpponent)
|
|
341
|
+
applyMutationToCharacter(combatOpponent, effect);
|
|
342
|
+
break;
|
|
343
|
+
case 'all_friendly':
|
|
344
|
+
for (const ch of game.players[seat].battleZone)
|
|
345
|
+
applyMutationToCharacter(ch, effect);
|
|
346
|
+
break;
|
|
347
|
+
case 'all_enemy':
|
|
348
|
+
for (const ch of game.players[opp].battleZone)
|
|
349
|
+
applyMutationToCharacter(ch, effect);
|
|
350
|
+
break;
|
|
351
|
+
case 'opponent_leader':
|
|
352
|
+
case 'own_leader': {
|
|
353
|
+
const ls = target === 'opponent_leader' ? opp : seat;
|
|
354
|
+
if (mut.type === 'deal_damage') {
|
|
355
|
+
game.players[ls].leaderHp = Math.max(0, game.players[ls].leaderHp - mut.amount);
|
|
356
|
+
}
|
|
357
|
+
else if (mut.type === 'restore_hp') {
|
|
358
|
+
game.players[ls].leaderHp = Math.min(game.players[ls].leaderMaxHp, game.players[ls].leaderHp + mut.amount);
|
|
359
|
+
}
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// game-level mutations that bypass the character switch
|
|
364
|
+
if (mut.type === 'draw_card') {
|
|
365
|
+
for (let i = 0; i < mut.amount; i++)
|
|
366
|
+
drawCardFor(game, seat);
|
|
367
|
+
}
|
|
368
|
+
else if (mut.type === 'discard_card') {
|
|
369
|
+
const tSeat = mut.who === 'opponent' ? opp : seat;
|
|
370
|
+
const hand = game.players[tSeat].hand ?? [];
|
|
371
|
+
let seed = game.revision * 31 + game.turnCount * 7;
|
|
372
|
+
for (let i = 0; i < Math.min(mut.amount, hand.length); i++) {
|
|
373
|
+
seed = (seed * 1664525 + 1013904223) & 0xffffffff;
|
|
374
|
+
const idx = Math.abs(seed) % hand.length;
|
|
375
|
+
game.historyZone.push(hand.splice(idx, 1)[0]);
|
|
376
|
+
}
|
|
377
|
+
game.players[tSeat].hand = hand;
|
|
378
|
+
}
|
|
379
|
+
else if (mut.type === 'gain_offerings') {
|
|
380
|
+
game.players[seat].temporaryOfferingReserve =
|
|
381
|
+
(game.players[seat].temporaryOfferingReserve ?? 0) + mut.amount;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
function fireEffects(game, source, trigger, seat, ctx = {}, combatOpponent = null) {
|
|
385
|
+
for (const effect of source.effects ?? []) {
|
|
386
|
+
if (effect.trigger !== trigger)
|
|
387
|
+
continue;
|
|
388
|
+
if (!checkCondition(effect.condition, ctx))
|
|
389
|
+
continue;
|
|
390
|
+
applyEffect(game, effect, source, combatOpponent, seat);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
function bakeEffects(instance, effects) {
|
|
394
|
+
instance.effects = [...(instance.effects ?? []), ...effects];
|
|
395
|
+
}
|
|
285
396
|
// --- Tool equip passives (H8) ---
|
|
286
397
|
function applyToolPassives(ch, card) {
|
|
287
398
|
const text = card.abilities?.[0]?.text ?? '';
|
|
@@ -298,6 +409,7 @@ function applyToolPassives(ch, card) {
|
|
|
298
409
|
if (lower.includes('puede atacar el turno en que entra')) {
|
|
299
410
|
ch.canAttack = true;
|
|
300
411
|
}
|
|
412
|
+
bakeEffects(ch, card.effects ?? []);
|
|
301
413
|
}
|
|
302
414
|
// --- Effect resolution (H7) ---
|
|
303
415
|
function resolveCardEffect(game, card, seat) {
|
|
@@ -437,4 +549,4 @@ function parseSpanishNumber(text) {
|
|
|
437
549
|
}
|
|
438
550
|
return 0;
|
|
439
551
|
}
|
|
440
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFzQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEUsTUFBTSxDQUFDLHdCQUF3QixJQUFJLENBQUMsQ0FDckMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQStCO0lBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0M7SUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0Is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O0lBQ0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxJQUFJLFVBQVU7UUFBRSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UsXG4gIENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsXG4gIENocmlzdGlhbml0eVNlYXQsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ0hSSVNUSUFOSVRZX0JBVFRMRV9TTE9UUyA9IDQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzIHtcbiAgYXR0YWNrc09wcG9uZW50TGVhZGVyOiBzdHJpbmc7XG4gIGF0dGFja3NZb3VyTGVhZGVyOiBzdHJpbmc7XG4gIGNvbWJhdHNBZ2FpbnN0OiBzdHJpbmc7XG4gIGRyYXdzQ2FyZDogc3RyaW5nO1xuICBkZWNrSXNFbXB0eTogc3RyaW5nO1xuICB0dXJuT2Y6IHN0cmluZztcbiAgeW91V2luOiBzdHJpbmc7XG4gIG9wcG9uZW50V2luczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eVBsYXlDYXJkUmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICBwbGF5ZWQ6IGJvb2xlYW47XG4gIHBsYXllZE9mZmVyaW5nVmFsdWU6IG51bWJlcjtcbiAgc3BlbnRPZmZlcmluZ3M6IG51bWJlcjtcbiAgbG9nOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGU7XG4gIGF0dGFja2VkOiBib29sZWFuO1xuICBhdHRhY2tlckRhbWFnZTogbnVtYmVyO1xuICB0YXJnZXREYW1hZ2U6IG51bWJlcjtcbiAgbG9nOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGU7XG4gIHJlc29sdmVkOiBib29sZWFuO1xuICBsZWFkZXJEYW1hZ2U6IG51bWJlcjtcbiAgcmVzZXJ2ZUdhaW46IG51bWJlcjtcbiAgc3BlbnRPZmZlcmluZ3M6IG51bWJlcjtcbiAgbG9nOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWR5T2ZmZXJpbmdzKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUpOiBudW1iZXIge1xuICByZXR1cm4gcGxheWVyLm9mZmVyaW5ncy5yZWR1Y2UoXG4gICAgKHRvdGFsLCBvZmZlcmluZykgPT4gdG90YWwgKyAob2ZmZXJpbmcucmVhZHkgPyBvZmZlcmluZy52YWx1ZSA6IDApLFxuICAgIHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG90YWxPZmZlcmluZ3MocGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSk6IG51bWJlciB7XG4gIHJldHVybiBwbGF5ZXIub2ZmZXJpbmdzLnJlZHVjZSgodG90YWwsIG9mZmVyaW5nKSA9PiB0b3RhbCArIG9mZmVyaW5nLnZhbHVlLCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblBsYXlDYXJkKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICFwbGF5ZXIub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmXG4gICAgICBwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGggPCBDSFJJU1RJQU5JVFlfQkFUVExFX1NMT1RTXG4gICAgKTtcbiAgfVxuICBpZiAoY2FyZC50eXBlID09PSAndG9vbCcpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmIHBsYXllci5iYXR0bGVab25lLmxlbmd0aCA+IDA7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2FjdGlvbicgfHwgY2FyZC50eXBlID09PSAnd2lzZG9tJyB8fCBjYXJkLnR5cGUgPT09ICdldmVudCcpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApO1xuICB9XG4gIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5Q2FyZEZyb21IYW5kKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICBvcHRpb25zOiB7IHNsb3RJbmRleD86IG51bWJlcjsgZGlzcGxheU5hbWU/OiBzdHJpbmc7IHRhcmdldEluc3RhbmNlSWQ/OiBzdHJpbmcgfSA9IHt9XG4pOiBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGlmICghY2FuUGxheUNhcmQoZ2FtZSwgc2VhdCwgY2FyZCkpIHtcbiAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBoYW5kSW5kZXggPSBwbGF5ZXIuaGFuZD8uaW5kZXhPZihjYXJkLmlkKSA/PyAtMTtcbiAgaWYgKGhhbmRJbmRleCA8IDAgfHwgIXBsYXllci5oYW5kKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gb3B0aW9ucy5kaXNwbGF5TmFtZSA/PyBjYXJkLm5hbWU7XG4gIGxldCBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gMDtcbiAgbGV0IHNwZW50T2ZmZXJpbmdzID0gMDtcblxuICBwbGF5ZXIuaGFuZC5zcGxpY2UoaGFuZEluZGV4LCAxKTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgIHBsYXllZE9mZmVyaW5nVmFsdWUgPSBjYXJkLm9mZmVyaW5nVmFsdWUgPz8gY2FyZC5saWZlID8/IDE7XG4gICAgcGxheWVyLm9mZmVyaW5ncy5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fb2ZmZXJpbmdfJHtuZXh0LnJldmlzaW9uICsgMX1gLFxuICAgICAgY2FyZElkOiBjYXJkLmlkLFxuICAgICAgbmFtZTogZGlzcGxheU5hbWUsXG4gICAgICBvd25lcjogc2VhdCxcbiAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgdmFsdWU6IHBsYXllZE9mZmVyaW5nVmFsdWUsXG4gICAgICBhYmlsaXR5TmFtZTogY2FyZC5hYmlsaXR5TmFtZSxcbiAgICAgIGFiaWxpdHlUZXh0OiBjYXJkLmFiaWxpdHlUZXh0LFxuICAgICAgYWJpbGl0eUNvc3Q6IGNhcmQuYWJpbGl0eUNvc3QsXG4gICAgfSk7XG4gICAgcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSB0cnVlO1xuICB9IGVsc2UgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICBjb25zdCBvY2N1cGllZFNsb3RzID0gbmV3IFNldChcbiAgICAgIHBsYXllci5iYXR0bGVab25lLm1hcCgoY2hhcmFjdGVyLCBpbmRleCkgPT5cbiAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihjaGFyYWN0ZXIuc2xvdCkgPyAoY2hhcmFjdGVyLnNsb3QgPz8gaW5kZXgpIDogaW5kZXhcbiAgICAgIClcbiAgICApO1xuICAgIGNvbnN0IHRhcmdldFNsb3QgPSBvcHRpb25zLnNsb3RJbmRleCA/PyBbMCwgMSwgMiwgM10uZmluZChpbmRleCA9PiAhb2NjdXBpZWRTbG90cy5oYXMoaW5kZXgpKTtcbiAgICBpZiAodGFyZ2V0U2xvdCA9PT0gdW5kZWZpbmVkIHx8IG9jY3VwaWVkU2xvdHMuaGFzKHRhcmdldFNsb3QpKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBzcGVudE9mZmVyaW5ncyA9IGNhcmQuY29zdCA/PyAwO1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICAgIGNvbnN0IGxpZmUgPSBjYXJkLmxpZmUgPz8gMTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fJHtuZXh0LnJldmlzaW9uICsgMX1fJHtwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGh9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICBjb250cm9sbGVyOiBzZWF0LFxuICAgICAgc2xvdDogdGFyZ2V0U2xvdCxcbiAgICAgIGF0dGFjazogY2FyZC5hdHRhY2sgPz8gMCxcbiAgICAgIGN1cnJlbnRIcDogbGlmZSxcbiAgICAgIG1heEhwOiBsaWZlLFxuICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICd0b29sJykge1xuICAgIHNwZW50T2ZmZXJpbmdzID0gY2FyZC5jb3N0ID8/IDA7XG4gICAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gICAgfVxuICAgIG5leHQucGxheWVyc1tzZWF0XSA9IHBsYXllcjtcbiAgICBjb25zdCB0YXJnZXRJZCA9IG9wdGlvbnMudGFyZ2V0SW5zdGFuY2VJZDtcbiAgICBjb25zdCBjaGFySWR4ID0gbmV4dC5wbGF5ZXJzW3NlYXRdLmJhdHRsZVpvbmUuZmluZEluZGV4KGMgPT4gYy5pbnN0YW5jZUlkID09PSB0YXJnZXRJZCk7XG4gICAgaWYgKGNoYXJJZHggPCAwKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBjb25zdCBjaCA9IG5leHQucGxheWVyc1tzZWF0XS5iYXR0bGVab25lW2NoYXJJZHhdO1xuICAgIGNoLmVxdWlwcGVkVG9vbHMgPSBbLi4uKGNoLmVxdWlwcGVkVG9vbHMgPz8gW10pLCBjYXJkLmlkXTtcbiAgICBhcHBseVRvb2xQYXNzaXZlcyhjaCwgY2FyZCk7XG4gIH0gZWxzZSBpZiAoY2FyZC50eXBlID09PSAnYWN0aW9uJyB8fCBjYXJkLnR5cGUgPT09ICd3aXNkb20nIHx8IGNhcmQudHlwZSA9PT0gJ2V2ZW50Jykge1xuICAgIHNwZW50T2ZmZXJpbmdzID0gY2FyZC5jb3N0ID8/IDA7XG4gICAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gICAgfVxuICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChjYXJkLmlkKTtcbiAgICBuZXh0LnBsYXllcnNbc2VhdF0gPSBwbGF5ZXI7XG4gICAgcmVzb2x2ZUNhcmRFZmZlY3QobmV4dCwgY2FyZCwgc2VhdCk7XG4gIH0gZWxzZSBpZiAoY2FyZC50eXBlID09PSAncGxhY2UnKSB7XG4gICAgY29uc3QgcHJldmlvdXNQbGFjZSA9IG5leHQucGxhY2Vab25lWzBdO1xuICAgIGlmIChwcmV2aW91c1BsYWNlKSB7XG4gICAgICBuZXh0Lmhpc3Rvcnlab25lLnB1c2gocHJldmlvdXNQbGFjZSk7XG4gICAgfVxuICAgIG5leHQucGxhY2Vab25lID0gW2NhcmQuaWRdO1xuICB9XG5cbiAgbmV4dC5yZXZpc2lvbisrO1xuICBjb25zdCBsb2cgPSBbcGxheUNhcmRMb2coY2FyZCwgZGlzcGxheU5hbWUpXTtcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIHBsYXllZDogdHJ1ZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZSwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVXNlT2ZmZXJpbmdBYmlsaXR5KFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIG9mZmVyaW5nSW5zdGFuY2VJZDogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzPzogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHJlc2VydmVHYWluOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBsaXZlT2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghbGl2ZU9mZmVyaW5nKVxuICAgIHJldHVybiB7IGdhbWUsIHJlc29sdmVkOiBmYWxzZSwgbGVhZGVyRGFtYWdlOiAwLCByZXNlcnZlR2FpbjogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBzcGVudE9mZmVyaW5ncyA9IGxpdmVPZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwO1xuICBpZiAoc3BlbnRPZmZlcmluZ3MgPiAwKSB7XG4gICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gIH1cbiAgY29uc3QgcmVzZXJ2ZUdhaW4gPSBvZmZlcmluZ0FiaWxpdHlSZXNlcnZlR2FpbihsaXZlT2ZmZXJpbmcuYWJpbGl0eVRleHQsIGxpdmVPZmZlcmluZy52YWx1ZSk7XG4gIHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPSAocGxheWVyLnRlbXBvcmFyeU9mZmVyaW5nUmVzZXJ2ZSA/PyAwKSArIHJlc2VydmVHYWluO1xuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAoY2FyZCA9PlxuICAgIGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkID8geyAuLi5jYXJkLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiB0cnVlIH0gOiBjYXJkXG4gICk7XG4gIHBsYXllci5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIHBsYXllci5sZWFkZXJIcCAtIDEpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtgJHtsaXZlT2ZmZXJpbmcubmFtZX06ICR7bGl2ZU9mZmVyaW5nLmFiaWxpdHlOYW1lfS5gXTtcbiAgaWYgKG1lc3NhZ2VzKSB7XG4gICAgZXZhbHVhdGVWaWN0b3J5KG5leHQsIGxvZywgbWVzc2FnZXMpO1xuICB9XG4gIG5leHQubG9nID0gWy4uLmxvZywgLi4ubmV4dC5sb2ddLnNsaWNlKDAsIDQpO1xuICByZXR1cm4geyBnYW1lOiBuZXh0LCByZXNvbHZlZDogdHJ1ZSwgbGVhZGVyRGFtYWdlOiAxLCByZXNlcnZlR2Fpbiwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5mdW5jdGlvbiBwbGF5Q2FyZExvZyhjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiwgZGlzcGxheU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgbGlzdGEgY29tbyBvZnJlbmRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgY29tbyBsdWdhciBhY3Rpdm8uYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2FjdGlvbicgfHwgY2FyZC50eXBlID09PSAnZXZlbnQnKSByZXR1cm4gYCR7ZGlzcGxheU5hbWV9IGZ1ZSBqdWdhZGEuYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3dpc2RvbScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gZnVlIHJldmVsYWRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICd0b29sJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBmdWUgZXF1aXBhZGEuYDtcbiAgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBlbnRyYSBlbiBiYXRhbGxhLmA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrTGVhZGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXNcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycgfHwgZ2FtZS5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChcbiAgICBjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkXG4gICk7XG4gIGlmICghYXR0YWNrZXIgfHwgIWF0dGFja2VyLmNhbkF0dGFjaylcbiAgICByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBkYW1hZ2UgPSBhdHRhY2tlci5hdHRhY2s7XG4gIG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0ubGVhZGVySHAgLSBkYW1hZ2UpO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY29uc3QgbG9nID0gW1xuICAgIGAke2F0dGFja2VyLm5hbWV9ICR7YXR0YWNrZXJTZWF0ID09PSAnUDEnID8gbWVzc2FnZXMuYXR0YWNrc09wcG9uZW50TGVhZGVyIDogbWVzc2FnZXMuYXR0YWNrc1lvdXJMZWFkZXJ9YCxcbiAgXTtcbiAgZXZhbHVhdGVWaWN0b3J5KG5leHQsIGxvZywgbWVzc2FnZXMpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIG5leHQubG9nID0gWy4uLmxvZywgLi4ubmV4dC5sb2ddLnNsaWNlKDAsIDQpO1xuICByZXR1cm4geyBnYW1lOiBuZXh0LCBhdHRhY2tlZDogdHJ1ZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogZGFtYWdlLCBsb2cgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdHRhY2tDaGFyYWN0ZXIoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgYXR0YWNrZXJTZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBhdHRhY2tlckluc3RhbmNlSWQ6IHN0cmluZyxcbiAgdGFyZ2V0SW5zdGFuY2VJZDogc3RyaW5nLFxuICBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKVxuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IG5leHQgPSBzdHJ1Y3R1cmVkQ2xvbmUoZ2FtZSk7XG4gIGNvbnN0IGF0dGFja2VyID0gbmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0uYmF0dGxlWm9uZS5maW5kKFxuICAgIGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSBhdHRhY2tlckluc3RhbmNlSWRcbiAgKTtcbiAgY29uc3QgdGFyZ2V0ID0gbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5maW5kKFxuICAgIGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSB0YXJnZXRJbnN0YW5jZUlkXG4gICk7XG4gIGlmICghYXR0YWNrZXIgfHwgIXRhcmdldCB8fCAhYXR0YWNrZXIuY2FuQXR0YWNrKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICB0YXJnZXQuY3VycmVudEhwIC09IGF0dGFja2VyLmF0dGFjaztcbiAgYXR0YWNrZXIuY3VycmVudEhwIC09IHRhcmdldC5hdHRhY2s7XG4gIGF0dGFja2VyLmNhbkF0dGFjayA9IGZhbHNlO1xuICBjbGVhbnVwRGVzdHJveWVkKG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLCBuZXh0KTtcbiAgY2xlYW51cERlc3Ryb3llZChuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XSwgbmV4dCk7XG4gIGNvbnN0IGxvZyA9IFtgJHthdHRhY2tlci5uYW1lfSAke21lc3NhZ2VzLmNvbWJhdHNBZ2FpbnN0fSAke3RhcmdldC5uYW1lfS5gXTtcbiAgZXZhbHVhdGVWaWN0b3J5KG5leHQsIGxvZywgbWVzc2FnZXMpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIG5leHQubG9nID0gWy4uLmxvZywgLi4ubmV4dC5sb2ddLnNsaWNlKDAsIDQpO1xuXG4gIHJldHVybiB7XG4gICAgZ2FtZTogbmV4dCxcbiAgICBhdHRhY2tlZDogdHJ1ZSxcbiAgICBhdHRhY2tlckRhbWFnZTogdGFyZ2V0LmF0dGFjayxcbiAgICB0YXJnZXREYW1hZ2U6IGF0dGFja2VyLmF0dGFjayxcbiAgICBsb2csXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZHZhbmNlVHVybihcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBzdHJpbmdbXSB7XG4gIGdhbWUucGxheWVyc1tnYW1lLnR1cm5Pd25lcl0udGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gMDtcbiAgZ2FtZS50dXJuT3duZXIgPSBvcHBvbmVudFNlYXQoZ2FtZS50dXJuT3duZXIpO1xuICBnYW1lLnR1cm5Db3VudCsrO1xuICBjb25zdCBjdXJyZW50ID0gZ2FtZS5wbGF5ZXJzW2dhbWUudHVybk93bmVyXTtcbiAgY3VycmVudC5vZmZlcmluZ1BsYXllZFRoaXNUdXJuID0gZmFsc2U7XG4gIGN1cnJlbnQub2ZmZXJpbmdzID0gY3VycmVudC5vZmZlcmluZ3MubWFwKG9mZmVyaW5nID0+ICh7XG4gICAgLi4ub2ZmZXJpbmcsXG4gICAgcmVhZHk6IHRydWUsXG4gICAgYWJpbGl0eVVzZWRUaGlzVHVybjogZmFsc2UsXG4gIH0pKTtcbiAgY3VycmVudC5iYXR0bGVab25lID0gY3VycmVudC5iYXR0bGVab25lLm1hcChjYXJkID0+ICh7IC4uLmNhcmQsIGNhbkF0dGFjazogdHJ1ZSB9KSk7XG4gIGNvbnN0IGRyYXduQ2FyZCA9IGdhbWUuc2hhcmVkRGVjay5zaGlmdCgpO1xuICBjb25zdCBsb2c6IHN0cmluZ1tdID0gW107XG4gIGlmIChkcmF3bkNhcmQpIHtcbiAgICBpZiAoY3VycmVudC5oYW5kKSB7XG4gICAgICBjdXJyZW50LmhhbmQucHVzaChkcmF3bkNhcmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50LmhhbmRDb3VudCA9IChjdXJyZW50LmhhbmRDb3VudCA/PyAwKSArIDE7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGV2YWx1YXRlVmljdG9yeShnYW1lLCBsb2csIG1lc3NhZ2VzKTtcbiAgfVxuICByZXR1cm4gW1xuICAgIGRyYXduQ2FyZCA/IGAke2N1cnJlbnQuZGlzcGxheU5hbWV9ICR7bWVzc2FnZXMuZHJhd3NDYXJkfWAgOiBtZXNzYWdlcy5kZWNrSXNFbXB0eSxcbiAgICBgJHttZXNzYWdlcy50dXJuT2Z9ICR7Y3VycmVudC5kaXNwbGF5TmFtZX0uYCxcbiAgICAuLi5sb2csXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldmFsdWF0ZVZpY3RvcnkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgbG9nOiBzdHJpbmdbXSxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlc1xuKTogdm9pZCB7XG4gIGlmIChnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPiAwICYmIGdhbWUucGxheWVycy5QMi5sZWFkZXJIcCA+IDAgJiYgZ2FtZS5zaGFyZWREZWNrLmxlbmd0aCA+IDApXG4gICAgcmV0dXJuO1xuICBnYW1lLnN0YXR1cyA9ICdmaW5pc2hlZCc7XG4gIGNvbnN0IHdpbm5lcjogQ2hyaXN0aWFuaXR5U2VhdCA9XG4gICAgZ2FtZS5wbGF5ZXJzLlAxLmxlYWRlckhwIDw9IDBcbiAgICAgID8gJ1AyJ1xuICAgICAgOiBnYW1lLnBsYXllcnMuUDIubGVhZGVySHAgPD0gMFxuICAgICAgICA/ICdQMSdcbiAgICAgICAgOiBnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPj0gZ2FtZS5wbGF5ZXJzLlAyLmxlYWRlckhwXG4gICAgICAgICAgPyAnUDEnXG4gICAgICAgICAgOiAnUDInO1xuICBnYW1lLm1hdGNoU2NvcmVbd2lubmVyXSArPSAxO1xuICBsb2cucHVzaCh3aW5uZXIgPT09ICdQMScgPyBtZXNzYWdlcy55b3VXaW4gOiBtZXNzYWdlcy5vcHBvbmVudFdpbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cERlc3Ryb3llZChcbiAgcGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSxcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlXG4pOiB2b2lkIHtcbiAgY29uc3QgZGVzdHJveWVkID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPD0gMCk7XG4gIGlmICghZGVzdHJveWVkLmxlbmd0aCkgcmV0dXJuO1xuICBnYW1lLmhpc3Rvcnlab25lLnB1c2goLi4uZGVzdHJveWVkLm1hcChjYXJkID0+IGNhcmQuY2FyZElkKSk7XG4gIHBsYXllci5iYXR0bGVab25lID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPiAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwZW5kT2ZmZXJpbmdzKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsIGNvc3Q6IG51bWJlcik6IHZvaWQge1xuICBsZXQgcmVtYWluaW5nID0gY29zdDtcbiAgY29uc3QgdGVtcG9yYXJ5UmVzZXJ2ZSA9IHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMDtcbiAgaWYgKHRlbXBvcmFyeVJlc2VydmUgPiAwKSB7XG4gICAgY29uc3Qgc3BlbnRUZW1wb3JhcnlSZXNlcnZlID0gTWF0aC5taW4odGVtcG9yYXJ5UmVzZXJ2ZSwgcmVtYWluaW5nKTtcbiAgICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gdGVtcG9yYXJ5UmVzZXJ2ZSAtIHNwZW50VGVtcG9yYXJ5UmVzZXJ2ZTtcbiAgICByZW1haW5pbmcgLT0gc3BlbnRUZW1wb3JhcnlSZXNlcnZlO1xuICB9XG4gIHBsYXllci5vZmZlcmluZ3MgPSBwbGF5ZXIub2ZmZXJpbmdzLm1hcChvZmZlcmluZyA9PiB7XG4gICAgaWYgKHJlbWFpbmluZyA8PSAwIHx8ICFvZmZlcmluZy5yZWFkeSkgcmV0dXJuIG9mZmVyaW5nO1xuICAgIHJlbWFpbmluZyAtPSBvZmZlcmluZy52YWx1ZTtcbiAgICByZXR1cm4geyAuLi5vZmZlcmluZywgcmVhZHk6IGZhbHNlIH07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvZmZlcmluZ0FiaWxpdHlSZXNlcnZlR2FpbihcbiAgYWJpbGl0eVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmFsbGJhY2tWYWx1ZTogbnVtYmVyXG4pOiBudW1iZXIge1xuICBjb25zdCBtYXRjaCA9IGFiaWxpdHlUZXh0Py5tYXRjaCgvdmFsb3IgZGUgKFxcZCspIG9mcmVuZGFzPy9pKTtcbiAgY29uc3QgcGFyc2VkID0gbWF0Y2ggPyBOdW1iZXIobWF0Y2hbMV0pIDogTnVtYmVyLk5hTjtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpICYmIHBhcnNlZCA+IDAgPyBwYXJzZWQgOiBNYXRoLm1heCgxLCBmYWxsYmFja1ZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wcG9uZW50U2VhdChzZWF0OiBDaHJpc3RpYW5pdHlTZWF0KTogQ2hyaXN0aWFuaXR5U2VhdCB7XG4gIHJldHVybiBzZWF0ID09PSAnUDEnID8gJ1AyJyA6ICdQMSc7XG59XG5cbi8vIC0tLSBUb29sIGVxdWlwIHBhc3NpdmVzIChIOCkgLS0tXG5cbmZ1bmN0aW9uIGFwcGx5VG9vbFBhc3NpdmVzKFxuICBjaDogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uXG4pOiB2b2lkIHtcbiAgY29uc3QgdGV4dCA9IGNhcmQuYWJpbGl0aWVzPy5bMF0/LnRleHQgPz8gJyc7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBhdGtNYXRjaCA9IGxvd2VyLm1hdGNoKC9cXCsoXFxkKylcXHMrcHVudG8oPzpzKT8gZGUgYXRhcXVlLyk7XG4gIGlmIChhdGtNYXRjaCkgY2guYXR0YWNrICs9IHBhcnNlSW50KGF0a01hdGNoWzFdLCAxMCk7XG4gIGNvbnN0IGxpZmVNYXRjaCA9IGxvd2VyLm1hdGNoKC9cXCsoXFxkKylcXHMrcHVudG8oPzpzKT8gZGUgdmlkYS8pO1xuICBpZiAobGlmZU1hdGNoKSB7XG4gICAgY29uc3QgbiA9IHBhcnNlSW50KGxpZmVNYXRjaFsxXSwgMTApO1xuICAgIGNoLmN1cnJlbnRIcCArPSBuO1xuICAgIGNoLm1heEhwICs9IG47XG4gIH1cbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCdwdWVkZSBhdGFjYXIgZWwgdHVybm8gZW4gcXVlIGVudHJhJykpIHtcbiAgICBjaC5jYW5BdHRhY2sgPSB0cnVlO1xuICB9XG59XG5cbi8vIC0tLSBFZmZlY3QgcmVzb2x1dGlvbiAoSDcpIC0tLVxuXG5mdW5jdGlvbiByZXNvbHZlQ2FyZEVmZmVjdChcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdFxuKTogdm9pZCB7XG4gIGNvbnN0IHRleHQgPSBjYXJkLmFiaWxpdGllcz8uWzBdPy50ZXh0ID8/ICcnO1xuICBzd2l0Y2ggKGNhcmQuc3RyYXRlZ3kpIHtcbiAgICBjYXNlICdkaXJlY3RkYW1hZ2UnOlxuICAgICAgZWZmZWN0RGlyZWN0RGFtYWdlKGdhbWUsIGNhcmQsIHRleHQsIHNlYXQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVzdG9yZSc6XG4gICAgICBlZmZlY3RSZXN0b3JlKGdhbWUsIGNhcmQsIHRleHQsIHNlYXQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZHJhdyc6XG4gICAgICBlZmZlY3REcmF3KGdhbWUsIGNhcmQsIHRleHQsIHNlYXQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZGlzY2FyZCc6XG4gICAgICBlZmZlY3REaXNjYXJkKGdhbWUsIGNhcmQsIHRleHQsIHNlYXQpO1xuICAgICAgYnJlYWs7XG4gIH1cbn1cblxuZnVuY3Rpb24gZWZmZWN0RGlyZWN0RGFtYWdlKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICB0ZXh0OiBzdHJpbmcsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXRcbik6IHZvaWQge1xuICBjb25zdCBvcHBvbmVudCA9IG9wcG9uZW50U2VhdChzZWF0KTtcbiAgY29uc3QgbG93ZXIgPSB0ZXh0LnRvTG93ZXJDYXNlKCk7XG4gIGxldCBkbWc6IG51bWJlcjtcbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCd0YW50b3MnKSkge1xuICAgIGRtZyA9IGdhbWUucGxheWVyc1tzZWF0XS5iYXR0bGVab25lLmxlbmd0aDtcbiAgfSBlbHNlIHtcbiAgICBkbWcgPSBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dCk7XG4gIH1cbiAgaWYgKGRtZyA8PSAwKSByZXR1cm47XG4gIGdhbWUucGxheWVyc1tvcHBvbmVudF0ubGVhZGVySHAgPSBNYXRoLm1heCgwLCBnYW1lLnBsYXllcnNbb3Bwb25lbnRdLmxlYWRlckhwIC0gZG1nKTtcbn1cblxuZnVuY3Rpb24gZWZmZWN0UmVzdG9yZShcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgdGV4dDogc3RyaW5nLFxuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0XG4pOiB2b2lkIHtcbiAgY29uc3QgbG93ZXIgPSB0ZXh0LnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IG4gPSBNYXRoLm1heCgxLCBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dCkgfHwgMSk7XG4gIGlmIChsb3dlci5pbmNsdWRlcygnbG9zIGzDrWRlcmVzJykgfHwgbG93ZXIuaW5jbHVkZXMoJ2xvcyBsaWRlcmVzJykpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgWydQMScsICdQMiddIGFzIENocmlzdGlhbml0eVNlYXRbXSkge1xuICAgICAgY29uc3QgcCA9IGdhbWUucGxheWVyc1tzXTtcbiAgICAgIHAubGVhZGVySHAgPSBNYXRoLm1pbigocCBhcyBhbnkpLmxlYWRlck1heEhwID8/IDMwLCBwLmxlYWRlckhwICsgbik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBpZiAobG93ZXIuaW5jbHVkZXMoJ3R1cyBwZXJzb25hamVzJykgfHwgbG93ZXIuaW5jbHVkZXMoJ3BlcnNvbmFqZXMgZW4ganVlZ28nKSkge1xuICAgIGZvciAoY29uc3QgY2ggb2YgZ2FtZS5wbGF5ZXJzW3NlYXRdLmJhdHRsZVpvbmUpIHtcbiAgICAgIGNoLmN1cnJlbnRIcCA9IE1hdGgubWluKGNoLm1heEhwLCBjaC5jdXJyZW50SHAgKyBuKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChcbiAgICBsb3dlci5pbmNsdWRlcygnZGVsIGzDrWRlcicpIHx8XG4gICAgbG93ZXIuaW5jbHVkZXMoJ2FsIGzDrWRlcicpIHx8XG4gICAgbG93ZXIuaW5jbHVkZXMoJ2RlbCBsaWRlcicpIHx8XG4gICAgbG93ZXIuaW5jbHVkZXMoJ2FsIGxpZGVyJylcbiAgKSB7XG4gICAgY29uc3QgcCA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgICBwLmxlYWRlckhwID0gTWF0aC5taW4oKHAgYXMgYW55KS5sZWFkZXJNYXhIcCA/PyAzMCwgcC5sZWFkZXJIcCArIG4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVmZmVjdERyYXcoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIHRleHQ6IHN0cmluZyxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdFxuKTogdm9pZCB7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBpZiAobG93ZXIuaW5jbHVkZXMoJ2xvcyBqdWdhZG9yZXMnKSkge1xuICAgIGNvbnN0IG4gPSBNYXRoLm1heCgxLCBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dCkgfHwgMSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgIGRyYXdDYXJkRm9yKGdhbWUsICdQMScpO1xuICAgICAgZHJhd0NhcmRGb3IoZ2FtZSwgJ1AyJyk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBpZiAobG93ZXIuaW5jbHVkZXMoJ3BvciBjYWRhIHBlcnNvbmFqZSBvcG9uZW50ZScpKSB7XG4gICAgY29uc3QgbiA9IGdhbWUucGxheWVyc1tvcHBvbmVudFNlYXQoc2VhdCldLmJhdHRsZVpvbmUubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSBkcmF3Q2FyZEZvcihnYW1lLCBzZWF0KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbiA9IE1hdGgubWF4KDEsIHBhcnNlU3BhbmlzaE51bWJlcih0ZXh0KSB8fCAxKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIGRyYXdDYXJkRm9yKGdhbWUsIHNlYXQpO1xufVxuXG5mdW5jdGlvbiBlZmZlY3REaXNjYXJkKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICB0ZXh0OiBzdHJpbmcsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXRcbik6IHZvaWQge1xuICBjb25zdCBsb3dlciA9IHRleHQudG9Mb3dlckNhc2UoKTtcbiAgY29uc3Qgb3Bwb25lbnQgPSBvcHBvbmVudFNlYXQoc2VhdCk7XG4gIGlmIChcbiAgICBsb3dlci5pbmNsdWRlcygnYW1ib3MganVnYWRvcmVzIGRlc2NhcnRhbiBzdSBtYW5vJykgfHxcbiAgICBsb3dlci5pbmNsdWRlcygnbG9zIGp1Z2Fkb3JlcyBkZXNjYXJ0YW4gc3UgbWFubycpXG4gICkge1xuICAgIGZvciAoY29uc3QgcyBvZiBbJ1AxJywgJ1AyJ10gYXMgQ2hyaXN0aWFuaXR5U2VhdFtdKSB7XG4gICAgICBjb25zdCBwID0gZ2FtZS5wbGF5ZXJzW3NdO1xuICAgICAgZ2FtZS5oaXN0b3J5Wm9uZS5wdXNoKC4uLihwLmhhbmQgPz8gW10pKTtcbiAgICAgIHAuaGFuZCA9IFtdO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKFxuICAgIChsb3dlci5pbmNsdWRlcygnb3BvbmVudGUnKSAmJiBsb3dlci5pbmNsdWRlcygnYXphcicpKSB8fFxuICAgIGxvd2VyLmluY2x1ZGVzKCd0dSBvcG9uZW50ZSBkZXNjYXJ0YScpXG4gICkge1xuICAgIGNvbnN0IG4gPSBNYXRoLm1heCgxLCBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dCkgfHwgMSk7XG4gICAgY29uc3Qgb3AgPSBnYW1lLnBsYXllcnNbb3Bwb25lbnRdO1xuICAgIGNvbnN0IGhhbmQgPSBvcC5oYW5kID8/IFtdO1xuICAgIGxldCBzZWVkID0gZ2FtZS5yZXZpc2lvbiAqIDMxICsgZ2FtZS50dXJuQ291bnQgKiA3O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbiAmJiBoYW5kLmxlbmd0aCA+IDA7IGkrKykge1xuICAgICAgc2VlZCA9IChzZWVkICogMTY2NDUyNSArIDEwMTM5MDQyMjMpICYgMHhmZmZmZmZmZjtcbiAgICAgIGNvbnN0IGlkeCA9IE1hdGguYWJzKHNlZWQpICUgaGFuZC5sZW5ndGg7XG4gICAgICBnYW1lLmhpc3Rvcnlab25lLnB1c2goaGFuZFtpZHhdKTtcbiAgICAgIGhhbmQuc3BsaWNlKGlkeCwgMSk7XG4gICAgfVxuICAgIG9wLmhhbmQgPSBoYW5kO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRyYXdDYXJkRm9yKGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSwgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCk6IHZvaWQge1xuICBjb25zdCBjYXJkID0gZ2FtZS5zaGFyZWREZWNrLnNoaWZ0KCk7XG4gIGlmICghY2FyZCkgcmV0dXJuO1xuICBjb25zdCBwID0gZ2FtZS5wbGF5ZXJzW3NlYXRdO1xuICBpZiAocC5oYW5kKSBwLmhhbmQucHVzaChjYXJkKTtcbiAgZWxzZSBwLmhhbmRDb3VudCA9IChwLmhhbmRDb3VudCA/PyAwKSArIDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3BhbmlzaE51bWJlcih0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB3b3JkczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgICB1bjogMSxcbiAgICB1bmE6IDEsXG4gICAgdW5vOiAxLFxuICAgIGRvczogMixcbiAgICB0cmVzOiAzLFxuICAgIGN1YXRybzogNCxcbiAgICBjaW5jbzogNSxcbiAgICBzZWlzOiA2LFxuICAgIHNpZXRlOiA3LFxuICAgIG9jaG86IDgsXG4gICAgbnVldmU6IDksXG4gICAgZGllejogMTAsXG4gIH07XG4gIGNvbnN0IGRpZ2l0TWF0Y2ggPSB0ZXh0Lm1hdGNoKC9cXGIoXFxkKylcXGIvKTtcbiAgaWYgKGRpZ2l0TWF0Y2gpIHJldHVybiBwYXJzZUludChkaWdpdE1hdGNoWzFdLCAxMCk7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBmb3IgKGNvbnN0IFt3b3JkLCBuXSBvZiBPYmplY3QuZW50cmllcyh3b3JkcykpIHtcbiAgICBpZiAobmV3IFJlZ0V4cChgXFxcXGIke3dvcmR9XFxcXGJgKS50ZXN0KGxvd2VyKSkgcmV0dXJuIG47XG4gIH1cbiAgcmV0dXJuIDA7XG59XG4iXX0=
|
|
552
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFzQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEUsTUFBTSxDQUFDLHdCQUF3QixJQUFJLENBQUMsQ0FDckMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQStCO0lBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0M7SUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztJQUNwRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDOUIsT0FBTyxDQUNMLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLHlCQUF5QixDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUN6QixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDOUUsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0MsRUFDaEMsVUFBbUYsRUFBRTtJQUVyRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckYsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUM1QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFFdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM3QixtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNqRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7U0FBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQzNCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDckUsQ0FDRixDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNyRixDQUFDO1FBQ0QsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQWtDO1lBQzdDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNwRixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSTtZQUNYLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7UUFDRixXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN4RixJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxFQUFFLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3JGLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDNUIsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hCLE1BQU0sR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLElBQTJCLEVBQzNCLElBQXNCLEVBQ3RCLGtCQUEwQjtJQUUxQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzNFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLGtCQUFrQixDQUFDLENBQUM7SUFDdkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxtQkFBbUI7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM1RixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsa0JBQTBCLEVBQzFCLFFBQW1DO0lBRW5DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hHLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssa0JBQWtCLENBQUMsQ0FBQztJQUMzRixJQUFJLENBQUMsWUFBWTtRQUNmLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFFaEcsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkIsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0YsTUFBTSxDQUFDLHdCQUF3QixHQUFHLENBQUMsTUFBTSxDQUFDLHdCQUF3QixJQUFJLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUN2RixNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzdDLElBQUksQ0FBQyxVQUFVLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkYsQ0FBQztJQUNGLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDbkUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUMzRixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBZ0MsRUFBRSxXQUFtQjtJQUN4RSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVTtRQUFFLE9BQU8sR0FBRyxXQUFXLDRCQUE0QixDQUFDO0lBQ2hGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLFdBQVcsMkJBQTJCLENBQUM7SUFDNUUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87UUFBRSxPQUFPLEdBQUcsV0FBVyxjQUFjLENBQUM7SUFDekYsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsV0FBVyxnQkFBZ0IsQ0FBQztJQUNsRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTtRQUFFLE9BQU8sR0FBRyxXQUFXLGdCQUFnQixDQUFDO0lBQ2hFLE9BQU8sR0FBRyxXQUFXLG9CQUFvQixDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLElBQTJCLEVBQzNCLFlBQThCLEVBQzlCLGtCQUEwQixFQUMxQixRQUFrQztJQUVsQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEYsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxrQkFBa0IsQ0FDL0MsQ0FBQztJQUNGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztRQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUVoRixXQUFXLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEYsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNoRyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFO0tBQzFHLENBQUM7SUFDRixlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdEYsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBMkIsRUFDM0IsWUFBOEIsRUFDOUIsa0JBQTBCLEVBQzFCLGdCQUF3QixFQUN4QixRQUFrQztJQUVsQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWE7UUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFFaEYsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLGtCQUFrQixDQUMvQyxDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN2RCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQzdDLENBQUM7SUFDRixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNGLFdBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0YsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUM1QixRQUFRLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUM1RSxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFN0MsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7UUFDZCxjQUFjLEVBQUUsV0FBVztRQUMzQixZQUFZLEVBQUUsYUFBYTtRQUMzQixHQUFHO0tBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixJQUEyQixFQUMzQixRQUFrQztJQUVsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7SUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELEdBQUcsUUFBUTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsbUJBQW1CLEVBQUUsS0FBSztLQUMzQixDQUFDLENBQUMsQ0FBQztJQUNKLE9BQU8sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUN6QixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7U0FBTSxDQUFDO1FBQ04sZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELE9BQU87UUFDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXO1FBQ2pGLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHO1FBQzVDLEdBQUcsR0FBRztLQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsSUFBMkIsRUFDM0IsR0FBYSxFQUNiLFFBQWtDO0lBRWxDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDNUYsT0FBTztJQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLE1BQU0sTUFBTSxHQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRO2dCQUNwRCxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsTUFBK0IsRUFDL0IsSUFBMkI7SUFFM0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUFFLE9BQU87SUFDOUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMzQixXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUErQixFQUFFLElBQVk7SUFDMUUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixJQUFJLENBQUMsQ0FBQztJQUM5RCxJQUFJLGdCQUFnQixHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDM0UsU0FBUyxJQUFJLHFCQUFxQixDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pELElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFDdkQsU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUNqQyxXQUErQixFQUMvQixhQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDckQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBc0I7SUFDakQsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQyxDQUFDO0FBTUQsU0FBUyxjQUFjLENBQUMsU0FBOEMsRUFBRSxHQUFjO0lBQ3BGLElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDNUIsT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLEVBQWlDLEVBQ2pDLE1BQThCO0lBRTlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDNUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUM7SUFDaEQsUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsS0FBSyxhQUFhO1lBQ2hCLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixFQUFFLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUNoRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQzFCLENBQUM7WUFDRCxNQUFNO1FBQ1IsS0FBSyxXQUFXO1lBQ2QsRUFBRSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQzNCLEVBQUUsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN2QixNQUFNO1FBQ1IsS0FBSyxhQUFhO1lBQ2hCLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsTUFBTTtRQUNSLEtBQUssWUFBWTtZQUNmLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdELE1BQU07UUFDUixLQUFLLFNBQVM7WUFDWixFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNO0lBQ1YsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FDbEIsSUFBMkIsRUFDM0IsTUFBOEIsRUFDOUIsTUFBcUMsRUFDckMsY0FBb0QsRUFDcEQsSUFBc0I7SUFFdEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ3pDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUvQixRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxNQUFNO1lBQ1Qsd0JBQXdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU07UUFDUixLQUFLLGlCQUFpQjtZQUNwQixJQUFJLGNBQWM7Z0JBQUUsd0JBQXdCLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3JFLE1BQU07UUFDUixLQUFLLGNBQWM7WUFDakIsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVU7Z0JBQUUsd0JBQXdCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGLE1BQU07UUFDUixLQUFLLFdBQVc7WUFDZCxLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVTtnQkFBRSx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDcEYsTUFBTTtRQUNSLEtBQUssaUJBQWlCLENBQUM7UUFDdkIsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDckQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEYsQ0FBQztpQkFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUN2QyxDQUFDO1lBQ0osQ0FBQztZQUNELE1BQU07UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO1NBQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUNsRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7U0FBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLHdCQUF3QjtZQUN6QyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsd0JBQXdCLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUNsQixJQUEyQixFQUMzQixNQUFxQyxFQUNyQyxPQUFrQyxFQUNsQyxJQUFzQixFQUN0QixNQUFpQixFQUFFLEVBQ25CLGlCQUF1RCxJQUFJO0lBRTNELEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMxQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTztZQUFFLFNBQVM7UUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztZQUFFLFNBQVM7UUFDckQsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUNsQixRQUF1QyxFQUN2QyxPQUFpQztJQUVqQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsbUNBQW1DO0FBRW5DLFNBQVMsaUJBQWlCLENBQ3hCLEVBQWlDLEVBQ2pDLElBQWdDO0lBRWhDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDaEUsSUFBSSxRQUFRO1FBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUMvRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQyxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUNsQixFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLG9DQUFvQyxDQUFDLEVBQUUsQ0FBQztRQUN6RCxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBQ0QsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxpQ0FBaUM7QUFFakMsU0FBUyxpQkFBaUIsQ0FDeEIsSUFBMkIsRUFDM0IsSUFBZ0MsRUFDaEMsSUFBc0I7SUFFdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDN0MsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsS0FBSyxjQUFjO1lBQ2pCLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNDLE1BQU07UUFDUixLQUFLLFNBQVM7WUFDWixhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEMsTUFBTTtRQUNSLEtBQUssTUFBTTtZQUNULFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuQyxNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLE1BQU07SUFDVixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQ3pCLElBQTJCLEVBQzNCLElBQWdDLEVBQ2hDLElBQVksRUFDWixJQUFzQjtJQUV0QixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLElBQUksR0FBVyxDQUFDO0lBQ2hCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzdCLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDN0MsQ0FBQztTQUFNLENBQUM7UUFDTixHQUFHLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksR0FBRyxJQUFJLENBQUM7UUFBRSxPQUFPO0lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FDcEIsSUFBMkIsRUFDM0IsSUFBZ0MsRUFDaEMsSUFBWSxFQUNaLElBQXNCO0lBRXRCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ25FLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUF1QixFQUFFLENBQUM7WUFDbkQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUUsQ0FBUyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUM5RSxLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0MsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFDRCxJQUNFLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQzFCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBRSxDQUFTLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2pCLElBQTJCLEVBQzNCLElBQWdDLEVBQ2hDLElBQVksRUFDWixJQUFzQjtJQUV0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEIsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUM3RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNwQixJQUEyQixFQUMzQixJQUFnQyxFQUNoQyxJQUFZLEVBQ1osSUFBc0I7SUFFdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUNFLEtBQUssQ0FBQyxRQUFRLENBQUMsbUNBQW1DLENBQUM7UUFDbkQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQyxFQUNqRCxDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQXVCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFDRCxJQUNFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELEtBQUssQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFDdEMsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlDLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQ0QsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUEyQixFQUFFLElBQXNCO0lBQ3RFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPO0lBQ2xCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLENBQUMsSUFBSTtRQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOztRQUN6QixDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUN0QyxNQUFNLEtBQUssR0FBMkI7UUFDcEMsRUFBRSxFQUFFLENBQUM7UUFDTCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsRUFBRSxDQUFDO1FBQ04sR0FBRyxFQUFFLENBQUM7UUFDTixJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksRUFBRSxFQUFFO0tBQ1QsQ0FBQztJQUNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsSUFBSSxVQUFVO1FBQUUsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIENocmlzdGlhbml0eUNhcmRFZmZlY3QsXG4gIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlLFxuICBDaHJpc3RpYW5pdHlFZmZlY3RUcmlnZ2VyLFxuICBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIENocmlzdGlhbml0eVBsYXllclN0YXRlLFxuICBDaHJpc3RpYW5pdHlTZWF0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFMgPSA0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyB7XG4gIGF0dGFja3NPcHBvbmVudExlYWRlcjogc3RyaW5nO1xuICBhdHRhY2tzWW91ckxlYWRlcjogc3RyaW5nO1xuICBjb21iYXRzQWdhaW5zdDogc3RyaW5nO1xuICBkcmF3c0NhcmQ6IHN0cmluZztcbiAgZGVja0lzRW1wdHk6IHN0cmluZztcbiAgdHVybk9mOiBzdHJpbmc7XG4gIHlvdVdpbjogc3RyaW5nO1xuICBvcHBvbmVudFdpbnM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgcGxheWVkOiBib29sZWFuO1xuICBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5QXR0YWNrUmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICBhdHRhY2tlZDogYm9vbGVhbjtcbiAgYXR0YWNrZXJEYW1hZ2U6IG51bWJlcjtcbiAgdGFyZ2V0RGFtYWdlOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdBYmlsaXR5UmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICByZXNvbHZlZDogYm9vbGVhbjtcbiAgbGVhZGVyRGFtYWdlOiBudW1iZXI7XG4gIHJlc2VydmVHYWluOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkeU9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKFxuICAgICh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgKG9mZmVyaW5nLnJlYWR5ID8gb2ZmZXJpbmcudmFsdWUgOiAwKSxcbiAgICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID8/IDBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvdGFsT2ZmZXJpbmdzKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUpOiBudW1iZXIge1xuICByZXR1cm4gcGxheWVyLm9mZmVyaW5ncy5yZWR1Y2UoKHRvdGFsLCBvZmZlcmluZykgPT4gdG90YWwgKyBvZmZlcmluZy52YWx1ZSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5QbGF5Q2FyZChcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvblxuKTogYm9vbGVhbiB7XG4gIGlmIChnYW1lLnN0YXR1cyAhPT0gJ2luX3Byb2dyZXNzJyB8fCBnYW1lLnR1cm5Pd25lciAhPT0gc2VhdCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBwbGF5ZXIgPSBnYW1lLnBsYXllcnNbc2VhdF07XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiAhcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm47XG4gIGlmIChjYXJkLnR5cGUgPT09ICdjaGFyYWN0ZXInKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJlYWR5T2ZmZXJpbmdzKHBsYXllcikgPj0gKGNhcmQuY29zdCA/PyAwKSAmJlxuICAgICAgcGxheWVyLmJhdHRsZVpvbmUubGVuZ3RoIDwgQ0hSSVNUSUFOSVRZX0JBVFRMRV9TTE9UU1xuICAgICk7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3Rvb2wnKSB7XG4gICAgcmV0dXJuIHJlYWR5T2ZmZXJpbmdzKHBsYXllcikgPj0gKGNhcmQuY29zdCA/PyAwKSAmJiBwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGggPiAwO1xuICB9XG4gIGlmIChjYXJkLnR5cGUgPT09ICdhY3Rpb24nIHx8IGNhcmQudHlwZSA9PT0gJ3dpc2RvbScgfHwgY2FyZC50eXBlID09PSAnZXZlbnQnKSB7XG4gICAgcmV0dXJuIHJlYWR5T2ZmZXJpbmdzKHBsYXllcikgPj0gKGNhcmQuY29zdCA/PyAwKTtcbiAgfVxuICBpZiAoY2FyZC50eXBlID09PSAncGxhY2UnKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxheUNhcmRGcm9tSGFuZChcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgb3B0aW9uczogeyBzbG90SW5kZXg/OiBudW1iZXI7IGRpc3BsYXlOYW1lPzogc3RyaW5nOyB0YXJnZXRJbnN0YW5jZUlkPzogc3RyaW5nIH0gPSB7fVxuKTogQ2hyaXN0aWFuaXR5UGxheUNhcmRSZXN1bHQge1xuICBpZiAoIWNhblBsYXlDYXJkKGdhbWUsIHNlYXQsIGNhcmQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IG5leHQgPSBzdHJ1Y3R1cmVkQ2xvbmUoZ2FtZSk7XG4gIGNvbnN0IHBsYXllciA9IG5leHQucGxheWVyc1tzZWF0XTtcbiAgY29uc3QgaGFuZEluZGV4ID0gcGxheWVyLmhhbmQ/LmluZGV4T2YoY2FyZC5pZCkgPz8gLTE7XG4gIGlmIChoYW5kSW5kZXggPCAwIHx8ICFwbGF5ZXIuaGFuZCkge1xuICAgIHJldHVybiB7IGdhbWUsIHBsYXllZDogZmFsc2UsIHBsYXllZE9mZmVyaW5nVmFsdWU6IDAsIHNwZW50T2ZmZXJpbmdzOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBkaXNwbGF5TmFtZSA9IG9wdGlvbnMuZGlzcGxheU5hbWUgPz8gY2FyZC5uYW1lO1xuICBsZXQgcGxheWVkT2ZmZXJpbmdWYWx1ZSA9IDA7XG4gIGxldCBzcGVudE9mZmVyaW5ncyA9IDA7XG5cbiAgcGxheWVyLmhhbmQuc3BsaWNlKGhhbmRJbmRleCwgMSk7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHtcbiAgICBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gY2FyZC5vZmZlcmluZ1ZhbHVlID8/IGNhcmQubGlmZSA/PyAxO1xuICAgIHBsYXllci5vZmZlcmluZ3MucHVzaCh7XG4gICAgICBpbnN0YW5jZUlkOiBgJHtzZWF0LnRvTG93ZXJDYXNlKCl9X29mZmVyaW5nXyR7bmV4dC5yZXZpc2lvbiArIDF9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICByZWFkeTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBwbGF5ZWRPZmZlcmluZ1ZhbHVlLFxuICAgICAgYWJpbGl0eU5hbWU6IGNhcmQuYWJpbGl0eU5hbWUsXG4gICAgICBhYmlsaXR5VGV4dDogY2FyZC5hYmlsaXR5VGV4dCxcbiAgICAgIGFiaWxpdHlDb3N0OiBjYXJkLmFiaWxpdHlDb3N0LFxuICAgIH0pO1xuICAgIHBsYXllci5vZmZlcmluZ1BsYXllZFRoaXNUdXJuID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICdjaGFyYWN0ZXInKSB7XG4gICAgY29uc3Qgb2NjdXBpZWRTbG90cyA9IG5ldyBTZXQoXG4gICAgICBwbGF5ZXIuYmF0dGxlWm9uZS5tYXAoKGNoYXJhY3RlciwgaW5kZXgpID0+XG4gICAgICAgIE51bWJlci5pc0ludGVnZXIoY2hhcmFjdGVyLnNsb3QpID8gKGNoYXJhY3Rlci5zbG90ID8/IGluZGV4KSA6IGluZGV4XG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCB0YXJnZXRTbG90ID0gb3B0aW9ucy5zbG90SW5kZXggPz8gWzAsIDEsIDIsIDNdLmZpbmQoaW5kZXggPT4gIW9jY3VwaWVkU2xvdHMuaGFzKGluZGV4KSk7XG4gICAgaWYgKHRhcmdldFNsb3QgPT09IHVuZGVmaW5lZCB8fCBvY2N1cGllZFNsb3RzLmhhcyh0YXJnZXRTbG90KSkge1xuICAgICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgICB9XG4gICAgc3BlbnRPZmZlcmluZ3MgPSBjYXJkLmNvc3QgPz8gMDtcbiAgICBzcGVuZE9mZmVyaW5ncyhwbGF5ZXIsIHNwZW50T2ZmZXJpbmdzKTtcbiAgICBjb25zdCBsaWZlID0gY2FyZC5saWZlID8/IDE7XG4gICAgY29uc3QgbmV3Q2hhcjogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UgPSB7XG4gICAgICBpbnN0YW5jZUlkOiBgJHtzZWF0LnRvTG93ZXJDYXNlKCl9XyR7bmV4dC5yZXZpc2lvbiArIDF9XyR7cGxheWVyLmJhdHRsZVpvbmUubGVuZ3RofWAsXG4gICAgICBjYXJkSWQ6IGNhcmQuaWQsXG4gICAgICBuYW1lOiBkaXNwbGF5TmFtZSxcbiAgICAgIG93bmVyOiBzZWF0LFxuICAgICAgY29udHJvbGxlcjogc2VhdCxcbiAgICAgIHNsb3Q6IHRhcmdldFNsb3QsXG4gICAgICBhdHRhY2s6IGNhcmQuYXR0YWNrID8/IDAsXG4gICAgICBjdXJyZW50SHA6IGxpZmUsXG4gICAgICBtYXhIcDogbGlmZSxcbiAgICAgIGNhbkF0dGFjazogZmFsc2UsXG4gICAgfTtcbiAgICBiYWtlRWZmZWN0cyhuZXdDaGFyLCBjYXJkLmVmZmVjdHMgPz8gW10pO1xuICAgIHBsYXllci5iYXR0bGVab25lLnB1c2gobmV3Q2hhcik7XG4gICAgZmlyZUVmZmVjdHMobmV4dCwgbmV3Q2hhciwgJ29uX2VudGVyJywgc2VhdCk7XG4gICAgZmlyZUVmZmVjdHMobmV4dCwgbmV3Q2hhciwgJ3Bhc3NpdmUnLCBzZWF0KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICd0b29sJykge1xuICAgIHNwZW50T2ZmZXJpbmdzID0gY2FyZC5jb3N0ID8/IDA7XG4gICAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gICAgfVxuICAgIG5leHQucGxheWVyc1tzZWF0XSA9IHBsYXllcjtcbiAgICBjb25zdCB0YXJnZXRJZCA9IG9wdGlvbnMudGFyZ2V0SW5zdGFuY2VJZDtcbiAgICBjb25zdCBjaGFySWR4ID0gbmV4dC5wbGF5ZXJzW3NlYXRdLmJhdHRsZVpvbmUuZmluZEluZGV4KGMgPT4gYy5pbnN0YW5jZUlkID09PSB0YXJnZXRJZCk7XG4gICAgaWYgKGNoYXJJZHggPCAwKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBjb25zdCBjaCA9IG5leHQucGxheWVyc1tzZWF0XS5iYXR0bGVab25lW2NoYXJJZHhdO1xuICAgIGNoLmVxdWlwcGVkVG9vbHMgPSBbLi4uKGNoLmVxdWlwcGVkVG9vbHMgPz8gW10pLCBjYXJkLmlkXTtcbiAgICBhcHBseVRvb2xQYXNzaXZlcyhjaCwgY2FyZCk7XG4gIH0gZWxzZSBpZiAoY2FyZC50eXBlID09PSAnYWN0aW9uJyB8fCBjYXJkLnR5cGUgPT09ICd3aXNkb20nIHx8IGNhcmQudHlwZSA9PT0gJ2V2ZW50Jykge1xuICAgIHNwZW50T2ZmZXJpbmdzID0gY2FyZC5jb3N0ID8/IDA7XG4gICAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gICAgfVxuICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChjYXJkLmlkKTtcbiAgICBuZXh0LnBsYXllcnNbc2VhdF0gPSBwbGF5ZXI7XG4gICAgcmVzb2x2ZUNhcmRFZmZlY3QobmV4dCwgY2FyZCwgc2VhdCk7XG4gIH0gZWxzZSBpZiAoY2FyZC50eXBlID09PSAncGxhY2UnKSB7XG4gICAgY29uc3QgcHJldmlvdXNQbGFjZSA9IG5leHQucGxhY2Vab25lWzBdO1xuICAgIGlmIChwcmV2aW91c1BsYWNlKSB7XG4gICAgICBuZXh0Lmhpc3Rvcnlab25lLnB1c2gocHJldmlvdXNQbGFjZSk7XG4gICAgfVxuICAgIG5leHQucGxhY2Vab25lID0gW2NhcmQuaWRdO1xuICB9XG5cbiAgbmV4dC5yZXZpc2lvbisrO1xuICBjb25zdCBsb2cgPSBbcGxheUNhcmRMb2coY2FyZCwgZGlzcGxheU5hbWUpXTtcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIHBsYXllZDogdHJ1ZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZSwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVXNlT2ZmZXJpbmdBYmlsaXR5KFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIG9mZmVyaW5nSW5zdGFuY2VJZDogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzPzogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHJlc2VydmVHYWluOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBsaXZlT2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghbGl2ZU9mZmVyaW5nKVxuICAgIHJldHVybiB7IGdhbWUsIHJlc29sdmVkOiBmYWxzZSwgbGVhZGVyRGFtYWdlOiAwLCByZXNlcnZlR2FpbjogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBzcGVudE9mZmVyaW5ncyA9IGxpdmVPZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwO1xuICBpZiAoc3BlbnRPZmZlcmluZ3MgPiAwKSB7XG4gICAgc3BlbmRPZmZlcmluZ3MocGxheWVyLCBzcGVudE9mZmVyaW5ncyk7XG4gIH1cbiAgY29uc3QgcmVzZXJ2ZUdhaW4gPSBvZmZlcmluZ0FiaWxpdHlSZXNlcnZlR2FpbihsaXZlT2ZmZXJpbmcuYWJpbGl0eVRleHQsIGxpdmVPZmZlcmluZy52YWx1ZSk7XG4gIHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPSAocGxheWVyLnRlbXBvcmFyeU9mZmVyaW5nUmVzZXJ2ZSA/PyAwKSArIHJlc2VydmVHYWluO1xuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAoY2FyZCA9PlxuICAgIGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkID8geyAuLi5jYXJkLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiB0cnVlIH0gOiBjYXJkXG4gICk7XG4gIHBsYXllci5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIHBsYXllci5sZWFkZXJIcCAtIDEpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtgJHtsaXZlT2ZmZXJpbmcubmFtZX06ICR7bGl2ZU9mZmVyaW5nLmFiaWxpdHlOYW1lfS5gXTtcbiAgaWYgKG1lc3NhZ2VzKSB7XG4gICAgZXZhbHVhdGVWaWN0b3J5KG5leHQsIGxvZywgbWVzc2FnZXMpO1xuICB9XG4gIG5leHQubG9nID0gWy4uLmxvZywgLi4ubmV4dC5sb2ddLnNsaWNlKDAsIDQpO1xuICByZXR1cm4geyBnYW1lOiBuZXh0LCByZXNvbHZlZDogdHJ1ZSwgbGVhZGVyRGFtYWdlOiAxLCByZXNlcnZlR2Fpbiwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5mdW5jdGlvbiBwbGF5Q2FyZExvZyhjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiwgZGlzcGxheU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgbGlzdGEgY29tbyBvZnJlbmRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgY29tbyBsdWdhciBhY3Rpdm8uYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2FjdGlvbicgfHwgY2FyZC50eXBlID09PSAnZXZlbnQnKSByZXR1cm4gYCR7ZGlzcGxheU5hbWV9IGZ1ZSBqdWdhZGEuYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3dpc2RvbScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gZnVlIHJldmVsYWRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICd0b29sJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBmdWUgZXF1aXBhZGEuYDtcbiAgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBlbnRyYSBlbiBiYXRhbGxhLmA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrTGVhZGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXNcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycgfHwgZ2FtZS5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChcbiAgICBjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkXG4gICk7XG4gIGlmICghYXR0YWNrZXIgfHwgIWF0dGFja2VyLmNhbkF0dGFjaylcbiAgICByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBmaXJlRWZmZWN0cyhuZXh0LCBhdHRhY2tlciwgJ29uX2F0dGFjaycsIGF0dGFja2VyU2VhdCwgeyB0YXJnZXRpbmc6ICdsZWFkZXInIH0pO1xuICBjb25zdCBkYW1hZ2UgPSBhdHRhY2tlci5hdHRhY2sgKyAoYXR0YWNrZXIuY29tYmF0QXR0YWNrQnVmZiA/PyAwKTtcbiAgbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0ubGVhZGVySHAgPSBNYXRoLm1heCgwLCBuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XS5sZWFkZXJIcCAtIGRhbWFnZSk7XG4gIGF0dGFja2VyLmNvbWJhdEF0dGFja0J1ZmYgPSAwO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY29uc3QgbG9nID0gW1xuICAgIGAke2F0dGFja2VyLm5hbWV9ICR7YXR0YWNrZXJTZWF0ID09PSAnUDEnID8gbWVzc2FnZXMuYXR0YWNrc09wcG9uZW50TGVhZGVyIDogbWVzc2FnZXMuYXR0YWNrc1lvdXJMZWFkZXJ9YCxcbiAgXTtcbiAgZXZhbHVhdGVWaWN0b3J5KG5leHQsIGxvZywgbWVzc2FnZXMpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIG5leHQubG9nID0gWy4uLmxvZywgLi4ubmV4dC5sb2ddLnNsaWNlKDAsIDQpO1xuICByZXR1cm4geyBnYW1lOiBuZXh0LCBhdHRhY2tlZDogdHJ1ZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogZGFtYWdlLCBsb2cgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdHRhY2tDaGFyYWN0ZXIoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgYXR0YWNrZXJTZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBhdHRhY2tlckluc3RhbmNlSWQ6IHN0cmluZyxcbiAgdGFyZ2V0SW5zdGFuY2VJZDogc3RyaW5nLFxuICBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKVxuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IG5leHQgPSBzdHJ1Y3R1cmVkQ2xvbmUoZ2FtZSk7XG4gIGNvbnN0IGF0dGFja2VyID0gbmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0uYmF0dGxlWm9uZS5maW5kKFxuICAgIGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSBhdHRhY2tlckluc3RhbmNlSWRcbiAgKTtcbiAgY29uc3QgdGFyZ2V0ID0gbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5maW5kKFxuICAgIGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSB0YXJnZXRJbnN0YW5jZUlkXG4gICk7XG4gIGlmICghYXR0YWNrZXIgfHwgIXRhcmdldCB8fCAhYXR0YWNrZXIuY2FuQXR0YWNrKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBmaXJlRWZmZWN0cyhuZXh0LCBhdHRhY2tlciwgJ29uX2F0dGFjaycsIGF0dGFja2VyU2VhdCwgeyB0YXJnZXRpbmc6ICdjaGFyYWN0ZXInIH0sIHRhcmdldCk7XG4gIGZpcmVFZmZlY3RzKG5leHQsIHRhcmdldCwgJ29uX2RlZmVuZCcsIGRlZmVuZGVyU2VhdCwgeyB0YXJnZXRpbmc6ICdjaGFyYWN0ZXInIH0sIGF0dGFja2VyKTtcbiAgY29uc3QgYXR0YWNrZXJUb3RhbCA9IGF0dGFja2VyLmF0dGFjayArIChhdHRhY2tlci5jb21iYXRBdHRhY2tCdWZmID8/IDApO1xuICBjb25zdCB0YXJnZXRUb3RhbCA9IHRhcmdldC5hdHRhY2sgKyAodGFyZ2V0LmNvbWJhdEF0dGFja0J1ZmYgPz8gMCk7XG4gIHRhcmdldC5jdXJyZW50SHAgLT0gYXR0YWNrZXJUb3RhbDtcbiAgYXR0YWNrZXIuY3VycmVudEhwIC09IHRhcmdldFRvdGFsO1xuICBhdHRhY2tlci5jb21iYXRBdHRhY2tCdWZmID0gMDtcbiAgdGFyZ2V0LmNvbWJhdEF0dGFja0J1ZmYgPSAwO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY2xlYW51cERlc3Ryb3llZChuZXh0LnBsYXllcnNbYXR0YWNrZXJTZWF0XSwgbmV4dCk7XG4gIGNsZWFudXBEZXN0cm95ZWQobmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0sIG5leHQpO1xuICBjb25zdCBsb2cgPSBbYCR7YXR0YWNrZXIubmFtZX0gJHttZXNzYWdlcy5jb21iYXRzQWdhaW5zdH0gJHt0YXJnZXQubmFtZX0uYF07XG4gIGV2YWx1YXRlVmljdG9yeShuZXh0LCBsb2csIG1lc3NhZ2VzKTtcbiAgbmV4dC5yZXZpc2lvbisrO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcblxuICByZXR1cm4ge1xuICAgIGdhbWU6IG5leHQsXG4gICAgYXR0YWNrZWQ6IHRydWUsXG4gICAgYXR0YWNrZXJEYW1hZ2U6IHRhcmdldFRvdGFsLFxuICAgIHRhcmdldERhbWFnZTogYXR0YWNrZXJUb3RhbCxcbiAgICBsb2csXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZHZhbmNlVHVybihcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzXG4pOiBzdHJpbmdbXSB7XG4gIGdhbWUucGxheWVyc1tnYW1lLnR1cm5Pd25lcl0udGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gMDtcbiAgZ2FtZS50dXJuT3duZXIgPSBvcHBvbmVudFNlYXQoZ2FtZS50dXJuT3duZXIpO1xuICBnYW1lLnR1cm5Db3VudCsrO1xuICBjb25zdCBjdXJyZW50ID0gZ2FtZS5wbGF5ZXJzW2dhbWUudHVybk93bmVyXTtcbiAgY3VycmVudC5vZmZlcmluZ1BsYXllZFRoaXNUdXJuID0gZmFsc2U7XG4gIGN1cnJlbnQub2ZmZXJpbmdzID0gY3VycmVudC5vZmZlcmluZ3MubWFwKG9mZmVyaW5nID0+ICh7XG4gICAgLi4ub2ZmZXJpbmcsXG4gICAgcmVhZHk6IHRydWUsXG4gICAgYWJpbGl0eVVzZWRUaGlzVHVybjogZmFsc2UsXG4gIH0pKTtcbiAgY3VycmVudC5iYXR0bGVab25lID0gY3VycmVudC5iYXR0bGVab25lLm1hcChjYXJkID0+ICh7IC4uLmNhcmQsIGNhbkF0dGFjazogdHJ1ZSB9KSk7XG4gIGNvbnN0IGRyYXduQ2FyZCA9IGdhbWUuc2hhcmVkRGVjay5zaGlmdCgpO1xuICBjb25zdCBsb2c6IHN0cmluZ1tdID0gW107XG4gIGlmIChkcmF3bkNhcmQpIHtcbiAgICBpZiAoY3VycmVudC5oYW5kKSB7XG4gICAgICBjdXJyZW50LmhhbmQucHVzaChkcmF3bkNhcmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50LmhhbmRDb3VudCA9IChjdXJyZW50LmhhbmRDb3VudCA/PyAwKSArIDE7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGV2YWx1YXRlVmljdG9yeShnYW1lLCBsb2csIG1lc3NhZ2VzKTtcbiAgfVxuICByZXR1cm4gW1xuICAgIGRyYXduQ2FyZCA/IGAke2N1cnJlbnQuZGlzcGxheU5hbWV9ICR7bWVzc2FnZXMuZHJhd3NDYXJkfWAgOiBtZXNzYWdlcy5kZWNrSXNFbXB0eSxcbiAgICBgJHttZXNzYWdlcy50dXJuT2Z9ICR7Y3VycmVudC5kaXNwbGF5TmFtZX0uYCxcbiAgICAuLi5sb2csXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldmFsdWF0ZVZpY3RvcnkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgbG9nOiBzdHJpbmdbXSxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlc1xuKTogdm9pZCB7XG4gIGlmIChnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPiAwICYmIGdhbWUucGxheWVycy5QMi5sZWFkZXJIcCA+IDAgJiYgZ2FtZS5zaGFyZWREZWNrLmxlbmd0aCA+IDApXG4gICAgcmV0dXJuO1xuICBnYW1lLnN0YXR1cyA9ICdmaW5pc2hlZCc7XG4gIGNvbnN0IHdpbm5lcjogQ2hyaXN0aWFuaXR5U2VhdCA9XG4gICAgZ2FtZS5wbGF5ZXJzLlAxLmxlYWRlckhwIDw9IDBcbiAgICAgID8gJ1AyJ1xuICAgICAgOiBnYW1lLnBsYXllcnMuUDIubGVhZGVySHAgPD0gMFxuICAgICAgICA/ICdQMSdcbiAgICAgICAgOiBnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPj0gZ2FtZS5wbGF5ZXJzLlAyLmxlYWRlckhwXG4gICAgICAgICAgPyAnUDEnXG4gICAgICAgICAgOiAnUDInO1xuICBnYW1lLm1hdGNoU2NvcmVbd2lubmVyXSArPSAxO1xuICBsb2cucHVzaCh3aW5uZXIgPT09ICdQMScgPyBtZXNzYWdlcy55b3VXaW4gOiBtZXNzYWdlcy5vcHBvbmVudFdpbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cERlc3Ryb3llZChcbiAgcGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSxcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlXG4pOiB2b2lkIHtcbiAgY29uc3QgZGVzdHJveWVkID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPD0gMCk7XG4gIGlmICghZGVzdHJveWVkLmxlbmd0aCkgcmV0dXJuO1xuICBmb3IgKGNvbnN0IGNoIG9mIGRlc3Ryb3llZCkge1xuICAgIGZpcmVFZmZlY3RzKGdhbWUsIGNoLCAnb25fZGVhdGgnLCBjaC5vd25lcik7XG4gIH1cbiAgZ2FtZS5oaXN0b3J5Wm9uZS5wdXNoKC4uLmRlc3Ryb3llZC5tYXAoY2FyZCA9PiBjYXJkLmNhcmRJZCkpO1xuICBwbGF5ZXIuYmF0dGxlWm9uZSA9IHBsYXllci5iYXR0bGVab25lLmZpbHRlcihjYXJkID0+IGNhcmQuY3VycmVudEhwID4gMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGVuZE9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlLCBjb3N0OiBudW1iZXIpOiB2b2lkIHtcbiAgbGV0IHJlbWFpbmluZyA9IGNvc3Q7XG4gIGNvbnN0IHRlbXBvcmFyeVJlc2VydmUgPSBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID8/IDA7XG4gIGlmICh0ZW1wb3JhcnlSZXNlcnZlID4gMCkge1xuICAgIGNvbnN0IHNwZW50VGVtcG9yYXJ5UmVzZXJ2ZSA9IE1hdGgubWluKHRlbXBvcmFyeVJlc2VydmUsIHJlbWFpbmluZyk7XG4gICAgcGxheWVyLnRlbXBvcmFyeU9mZmVyaW5nUmVzZXJ2ZSA9IHRlbXBvcmFyeVJlc2VydmUgLSBzcGVudFRlbXBvcmFyeVJlc2VydmU7XG4gICAgcmVtYWluaW5nIC09IHNwZW50VGVtcG9yYXJ5UmVzZXJ2ZTtcbiAgfVxuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAob2ZmZXJpbmcgPT4ge1xuICAgIGlmIChyZW1haW5pbmcgPD0gMCB8fCAhb2ZmZXJpbmcucmVhZHkpIHJldHVybiBvZmZlcmluZztcbiAgICByZW1haW5pbmcgLT0gb2ZmZXJpbmcudmFsdWU7XG4gICAgcmV0dXJuIHsgLi4ub2ZmZXJpbmcsIHJlYWR5OiBmYWxzZSB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb2ZmZXJpbmdBYmlsaXR5UmVzZXJ2ZUdhaW4oXG4gIGFiaWxpdHlUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGZhbGxiYWNrVmFsdWU6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgY29uc3QgbWF0Y2ggPSBhYmlsaXR5VGV4dD8ubWF0Y2goL3ZhbG9yIGRlIChcXGQrKSBvZnJlbmRhcz8vaSk7XG4gIGNvbnN0IHBhcnNlZCA9IG1hdGNoID8gTnVtYmVyKG1hdGNoWzFdKSA6IE51bWJlci5OYU47XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSAmJiBwYXJzZWQgPiAwID8gcGFyc2VkIDogTWF0aC5tYXgoMSwgZmFsbGJhY2tWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHBvbmVudFNlYXQoc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCk6IENocmlzdGlhbml0eVNlYXQge1xuICByZXR1cm4gc2VhdCA9PT0gJ1AxJyA/ICdQMicgOiAnUDEnO1xufVxuXG4vLyAtLS0gRWZmZWN0IGVuZ2luZSAoSDkpIC0tLVxuXG50eXBlIEVmZmVjdEN0eCA9IHsgdGFyZ2V0aW5nPzogJ2NoYXJhY3RlcicgfCAnbGVhZGVyJyB9O1xuXG5mdW5jdGlvbiBjaGVja0NvbmRpdGlvbihjb25kaXRpb246IENocmlzdGlhbml0eUNhcmRFZmZlY3RbJ2NvbmRpdGlvbiddLCBjdHg6IEVmZmVjdEN0eCk6IGJvb2xlYW4ge1xuICBpZiAoIWNvbmRpdGlvbikgcmV0dXJuIHRydWU7XG4gIHJldHVybiBjb25kaXRpb24udGFyZ2V0aW5nID09PSBjdHgudGFyZ2V0aW5nO1xufVxuXG5mdW5jdGlvbiBhcHBseU11dGF0aW9uVG9DaGFyYWN0ZXIoXG4gIGNoOiBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSxcbiAgZWZmZWN0OiBDaHJpc3RpYW5pdHlDYXJkRWZmZWN0XG4pOiB2b2lkIHtcbiAgY29uc3QgbXV0ID0gZWZmZWN0Lm11dGF0aW9uO1xuICBjb25zdCBkdXJhdGlvbiA9IGVmZmVjdC5kdXJhdGlvbiA/PyAncGVybWFuZW50JztcbiAgc3dpdGNoIChtdXQudHlwZSkge1xuICAgIGNhc2UgJ2J1ZmZfYXR0YWNrJzpcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gJ2NvbWJhdCcpIHtcbiAgICAgICAgY2guY29tYmF0QXR0YWNrQnVmZiA9IChjaC5jb21iYXRBdHRhY2tCdWZmID8/IDApICsgbXV0LmFtb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNoLmF0dGFjayArPSBtdXQuYW1vdW50O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYnVmZl9saWZlJzpcbiAgICAgIGNoLmN1cnJlbnRIcCArPSBtdXQuYW1vdW50O1xuICAgICAgY2gubWF4SHAgKz0gbXV0LmFtb3VudDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2RlYWxfZGFtYWdlJzpcbiAgICAgIGNoLmN1cnJlbnRIcCA9IE1hdGgubWF4KDAsIGNoLmN1cnJlbnRIcCAtIG11dC5hbW91bnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVzdG9yZV9ocCc6XG4gICAgICBjaC5jdXJyZW50SHAgPSBNYXRoLm1pbihjaC5tYXhIcCwgY2guY3VycmVudEhwICsgbXV0LmFtb3VudCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdkZXN0cm95JzpcbiAgICAgIGNoLmN1cnJlbnRIcCA9IDA7XG4gICAgICBicmVhaztcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseUVmZmVjdChcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBlZmZlY3Q6IENocmlzdGlhbml0eUNhcmRFZmZlY3QsXG4gIHNvdXJjZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UsXG4gIGNvbWJhdE9wcG9uZW50OiBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSB8IG51bGwsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXRcbik6IHZvaWQge1xuICBjb25zdCB7IG11dGF0aW9uOiBtdXQsIHRhcmdldCB9ID0gZWZmZWN0O1xuICBjb25zdCBvcHAgPSBvcHBvbmVudFNlYXQoc2VhdCk7XG5cbiAgc3dpdGNoICh0YXJnZXQpIHtcbiAgICBjYXNlICdzZWxmJzpcbiAgICAgIGFwcGx5TXV0YXRpb25Ub0NoYXJhY3Rlcihzb3VyY2UsIGVmZmVjdCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdjb21iYXRfb3Bwb25lbnQnOlxuICAgICAgaWYgKGNvbWJhdE9wcG9uZW50KSBhcHBseU11dGF0aW9uVG9DaGFyYWN0ZXIoY29tYmF0T3Bwb25lbnQsIGVmZmVjdCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdhbGxfZnJpZW5kbHknOlxuICAgICAgZm9yIChjb25zdCBjaCBvZiBnYW1lLnBsYXllcnNbc2VhdF0uYmF0dGxlWm9uZSkgYXBwbHlNdXRhdGlvblRvQ2hhcmFjdGVyKGNoLCBlZmZlY3QpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYWxsX2VuZW15JzpcbiAgICAgIGZvciAoY29uc3QgY2ggb2YgZ2FtZS5wbGF5ZXJzW29wcF0uYmF0dGxlWm9uZSkgYXBwbHlNdXRhdGlvblRvQ2hhcmFjdGVyKGNoLCBlZmZlY3QpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnb3Bwb25lbnRfbGVhZGVyJzpcbiAgICBjYXNlICdvd25fbGVhZGVyJzoge1xuICAgICAgY29uc3QgbHMgPSB0YXJnZXQgPT09ICdvcHBvbmVudF9sZWFkZXInID8gb3BwIDogc2VhdDtcbiAgICAgIGlmIChtdXQudHlwZSA9PT0gJ2RlYWxfZGFtYWdlJykge1xuICAgICAgICBnYW1lLnBsYXllcnNbbHNdLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgZ2FtZS5wbGF5ZXJzW2xzXS5sZWFkZXJIcCAtIG11dC5hbW91bnQpO1xuICAgICAgfSBlbHNlIGlmIChtdXQudHlwZSA9PT0gJ3Jlc3RvcmVfaHAnKSB7XG4gICAgICAgIGdhbWUucGxheWVyc1tsc10ubGVhZGVySHAgPSBNYXRoLm1pbihcbiAgICAgICAgICBnYW1lLnBsYXllcnNbbHNdLmxlYWRlck1heEhwLFxuICAgICAgICAgIGdhbWUucGxheWVyc1tsc10ubGVhZGVySHAgKyBtdXQuYW1vdW50XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBnYW1lLWxldmVsIG11dGF0aW9ucyB0aGF0IGJ5cGFzcyB0aGUgY2hhcmFjdGVyIHN3aXRjaFxuICBpZiAobXV0LnR5cGUgPT09ICdkcmF3X2NhcmQnKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdXQuYW1vdW50OyBpKyspIGRyYXdDYXJkRm9yKGdhbWUsIHNlYXQpO1xuICB9IGVsc2UgaWYgKG11dC50eXBlID09PSAnZGlzY2FyZF9jYXJkJykge1xuICAgIGNvbnN0IHRTZWF0ID0gbXV0LndobyA9PT0gJ29wcG9uZW50JyA/IG9wcCA6IHNlYXQ7XG4gICAgY29uc3QgaGFuZCA9IGdhbWUucGxheWVyc1t0U2VhdF0uaGFuZCA/PyBbXTtcbiAgICBsZXQgc2VlZCA9IGdhbWUucmV2aXNpb24gKiAzMSArIGdhbWUudHVybkNvdW50ICogNztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKG11dC5hbW91bnQsIGhhbmQubGVuZ3RoKTsgaSsrKSB7XG4gICAgICBzZWVkID0gKHNlZWQgKiAxNjY0NTI1ICsgMTAxMzkwNDIyMykgJiAweGZmZmZmZmZmO1xuICAgICAgY29uc3QgaWR4ID0gTWF0aC5hYnMoc2VlZCkgJSBoYW5kLmxlbmd0aDtcbiAgICAgIGdhbWUuaGlzdG9yeVpvbmUucHVzaChoYW5kLnNwbGljZShpZHgsIDEpWzBdKTtcbiAgICB9XG4gICAgZ2FtZS5wbGF5ZXJzW3RTZWF0XS5oYW5kID0gaGFuZDtcbiAgfSBlbHNlIGlmIChtdXQudHlwZSA9PT0gJ2dhaW5fb2ZmZXJpbmdzJykge1xuICAgIGdhbWUucGxheWVyc1tzZWF0XS50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPVxuICAgICAgKGdhbWUucGxheWVyc1tzZWF0XS50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMCkgKyBtdXQuYW1vdW50O1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpcmVFZmZlY3RzKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIHNvdXJjZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UsXG4gIHRyaWdnZXI6IENocmlzdGlhbml0eUVmZmVjdFRyaWdnZXIsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIGN0eDogRWZmZWN0Q3R4ID0ge30sXG4gIGNvbWJhdE9wcG9uZW50OiBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSB8IG51bGwgPSBudWxsXG4pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBlZmZlY3Qgb2Ygc291cmNlLmVmZmVjdHMgPz8gW10pIHtcbiAgICBpZiAoZWZmZWN0LnRyaWdnZXIgIT09IHRyaWdnZXIpIGNvbnRpbnVlO1xuICAgIGlmICghY2hlY2tDb25kaXRpb24oZWZmZWN0LmNvbmRpdGlvbiwgY3R4KSkgY29udGludWU7XG4gICAgYXBwbHlFZmZlY3QoZ2FtZSwgZWZmZWN0LCBzb3VyY2UsIGNvbWJhdE9wcG9uZW50LCBzZWF0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBiYWtlRWZmZWN0cyhcbiAgaW5zdGFuY2U6IENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlLFxuICBlZmZlY3RzOiBDaHJpc3RpYW5pdHlDYXJkRWZmZWN0W11cbik6IHZvaWQge1xuICBpbnN0YW5jZS5lZmZlY3RzID0gWy4uLihpbnN0YW5jZS5lZmZlY3RzID8/IFtdKSwgLi4uZWZmZWN0c107XG59XG5cbi8vIC0tLSBUb29sIGVxdWlwIHBhc3NpdmVzIChIOCkgLS0tXG5cbmZ1bmN0aW9uIGFwcGx5VG9vbFBhc3NpdmVzKFxuICBjaDogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2UsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uXG4pOiB2b2lkIHtcbiAgY29uc3QgdGV4dCA9IGNhcmQuYWJpbGl0aWVzPy5bMF0/LnRleHQgPz8gJyc7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBhdGtNYXRjaCA9IGxvd2VyLm1hdGNoKC9cXCsoXFxkKylcXHMrcHVudG8oPzpzKT8gZGUgYXRhcXVlLyk7XG4gIGlmIChhdGtNYXRjaCkgY2guYXR0YWNrICs9IHBhcnNlSW50KGF0a01hdGNoWzFdLCAxMCk7XG4gIGNvbnN0IGxpZmVNYXRjaCA9IGxvd2VyLm1hdGNoKC9cXCsoXFxkKylcXHMrcHVudG8oPzpzKT8gZGUgdmlkYS8pO1xuICBpZiAobGlmZU1hdGNoKSB7XG4gICAgY29uc3QgbiA9IHBhcnNlSW50KGxpZmVNYXRjaFsxXSwgMTApO1xuICAgIGNoLmN1cnJlbnRIcCArPSBuO1xuICAgIGNoLm1heEhwICs9IG47XG4gIH1cbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCdwdWVkZSBhdGFjYXIgZWwgdHVybm8gZW4gcXVlIGVudHJhJykpIHtcbiAgICBjaC5jYW5BdHRhY2sgPSB0cnVlO1xuICB9XG4gIGJha2VFZmZlY3RzKGNoLCBjYXJkLmVmZmVjdHMgPz8gW10pO1xufVxuXG4vLyAtLS0gRWZmZWN0IHJlc29sdXRpb24gKEg3KSAtLS1cblxuZnVuY3Rpb24gcmVzb2x2ZUNhcmRFZmZlY3QoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXRcbik6IHZvaWQge1xuICBjb25zdCB0ZXh0ID0gY2FyZC5hYmlsaXRpZXM/LlswXT8udGV4dCA/PyAnJztcbiAgc3dpdGNoIChjYXJkLnN0cmF0ZWd5KSB7XG4gICAgY2FzZSAnZGlyZWN0ZGFtYWdlJzpcbiAgICAgIGVmZmVjdERpcmVjdERhbWFnZShnYW1lLCBjYXJkLCB0ZXh0LCBzZWF0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3Jlc3RvcmUnOlxuICAgICAgZWZmZWN0UmVzdG9yZShnYW1lLCBjYXJkLCB0ZXh0LCBzZWF0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2RyYXcnOlxuICAgICAgZWZmZWN0RHJhdyhnYW1lLCBjYXJkLCB0ZXh0LCBzZWF0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rpc2NhcmQnOlxuICAgICAgZWZmZWN0RGlzY2FyZChnYW1lLCBjYXJkLCB0ZXh0LCBzZWF0KTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVmZmVjdERpcmVjdERhbWFnZShcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgdGV4dDogc3RyaW5nLFxuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0XG4pOiB2b2lkIHtcbiAgY29uc3Qgb3Bwb25lbnQgPSBvcHBvbmVudFNlYXQoc2VhdCk7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBsZXQgZG1nOiBudW1iZXI7XG4gIGlmIChsb3dlci5pbmNsdWRlcygndGFudG9zJykpIHtcbiAgICBkbWcgPSBnYW1lLnBsYXllcnNbc2VhdF0uYmF0dGxlWm9uZS5sZW5ndGg7XG4gIH0gZWxzZSB7XG4gICAgZG1nID0gcGFyc2VTcGFuaXNoTnVtYmVyKHRleHQpO1xuICB9XG4gIGlmIChkbWcgPD0gMCkgcmV0dXJuO1xuICBnYW1lLnBsYXllcnNbb3Bwb25lbnRdLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgZ2FtZS5wbGF5ZXJzW29wcG9uZW50XS5sZWFkZXJIcCAtIGRtZyk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdFJlc3RvcmUoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIHRleHQ6IHN0cmluZyxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdFxuKTogdm9pZCB7XG4gIGNvbnN0IGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBuID0gTWF0aC5tYXgoMSwgcGFyc2VTcGFuaXNoTnVtYmVyKHRleHQpIHx8IDEpO1xuICBpZiAobG93ZXIuaW5jbHVkZXMoJ2xvcyBsw61kZXJlcycpIHx8IGxvd2VyLmluY2x1ZGVzKCdsb3MgbGlkZXJlcycpKSB7XG4gICAgZm9yIChjb25zdCBzIG9mIFsnUDEnLCAnUDInXSBhcyBDaHJpc3RpYW5pdHlTZWF0W10pIHtcbiAgICAgIGNvbnN0IHAgPSBnYW1lLnBsYXllcnNbc107XG4gICAgICBwLmxlYWRlckhwID0gTWF0aC5taW4oKHAgYXMgYW55KS5sZWFkZXJNYXhIcCA/PyAzMCwgcC5sZWFkZXJIcCArIG4pO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCd0dXMgcGVyc29uYWplcycpIHx8IGxvd2VyLmluY2x1ZGVzKCdwZXJzb25hamVzIGVuIGp1ZWdvJykpIHtcbiAgICBmb3IgKGNvbnN0IGNoIG9mIGdhbWUucGxheWVyc1tzZWF0XS5iYXR0bGVab25lKSB7XG4gICAgICBjaC5jdXJyZW50SHAgPSBNYXRoLm1pbihjaC5tYXhIcCwgY2guY3VycmVudEhwICsgbik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBpZiAoXG4gICAgbG93ZXIuaW5jbHVkZXMoJ2RlbCBsw61kZXInKSB8fFxuICAgIGxvd2VyLmluY2x1ZGVzKCdhbCBsw61kZXInKSB8fFxuICAgIGxvd2VyLmluY2x1ZGVzKCdkZWwgbGlkZXInKSB8fFxuICAgIGxvd2VyLmluY2x1ZGVzKCdhbCBsaWRlcicpXG4gICkge1xuICAgIGNvbnN0IHAgPSBnYW1lLnBsYXllcnNbc2VhdF07XG4gICAgcC5sZWFkZXJIcCA9IE1hdGgubWluKChwIGFzIGFueSkubGVhZGVyTWF4SHAgPz8gMzAsIHAubGVhZGVySHAgKyBuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlZmZlY3REcmF3KFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICB0ZXh0OiBzdHJpbmcsXG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXRcbik6IHZvaWQge1xuICBjb25zdCBsb3dlciA9IHRleHQudG9Mb3dlckNhc2UoKTtcbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCdsb3MganVnYWRvcmVzJykpIHtcbiAgICBjb25zdCBuID0gTWF0aC5tYXgoMSwgcGFyc2VTcGFuaXNoTnVtYmVyKHRleHQpIHx8IDEpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICBkcmF3Q2FyZEZvcihnYW1lLCAnUDEnKTtcbiAgICAgIGRyYXdDYXJkRm9yKGdhbWUsICdQMicpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvd2VyLmluY2x1ZGVzKCdwb3IgY2FkYSBwZXJzb25hamUgb3BvbmVudGUnKSkge1xuICAgIGNvbnN0IG4gPSBnYW1lLnBsYXllcnNbb3Bwb25lbnRTZWF0KHNlYXQpXS5iYXR0bGVab25lLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykgZHJhd0NhcmRGb3IoZ2FtZSwgc2VhdCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IG4gPSBNYXRoLm1heCgxLCBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dCkgfHwgMSk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSBkcmF3Q2FyZEZvcihnYW1lLCBzZWF0KTtcbn1cblxuZnVuY3Rpb24gZWZmZWN0RGlzY2FyZChcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgdGV4dDogc3RyaW5nLFxuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0XG4pOiB2b2lkIHtcbiAgY29uc3QgbG93ZXIgPSB0ZXh0LnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IG9wcG9uZW50ID0gb3Bwb25lbnRTZWF0KHNlYXQpO1xuICBpZiAoXG4gICAgbG93ZXIuaW5jbHVkZXMoJ2FtYm9zIGp1Z2Fkb3JlcyBkZXNjYXJ0YW4gc3UgbWFubycpIHx8XG4gICAgbG93ZXIuaW5jbHVkZXMoJ2xvcyBqdWdhZG9yZXMgZGVzY2FydGFuIHN1IG1hbm8nKVxuICApIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgWydQMScsICdQMiddIGFzIENocmlzdGlhbml0eVNlYXRbXSkge1xuICAgICAgY29uc3QgcCA9IGdhbWUucGxheWVyc1tzXTtcbiAgICAgIGdhbWUuaGlzdG9yeVpvbmUucHVzaCguLi4ocC5oYW5kID8/IFtdKSk7XG4gICAgICBwLmhhbmQgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChcbiAgICAobG93ZXIuaW5jbHVkZXMoJ29wb25lbnRlJykgJiYgbG93ZXIuaW5jbHVkZXMoJ2F6YXInKSkgfHxcbiAgICBsb3dlci5pbmNsdWRlcygndHUgb3BvbmVudGUgZGVzY2FydGEnKVxuICApIHtcbiAgICBjb25zdCBuID0gTWF0aC5tYXgoMSwgcGFyc2VTcGFuaXNoTnVtYmVyKHRleHQpIHx8IDEpO1xuICAgIGNvbnN0IG9wID0gZ2FtZS5wbGF5ZXJzW29wcG9uZW50XTtcbiAgICBjb25zdCBoYW5kID0gb3AuaGFuZCA/PyBbXTtcbiAgICBsZXQgc2VlZCA9IGdhbWUucmV2aXNpb24gKiAzMSArIGdhbWUudHVybkNvdW50ICogNztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG4gJiYgaGFuZC5sZW5ndGggPiAwOyBpKyspIHtcbiAgICAgIHNlZWQgPSAoc2VlZCAqIDE2NjQ1MjUgKyAxMDEzOTA0MjIzKSAmIDB4ZmZmZmZmZmY7XG4gICAgICBjb25zdCBpZHggPSBNYXRoLmFicyhzZWVkKSAlIGhhbmQubGVuZ3RoO1xuICAgICAgZ2FtZS5oaXN0b3J5Wm9uZS5wdXNoKGhhbmRbaWR4XSk7XG4gICAgICBoYW5kLnNwbGljZShpZHgsIDEpO1xuICAgIH1cbiAgICBvcC5oYW5kID0gaGFuZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBkcmF3Q2FyZEZvcihnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsIHNlYXQ6IENocmlzdGlhbml0eVNlYXQpOiB2b2lkIHtcbiAgY29uc3QgY2FyZCA9IGdhbWUuc2hhcmVkRGVjay5zaGlmdCgpO1xuICBpZiAoIWNhcmQpIHJldHVybjtcbiAgY29uc3QgcCA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKHAuaGFuZCkgcC5oYW5kLnB1c2goY2FyZCk7XG4gIGVsc2UgcC5oYW5kQ291bnQgPSAocC5oYW5kQ291bnQgPz8gMCkgKyAxO1xufVxuXG5mdW5jdGlvbiBwYXJzZVNwYW5pc2hOdW1iZXIodGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3Qgd29yZHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gICAgdW46IDEsXG4gICAgdW5hOiAxLFxuICAgIHVubzogMSxcbiAgICBkb3M6IDIsXG4gICAgdHJlczogMyxcbiAgICBjdWF0cm86IDQsXG4gICAgY2luY286IDUsXG4gICAgc2VpczogNixcbiAgICBzaWV0ZTogNyxcbiAgICBvY2hvOiA4LFxuICAgIG51ZXZlOiA5LFxuICAgIGRpZXo6IDEwLFxuICB9O1xuICBjb25zdCBkaWdpdE1hdGNoID0gdGV4dC5tYXRjaCgvXFxiKFxcZCspXFxiLyk7XG4gIGlmIChkaWdpdE1hdGNoKSByZXR1cm4gcGFyc2VJbnQoZGlnaXRNYXRjaFsxXSwgMTApO1xuICBjb25zdCBsb3dlciA9IHRleHQudG9Mb3dlckNhc2UoKTtcbiAgZm9yIChjb25zdCBbd29yZCwgbl0gb2YgT2JqZWN0LmVudHJpZXMod29yZHMpKSB7XG4gICAgaWYgKG5ldyBSZWdFeHAoYFxcXFxiJHt3b3JkfVxcXFxiYCkudGVzdChsb3dlcikpIHJldHVybiBuO1xuICB9XG4gIHJldHVybiAwO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nIHwgJ2Jsb2NrZWQnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJyB8ICdtYXN0ZXInO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc05pZ2h0bWFyZU1vZGUgPSAnbm9uZScgfCAnaHVudCcgfCAncHJpZGUnIHwgJ21hZ251cyc7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm90UHJvZmlsZUlkID1cbiAgfCAnZXhwbG9yZXInXG4gIHwgJ2J1bGwnXG4gIHwgJ2hhcmUnXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ2NoZWV0YWgnXG4gIHwgJ3NlbnRpbmVsJ1xuICB8ICdvcmFjbGUnXG4gIHwgJ2FtYnVzaGVyJ1xuICB8ICd0dXJ0bGUnXG4gIHwgJ3N0b3JtJ1xuICB8ICdtYXRyaWFyY2gnXG4gIHwgJ2FuYWNvbmRhJ1xuICB8ICdtYWdudXMnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVTdGF0dXMgPSAnd2FpdGluZycgfCAnaW5fcHJvZ3Jlc3MnIHwgJ2ZpbmlzaGVkJyB8ICdleHBpcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQm90UHJvZmlsZSB7XG4gIGlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGF2YXRhclNyYz86IHN0cmluZztcbiAgbGFiZWxLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb25LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXR1cyA9ICdhY3RpdmUnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJyB8ICdhYmFuZG9uZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VCb3Qge1xuICBpZDogc3RyaW5nO1xuICByb3VuZDogbnVtYmVyO1xuICBwcm9maWxlSWQ6IENoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gIGRpZmZpY3VsdHk6IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5O1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIGludHJvS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kU3RhdHMge1xuICBwb3dlcnNVc2VkOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIG51bWJlcj47XG4gIHBvd2VyQ2FwdHVyZXM6IG51bWJlcjtcbiAgcHJvbW90aW9uczogbnVtYmVyO1xuICBjYXB0dXJlczogbnVtYmVyO1xuICBtb3ZlczogbnVtYmVyO1xuICBzY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFJlc3VsdCB7XG4gIHJvdW5kOiBudW1iZXI7XG4gIGJvdElkOiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgd29uOiBib29sZWFuO1xuICBsaXZlc1JlbWFpbmluZzogbnVtYmVyO1xuICBzdGF0czogQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kU3RhdHM7XG4gIGZpbmlzaGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUnVuIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBzY2hlbWFWZXJzaW9uPzogMjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHVzO1xuICBsaXZlc1N0YXJ0OiAzO1xuICBsaXZlc1JlbWFpbmluZzogbnVtYmVyO1xuICByb3VuZEluZGV4PzogbnVtYmVyO1xuICBjdXJyZW50Um91bmQ6IG51bWJlcjtcbiAgcm91bmRzV29uPzogbnVtYmVyO1xuICBoaWdoZXN0Um91bmRSZWFjaGVkPzogbnVtYmVyO1xuICBhY3RpdmVSb3VuZElkPzogc3RyaW5nO1xuICB3aW5zOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xuICBiZXN0U3RyZWFrSW5SdW46IG51bWJlcjtcbiAgY3VycmVudFN0cmVhazogbnVtYmVyO1xuICBib3RMYWRkZXI6IHN0cmluZ1tdO1xuICByb3VuZFJlc3VsdHM6IENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFJlc3VsdFtdO1xuICBhY3RpdmVHYW1lPzogQ2hlc3NpbWFsc0dhbWVTdGF0ZTtcbiAgc3RhcnRlZEF0OiBzdHJpbmc7XG4gIGxhc3RFdmVudEF0Pzogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgZmluaXNoZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHMge1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGNoYWxsZW5nZXNQbGF5ZWQ6IG51bWJlcjtcbiAgY2hhbGxlbmdlc0NvbXBsZXRlZDogbnVtYmVyO1xuICBiZXN0V2luU3RyZWFrOiBudW1iZXI7XG4gIGJlc3RSb3VuZFJlYWNoZWQ6IG51bWJlcjtcbiAgdG90YWxXaW5zOiBudW1iZXI7XG4gIHRvdGFsTG9zc2VzOiBudW1iZXI7XG4gIGJvdHNEZWZlYXRlZDogbnVtYmVyO1xuICBwb3dlcnNVc2VkOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIG51bWJlcj47XG4gIHBvd2VyQ2FwdHVyZXM6IG51bWJlcjtcbiAgcHJvbW90aW9uczogbnVtYmVyO1xuICB0b3RhbFNjb3JlOiBudW1iZXI7XG4gIGJlc3RSb3VuZFNjb3JlOiBudW1iZXI7XG4gIGJlc3RNb3ZlU2NvcmU6IG51bWJlcjtcbiAgYmVzdENvbWJvOiBudW1iZXI7XG4gIG1vZGVTdGF0czogUmVjb3JkPENoZXNzaW1hbHNTdGF0c01vZGUsIENoZXNzaW1hbHNNb2RlU3RhdHM+O1xuICB1cGRhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNTdGF0c01vZGUgPSAnY2hhbGxlbmdlJyB8ICdib3QnIHwgJ29ubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vZGVTdGF0cyB7XG4gIHBsYXllZDogbnVtYmVyO1xuICB3aW5zOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQb3NpdGlvbiB7XG4gIHJvdzogbnVtYmVyO1xuICBjb2w6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUGllY2Uge1xuICBpZDogc3RyaW5nO1xuICBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBwb3NpdGlvbjogQ2hlc3NpbWFsc1Bvc2l0aW9uO1xuICBjYXB0dXJlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG93ZXJDYXJkIHtcbiAgdHlwZTogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIHVzZWQ6IGJvb2xlYW47XG4gIHVzZXNSZW1haW5pbmc/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BsYXllclN0YXRlIHtcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG93ZXJVbmxvY2tlZDogYm9vbGVhbjtcbiAgY2FyZHM6IFJlY29yZDxDaGVzc2ltYWxzQW5pbWFsVHlwZSwgQ2hlc3NpbWFsc1Bvd2VyQ2FyZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmUge1xuICBwaWVjZUlkOiBzdHJpbmc7XG4gIGZyb206IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgdG86IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAga2luZDogQ2hlc3NpbWFsc01vdmVLaW5kO1xuICBhbmltYWw/OiBDaGVzc2ltYWxzQW5pbWFsVHlwZTtcbiAgY2FwdHVyZXNQaWVjZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlSGlzdG9yeUVudHJ5IHtcbiAgbW92ZU51bWJlcjogbnVtYmVyO1xuICBwaWVjZXM6IENoZXNzaW1hbHNQaWVjZVtdO1xuICBjdXJyZW50VHVybjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBtb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXMgPSAnYWNjZXB0ZWQnIHwgJ3JlamVjdGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUxvZ0VudHJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgYXQ6IHN0cmluZztcbiAgdWlkOiBzdHJpbmc7XG4gIHByb2ZpbGVJZD86IHN0cmluZztcbiAgc2VhdEtleT86IHN0cmluZztcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzTW92ZUxvZ1N0YXR1cztcbiAgY29kZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgbW92ZTogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVDb3VudEJlZm9yZTogbnVtYmVyO1xuICBtb3ZlQ291bnRBZnRlcj86IG51bWJlcjtcbiAgY3VycmVudFR1cm5CZWZvcmU6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzT25saW5lUGFydGljaXBhbnQge1xuICB1aWQ6IHN0cmluZztcbiAgYWNjb3VudFVzZXJJZD86IHN0cmluZztcbiAgcHJvZmlsZUlkOiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgam9pbmVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzT25saW5lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgaG9zdFVpZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICBleHBpcmVzQXRNczogbnVtYmVyO1xuICByb3VuZDogbnVtYmVyO1xuICByZW1hdGNoT2Y/OiBzdHJpbmc7XG4gIGxvYmJ5PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwZW5kaW5nR3Vlc3Q/OiBDaGVzc2ltYWxzT25saW5lUGFydGljaXBhbnQ7XG4gIHBhcnRpY2lwYW50cz86IFBhcnRpYWw8UmVjb3JkPENoZXNzaW1hbHNQbGF5ZXJDb2xvciwgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50Pj47XG4gIHJlbWF0Y2hSZXF1ZXN0cz86IHN0cmluZ1tdO1xuICBtb3ZlTG9nPzogQ2hlc3NpbWFsc01vdmVMb2dFbnRyeVtdO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzSGlzdG9yeU91dGNvbWUgPVxuICB8ICd3YWl0aW5nJ1xuICB8ICdwZW5kaW5nJ1xuICB8ICdpbl9wcm9ncmVzcydcbiAgfCAnd29uJ1xuICB8ICdsb3N0J1xuICB8ICdkZWNsaW5lZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0hpc3RvcnlFbnRyeSB7XG4gIGdhbWVJZDogc3RyaW5nO1xuICBtb2RlOiAnb25saW5lJztcbiAgYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBvdXRjb21lOiBDaGVzc2ltYWxzSGlzdG9yeU91dGNvbWU7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIG9wcG9uZW50VWlkPzogc3RyaW5nO1xuICBvcHBvbmVudE5hbWU/OiBzdHJpbmc7XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIHJvdW5kOiBudW1iZXI7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgZmluaXNoZWRBdD86IHN0cmluZztcbiAgZXhwaXJlc0F0Pzogc3RyaW5nO1xuICByZW1hdGNoT2Y/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0dhbWVTdGF0ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG1vZGU6IENoZXNzaW1hbHNHYW1lTW9kZTtcbiAgYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBjdXJyZW50VHVybjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBwaWVjZXM6IENoZXNzaW1hbHNQaWVjZVtdO1xuICBwbGF5ZXJzOiBSZWNvcmQ8Q2hlc3NpbWFsc1BsYXllckNvbG9yLCBDaGVzc2ltYWxzUGxheWVyU3RhdGU+O1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG4gIG1vdmVDb3VudDogbnVtYmVyO1xuICBsYXN0TW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlSGlzdG9yeT86IENoZXNzaW1hbHNNb3ZlSGlzdG9yeUVudHJ5W107XG4gIG9ubGluZT86IENoZXNzaW1hbHNPbmxpbmVTdGF0ZTtcbn1cblxuLy8gLS0tIENoZXNzaW1hbHMgQWR2ZW50dXJlIE1vZGUgLS0tXG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlVHlwZSA9ICdiYXR0bGUnIHwgJ2Jvc3MnIHwgJ3Jlc3QnIHwgJ215c3RlcnknO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVTdGF0dXMgPSAnbG9ja2VkJyB8ICdhdmFpbGFibGUnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlUG9zaXRpb24ge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFjdElkOiBzdHJpbmc7XG4gIHR5cGU6IENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlVHlwZTtcbiAgcHJvZmlsZUlkPzogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eT86IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5O1xuICBib2FyZFNpemU/OiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBwb3NpdGlvbjogQ2hlc3NpbWFsc0FkdmVudHVyZVBvc2l0aW9uO1xuICBjb25uZWN0c1RvOiBzdHJpbmdbXTtcbiAgdGl0bGVLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb25LZXk6IHN0cmluZztcbiAgcXVvdGVLZXk/OiBzdHJpbmc7XG4gIHNwZWNpYWxSdWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNBZHZlbnR1cmVBY3Qge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZUtleTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbktleTogc3RyaW5nO1xuICBsb3JlS2V5Pzogc3RyaW5nO1xuICBlbW9qaTogc3RyaW5nO1xuICBub2RlczogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVJlc3VsdCB7XG4gIHN0YXJzOiBudW1iZXI7XG4gIGNvbXBsZXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjb21wbGV0ZWROb2RlczogUmVjb3JkPHN0cmluZywgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVSZXN1bHQ+O1xuICB0b3RhbFN0YXJzOiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG4vLyAtLS0gQ2hyaXN0aWFuaXR5IC0tLVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9XG4gIHwgJ2FjdGlvbidcbiAgfCAnY2hhcmFjdGVyJ1xuICB8ICdldmVudCdcbiAgfCAnbGVhZGVyJ1xuICB8ICdvZmZlcmluZydcbiAgfCAncGxhY2UnXG4gIHwgJ3Rvb2wnXG4gIHwgJ3dpc2RvbSc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5ID1cbiAgfCAnbm9ybWFsJ1xuICB8ICdnb29kJ1xuICB8ICd2ZXJ5LWdvb2QnXG4gIHwgJ3VuY29tbW9uJ1xuICB8ICdyYXJlJ1xuICB8ICdsZWdlbmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRBYmlsaXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0aWVzPzogQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQmlibGVSZWZlcmVuY2Uge1xuICBib29rPzogc3RyaW5nO1xuICBjaGFwdGVyPzogbnVtYmVyO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFydCB7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbiAgcG9zaXRpb25YPzogbnVtYmVyO1xuICBwb3NpdGlvblk/OiBudW1iZXI7XG4gIGltYWdlUGF0aD86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBhcnRpc3RDcmVkaXQ/OiBzdHJpbmc7XG4gIHByb21wdElkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VJZD86IG51bWJlcjtcbiAgZWRpdGlvbk51bWJlcj86IG51bWJlcjtcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRUeXBlO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGxlYWRlckxpZmU/OiBudW1iZXI7XG4gIGxlZ2FjeVJlc3RyaWN0aW9uPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xuICBzdHJhdGVneT86IHN0cmluZztcbiAgcG93ZXI/OiBzdHJpbmc7XG4gIGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlO1xuICBhcnQ/OiBDaHJpc3RpYW5pdHlDYXJkQXJ0O1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvblNpemU/OiBudW1iZXI7XG4gIGNvcHlDb3VudD86IG51bWJlcjtcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICByYXJpdHk/OiBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5O1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBiYWNrVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGkxOG4/OiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24+O1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIHNvdXJjZU5vdGVzPzogc3RyaW5nO1xuICBiaWJsZUNyZWRpdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIGNvbnRyb2xsZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHNsb3Q/OiBudW1iZXI7XG4gIGF0dGFjazogbnVtYmVyO1xuICBjdXJyZW50SHA6IG51bWJlcjtcbiAgbWF4SHA6IG51bWJlcjtcbiAgY2FuQXR0YWNrOiBib29sZWFuO1xuICBlcXVpcHBlZFRvb2xzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHJlYWR5OiBib29sZWFuO1xuICB2YWx1ZTogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXR5VXNlZFRoaXNUdXJuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSB7XG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQ7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFyQ29sb3I/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgdGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlPzogbnVtYmVyO1xuICBvZmZlcmluZ1BsYXllZFRoaXNUdXJuOiBib29sZWFuO1xuICBoYW5kPzogc3RyaW5nW107XG4gIGhhbmRDb3VudD86IG51bWJlcjtcbiAgYmF0dGxlWm9uZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlHYW1lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzO1xuICBtb2RlOiBDaHJpc3RpYW5pdHlHYW1lTW9kZTtcbiAgdHVybk93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICByZXZpc2lvbjogbnVtYmVyO1xuICB0dXJuQ291bnQ6IG51bWJlcjtcbiAgbWF0Y2hTY29yZTogUmVjb3JkPENocmlzdGlhbml0eVNlYXQsIG51bWJlcj47XG4gIHNoYXJlZERlY2s6IHN0cmluZ1tdO1xuICBwbGFjZVpvbmU6IHN0cmluZ1tdO1xuICBoaXN0b3J5Wm9uZTogc3RyaW5nW107XG4gIHBsYXllcnM6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZT47XG4gIGxvZzogc3RyaW5nW107XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nIHwgJ2Jsb2NrZWQnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJyB8ICdtYXN0ZXInO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc05pZ2h0bWFyZU1vZGUgPSAnbm9uZScgfCAnaHVudCcgfCAncHJpZGUnIHwgJ21hZ251cyc7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm90UHJvZmlsZUlkID1cbiAgfCAnZXhwbG9yZXInXG4gIHwgJ2J1bGwnXG4gIHwgJ2hhcmUnXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ2NoZWV0YWgnXG4gIHwgJ3NlbnRpbmVsJ1xuICB8ICdvcmFjbGUnXG4gIHwgJ2FtYnVzaGVyJ1xuICB8ICd0dXJ0bGUnXG4gIHwgJ3N0b3JtJ1xuICB8ICdtYXRyaWFyY2gnXG4gIHwgJ2FuYWNvbmRhJ1xuICB8ICdtYWdudXMnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVTdGF0dXMgPSAnd2FpdGluZycgfCAnaW5fcHJvZ3Jlc3MnIHwgJ2ZpbmlzaGVkJyB8ICdleHBpcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQm90UHJvZmlsZSB7XG4gIGlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGF2YXRhclNyYz86IHN0cmluZztcbiAgbGFiZWxLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb25LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXR1cyA9ICdhY3RpdmUnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJyB8ICdhYmFuZG9uZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VCb3Qge1xuICBpZDogc3RyaW5nO1xuICByb3VuZDogbnVtYmVyO1xuICBwcm9maWxlSWQ6IENoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gIGRpZmZpY3VsdHk6IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5O1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIGludHJvS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kU3RhdHMge1xuICBwb3dlcnNVc2VkOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIG51bWJlcj47XG4gIHBvd2VyQ2FwdHVyZXM6IG51bWJlcjtcbiAgcHJvbW90aW9uczogbnVtYmVyO1xuICBjYXB0dXJlczogbnVtYmVyO1xuICBtb3ZlczogbnVtYmVyO1xuICBzY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFJlc3VsdCB7XG4gIHJvdW5kOiBudW1iZXI7XG4gIGJvdElkOiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgd29uOiBib29sZWFuO1xuICBsaXZlc1JlbWFpbmluZzogbnVtYmVyO1xuICBzdGF0czogQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kU3RhdHM7XG4gIGZpbmlzaGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUnVuIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBzY2hlbWFWZXJzaW9uPzogMjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHVzO1xuICBsaXZlc1N0YXJ0OiAzO1xuICBsaXZlc1JlbWFpbmluZzogbnVtYmVyO1xuICByb3VuZEluZGV4PzogbnVtYmVyO1xuICBjdXJyZW50Um91bmQ6IG51bWJlcjtcbiAgcm91bmRzV29uPzogbnVtYmVyO1xuICBoaWdoZXN0Um91bmRSZWFjaGVkPzogbnVtYmVyO1xuICBhY3RpdmVSb3VuZElkPzogc3RyaW5nO1xuICB3aW5zOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xuICBiZXN0U3RyZWFrSW5SdW46IG51bWJlcjtcbiAgY3VycmVudFN0cmVhazogbnVtYmVyO1xuICBib3RMYWRkZXI6IHN0cmluZ1tdO1xuICByb3VuZFJlc3VsdHM6IENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFJlc3VsdFtdO1xuICBhY3RpdmVHYW1lPzogQ2hlc3NpbWFsc0dhbWVTdGF0ZTtcbiAgc3RhcnRlZEF0OiBzdHJpbmc7XG4gIGxhc3RFdmVudEF0Pzogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgZmluaXNoZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHMge1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGNoYWxsZW5nZXNQbGF5ZWQ6IG51bWJlcjtcbiAgY2hhbGxlbmdlc0NvbXBsZXRlZDogbnVtYmVyO1xuICBiZXN0V2luU3RyZWFrOiBudW1iZXI7XG4gIGJlc3RSb3VuZFJlYWNoZWQ6IG51bWJlcjtcbiAgdG90YWxXaW5zOiBudW1iZXI7XG4gIHRvdGFsTG9zc2VzOiBudW1iZXI7XG4gIGJvdHNEZWZlYXRlZDogbnVtYmVyO1xuICBwb3dlcnNVc2VkOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIG51bWJlcj47XG4gIHBvd2VyQ2FwdHVyZXM6IG51bWJlcjtcbiAgcHJvbW90aW9uczogbnVtYmVyO1xuICB0b3RhbFNjb3JlOiBudW1iZXI7XG4gIGJlc3RSb3VuZFNjb3JlOiBudW1iZXI7XG4gIGJlc3RNb3ZlU2NvcmU6IG51bWJlcjtcbiAgYmVzdENvbWJvOiBudW1iZXI7XG4gIG1vZGVTdGF0czogUmVjb3JkPENoZXNzaW1hbHNTdGF0c01vZGUsIENoZXNzaW1hbHNNb2RlU3RhdHM+O1xuICB1cGRhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNTdGF0c01vZGUgPSAnY2hhbGxlbmdlJyB8ICdib3QnIHwgJ29ubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vZGVTdGF0cyB7XG4gIHBsYXllZDogbnVtYmVyO1xuICB3aW5zOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQb3NpdGlvbiB7XG4gIHJvdzogbnVtYmVyO1xuICBjb2w6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUGllY2Uge1xuICBpZDogc3RyaW5nO1xuICBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBwb3NpdGlvbjogQ2hlc3NpbWFsc1Bvc2l0aW9uO1xuICBjYXB0dXJlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG93ZXJDYXJkIHtcbiAgdHlwZTogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIHVzZWQ6IGJvb2xlYW47XG4gIHVzZXNSZW1haW5pbmc/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BsYXllclN0YXRlIHtcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG93ZXJVbmxvY2tlZDogYm9vbGVhbjtcbiAgY2FyZHM6IFJlY29yZDxDaGVzc2ltYWxzQW5pbWFsVHlwZSwgQ2hlc3NpbWFsc1Bvd2VyQ2FyZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmUge1xuICBwaWVjZUlkOiBzdHJpbmc7XG4gIGZyb206IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgdG86IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAga2luZDogQ2hlc3NpbWFsc01vdmVLaW5kO1xuICBhbmltYWw/OiBDaGVzc2ltYWxzQW5pbWFsVHlwZTtcbiAgY2FwdHVyZXNQaWVjZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlSGlzdG9yeUVudHJ5IHtcbiAgbW92ZU51bWJlcjogbnVtYmVyO1xuICBwaWVjZXM6IENoZXNzaW1hbHNQaWVjZVtdO1xuICBjdXJyZW50VHVybjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBtb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXMgPSAnYWNjZXB0ZWQnIHwgJ3JlamVjdGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUxvZ0VudHJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgYXQ6IHN0cmluZztcbiAgdWlkOiBzdHJpbmc7XG4gIHByb2ZpbGVJZD86IHN0cmluZztcbiAgc2VhdEtleT86IHN0cmluZztcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzTW92ZUxvZ1N0YXR1cztcbiAgY29kZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgbW92ZTogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVDb3VudEJlZm9yZTogbnVtYmVyO1xuICBtb3ZlQ291bnRBZnRlcj86IG51bWJlcjtcbiAgY3VycmVudFR1cm5CZWZvcmU6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzT25saW5lUGFydGljaXBhbnQge1xuICB1aWQ6IHN0cmluZztcbiAgYWNjb3VudFVzZXJJZD86IHN0cmluZztcbiAgcHJvZmlsZUlkOiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgam9pbmVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzT25saW5lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgaG9zdFVpZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICBleHBpcmVzQXRNczogbnVtYmVyO1xuICByb3VuZDogbnVtYmVyO1xuICByZW1hdGNoT2Y/OiBzdHJpbmc7XG4gIGxvYmJ5PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwZW5kaW5nR3Vlc3Q/OiBDaGVzc2ltYWxzT25saW5lUGFydGljaXBhbnQ7XG4gIHBhcnRpY2lwYW50cz86IFBhcnRpYWw8UmVjb3JkPENoZXNzaW1hbHNQbGF5ZXJDb2xvciwgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50Pj47XG4gIHJlbWF0Y2hSZXF1ZXN0cz86IHN0cmluZ1tdO1xuICBtb3ZlTG9nPzogQ2hlc3NpbWFsc01vdmVMb2dFbnRyeVtdO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzSGlzdG9yeU91dGNvbWUgPVxuICB8ICd3YWl0aW5nJ1xuICB8ICdwZW5kaW5nJ1xuICB8ICdpbl9wcm9ncmVzcydcbiAgfCAnd29uJ1xuICB8ICdsb3N0J1xuICB8ICdkZWNsaW5lZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0hpc3RvcnlFbnRyeSB7XG4gIGdhbWVJZDogc3RyaW5nO1xuICBtb2RlOiAnb25saW5lJztcbiAgYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBvdXRjb21lOiBDaGVzc2ltYWxzSGlzdG9yeU91dGNvbWU7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIG9wcG9uZW50VWlkPzogc3RyaW5nO1xuICBvcHBvbmVudE5hbWU/OiBzdHJpbmc7XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIHJvdW5kOiBudW1iZXI7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgZmluaXNoZWRBdD86IHN0cmluZztcbiAgZXhwaXJlc0F0Pzogc3RyaW5nO1xuICByZW1hdGNoT2Y/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0dhbWVTdGF0ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG1vZGU6IENoZXNzaW1hbHNHYW1lTW9kZTtcbiAgYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBzdGF0dXM6IENoZXNzaW1hbHNHYW1lU3RhdHVzO1xuICBjdXJyZW50VHVybjogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICBwaWVjZXM6IENoZXNzaW1hbHNQaWVjZVtdO1xuICBwbGF5ZXJzOiBSZWNvcmQ8Q2hlc3NpbWFsc1BsYXllckNvbG9yLCBDaGVzc2ltYWxzUGxheWVyU3RhdGU+O1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG4gIG1vdmVDb3VudDogbnVtYmVyO1xuICBsYXN0TW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlSGlzdG9yeT86IENoZXNzaW1hbHNNb3ZlSGlzdG9yeUVudHJ5W107XG4gIG9ubGluZT86IENoZXNzaW1hbHNPbmxpbmVTdGF0ZTtcbn1cblxuLy8gLS0tIENoZXNzaW1hbHMgQWR2ZW50dXJlIE1vZGUgLS0tXG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlVHlwZSA9ICdiYXR0bGUnIHwgJ2Jvc3MnIHwgJ3Jlc3QnIHwgJ215c3RlcnknO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVTdGF0dXMgPSAnbG9ja2VkJyB8ICdhdmFpbGFibGUnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlUG9zaXRpb24ge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFjdElkOiBzdHJpbmc7XG4gIHR5cGU6IENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlVHlwZTtcbiAgcHJvZmlsZUlkPzogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eT86IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5O1xuICBib2FyZFNpemU/OiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBwb3NpdGlvbjogQ2hlc3NpbWFsc0FkdmVudHVyZVBvc2l0aW9uO1xuICBjb25uZWN0c1RvOiBzdHJpbmdbXTtcbiAgdGl0bGVLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb25LZXk6IHN0cmluZztcbiAgcXVvdGVLZXk/OiBzdHJpbmc7XG4gIHNwZWNpYWxSdWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNBZHZlbnR1cmVBY3Qge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZUtleTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbktleTogc3RyaW5nO1xuICBsb3JlS2V5Pzogc3RyaW5nO1xuICBlbW9qaTogc3RyaW5nO1xuICBub2RlczogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVJlc3VsdCB7XG4gIHN0YXJzOiBudW1iZXI7XG4gIGNvbXBsZXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjb21wbGV0ZWROb2RlczogUmVjb3JkPHN0cmluZywgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVSZXN1bHQ+O1xuICB0b3RhbFN0YXJzOiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG4vLyAtLS0gQ2hyaXN0aWFuaXR5IC0tLVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9XG4gIHwgJ2FjdGlvbidcbiAgfCAnY2hhcmFjdGVyJ1xuICB8ICdldmVudCdcbiAgfCAnbGVhZGVyJ1xuICB8ICdvZmZlcmluZydcbiAgfCAncGxhY2UnXG4gIHwgJ3Rvb2wnXG4gIHwgJ3dpc2RvbSc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5ID1cbiAgfCAnbm9ybWFsJ1xuICB8ICdnb29kJ1xuICB8ICd2ZXJ5LWdvb2QnXG4gIHwgJ3VuY29tbW9uJ1xuICB8ICdyYXJlJ1xuICB8ICdsZWdlbmRhcnknO1xuXG4vLyAtLS0gU3RydWN0dXJlZCBlZmZlY3Qgc3lzdGVtIC0tLVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTdHJhdGVneSA9XG4gIHwgJ2Rpc2NhcmQnXG4gIHwgJ2RlY2twZWVrJ1xuICB8ICdkaXJlY3RkYW1hZ2UnXG4gIHwgJ3NlYXJjaCdcbiAgfCAnYWdncm8nXG4gIHwgJ3Jlc3RvcmUnXG4gIHwgJ2FjY2VsZXJhdGUnXG4gIHwgJ3Nsb3dkb3duJ1xuICB8ICdtaW5kY29udHJvbCdcbiAgfCAnZGVzdHJveSdcbiAgfCAnZHJhdydcbiAgfCAncmV2ZWFsJ1xuICB8ICdidWZmJztcblxuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5RWZmZWN0VHJpZ2dlciA9XG4gIHwgJ29uX3BsYXknIC8vIGFjY2nDs24vZXZlbnRvL3NhYmlkdXLDrWEgYWwganVnYXJzZVxuICB8ICdvbl9lbnRlcicgLy8gcGVyc29uYWplIGVudHJhIGFsIGNhbXBvXG4gIHwgJ29uX2F0dGFjaycgLy8gZXN0ZSBwZXJzb25hamUgZGVjbGFyYSBhdGFxdWVcbiAgfCAnb25fZGVmZW5kJyAvLyBlc3RlIHBlcnNvbmFqZSBlcyBhdGFjYWRvXG4gIHwgJ29uX2RlYXRoJyAvLyBlc3RlIHBlcnNvbmFqZSBlcyBkZXN0cnVpZG9cbiAgfCAncGFzc2l2ZSc7IC8vIHNpZW1wcmUgYWN0aXZvIG1pZW50cmFzIGVzdMOhIGVuIGNhbXBvXG5cbmV4cG9ydCB0eXBlIENocmlzdGlhbml0eUVmZmVjdFRhcmdldCA9XG4gIHwgJ3NlbGYnIC8vIGVsIHBlcnNvbmFqZSBxdWUgdGllbmUgZWwgZWZlY3RvXG4gIHwgJ2NvbWJhdF9vcHBvbmVudCcgLy8gZWwgb3BvbmVudGUgZW4gY29tYmF0ZSAoc29sbyBlbiBvbl9hdHRhY2sgLyBvbl9kZWZlbmQpXG4gIHwgJ2FsbF9mcmllbmRseScgLy8gdG9kb3MgbG9zIHBlcnNvbmFqZXMgYW1pZ29zIGVuIGNhbXBvXG4gIHwgJ2FsbF9lbmVteScgLy8gdG9kb3MgbG9zIHBlcnNvbmFqZXMgZW5lbWlnb3MgZW4gY2FtcG9cbiAgfCAnb3Bwb25lbnRfbGVhZGVyJyAvLyBsw61kZXIgcml2YWxcbiAgfCAnb3duX2xlYWRlcic7IC8vIGzDrWRlciBwcm9waW9cblxuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5RWZmZWN0TXV0YXRpb24gPVxuICB8IHsgdHlwZTogJ2J1ZmZfYXR0YWNrJzsgYW1vdW50OiBudW1iZXIgfVxuICB8IHsgdHlwZTogJ2J1ZmZfbGlmZSc7IGFtb3VudDogbnVtYmVyIH1cbiAgfCB7IHR5cGU6ICdkZWFsX2RhbWFnZSc7IGFtb3VudDogbnVtYmVyIH1cbiAgfCB7IHR5cGU6ICdyZXN0b3JlX2hwJzsgYW1vdW50OiBudW1iZXIgfVxuICB8IHsgdHlwZTogJ2RyYXdfY2FyZCc7IGFtb3VudDogbnVtYmVyIH1cbiAgfCB7IHR5cGU6ICdkaXNjYXJkX2NhcmQnOyBhbW91bnQ6IG51bWJlcjsgd2hvOiAnc2VsZicgfCAnb3Bwb25lbnQnIH1cbiAgfCB7IHR5cGU6ICdkZXN0cm95JyB9XG4gIHwgeyB0eXBlOiAnZ2Fpbl9vZmZlcmluZ3MnOyBhbW91bnQ6IG51bWJlciB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRFZmZlY3Qge1xuICB0cmlnZ2VyOiBDaHJpc3RpYW5pdHlFZmZlY3RUcmlnZ2VyO1xuICBzdHJhdGVneTogQ2hyaXN0aWFuaXR5U3RyYXRlZ3k7XG4gIHRhcmdldDogQ2hyaXN0aWFuaXR5RWZmZWN0VGFyZ2V0O1xuICBtdXRhdGlvbjogQ2hyaXN0aWFuaXR5RWZmZWN0TXV0YXRpb247XG4gIGNvbmRpdGlvbj86IHsgdGFyZ2V0aW5nOiAnY2hhcmFjdGVyJyB8ICdsZWFkZXInIH0gfCBudWxsO1xuICBkdXJhdGlvbj86ICdjb21iYXQnIHwgJ3R1cm4nIHwgJ3Blcm1hbmVudCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHkge1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRUcmFuc2xhdGlvbiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGZ1bGxOYW1lPzogc3RyaW5nO1xuICB2ZXJzZVRleHQ/OiBzdHJpbmc7XG4gIHNjcmlwdHVyZT86IHN0cmluZztcbiAgYWJpbGl0eU5hbWU/OiBzdHJpbmc7XG4gIGFiaWxpdHlUZXh0Pzogc3RyaW5nO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRCaWJsZVJlZmVyZW5jZSB7XG4gIGJvb2s/OiBzdHJpbmc7XG4gIGNoYXB0ZXI/OiBudW1iZXI7XG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQXJ0IHtcbiAgbGVnZW5kPzogc3RyaW5nO1xuICBzaXplPzogbnVtYmVyO1xuICBwb3NpdGlvblg/OiBudW1iZXI7XG4gIHBvc2l0aW9uWT86IG51bWJlcjtcbiAgaW1hZ2VQYXRoPzogc3RyaW5nO1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgbWltZVR5cGU/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgbW9kZWw/OiBzdHJpbmc7XG4gIGFydGlzdENyZWRpdD86IHN0cmluZztcbiAgcHJvbXB0SWQ/OiBzdHJpbmc7XG4gIHN0YXR1cz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHNvdXJjZUlkPzogbnVtYmVyO1xuICBlZGl0aW9uTnVtYmVyPzogbnVtYmVyO1xuICBlZGl0aW9uSWNvbj86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdHlwZTogQ2hyaXN0aWFuaXR5Q2FyZFR5cGU7XG4gIGNvc3Q/OiBudW1iZXI7XG4gIG9mZmVyaW5nVmFsdWU/OiBudW1iZXI7XG4gIGF0dGFjaz86IG51bWJlcjtcbiAgbGlmZT86IG51bWJlcjtcbiAgbGVhZGVyTGlmZT86IG51bWJlcjtcbiAgbGVnYWN5UmVzdHJpY3Rpb24/OiBudW1iZXI7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0eUNvc3Q/OiBudW1iZXI7XG4gIGFiaWxpdGllcz86IENocmlzdGlhbml0eUNhcmRBYmlsaXR5W107XG4gIHN0cmF0ZWd5PzogQ2hyaXN0aWFuaXR5U3RyYXRlZ3k7XG4gIGVmZmVjdHM/OiBDaHJpc3RpYW5pdHlDYXJkRWZmZWN0W107XG4gIHBvd2VyPzogc3RyaW5nO1xuICBiaWJsZT86IENocmlzdGlhbml0eUNhcmRCaWJsZVJlZmVyZW5jZTtcbiAgYXJ0PzogQ2hyaXN0aWFuaXR5Q2FyZEFydDtcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIHZlcnNlVGV4dD86IHN0cmluZztcbiAgc2NyaXB0dXJlPzogc3RyaW5nO1xuICBlZGl0aW9uPzogc3RyaW5nO1xuICBjb2xsZWN0b3JOdW1iZXI/OiBzdHJpbmc7XG4gIGVkaXRpb25TaXplPzogbnVtYmVyO1xuICBjb3B5Q291bnQ/OiBudW1iZXI7XG4gIGF1dGhvcj86IHN0cmluZztcbiAgeWVhcj86IHN0cmluZztcbiAgcmFyaXR5PzogQ2hyaXN0aWFuaXR5Q2FyZFJhcml0eTtcbiAgZnJvbnRUZW1wbGF0ZT86IHN0cmluZztcbiAgYmFja1RlbXBsYXRlPzogc3RyaW5nO1xuICBpMThuPzogUmVjb3JkPHN0cmluZywgQ2hyaXN0aWFuaXR5Q2FyZFRyYW5zbGF0aW9uPjtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBzb3VyY2VOb3Rlcz86IHN0cmluZztcbiAgYmlibGVDcmVkaXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2Uge1xuICBpbnN0YW5jZUlkOiBzdHJpbmc7XG4gIGNhcmRJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICBjb250cm9sbGVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICBzbG90PzogbnVtYmVyO1xuICBhdHRhY2s6IG51bWJlcjtcbiAgY3VycmVudEhwOiBudW1iZXI7XG4gIG1heEhwOiBudW1iZXI7XG4gIGNhbkF0dGFjazogYm9vbGVhbjtcbiAgZXF1aXBwZWRUb29scz86IHN0cmluZ1tdO1xuICBlZmZlY3RzPzogQ2hyaXN0aWFuaXR5Q2FyZEVmZmVjdFtdO1xuICBjb21iYXRBdHRhY2tCdWZmPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2Uge1xuICBpbnN0YW5jZUlkOiBzdHJpbmc7XG4gIGNhcmRJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICByZWFkeTogYm9vbGVhbjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWJpbGl0eU5hbWU/OiBzdHJpbmc7XG4gIGFiaWxpdHlUZXh0Pzogc3RyaW5nO1xuICBhYmlsaXR5Q29zdD86IG51bWJlcjtcbiAgYWJpbGl0eVVzZWRUaGlzVHVybj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUge1xuICBzZWF0OiBDaHJpc3RpYW5pdHlTZWF0O1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBhdmF0YXI/OiBzdHJpbmc7XG4gIGF2YXRhckNvbG9yPzogc3RyaW5nO1xuICBsZWFkZXJDYXJkSWQ/OiBzdHJpbmc7XG4gIGxlYWRlck5hbWU6IHN0cmluZztcbiAgbGVhZGVySHA6IG51bWJlcjtcbiAgbGVhZGVyTWF4SHA6IG51bWJlcjtcbiAgb2ZmZXJpbmdzOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0luc3RhbmNlW107XG4gIHRlbXBvcmFyeU9mZmVyaW5nUmVzZXJ2ZT86IG51bWJlcjtcbiAgb2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjogYm9vbGVhbjtcbiAgaGFuZD86IHN0cmluZ1tdO1xuICBoYW5kQ291bnQ/OiBudW1iZXI7XG4gIGJhdHRsZVpvbmU6IENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5R2FtZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIHN0YXR1czogQ2hyaXN0aWFuaXR5R2FtZVN0YXR1cztcbiAgbW9kZTogQ2hyaXN0aWFuaXR5R2FtZU1vZGU7XG4gIHR1cm5Pd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgcmV2aXNpb246IG51bWJlcjtcbiAgdHVybkNvdW50OiBudW1iZXI7XG4gIG1hdGNoU2NvcmU6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBudW1iZXI+O1xuICBzaGFyZWREZWNrOiBzdHJpbmdbXTtcbiAgcGxhY2Vab25lOiBzdHJpbmdbXTtcbiAgaGlzdG9yeVpvbmU6IHN0cmluZ1tdO1xuICBwbGF5ZXJzOiBSZWNvcmQ8Q2hyaXN0aWFuaXR5U2VhdCwgQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGU+O1xuICBsb2c6IHN0cmluZ1tdO1xufVxuIl19
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.627';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC42MjcnO1xuIl19
|