@wizishop/wizi-block 15.0.62-beta → 15.0.64-beta

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.
@@ -222,8 +222,8 @@ export class FormsDto {
222
222
  translateBlockService.translateProperties(this.block);
223
223
  if (hasMargin) {
224
224
  this.forms.push(new FormsContentDto(FORM_NAME_HIDE_BLOCK, 'wb.forms.FormsContentDto.16', FORM_TYPE_TAG, block[FORM_NAME_HIDE_BLOCK], '#122231', '', ['wb.blocks.FormContentDto.123', 'wb.blocks.FormContentDto.122'], ['0', '1']));
225
- this.forms.push(new FormsContentDto(FORM_NAME_CLASS_CUSTOM, 'wb.class_custom.label', FORM_TYPE_TEXT, block[FORM_NAME_CLASS_CUSTOM], '', 'wb.class_custom.label'));
226
225
  }
226
+ this.forms.push(new FormsContentDto(FORM_NAME_CLASS_CUSTOM, 'wb.class_custom.label', FORM_TYPE_TEXT, block[FORM_NAME_CLASS_CUSTOM], '', 'wb.class_custom.label'));
227
227
  this.forms.push(new FormsContentDto(FORM_NAME_MARGIN_TOP, 'wb.forms.FormsContentDto.13', FORM_TYPE_TAG, block[FORM_NAME_MARGIN_TOP], '#122231', '', [
228
228
  'wb.blocks.FormContentDto.101',
229
229
  'wb.blocks.FormContentDto.94',
@@ -251,4 +251,4 @@ export class FormsDto {
251
251
  }
252
252
  }
253
253
  }
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2R0b3MvZm9ybXMvZm9ybXMuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsc0JBQXNCLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLDBCQUEwQixDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFv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QUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDdkMsQ0FDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9pbmplY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL3RyYW5zbGF0ZS1ibG9jay5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9URVhUID0gJ3RleHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9OVU1CRVIgPSAnbnVtYmVyJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ0hFQ0tCT1ggPSAnY2hlY2tib3gnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9UQUcgPSAndGFnJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ09MT1IgPSAnY29sb3InO1xuXG5leHBvcnQgY29uc3QgRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwgPSAnc21hbGwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSA9ICdtZWRpdW0nO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFID0gJ2xhcmdlJztcblxuLyoqXG4gKiBEdG8gbmFtZSBpcyBmaXhlZCwgaWYgeW91IGNoYW5nZSB0aGVtLCB5b3UgaGF2ZSB0byB1cGRhdGUgaW4gYWxsIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lEID0gJ2lkJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSURfRk9STSA9ICdpZF9mb3JtJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTUFSR0lOID0gJ21hcmdpbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01BUkdJTl9UT1AgPSAnbWFyZ2luX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FNUExJRllfVFlQRSA9ICdhbXBsaWZ5X3R5cGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BTVBMSUZZX05CTElHTkUgPSAnYW1wbGlmeV9uYmxpZ25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVBQX0lEID0gJ2FwcF9pZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1VSTCA9ICdpbWFnZV91cmwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9XSURUSCA9ICdpbWFnZV93aWR0aCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0hFSUdIVCA9ICdpbWFnZV9oZWlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRSA9ICdpbWFnZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT04gPSAnaWNvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBWU1FTlQgPSAncGF5bWVudF9saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9BRERSRVNTID0gJ2ljb25fYWRkcmVzcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fUEhPTkUgPSAnaWNvbl9waG9uZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fRU1BSUwgPSAnaWNvbl9lbWFpbCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1JJR0hUID0gJ2ltYWdlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9SSUdIVCA9ICdpY29uX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9SSUdIVCA9ICdpY29uX2NvbG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9MSU5LX1JJR0hUID0gJ2ljb25fbGlua19yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX1JJR0hUID0gJ2ljb25fdGFyZ2V0X3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVCA9ICdpbWFnZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09PUkRJTkFURV9YID0gJ2Nvb3JkaW5hdGVfeCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPT1JESU5BVEVfWSA9ICdjb29yZGluYXRlX3knO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xFRlQgPSAnaWNvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9CQUNLR1JPVU5EX0xJTksgPSAndGV4dF9iYWNrZ3JvdW5kX2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0JBQ0tHUk9VTkQgPSAndGV4dF9iYWNrZ3JvdW5kJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUiA9ICdpY29uX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9MRUZUID0gJ2ljb25fY29sb3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19MRUZUID0gJ2ljb25fbGlua19sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTEVGVCA9ICdpY29uX3RhcmdldF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTUlERExFX0xFRlQgPSAnaW1hZ2VfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9MRUZUID0gJ2ljb25fbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9MRUZUID0gJ2ljb25fY29sb3JfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xJTktfTUlERExFX0xFRlQgPSAnaWNvbl9saW5rX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTUlERExFX0xFRlQgPSAnaWNvbl90YXJnZXRfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfUklHSFQgPSAnaW1hZ2VfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfUklHSFQgPSAnaWNvbl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9SSUdIVCA9ICdpY29uX2NvbG9yX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19NSURETEVfUklHSFQgPSAnaWNvbl9saW5rX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX01JRERMRV9SSUdIVCA9ICdpY29uX3RhcmdldF9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfVE9QID0gJ2ltYWdlX21pZGRsZV90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9UT1AgPSAnaWNvbl9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfVE9QID0gJ2ljb25fY29sb3JfbWlkZGxlX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX01JRERMRV9CT1RUT00gPSAnaW1hZ2VfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0xFRlRfQk9UVE9NID0gJ2ltYWdlX2xlZnRfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVF9UT1AgPSAnaW1hZ2VfbGVmdF90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9CT1RUT00gPSAnaWNvbl9taWRkbGVfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fTEVGVCA9ICdpY29uX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fUklHSFQgPSAnaWNvbl9ib3R0b21fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX0JPVFRPTV9MRUZUID0gJ2ljb25fX2NvbG9yX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9CT1RUT01fUklHSFQgPSAnaWNvbl9fY29sb3JfYm90dG9tX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFZTUVOVF9PUl9NRURJQSA9ICdwYXltZW50X29yX21lZGlhJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfQk9UVE9NID0gJ2ljb25fY29sb3JfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJTUUgPSAndGltZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFROQVYgPSAndGV4dG5hdic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFROQVZfVEVYVCA9ICdjb250ZW50JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRE9UUyA9ICdkb3RzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRlVMTFBBR0UgPSAnZnVsbHBhZ2UnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0NFTlRFUiA9ICd0ZXh0X2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NMSURFUiA9ICdzbGlkZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9CT1RUT00gPSAnaW1hZ2VfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVFJPTCA9ICdjb250cm9sJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUT1BMQVkgPSAnYXV0b3BsYXknO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9NVVRFID0gJ211dGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MT09QID0gJ2xvb3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5LID0gJ2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5LX0xFRlQgPSAnbGlua19sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElOS19SSUdIVCA9ICdsaW5rX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMID0gJ3VybCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9MRUZUID0gJ3VybF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX1JJR0hUID0gJ3VybF9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFQgPSAndGV4dCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfTEVGVCA9ICd0ZXh0X2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX1JJR0hUID0gJ3RleHRfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UWVBFX1ZJREVPID0gJ3R5cGVfdmlkZW8nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgPSAndHlwZV9wcm9kdWN0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQU1QTElGWV9DQVRFR09SWSA9ICdhbXBsaWZ5X2NhdGVnb3J5JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElTVF9QUk9EVUNUID0gJ2xpc3RfcHJvZHVjdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX05CTElHTkUgPSAnbmJfbGlnbmUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JRF9QUk9EVUNUID0gJ2lkX3Byb2R1Y3QnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRSA9ICd0aXRsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0JVVFRPTiA9ICdjb2xvci1idXR0b24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CQUNLR1JPVU5EX0NPTE9SX0JVVFRPTiA9ICdiYWNrZ3JvdW5kLWNvbG9yLWJ1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FERFJFU1MgPSAnYWRkcmVzcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BIT05FID0gJ3Bob25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRU1BSUwgPSAnZW1haWwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1IgPSAnYXV0aG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0hPV19USVRMRSA9ICdzaG93X3RpdGxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTUlERExFX1JJR0hUID0gJ3RpdGxlX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX01JRERMRV9MRUZUID0gJ3RpdGxlX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTEVGVCA9ICd0aXRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfUklHSFQgPSAndGl0bGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UID0gJ2NvbnRlbnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QTEFDRUhPTERFUiA9ICdwbGFjZWhvbGRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTEVGVCA9ICdjb250ZW50X2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX1JJR0hUID0gJ2NvbnRlbnRfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9SSUdIVCA9ICdjb250ZW50X21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTUlERExFX0JPVFRPTSA9ICdjb250ZW50X21pZGRsZV9ib3R0b20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9MRUZUID0gJ2NvbnRlbnRfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9UT1AgPSAnY29udGVudF9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9CT1RUT01fTEVGVCA9ICdjb250ZW50X2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9CT1RUT01fUklHSFQgPSAnY29udGVudF9ib3R0b21fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9QQVlNRU5UID0gJ2ltYWdlX3BheW1lbnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUiA9ICdjb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBRERJTkcgPSAncGFkZGluZyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JBQ0tHUk9VTkRfQ09MT1IgPSAnYmFja2dyb3VuZF9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JBQ0tHUk9VTkRfQ09MT1JfU0VDT05EQVJZID0gJ2JhY2tncm91bmRfY29sb3Jfc2Vjb25kYXJ5JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSFJFRiA9ICdocmVmJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEFSR0VUID0gJ3RhcmdldCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfQ09MT1IgPSAndGV4dF9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NUQVJfQ09MT1IgPSAnc3Rhcl9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NFQ09OREFSWV9DT0xPUiA9ICdzZWNvbmRhcnlfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TVEFSX1NFQ09OREFSWV9DT0xPUiA9ICdzdGFyX3NlY29uZGFyeV9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0xFRlQgPSAnY29sb3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX1JJR0hUID0gJ2NvbG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfTUlERExFX0xFRlQgPSAnY29sb3JfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9NSURETEVfUklHSFQgPSAnY29sb3JfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfV0lEVEggPSAnd2lkdGgnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9IRUlHSFQgPSAnaGVpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQk9SREVSX1NUWUxFID0gJ2JvcmRlcl9zdHlsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JPUkRFUl9DT0xPUiA9ICdib3JkZXJfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT04gPSAnYnV0dG9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX0xFRlQgPSAnYnV0dG9uX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fTUlERExFX0xFRlQgPSAnYnV0dG9uX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX1JJR0hUID0gJ2J1dHRvbl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9NSURETEVfUklHSFQgPSAnYnV0dG9uX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9URVhUID0gJ2J1dHRvbl90ZXh0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX1RBUkdFVCA9ICd1cmxfdGFyZ2V0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRkFDRUJPT0sgPSAnZmFjZWJvb2snO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UV0lUVEVSID0gJ3R3aXR0ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTlNUQUdSQU0gPSAnaW5zdGFncmFtJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUElOVEVSRVNUID0gJ3BpbnRlcmVzdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0NFTlRFUiA9ICdpbWFnZV9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUiA9ICdjb250ZW50X2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0NFTlRFUiA9ICd0aXRsZV9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfQ0VOVEVSID0gJ3VybF9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVIgPSAnY29sb3JfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQ0VOVEVSX0xFRlQgPSAnaW1hZ2VfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUl9MRUZUID0gJ2NvbnRlbnRfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9DRU5URVJfTEVGVCA9ICd0aXRsZV9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9DRU5URVJfTEVGVCA9ICd1cmxfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVJfTEVGVCA9ICdjb2xvcl9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0NFTlRFUl9SSUdIVCA9ICdpbWFnZV9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUl9SSUdIVCA9ICdjb250ZW50X2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0NFTlRFUl9SSUdIVCA9ICd0aXRsZV9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfQ0VOVEVSX1JJR0hUID0gJ3VybF9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVJfUklHSFQgPSAnY29sb3JfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX1JJR0hUID0gJ2F1dGhvcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUl9MRUZUID0gJ2F1dGhvcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQkFDS0dST1VORCA9ICdpbWFnZV9iYWNrZ3JvdW5kJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1HX01BU0sgPSAnaW1hZ2VfbWFzayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBUkFMTEFYID0gJ3BhcmFsbGF4JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFSQUxMQVhfU1BFRUQgPSAncGFyYWxsYXhfc3BlZWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQVJBTExBWF9JTlZFUlRFRCA9ICdwYXJhbGxheF9pbnZlcnRlZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0RBVEUgPSAnZGF0ZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0RBWVMgPSAnZGF5cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01JTlVURVMgPSAnbWludXRlcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0hPVVJTID0gJ2hvdXJzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0VDT05EUyA9ICdzZWNvbmRzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUJTT0xVVEUgPSAnYWJzb2x1dGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9GSVJTVF9TVEVQID0gJ2ZpcnN0X3N0ZXAnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9SQVRJTkdTX0xJTksgPSAncmF0aW5nc19saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVU5ERVJMSU5FX0NPTE9SID0gJ3VuZGVybGluZV9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VMRU1FTlRTID0gJ2VsZW1lbnRzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX05BTUUgPSAnYXV0aG9yX25hbWUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1JfVElUTEUgPSAnYXV0aG9yX3RpdGxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU5JVCA9ICdpbml0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRkFRID0gJ2ZhcV9yb3dzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0hBRE9XX0NPTE9SID0gJ3NoYWRvd19jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NIQURPVyA9ICdzaGFkb3cnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9PUEVOID0gJ29wZW4nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BQ0NPUkRJT04gPSAnYWNjb3JkaW9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUxJR05fQlVUVE9OID0gJ2FsaWduX2J1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1dJRFRIX0JMT0NLID0gJ3dpZHRoX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSElERV9CTE9DSyA9ICdoaWRlX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ0xBU1NfQ1VTVE9NID0gJ2NsYXNzX2N1c3RvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VYVEVSTkFMID0gJ2V4dGVybmFsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSVRFTV9OVU1CRVIgPSAnaXRlbV9udW1iZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5FX05VTUJFUiA9ICdsaW5lX251bWJlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1JPV1MgPSAncm93cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTFVNTlMgPSAnY29sdW1ucyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0RBWVMgPSAndGl0bGVfZGF5cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0hPVVJTID0gJ3RpdGxlX2hvdXJzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTUlOVVRFUyA9ICd0aXRsZV9taW51dGVzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfU0VDT05EUyA9ICd0aXRsZV9zZWNvbmRzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1zQ29udGVudER0byB7XG4gICAgaWQ6IHN0cmluZztcblxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgaGVscDogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAgIHZhbHVlOiBhbnk7XG5cbiAgICBzdGVwOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgc3RlcEtleTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGxhYmVsRW5hYmxlOiBzdHJpbmc7XG5cbiAgICByZXZlcnNlU2hvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogMDogT25cbiAgICAgKiAxOiBPZmZcbiAgICAgKi9cbiAgICBzdGF0ZTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGljb25IZWxwOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGlkLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXIsXG4gICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICBoZWxwOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+ID0gJycsXG4gICAgICAgIHN0ZXAgPSBbXSxcbiAgICAgICAgc3RlcEtleSA9IFtdLFxuICAgICAgICBzdGF0ZSA9IFtdLFxuICAgICAgICBpY29uSGVscCA9IGZhbHNlLFxuICAgICAgICBsYWJlbEVuYWJsZSA9ICcnLFxuICAgICAgICByZXZlcnNlU2hvdyA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHRoaXMuaGVscCA9IGhlbHA7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGVwID0gc3RlcDtcbiAgICAgICAgdGhpcy5zdGVwS2V5ID0gc3RlcEtleTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICB0aGlzLmljb25IZWxwID0gaWNvbkhlbHA7XG4gICAgICAgIHRoaXMubGFiZWxFbmFibGUgPSBsYWJlbEVuYWJsZTtcbiAgICAgICAgdGhpcy5yZXZlcnNlU2hvdyA9IHJldmVyc2VTaG93O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1zRHRvPFQ+IHtcbiAgICBibG9jazogYW55O1xuXG4gICAgdHlwZTogYW55O1xuXG4gICAgZm9ybXM6IEZvcm1zQ29udGVudER0b1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihibG9jaywgaGFzTWFyZ2luID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVCbG9ja1NlcnZpY2UgPSBJbmplY3RvclNlcnZpY2UuSW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZUJsb2NrU2VydmljZSk7XG4gICAgICAgIHRoaXMuYmxvY2sgPSBibG9jaztcbiAgICAgICAgdHJhbnNsYXRlQmxvY2tTZXJ2aWNlLnRyYW5zbGF0ZVByb3BlcnRpZXModGhpcy5ibG9jayk7XG4gICAgICAgIGlmIChoYXNNYXJnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfSElERV9CTE9DSyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xNicsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrW0ZPUk1fTkFNRV9ISURFX0JMT0NLXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgWyd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTIzJywgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMjInXSxcbiAgICAgICAgICAgICAgICAgICAgWycwJywgJzEnXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1zQ29udGVudER0byhcbiAgICAgICAgICAgICAgICAgICAgRk9STV9OQU1FX0NMQVNTX0NVU1RPTSxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmNsYXNzX2N1c3RvbS5sYWJlbCcsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9URVhULFxuICAgICAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfQ0xBU1NfQ1VTVE9NXSxcbiAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5jbGFzc19jdXN0b20ubGFiZWwnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgIEZPUk1fTkFNRV9NQVJHSU5fVE9QLFxuICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTMnLFxuICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX01BUkdJTl9UT1BdLFxuICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTAxJyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NCcsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTUnLFxuICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk2JyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFsnbm9uZScsICdzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBpZiAoaGFzTWFyZ2luKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1zQ29udGVudER0byhcbiAgICAgICAgICAgICAgICAgICAgRk9STV9OQU1FX01BUkdJTixcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xJyxcbiAgICAgICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX01BUkdJTl0sXG4gICAgICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTAxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk2JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgWydub25lJywgJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfV0lEVEhfQkxPQ0ssXG4gICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMicsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrW0ZPUk1fTkFNRV9XSURUSF9CTE9DS10sXG4gICAgICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by41JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uNicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by44JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by45JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjEyJyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnLCAnZnVsbCddXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2R0b3MvZm9ybXMvZm9ybXMuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsc0JBQXNCLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLDBCQUEwQixDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFv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QUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDdkMsQ0FDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9pbmplY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL3RyYW5zbGF0ZS1ibG9jay5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9URVhUID0gJ3RleHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9OVU1CRVIgPSAnbnVtYmVyJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ0hFQ0tCT1ggPSAnY2hlY2tib3gnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9UQUcgPSAndGFnJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ09MT1IgPSAnY29sb3InO1xuXG5leHBvcnQgY29uc3QgRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwgPSAnc21hbGwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSA9ICdtZWRpdW0nO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFID0gJ2xhcmdlJztcblxuLyoqXG4gKiBEdG8gbmFtZSBpcyBmaXhlZCwgaWYgeW91IGNoYW5nZSB0aGVtLCB5b3UgaGF2ZSB0byB1cGRhdGUgaW4gYWxsIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lEID0gJ2lkJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSURfRk9STSA9ICdpZF9mb3JtJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTUFSR0lOID0gJ21hcmdpbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01BUkdJTl9UT1AgPSAnbWFyZ2luX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FNUExJRllfVFlQRSA9ICdhbXBsaWZ5X3R5cGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BTVBMSUZZX05CTElHTkUgPSAnYW1wbGlmeV9uYmxpZ25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVBQX0lEID0gJ2FwcF9pZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1VSTCA9ICdpbWFnZV91cmwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9XSURUSCA9ICdpbWFnZV93aWR0aCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0hFSUdIVCA9ICdpbWFnZV9oZWlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRSA9ICdpbWFnZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT04gPSAnaWNvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBWU1FTlQgPSAncGF5bWVudF9saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9BRERSRVNTID0gJ2ljb25fYWRkcmVzcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fUEhPTkUgPSAnaWNvbl9waG9uZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fRU1BSUwgPSAnaWNvbl9lbWFpbCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1JJR0hUID0gJ2ltYWdlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9SSUdIVCA9ICdpY29uX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9SSUdIVCA9ICdpY29uX2NvbG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9MSU5LX1JJR0hUID0gJ2ljb25fbGlua19yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX1JJR0hUID0gJ2ljb25fdGFyZ2V0X3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVCA9ICdpbWFnZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09PUkRJTkFURV9YID0gJ2Nvb3JkaW5hdGVfeCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPT1JESU5BVEVfWSA9ICdjb29yZGluYXRlX3knO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xFRlQgPSAnaWNvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9CQUNLR1JPVU5EX0xJTksgPSAndGV4dF9iYWNrZ3JvdW5kX2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0JBQ0tHUk9VTkQgPSAndGV4dF9iYWNrZ3JvdW5kJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUiA9ICdpY29uX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9MRUZUID0gJ2ljb25fY29sb3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19MRUZUID0gJ2ljb25fbGlua19sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTEVGVCA9ICdpY29uX3RhcmdldF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTUlERExFX0xFRlQgPSAnaW1hZ2VfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9MRUZUID0gJ2ljb25fbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9MRUZUID0gJ2ljb25fY29sb3JfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xJTktfTUlERExFX0xFRlQgPSAnaWNvbl9saW5rX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTUlERExFX0xFRlQgPSAnaWNvbl90YXJnZXRfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfUklHSFQgPSAnaW1hZ2VfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfUklHSFQgPSAnaWNvbl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9SSUdIVCA9ICdpY29uX2NvbG9yX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19NSURETEVfUklHSFQgPSAnaWNvbl9saW5rX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX01JRERMRV9SSUdIVCA9ICdpY29uX3RhcmdldF9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfVE9QID0gJ2ltYWdlX21pZGRsZV90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9UT1AgPSAnaWNvbl9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfVE9QID0gJ2ljb25fY29sb3JfbWlkZGxlX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX01JRERMRV9CT1RUT00gPSAnaW1hZ2VfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0xFRlRfQk9UVE9NID0gJ2ltYWdlX2xlZnRfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVF9UT1AgPSAnaW1hZ2VfbGVmdF90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9CT1RUT00gPSAnaWNvbl9taWRkbGVfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fTEVGVCA9ICdpY29uX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fUklHSFQgPSAnaWNvbl9ib3R0b21fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX0JPVFRPTV9MRUZUID0gJ2ljb25fX2NvbG9yX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9CT1RUT01fUklHSFQgPSAnaWNvbl9fY29sb3JfYm90dG9tX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFZTUVOVF9PUl9NRURJQSA9ICdwYXltZW50X29yX21lZGlhJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfQk9UVE9NID0gJ2ljb25fY29sb3JfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJTUUgPSAndGltZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFROQVYgPSAndGV4dG5hdic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFROQVZfVEVYVCA9ICdjb250ZW50JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRE9UUyA9ICdkb3RzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRlVMTFBBR0UgPSAnZnVsbHBhZ2UnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0NFTlRFUiA9ICd0ZXh0X2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NMSURFUiA9ICdzbGlkZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9CT1RUT00gPSAnaW1hZ2VfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVFJPTCA9ICdjb250cm9sJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUT1BMQVkgPSAnYXV0b3BsYXknO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9NVVRFID0gJ211dGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MT09QID0gJ2xvb3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5LID0gJ2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5LX0xFRlQgPSAnbGlua19sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElOS19SSUdIVCA9ICdsaW5rX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMID0gJ3VybCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9MRUZUID0gJ3VybF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX1JJR0hUID0gJ3VybF9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFQgPSAndGV4dCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfTEVGVCA9ICd0ZXh0X2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX1JJR0hUID0gJ3RleHRfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UWVBFX1ZJREVPID0gJ3R5cGVfdmlkZW8nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgPSAndHlwZV9wcm9kdWN0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQU1QTElGWV9DQVRFR09SWSA9ICdhbXBsaWZ5X2NhdGVnb3J5JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElTVF9QUk9EVUNUID0gJ2xpc3RfcHJvZHVjdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX05CTElHTkUgPSAnbmJfbGlnbmUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JRF9QUk9EVUNUID0gJ2lkX3Byb2R1Y3QnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRSA9ICd0aXRsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0JVVFRPTiA9ICdjb2xvci1idXR0b24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CQUNLR1JPVU5EX0NPTE9SX0JVVFRPTiA9ICdiYWNrZ3JvdW5kLWNvbG9yLWJ1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FERFJFU1MgPSAnYWRkcmVzcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BIT05FID0gJ3Bob25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRU1BSUwgPSAnZW1haWwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1IgPSAnYXV0aG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0hPV19USVRMRSA9ICdzaG93X3RpdGxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTUlERExFX1JJR0hUID0gJ3RpdGxlX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX01JRERMRV9MRUZUID0gJ3RpdGxlX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTEVGVCA9ICd0aXRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfUklHSFQgPSAndGl0bGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UID0gJ2NvbnRlbnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QTEFDRUhPTERFUiA9ICdwbGFjZWhvbGRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTEVGVCA9ICdjb250ZW50X2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX1JJR0hUID0gJ2NvbnRlbnRfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9SSUdIVCA9ICdjb250ZW50X21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTUlERExFX0JPVFRPTSA9ICdjb250ZW50X21pZGRsZV9ib3R0b20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9MRUZUID0gJ2NvbnRlbnRfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9UT1AgPSAnY29udGVudF9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9CT1RUT01fTEVGVCA9ICdjb250ZW50X2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9CT1RUT01fUklHSFQgPSAnY29udGVudF9ib3R0b21fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9QQVlNRU5UID0gJ2ltYWdlX3BheW1lbnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUiA9ICdjb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBRERJTkcgPSAncGFkZGluZyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JBQ0tHUk9VTkRfQ09MT1IgPSAnYmFja2dyb3VuZF9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JBQ0tHUk9VTkRfQ09MT1JfU0VDT05EQVJZID0gJ2JhY2tncm91bmRfY29sb3Jfc2Vjb25kYXJ5JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSFJFRiA9ICdocmVmJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEFSR0VUID0gJ3RhcmdldCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfQ09MT1IgPSAndGV4dF9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NUQVJfQ09MT1IgPSAnc3Rhcl9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NFQ09OREFSWV9DT0xPUiA9ICdzZWNvbmRhcnlfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TVEFSX1NFQ09OREFSWV9DT0xPUiA9ICdzdGFyX3NlY29uZGFyeV9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0xFRlQgPSAnY29sb3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX1JJR0hUID0gJ2NvbG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfTUlERExFX0xFRlQgPSAnY29sb3JfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9NSURETEVfUklHSFQgPSAnY29sb3JfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfV0lEVEggPSAnd2lkdGgnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9IRUlHSFQgPSAnaGVpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQk9SREVSX1NUWUxFID0gJ2JvcmRlcl9zdHlsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JPUkRFUl9DT0xPUiA9ICdib3JkZXJfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT04gPSAnYnV0dG9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX0xFRlQgPSAnYnV0dG9uX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fTUlERExFX0xFRlQgPSAnYnV0dG9uX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX1JJR0hUID0gJ2J1dHRvbl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9NSURETEVfUklHSFQgPSAnYnV0dG9uX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9URVhUID0gJ2J1dHRvbl90ZXh0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX1RBUkdFVCA9ICd1cmxfdGFyZ2V0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRkFDRUJPT0sgPSAnZmFjZWJvb2snO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UV0lUVEVSID0gJ3R3aXR0ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTlNUQUdSQU0gPSAnaW5zdGFncmFtJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUElOVEVSRVNUID0gJ3BpbnRlcmVzdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0NFTlRFUiA9ICdpbWFnZV9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUiA9ICdjb250ZW50X2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0NFTlRFUiA9ICd0aXRsZV9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfQ0VOVEVSID0gJ3VybF9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVIgPSAnY29sb3JfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQ0VOVEVSX0xFRlQgPSAnaW1hZ2VfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUl9MRUZUID0gJ2NvbnRlbnRfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9DRU5URVJfTEVGVCA9ICd0aXRsZV9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9DRU5URVJfTEVGVCA9ICd1cmxfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVJfTEVGVCA9ICdjb2xvcl9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0NFTlRFUl9SSUdIVCA9ICdpbWFnZV9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0NFTlRFUl9SSUdIVCA9ICdjb250ZW50X2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0NFTlRFUl9SSUdIVCA9ICd0aXRsZV9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfQ0VOVEVSX1JJR0hUID0gJ3VybF9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9DRU5URVJfUklHSFQgPSAnY29sb3JfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX1JJR0hUID0gJ2F1dGhvcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUl9MRUZUID0gJ2F1dGhvcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQkFDS0dST1VORCA9ICdpbWFnZV9iYWNrZ3JvdW5kJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1HX01BU0sgPSAnaW1hZ2VfbWFzayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBUkFMTEFYID0gJ3BhcmFsbGF4JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFSQUxMQVhfU1BFRUQgPSAncGFyYWxsYXhfc3BlZWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQVJBTExBWF9JTlZFUlRFRCA9ICdwYXJhbGxheF9pbnZlcnRlZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0RBVEUgPSAnZGF0ZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0RBWVMgPSAnZGF5cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01JTlVURVMgPSAnbWludXRlcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0hPVVJTID0gJ2hvdXJzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0VDT05EUyA9ICdzZWNvbmRzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUJTT0xVVEUgPSAnYWJzb2x1dGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9GSVJTVF9TVEVQID0gJ2ZpcnN0X3N0ZXAnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9SQVRJTkdTX0xJTksgPSAncmF0aW5nc19saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVU5ERVJMSU5FX0NPTE9SID0gJ3VuZGVybGluZV9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VMRU1FTlRTID0gJ2VsZW1lbnRzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX05BTUUgPSAnYXV0aG9yX25hbWUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1JfVElUTEUgPSAnYXV0aG9yX3RpdGxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU5JVCA9ICdpbml0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRkFRID0gJ2ZhcV9yb3dzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0hBRE9XX0NPTE9SID0gJ3NoYWRvd19jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NIQURPVyA9ICdzaGFkb3cnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9PUEVOID0gJ29wZW4nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BQ0NPUkRJT04gPSAnYWNjb3JkaW9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUxJR05fQlVUVE9OID0gJ2FsaWduX2J1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1dJRFRIX0JMT0NLID0gJ3dpZHRoX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSElERV9CTE9DSyA9ICdoaWRlX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ0xBU1NfQ1VTVE9NID0gJ2NsYXNzX2N1c3RvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VYVEVSTkFMID0gJ2V4dGVybmFsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSVRFTV9OVU1CRVIgPSAnaXRlbV9udW1iZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5FX05VTUJFUiA9ICdsaW5lX251bWJlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1JPV1MgPSAncm93cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTFVNTlMgPSAnY29sdW1ucyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0RBWVMgPSAndGl0bGVfZGF5cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0hPVVJTID0gJ3RpdGxlX2hvdXJzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTUlOVVRFUyA9ICd0aXRsZV9taW51dGVzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfU0VDT05EUyA9ICd0aXRsZV9zZWNvbmRzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1zQ29udGVudER0byB7XG4gICAgaWQ6IHN0cmluZztcblxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgaGVscDogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAgIHZhbHVlOiBhbnk7XG5cbiAgICBzdGVwOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgc3RlcEtleTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGxhYmVsRW5hYmxlOiBzdHJpbmc7XG5cbiAgICByZXZlcnNlU2hvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogMDogT25cbiAgICAgKiAxOiBPZmZcbiAgICAgKi9cbiAgICBzdGF0ZTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGljb25IZWxwOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGlkLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXIsXG4gICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICBoZWxwOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+ID0gJycsXG4gICAgICAgIHN0ZXAgPSBbXSxcbiAgICAgICAgc3RlcEtleSA9IFtdLFxuICAgICAgICBzdGF0ZSA9IFtdLFxuICAgICAgICBpY29uSGVscCA9IGZhbHNlLFxuICAgICAgICBsYWJlbEVuYWJsZSA9ICcnLFxuICAgICAgICByZXZlcnNlU2hvdyA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHRoaXMuaGVscCA9IGhlbHA7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGVwID0gc3RlcDtcbiAgICAgICAgdGhpcy5zdGVwS2V5ID0gc3RlcEtleTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICB0aGlzLmljb25IZWxwID0gaWNvbkhlbHA7XG4gICAgICAgIHRoaXMubGFiZWxFbmFibGUgPSBsYWJlbEVuYWJsZTtcbiAgICAgICAgdGhpcy5yZXZlcnNlU2hvdyA9IHJldmVyc2VTaG93O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1zRHRvPFQ+IHtcbiAgICBibG9jazogYW55O1xuXG4gICAgdHlwZTogYW55O1xuXG4gICAgZm9ybXM6IEZvcm1zQ29udGVudER0b1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihibG9jaywgaGFzTWFyZ2luID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVCbG9ja1NlcnZpY2UgPSBJbmplY3RvclNlcnZpY2UuSW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZUJsb2NrU2VydmljZSk7XG4gICAgICAgIHRoaXMuYmxvY2sgPSBibG9jaztcbiAgICAgICAgdHJhbnNsYXRlQmxvY2tTZXJ2aWNlLnRyYW5zbGF0ZVByb3BlcnRpZXModGhpcy5ibG9jayk7XG4gICAgICAgIGlmIChoYXNNYXJnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfSElERV9CTE9DSyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xNicsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrW0ZPUk1fTkFNRV9ISURFX0JMT0NLXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgWyd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTIzJywgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMjInXSxcbiAgICAgICAgICAgICAgICAgICAgWycwJywgJzEnXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3Jtcy5wdXNoKFxuICAgICAgICAgICAgbmV3IEZvcm1zQ29udGVudER0byhcbiAgICAgICAgICAgICAgICBGT1JNX05BTUVfQ0xBU1NfQ1VTVE9NLFxuICAgICAgICAgICAgICAgICd3Yi5jbGFzc19jdXN0b20ubGFiZWwnLFxuICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9URVhULFxuICAgICAgICAgICAgICAgIGJsb2NrW0ZPUk1fTkFNRV9DTEFTU19DVVNUT01dLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICd3Yi5jbGFzc19jdXN0b20ubGFiZWwnXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgIG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICAgICAgRk9STV9OQU1FX01BUkdJTl9UT1AsXG4gICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMycsXG4gICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfTUFSR0lOX1RPUF0sXG4gICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMDEnLFxuICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk0JyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NScsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTYnLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgWydub25lJywgJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGlmIChoYXNNYXJnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfTUFSR0lOLFxuICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjEnLFxuICAgICAgICAgICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfTUFSR0lOXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTYnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbJ25vbmUnLCAnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ11cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5mb3Jtcy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fTkFNRV9XSURUSF9CTE9DSyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4yJyxcbiAgICAgICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX1dJRFRIX0JMT0NLXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by42JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uNycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjgnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjknLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjExJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTInLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZScsICdmdWxsJ11cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -121,6 +121,7 @@ export class ProductsListClassicComponent extends StructuresComponent {
121
121
  this.formatPrice = [];
122
122
  this.apiService.getCatalogSpecific(prodIds, 12).subscribe((catalogList) => {
123
123
  this.catalogSelection = catalogList;
124
+ this.removeUnavailable();
124
125
  for (let item of catalogList.products) {
125
126
  this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
126
127
  }
@@ -165,6 +166,7 @@ export class ProductsListClassicComponent extends StructuresComponent {
165
166
  this.formatPrice = [];
166
167
  this.apiService.getCatalogSelection(type, 12).subscribe((catalogList) => {
167
168
  this.catalogSelection = catalogList;
169
+ this.removeUnavailable();
168
170
  for (let item of catalogList.products) {
169
171
  this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
170
172
  }
@@ -179,6 +181,17 @@ export class ProductsListClassicComponent extends StructuresComponent {
179
181
  this.isLoading = false;
180
182
  });
181
183
  }
184
+ removeUnavailable() {
185
+ let i = 0;
186
+ while (i < this.contents['block'][FORM_NAME_LIST_PRODUCT].length) {
187
+ if (!(Array.from(this.catalogSelection.products).find((selection) => { return selection.id === this.contents['block'][FORM_NAME_LIST_PRODUCT][i]; }))) {
188
+ this.contents['block'][FORM_NAME_LIST_PRODUCT].splice(i, 1);
189
+ }
190
+ else {
191
+ ++i;
192
+ }
193
+ }
194
+ }
182
195
  }
183
196
  ProductsListClassicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProductsListClassicComponent, deps: [{ token: i1.ApiService }, { token: i2.ExternalConfigService }, { token: i0.ChangeDetectorRef }, { token: i3.TranslateService }, { token: i4.CurrencyService }], target: i0.ɵɵFactoryTarget.Component });
184
197
  ProductsListClassicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProductsListClassicComponent, selector: "wb-products-list-classic", viewQueries: [{ propertyName: "content", first: true, predicate: ["structureSearchProduct"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-products-list-classic\" [ngClass]=\"'nb-ligne-' + contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE]\">\n <div>\n <wb-structure-config (isClose)=\"triggerProduct = false;\" [isActive]=\"triggerProduct\" [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.3' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\"\n (ngModelChange)=\"persist()\"\n [off]=\"false\"\n [on]=\"true\"\n ></wb-structure-config-checkbox>\n <div class=\"columns\">\n <div class=\"column is-8\">\n <wb-structure-search-product\n #structureSearchProduct\n [searchNumber]=\"20\"\n [label]=\"'wb.structures.template.25' | translate\"\n (newSearch)=\"changeProduct($event)\"\n [selectedProd]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_LIST_PRODUCT]\"\n ></wb-structure-search-product>\n </div>\n <div class=\"column is-4\">\n <wb-structure-select\n [label]=\"'wb.structures.template.26' | translate\"\n [selectedValue]=\"selectedValue\"\n [forms]=\"form\"\n [large]=\"true\"\n [icon]=\"'fal fa-box-alt'\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n </wb-structure-config>\n </div>\n <div class=\"wb-products-list-classic__text\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <wb-loader *ngIf=\"isLoading\" class=\"is-fullsize\"></wb-loader>\n <div\n class=\"wb-products-list-classic__list\"\n *ngIf=\"catalogSelection !== undefined && catalogSelection.products && catalogSelection.products.length\"\n >\n <div *ngFor=\"let product of catalogSelection.products | slice: 0:12; let index = index\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index] }}</p>\n </div>\n </div>\n <div class=\"wb-products-list-classic__nolist\" *ngIf=\"!catalogSelection.products || catalogSelection.products.length === 0\">\n <p>{{ 'wb.structures.template.6' | translate }}</p>\n </div>\n <div *ngIf=\"!catalogSelection && !isLoading\">\n <wb-structure-search-product [searchNumber]=\"4\" [label]=\"'wb.structures.template.27' | translate\"></wb-structure-search-product>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i8.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i9.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i10.StructureSearchProductComponent, selector: "wb-structure-search-product", inputs: ["label", "searchNumber", "selectedProd"], outputs: ["newSearch"] }, { kind: "component", type: i11.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i12.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
@@ -189,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
189
202
  type: ViewChild,
190
203
  args: ['structureSearchProduct']
191
204
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL3Byb2R1Y3RzLWxpc3QvY2xhc3NpYy9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9jbGFzc2ljL3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUV6SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTTNFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBMkM7SUFHekYsSUFBeUMsT0FBTyxDQUFD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QUFDLElBQUksQ0FDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDMUcsQ0FBQzthQUNMO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRztnQkFDcEIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLGFBQWEsRUFBRSxDQUFDO2FBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7O3lIQXhMUSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwTUNoQnpDLG11R0E2REE7MkZEN0NhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDSSwwQkFBMEIsQ0FBQyxRQUFRLEVBQUU7a09BTU4sT0FBTztzQkFBL0MsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfTElTVF9QUk9EVUNULCBGT1JNX05BTUVfVFlQRV9QUk9EVUNUIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdENsYXNzaWNEdG8sIFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5kdG8nO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LWNsYXNzaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBQcm9kdWN0c0xpc3RDbGFzc2ljU2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RDbGFzc2ljQ29tcG9uZW50IGV4dGVuZHMgU3RydWN0dXJlc0NvbXBvbmVudDxQcm9kdWN0c0xpc3RDbGFzc2ljRHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0OiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnc3RydWN0dXJlU2VhcmNoUHJvZHVjdCcpIHNldCBjb250ZW50KGNvbnRyb2w6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0ID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFZhbHVlID0ge1xuICAgICAgICBpZDogMSxcbiAgICAgICAgdGl0bGU6ICd3Yi5wcm9kdWN0bGlzdC5zZWxlY3Rpb24nLFxuICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgfTtcblxuICAgIGNhdGFsb2dTZWxlY3Rpb246IENhdGFsb2dMaXN0RHRvID0ge1xuICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICB9O1xuXG4gICAgaW1hZ2VGcm9udFVybDogc3RyaW5nO1xuXG4gICAgdHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcbiAgICBkZXZpc2U6IHN0cmluZztcbiAgICBpc286IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgZm9ybWF0UHJpY2UgPSBbXTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgZm9ybSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjEnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjInKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZGlzY291bnQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMyxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMycpLFxuICAgICAgICAgICAgdmFsdWU6ICduZXcnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogNCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuNCcpLFxuICAgICAgICAgICAgdmFsdWU6ICdmbGFzaCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShQcm9kdWN0c0xpc3RDbGFzc2ljU2VydmljZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmltYWdlRnJvbnRVcmwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRVcmxJbWFnZUZyb250KCk7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW5jeVNlcnZpY2UucmVhZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVuY3lSZWFkeSA9IGF3YWl0IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmluaXRpYWxpemVDdXJyZW5jeSgpO1xuICAgICAgICAgICAgaWYgKGlzQ3VycmVuY3lSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZGV2aXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRlbXBsYXRlTGFuZygpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5sb2NhbGUucmVwbGFjZSgnXycsICctJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSB8fCB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdICYmIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUHJvZHVjdCh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSwgZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZTtcbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUHJvZHVjdChwcm9kSWRzLCBwZXJzaXN0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAocHJvZElkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU3BlY2lmaWMocHJvZElkcywgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoY2F0YWxvZ0xpc3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gcHJvZElkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24odHlwZSkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gW107XG4gICAgICAgIGlmICh0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5zZWxlY3RlZFByb2QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5jdXJyZW50U2VsZWN0ZWRDYXRhbG9nID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLmZvckVhY2goKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlcy52YWx1ZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTZWxlY3Rpb24odHlwZSwgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgIFtvZmZdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3g+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtOFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAjc3RydWN0dXJlU2VhcmNoUHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaE51bWJlcl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZXdTZWFyY2gpPVwiY2hhbmdlUHJvZHVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb2RdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4yNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZmFsIGZhLWJveC1hbHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cInNlbGVjdGVkVmFsdWUgPSAkZXZlbnQ7IHNlbGVjdFRoaXNGb3JtKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzLmxlbmd0aFwiXG4gICAgPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogMDoxMjsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPHA+e3sgZm9ybWF0UHJpY2VbaW5kZXhdIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhY2F0YWxvZ1NlbGVjdGlvbiAmJiAhaXNMb2FkaW5nXCI+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QgW3NlYXJjaE51bWJlcl09XCI0XCIgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI3JyB8IHRyYW5zbGF0ZVwiPjwvd2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL3Byb2R1Y3RzLWxpc3QvY2xhc3NpYy9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9jbGFzc2ljL3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUV6SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTTNFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBMkM7SUFHekYsSUFBeUMsT0FBTyxDQUFD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QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxFQUFFLENBQUMsQ0FBQzthQUNQO1NBQ0o7SUFDTCxDQUFDOzt5SEFyTVEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsME1DaEJ6QyxtdUdBNkRBOzJGRDdDYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0ksMEJBQTBCLENBQUMsUUFBUSxFQUFFO2tPQU1OLE9BQU87c0JBQS9DLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk9STV9OQU1FX0xJU1RfUFJPRFVDVCwgRk9STV9OQU1FX1RZUEVfUFJPRFVDVCB9IGZyb20gJy4uLy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0c0xpc3RDbGFzc2ljRHRvLCBUWVBFX1BST0RVQ1RfU0VMRUNUSU9OIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LWNsYXNzaWMuZHRvJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdENsYXNzaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Qvc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRhbG9nTGlzdER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9jYXRhbG9ncy9jYXRhbG9nLWxpc3QuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2N1cnJlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNMaXN0Q2xhc3NpY0NvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8UHJvZHVjdHNMaXN0Q2xhc3NpY0R0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RydWN0dXJlU2VhcmNoUHJvZHVjdDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZVNlYXJjaFByb2R1Y3QnKSBzZXQgY29udGVudChjb250cm9sOiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICAgIHRpdGxlOiAnd2IucHJvZHVjdGxpc3Quc2VsZWN0aW9uJyxcbiAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgIH07XG5cbiAgICBjYXRhbG9nU2VsZWN0aW9uOiBDYXRhbG9nTGlzdER0byA9IHtcbiAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgfTtcblxuICAgIGltYWdlRnJvbnRVcmw6IHN0cmluZztcblxuICAgIHRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XG4gICAgZGV2aXNlOiBzdHJpbmc7XG4gICAgaXNvOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIGZvcm1hdFByaWNlID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGZvcm0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4xJyksXG4gICAgICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4yJyksXG4gICAgICAgICAgICB2YWx1ZTogJ2Rpc2NvdW50JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDMsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjMnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnbmV3JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDQsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjQnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZmxhc2gnLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZSxcblxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2UpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbWFnZUZyb250VXJsID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0VXJsSW1hZ2VGcm9udCgpO1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVuY3lTZXJ2aWNlLnJlYWR5KSB7XG4gICAgICAgICAgICBjb25zdCBpc0N1cnJlbmN5UmVhZHkgPSBhd2FpdCB0aGlzLmN1cnJlbmN5U2VydmljZS5pbml0aWFsaXplQ3VycmVuY3koKTtcbiAgICAgICAgICAgIGlmIChpc0N1cnJlbmN5UmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5jb3VudHJ5O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmRldmlzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnkgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5jb3VudHJ5O1xuICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldFNob3BUZW1wbGF0ZUxhbmcoKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IGRhdGEubG9jYWxlLnJlcGxhY2UoJ18nLCAnLScpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0gfHwgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSAmJiB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVByb2R1Y3QodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0sIGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RUaGlzRm9ybSgpIHtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0gPSB0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWU7XG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cblxuICAgIGNoYW5nZVByb2R1Y3QocHJvZElkcywgcGVyc2lzdCA9IHRydWUpIHtcbiAgICAgICAgaWYgKHByb2RJZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlID0gW107XG4gICAgICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NwZWNpZmljKHByb2RJZHMsIDEyKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuYXZhaWxhYmxlKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gcHJvZElkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24odHlwZSkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gW107XG4gICAgICAgIGlmICh0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5zZWxlY3RlZFByb2QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5jdXJyZW50U2VsZWN0ZWRDYXRhbG9nID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLmZvckVhY2goKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlcy52YWx1ZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTZWxlY3Rpb24odHlwZSwgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVW5hdmFpbGFibGUoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmNvdW50cnksIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiB0aGlzLmlzbyB9KS5mb3JtYXQoaXRlbS5wcmljZS5wcmljZSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVW5hdmFpbGFibGUoKSB7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgd2hpbGUgKGkgPCB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCEoQXJyYXkuZnJvbSh0aGlzLmNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMpLmZpbmQoKHNlbGVjdGlvbikgPT4geyByZXR1cm4gc2VsZWN0aW9uLmlkID09PSB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdW2ldIH0pKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0uc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgIFtvZmZdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3g+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtOFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAjc3RydWN0dXJlU2VhcmNoUHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaE51bWJlcl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZXdTZWFyY2gpPVwiY2hhbmdlUHJvZHVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb2RdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4yNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZmFsIGZhLWJveC1hbHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cInNlbGVjdGVkVmFsdWUgPSAkZXZlbnQ7IHNlbGVjdFRoaXNGb3JtKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzLmxlbmd0aFwiXG4gICAgPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogMDoxMjsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPHA+e3sgZm9ybWF0UHJpY2VbaW5kZXhdIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhY2F0YWxvZ1NlbGVjdGlvbiAmJiAhaXNMb2FkaW5nXCI+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QgW3NlYXJjaE51bWJlcl09XCI0XCIgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI3JyB8IHRyYW5zbGF0ZVwiPjwvd2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -120,6 +120,7 @@ export class ProductsListSelectedComponent extends StructuresComponent {
120
120
  this.formatPrice = [];
121
121
  this.apiService.getCatalogSpecific(prodIds).subscribe((catalogList) => {
122
122
  this.catalogSelection = catalogList;
123
+ this.removeUnavailable();
123
124
  for (let item of catalogList.products) {
124
125
  this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
125
126
  }
@@ -163,6 +164,7 @@ export class ProductsListSelectedComponent extends StructuresComponent {
163
164
  this.formatPrice = [];
164
165
  this.apiService.getCatalogSelection(type, 15).subscribe((catalogList) => {
165
166
  this.catalogSelection = catalogList;
167
+ this.removeUnavailable();
166
168
  for (let item of catalogList.products) {
167
169
  this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
168
170
  }
@@ -177,6 +179,17 @@ export class ProductsListSelectedComponent extends StructuresComponent {
177
179
  this.isLoading = false;
178
180
  });
179
181
  }
182
+ removeUnavailable() {
183
+ let i = 0;
184
+ while (i < this.contents['block'][FORM_NAME_LIST_PRODUCT].length) {
185
+ if (!(Array.from(this.catalogSelection.products).find((selection) => { return selection.id === this.contents['block'][FORM_NAME_LIST_PRODUCT][i]; }))) {
186
+ this.contents['block'][FORM_NAME_LIST_PRODUCT].splice(i, 1);
187
+ }
188
+ else {
189
+ ++i;
190
+ }
191
+ }
192
+ }
180
193
  }
181
194
  ProductsListSelectedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProductsListSelectedComponent, deps: [{ token: i1.ApiService }, { token: i2.ExternalConfigService }, { token: i3.TranslateService }, { token: i4.CurrencyService }], target: i0.ɵɵFactoryTarget.Component });
182
195
  ProductsListSelectedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProductsListSelectedComponent, selector: "wb-products-list-selected", viewQueries: [{ propertyName: "content", first: true, predicate: ["structureSearchProduct"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-products-list-selected\" [ngClass]=\"'nb-ligne-' + contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE]\">\n <div>\n <wb-structure-config (isClose)=\"triggerProduct = false;\" [isActive]=\"triggerProduct\" [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.3' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\"\n (ngModelChange)=\"persist()\"\n [off]=\"false\"\n [on]=\"true\"\n ></wb-structure-config-checkbox>\n <div class=\"columns\">\n <div class=\"column is-8\">\n <wb-structure-search-product\n #structureSearchProduct\n [searchNumber]=\"15\"\n [label]=\"'wb.structures.template.25' | translate\"\n (newSearch)=\"changeProduct($event)\"\n [selectedProd]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_LIST_PRODUCT]\"\n ></wb-structure-search-product>\n </div>\n <div class=\"column is-4\">\n <wb-structure-select\n [label]=\"'wb.structures.template.26' | translate\"\n [selectedValue]=\"selectedValue\"\n [forms]=\"form\"\n [large]=\"true\"\n [icon]=\"'fal fa-box-alt'\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n </wb-structure-config>\n </div>\n <div class=\"wb-products-list-selected__text\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <wb-loader *ngIf=\"isLoading\" class=\"is-fullsize\"></wb-loader>\n <div\n class=\"wb-products-list-selected__list\"\n *ngIf=\"catalogSelection && catalogSelection !== undefined && catalogSelection.products && catalogSelection.products.length\"\n >\n <div class=\"columns\">\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[0].main_image\">\n <img\n *ngIf=\"catalogSelection.products[0].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[0].main_image.file\"\n [alt]=\"catalogSelection.products[0].name\"\n />\n </div>\n <p>{{ catalogSelection.products[0].name }}</p>\n <p>{{ formatPrice[0] }}</p>\n </div>\n </div>\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 1:5; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 1] }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns\" *ngIf=\"catalogSelection.products.length > 5 && contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE] !== '1'\">\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 6:10; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 6] }}</p>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[5].main_image\">\n <img\n *ngIf=\"catalogSelection.products[5].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[5].main_image.file\"\n [alt]=\"catalogSelection.products[5].name\"\n />\n </div>\n <p>{{ catalogSelection.products[5].name }}</p>\n <p>{{ formatPrice[5] }}</p>\n </div>\n </div>\n </div>\n <div class=\"columns\" *ngIf=\"catalogSelection.products.length > 10 && contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE] === '3'\">\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[10].main_image\">\n <img\n *ngIf=\"catalogSelection.products[10].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[10].main_image.file\"\n [alt]=\"catalogSelection.products[10].name\"\n />\n </div>\n <p>{{ catalogSelection.products[10].name }}</p>\n <p>{{ formatPrice[10] }}</p>\n </div>\n </div>\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 11; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 11] }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wb-products-list-selected__nolist\" *ngIf=\"!catalogSelection.products || catalogSelection.products.length === 0\">\n <p>{{ 'wb.structures.template.6' | translate }}</p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i8.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i9.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i10.StructureSearchProductComponent, selector: "wb-structure-search-product", inputs: ["label", "searchNumber", "selectedProd"], outputs: ["newSearch"] }, { kind: "component", type: i11.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i12.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
@@ -187,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
187
200
  type: ViewChild,
188
201
  args: ['structureSearchProduct']
189
202
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9wcm9kdWN0cy1saXN0L3NlbGVjdGVkL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zZWxlY3RlZC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdGQUF3RixDQUFDO0FBRXpJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUE0QztJQUUzRixJQUF5QyxPQUFPLENBQUMsT0FBd0M7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QUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUMxRyxDQUFDO2FBQ0w7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHO2dCQUNwQixRQUFRLEVBQUUsRUFBRTtnQkFDWixhQUFhLEVBQUUsRUFBRTtnQkFDakIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsYUFBYSxFQUFFLENBQUM7YUFDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7MEhBckxRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDJNQ2xCMUMsa3pQQXVJQTsyRkRySGEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNJLDJCQUEyQixDQUFDLFFBQVEsRUFBRTtrTUFLUCxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9MSVNUX1BST0RVQ1QsIEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVFlQRV9QUk9EVUNUX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2VsZWN0ZWREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuZHRvJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuc2VydmljZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0L3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0YWxvZ0xpc3REdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvY2F0YWxvZ3MvY2F0YWxvZy1saXN0LmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9jb25maWdzL2V4dGVybmFsL2V4dGVybmFsLWNvbmZpZy5kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogUHJvZHVjdHNMaXN0U2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RTZWxlY3RlZENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8UHJvZHVjdHNMaXN0U2VsZWN0ZWREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0cnVjdHVyZVNlYXJjaFByb2R1Y3Q6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnc3RydWN0dXJlU2VhcmNoUHJvZHVjdCcpIHNldCBjb250ZW50KGNvbnRyb2w6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0ID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFZhbHVlID0ge1xuICAgICAgICBpZDogMSxcbiAgICAgICAgdGl0bGU6ICd3Yi5wcm9kdWN0bGlzdC5zZWxlY3Rpb24nLFxuICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgfTtcblxuICAgIHRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XG5cbiAgICBjYXRhbG9nU2VsZWN0aW9uOiBDYXRhbG9nTGlzdER0byA9IHtcbiAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgfTtcblxuICAgIGltYWdlRnJvbnRVcmw6IHN0cmluZztcblxuICAgIGRldmlzZTogc3RyaW5nO1xuICAgIGlzbzogc3RyaW5nO1xuICAgIGNvdW50cnk6IHN0cmluZztcbiAgICBmb3JtYXRQcmljZSA9IFtdO1xuICAgIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBmb3JtID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMSxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMScpLFxuICAgICAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMixcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMicpLFxuICAgICAgICAgICAgdmFsdWU6ICdkaXNjb3VudCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAzLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4zJyksXG4gICAgICAgICAgICB2YWx1ZTogJ25ldycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiA0LFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC40JyksXG4gICAgICAgICAgICB2YWx1ZTogJ2ZsYXNoJyxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEV4dGVybmFsQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoUHJvZHVjdHNMaXN0U2VsZWN0ZWRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW1hZ2VGcm9udFVybCA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFVybEltYWdlRnJvbnQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbmN5U2VydmljZS5yZWFkeSkge1xuICAgICAgICAgICAgY29uc3QgaXNDdXJyZW5jeVJlYWR5ID0gYXdhaXQgdGhpcy5jdXJyZW5jeVNlcnZpY2UuaW5pdGlhbGl6ZUN1cnJlbmN5KCk7XG4gICAgICAgICAgICBpZiAoaXNDdXJyZW5jeVJlYWR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5kZXZpc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wVGVtcGxhdGVMYW5nKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSBkYXRhLmxvY2FsZS5yZXBsYWNlKCdfJywgJy0nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gJiYgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQcm9kdWN0KHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0VGhpc0Zvcm0oKSB7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdID0gdGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQcm9kdWN0KHByb2RJZHMsIHBlcnNpc3QgPSB0cnVlKSB7XG4gICAgICAgIGlmIChwcm9kSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTcGVjaWZpYyhwcm9kSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBwcm9kSWRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbih0eXBlKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCkge1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LnNlbGVjdGVkUHJvZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LmN1cnJlbnRTZWxlY3RlZENhdGFsb2cgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm0uZm9yRWFjaCgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLnZhbHVlID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NlbGVjdGlvbih0eXBlLCAxNSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBjYXRhbG9nTGlzdC5wcm9kdWN0cykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgIFtibG9ja1VVSURdPVwidXVpZFwiIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9MRUZUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICBbb2ZmXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLThcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgI3N0cnVjdHVyZVNlYXJjaFByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hOdW1iZXJdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX3RleHRcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCI+XG4gICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElUTEVdXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8d2ItbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJpcy1mdWxsc2l6ZVwiPjwvd2ItbG9hZGVyPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICYmIGNhdGFsb2dTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVswXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxOjU7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjb2x1bW4gaXMtNlwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIHByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleCArIDFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiA1ICYmIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdICE9PSAnMSdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uLW1heC13aWR0aC01MFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3MgaXMtbXVsdGlsaW5lIHdiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3NlY29uZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogNjoxMDsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgNl0gfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzVdIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiAxMCAmJiBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXSA9PT0gJzMnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1sxMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzEwXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxMTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgMTFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9wcm9kdWN0cy1saXN0L3NlbGVjdGVkL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zZWxlY3RlZC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdGQUF3RixDQUFDO0FBRXpJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUE0QztJQUUzRixJQUF5QyxPQUFPLENBQUMsT0FBd0M7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LGt6UEF1SUE7MkZEckhhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSwyQkFBMkIsQ0FBQyxRQUFRLEVBQUU7a01BS1AsT0FBTztzQkFBL0MsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfTElTVF9QUk9EVUNULCBGT1JNX05BTUVfVFlQRV9QUk9EVUNUIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdFNlbGVjdGVkRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmR0byc7XG5pbXBvcnQgeyBQcm9kdWN0c0xpc3RTZWxlY3RlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ0R0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNMaXN0U2VsZWN0ZWRDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PFByb2R1Y3RzTGlzdFNlbGVjdGVkRHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0OiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZVNlYXJjaFByb2R1Y3QnKSBzZXQgY29udGVudChjb250cm9sOiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICAgIHRpdGxlOiAnd2IucHJvZHVjdGxpc3Quc2VsZWN0aW9uJyxcbiAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgIH07XG5cbiAgICB0cmlnZ2VyUHJvZHVjdCA9IGZhbHNlO1xuXG4gICAgY2F0YWxvZ1NlbGVjdGlvbjogQ2F0YWxvZ0xpc3REdG8gPSB7XG4gICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgIH07XG5cbiAgICBpbWFnZUZyb250VXJsOiBzdHJpbmc7XG5cbiAgICBkZXZpc2U6IHN0cmluZztcbiAgICBpc286IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgZm9ybWF0UHJpY2UgPSBbXTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgZm9ybSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjEnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjInKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZGlzY291bnQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMyxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMycpLFxuICAgICAgICAgICAgdmFsdWU6ICduZXcnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogNCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuNCcpLFxuICAgICAgICAgICAgdmFsdWU6ICdmbGFzaCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmltYWdlRnJvbnRVcmwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRVcmxJbWFnZUZyb250KCk7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW5jeVNlcnZpY2UucmVhZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVuY3lSZWFkeSA9IGF3YWl0IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmluaXRpYWxpemVDdXJyZW5jeSgpO1xuICAgICAgICAgICAgaWYgKGlzQ3VycmVuY3lSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZGV2aXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRlbXBsYXRlTGFuZygpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5sb2NhbGUucmVwbGFjZSgnXycsICctJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdICYmIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUHJvZHVjdCh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSwgZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZTtcbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUHJvZHVjdChwcm9kSWRzLCBwZXJzaXN0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAocHJvZElkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU3BlY2lmaWMocHJvZElkcykuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSBjYXRhbG9nTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVVbmF2YWlsYWJsZSgpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBwcm9kSWRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbih0eXBlKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCkge1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LnNlbGVjdGVkUHJvZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LmN1cnJlbnRTZWxlY3RlZENhdGFsb2cgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm0uZm9yRWFjaCgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLnZhbHVlID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NlbGVjdGlvbih0eXBlLCAxNSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVVbmF2YWlsYWJsZSgpO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW1vdmVVbmF2YWlsYWJsZSgpIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB3aGlsZSAoaSA8IHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoIShBcnJheS5mcm9tKHRoaXMuY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cykuZmluZCgoc2VsZWN0aW9uKSA9PiB7IHJldHVybiBzZWxlY3Rpb24uaWQgPT09IHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1baV0gfSkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50c1snYmxvY2snXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgIFtibG9ja1VVSURdPVwidXVpZFwiIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9MRUZUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICBbb2ZmXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLThcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgI3N0cnVjdHVyZVNlYXJjaFByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hOdW1iZXJdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX3RleHRcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCI+XG4gICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElUTEVdXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8d2ItbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJpcy1mdWxsc2l6ZVwiPjwvd2ItbG9hZGVyPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICYmIGNhdGFsb2dTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVswXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxOjU7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjb2x1bW4gaXMtNlwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIHByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleCArIDFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiA1ICYmIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdICE9PSAnMSdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uLW1heC13aWR0aC01MFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3MgaXMtbXVsdGlsaW5lIHdiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3NlY29uZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogNjoxMDsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgNl0gfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzVdIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiAxMCAmJiBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXSA9PT0gJzMnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1sxMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzEwXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxMTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgMTFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=