From 060c65b85fac79bdb1e62f83062fa5c863fa9bee Mon Sep 17 00:00:00 2001 From: ryohey Date: Mon, 25 Dec 2017 01:34:11 +0900 Subject: [PATCH 1/5] Add typescript --- package.json | 2 ++ tsconfig.json | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 tsconfig.json diff --git a/package.json b/package.json index 95d9cca..33d0b9a 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,8 @@ "babel-preset-stage-2": "^6.24.1", "eslint": "^4.14.0", "eslint-loader": "^1.5.0", + "ts-loader": "^3.2.0", + "typescript": "^2.6.2", "webpack": "^3.10.0", "webpack-dev-server": "^2.9.7" } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..fe55281 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "sourceMap": true + } +} \ No newline at end of file From f401d6575dddfb6c4bdd7fe1e4882ba013476df1 Mon Sep 17 00:00:00 2001 From: ryohey Date: Tue, 26 Dec 2017 17:22:28 +0900 Subject: [PATCH 2/5] Rewrite in Typescript --- export/parser.js | 2 +- export/synth.js | 2 +- src/{constants.js => constants.ts} | 0 src/{helper.js => helper.ts} | 8 +- ...age_handler.js => midi_message_handler.ts} | 17 +-- src/{program_names.js => program_names.ts} | 6 +- src/{riff.js => riff.ts} | 62 +++----- src/{sf2.js => sf2.ts} | 114 ++++++--------- src/{sf2_data.js => sf2_data.ts} | 99 +++++-------- src/{sound_font.js => sound_font.ts} | 77 ++++------ ...ound_font_synth.js => sound_font_synth.ts} | 115 +++++---------- ...synth_note.js => sound_font_synth_note.ts} | 137 ++++++++---------- src/{stream.js => stream.ts} | 17 +-- src/{synth_view.js => synth_view.ts} | 38 ++--- src/typedef.js | 5 - src/{wml.js => wml.ts} | 6 +- tsconfig.json | 1 + 17 files changed, 268 insertions(+), 438 deletions(-) rename src/{constants.js => constants.ts} (100%) rename src/{helper.js => helper.ts} (57%) rename src/{midi_message_handler.js => midi_message_handler.ts} (90%) rename src/{program_names.js => program_names.ts} (96%) rename src/{riff.js => riff.ts} (56%) rename src/{sf2.js => sf2.ts} (72%) rename src/{sf2_data.js => sf2_data.ts} (72%) rename src/{sound_font.js => sound_font.ts} (84%) rename src/{sound_font_synth.js => sound_font_synth.ts} (63%) rename src/{sound_font_synth_note.js => sound_font_synth_note.ts} (75%) rename src/{stream.js => stream.ts} (83%) rename src/{synth_view.js => synth_view.ts} (84%) delete mode 100644 src/typedef.js rename src/{wml.js => wml.ts} (95%) diff --git a/export/parser.js b/export/parser.js index df9d168..a22eea0 100644 --- a/export/parser.js +++ b/export/parser.js @@ -1,2 +1,2 @@ -import Parser from "../src/sf2" +import Parser from "../src/sf2.ts" export default Parser diff --git a/export/synth.js b/export/synth.js index 9bb30d5..237c32d 100644 --- a/export/synth.js +++ b/export/synth.js @@ -1,2 +1,2 @@ -import WebMidiLink from "../src/wml" +import WebMidiLink from "../src/wml.ts" export default WebMidiLink diff --git a/src/constants.js b/src/constants.ts similarity index 100% rename from src/constants.js rename to src/constants.ts diff --git a/src/helper.js b/src/helper.ts similarity index 57% rename from src/helper.js rename to src/helper.ts index e40b469..bca4952 100644 --- a/src/helper.js +++ b/src/helper.ts @@ -1,10 +1,4 @@ -/** - * @param {string} data - * @param {number} start - * @param {number} end - * @return {string} - */ -export function readString(data, start, end) { +export function readString(data: Uint8Array, start: number, end: number): string { const str = String.fromCharCode.apply(null, data.subarray(start, end)) const nullLocation = str.indexOf("\u0000") if (nullLocation > 0) { diff --git a/src/midi_message_handler.js b/src/midi_message_handler.ts similarity index 90% rename from src/midi_message_handler.js rename to src/midi_message_handler.ts index 6ea60ce..1359846 100644 --- a/src/midi_message_handler.js +++ b/src/midi_message_handler.ts @@ -1,17 +1,12 @@ -export default class MidiMessageHandler { - /** @type {Array.} */ - RpnMsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +import Synthesizer from "./sound_font_synth" - /** @type {Array.} */ - RpnLsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +export default class MidiMessageHandler { + private RpnMsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + private RpnLsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + synth: Synthesizer - /** - * @param {Array.} message - */ - processMidiMessage(message) { - /** @type {number} */ + processMidiMessage(message: number[]) { const channel = message[0] & 0x0f - /** @type {Synthesizer} */ const { synth } = this if (!synth) { diff --git a/src/program_names.js b/src/program_names.ts similarity index 96% rename from src/program_names.js rename to src/program_names.ts index b7d1ddb..4758144 100644 --- a/src/program_names.js +++ b/src/program_names.ts @@ -1,4 +1,4 @@ -export default { +const ProgramNames: { [index: number]: string[] } = { 0: [ "Acoustic Piano", "Bright Piano", @@ -129,4 +129,6 @@ export default { "Applause", "Gunshot" ], 128: ["Rhythm Track"] -} \ No newline at end of file +} + +export default ProgramNames \ No newline at end of file diff --git a/src/riff.js b/src/riff.ts similarity index 56% rename from src/riff.js rename to src/riff.ts index 14a7d81..0dde8bd 100644 --- a/src/riff.js +++ b/src/riff.ts @@ -1,31 +1,27 @@ export class Parser { - /** - * @param {ByteArray} input input buffer. - * @param {Object=} opt_params option parameters. - * @constructor - */ - constructor(input, opt_params = {}) { - /** @type {ByteArray} */ + chunkList: Chunk[] = [] + + private input: Uint8Array + private ip: number + private length: number + private offset: number + private padding: boolean + private bigEndian: boolean + + constructor(input: Uint8Array, opt_params: {} = {}) { this.input = input - /** @type {number} */ this.ip = opt_params['index'] || 0 - /** @type {number} */ this.length = opt_params['length'] || input.length - this.ip - /** @type {Array.} */ this.chunkList = [] - /** @type {number} */ this.offset = this.ip - /** @type {boolean} */ this.padding = opt_params['padding'] !== void 0 ? opt_params['padding'] : true - /** @type {boolean} */ this.bigEndian = opt_params['bigEndian'] !== void 0 ? opt_params['bigEndian'] : false } parse() { - /** @type {number} */ - var length = this.length + this.offset + const length = this.length + this.offset this.chunkList = [] @@ -35,12 +31,9 @@ export class Parser { } parseChunk() { - /** @type {ByteArray} */ - var input = this.input - /** @type {number} */ - var ip = this.ip - /** @type {number} */ - var size + const input = this.input + let ip = this.ip + let size this.chunkList.push(new Chunk( String.fromCharCode(input[ip++], input[ip++], input[ip++], input[ip++]), @@ -63,13 +56,8 @@ export class Parser { this.ip = ip } - /** - * @param {number} index chunk index. - * @return {Chunk} - */ - getChunk(index) { - /** @type {Chunk} */ - var chunk = this.chunkList[index] + getChunk(index: number) { + const chunk = this.chunkList[index] if (chunk === void 0) { return null @@ -78,27 +66,19 @@ export class Parser { return chunk } - /** - * @return {number} - */ getNumberOfChunks() { return this.chunkList.length } } export class Chunk { - /** - * @param {string} type - * @param {number} size - * @param {number} offset - * @constructor - */ - constructor(type, size, offset) { - /** @type {string} */ + type: string + size: number + offset: number + + constructor(type: string, size: number, offset: number) { this.type = type - /** @type {number} */ this.size = size - /** @type {number} */ this.offset = offset } } diff --git a/src/sf2.js b/src/sf2.ts similarity index 72% rename from src/sf2.js rename to src/sf2.ts index a916f94..407dda0 100644 --- a/src/sf2.js +++ b/src/sf2.ts @@ -1,45 +1,46 @@ -import { Parser } from "./riff" -import { PresetHeader, Sample, PresetBag, Instrument, InstrumentBag, ModulatorList, GeneratorList } from "./sf2_data" -import { readString } from "./helper" -import Stream from "./stream" -import { InfoNameTable } from "./constants" +import { Parser, Chunk } from "./riff.ts" +import { PresetHeader, Sample, PresetBag, Instrument, InstrumentBag, ModulatorList, GeneratorList } from "./sf2_data.ts" +import { readString } from "./helper.ts" +import Stream from "./stream.ts" +import { InfoNameTable } from "./constants.ts" + +export interface SampleHeader { + sampleRate: number + sampleName: number + pitchCorrection: number + startLoop: number + endLoop: number + originalPitch: number +} + +export interface InstrumentZone { + instrumentGeneratorIndex: number + instrumentModulatorIndex: number + presetModulatorIndex: number +} export default class { - /** @type {ByteArray} */ - input - /** @type {(Object|undefined)} */ - parserOption - /** @type {Array.} */ - presetHeader - /** @type {Array.} */ - presetZone - /** @type {Array.} */ - presetZoneModulator - /** @type {Array.} */ - presetZoneGenerator - /** @type {Array.} */ - instrument - /** @type {Array.} */ - instrumentZone - /** @type {Array.} */ - instrumentZoneModulator - /** @type {Array.} */ - instrumentZoneGenerator - /** @type {Array.} */ - sampleHeader - - /** - * @param {ByteArray} input - * @param {Object=} opt_params - * @constructor - */ - constructor(input, opt_params = {}) { + input: Uint8Array + parserOption: {} | undefined + presetHeader: {}[] + presetZone: {}[] + presetZoneModulator: {}[] + presetZoneGenerator: {}[] + instrument: { instrumentName: string, instrumentBagIndex: number }[] + instrumentZone: InstrumentZone[] + instrumentZoneModulator: {}[] + instrumentZoneGenerator: {}[] + sampleHeader: SampleHeader[] + sample: Int16Array[] + samplingData: Chunk + info: {} + + constructor(input: Uint8Array, opt_params: { parserOption?: {} } = {}) { this.input = input this.parserOption = opt_params.parserOption } parse() { - /** @type {Parser} */ const parser = new Parser(this.input, this.parserOption) // parse RIFF chunk @@ -48,7 +49,6 @@ export default class { throw new Error('wrong chunk length') } - /** @type {?Chunk} */ const chunk = parser.getChunk(0) if (chunk === null) { throw new Error('chunk not found') @@ -58,11 +58,7 @@ export default class { this.input = null } - /** - * @param {Chunk} chunk - * @param {ByteArray} data - */ - parseRiffChunk(chunk, data) { + parseRiffChunk(chunk: Chunk, data: Uint8Array) { const chunkList = getChunkList(chunk, data, "RIFF", "sfbk") if (chunkList.length !== 3) { @@ -79,11 +75,7 @@ export default class { this.parsePdtaList(chunkList[2], data) } - /** - * @param {Chunk} chunk - * @param {ByteArray} data - */ - parsePdtaList(chunk, data) { + parsePdtaList(chunk: Chunk, data: Uint8Array) { const chunkList = getChunkList(chunk, data, "LIST", "pdta") // check number of chunks @@ -95,11 +87,11 @@ export default class { this.presetZone = parsePbag(chunkList[1], data) this.presetZoneModulator = parsePmod(chunkList[2], data) this.presetZoneGenerator = parsePgen(chunkList[3], data) - this.instrument = parseInst(chunkList[4], data) - this.instrumentZone = parseIbag(chunkList[5], data) + this.instrument = parseInst(chunkList[4], data) as any + this.instrumentZone = parseIbag(chunkList[5], data) as InstrumentZone[] this.instrumentZoneModulator = parseImod(chunkList[6], data) this.instrumentZoneGenerator = parseIgen(chunkList[7], data) - this.sampleHeader = parseShdr(chunkList[8], data) + this.sampleHeader = parseShdr(chunkList[8], data) as SampleHeader[] this.sample = loadSample(this.sampleHeader, this.samplingData.offset, data) } } @@ -125,12 +117,7 @@ function getChunkList(chunk, data, expectedType, expectedSignature) { return parser.chunkList } -/** - * @param {Chunk} chunk - * @param {ByteArray} data - * @return {Object} - */ -function parseInfoList(chunk, data) { +function parseInfoList(chunk: Chunk, data: Uint8Array): {} { const info = {} const chunkList = getChunkList(chunk, data, "LIST", "INFO") @@ -143,12 +130,7 @@ function parseInfoList(chunk, data) { return info } -/** - * @param {Chunk} chunk - * @param {ByteArray} data - * @return {Chunk} - */ -function parseSdtaList(chunk, data) { +function parseSdtaList(chunk: Chunk, data: Uint8Array): Chunk { const chunkList = getChunkList(chunk, data, "LIST", "sdta") if (chunkList.length !== 1) { @@ -158,13 +140,7 @@ function parseSdtaList(chunk, data) { return chunkList[0] } -/** - * @param {Chunk} chunk - * @param {ByteArray} data - * @param {string} type - * @return {Array.} - */ -function parseChunk(chunk, data, type, factory) { +function parseChunk(chunk: Chunk, data: Uint8Array, type: string, factory): {}[] { const result = [] if (chunk.type !== type) { @@ -212,7 +188,7 @@ function adjustSampleData(sample, sampleRate) { } } -function loadSample(sampleHeader, samplingDataOffset, data) { +function loadSample(sampleHeader, samplingDataOffset, data): Int16Array[] { const samples = [] for (let header of sampleHeader) { let sample = new Int16Array(new Uint8Array(data.subarray( diff --git a/src/sf2_data.js b/src/sf2_data.ts similarity index 72% rename from src/sf2_data.js rename to src/sf2_data.ts index ca92a56..b71d75e 100644 --- a/src/sf2_data.js +++ b/src/sf2_data.ts @@ -1,27 +1,18 @@ -import { GeneratorEnumeratorTable } from "./constants" +import { GeneratorEnumeratorTable } from "./constants.ts" export class VersionTag { - /** @type {number} */ - major - /** @type {number} */ - minor + major: number + minor: number } export class PresetHeader { - /** @type {string} */ - presetName - /** @type {number} */ - preset - /** @type {number} */ - bank - /** @type {number} */ - presetBagIndex - /** @type {number} */ - library - /** @type {number} */ - genre - /** @type {number} */ - morphology + presetName: string + preset: number + bank: number + presetBagIndex: number + library: number + genre: number + morphology: number static parse(stream) { const p = new PresetHeader() @@ -37,10 +28,8 @@ export class PresetHeader { } export class PresetBag { - /** @type {number} */ - presetGeneratorIndex - /** @type {number} */ - presetModulatorIndex + presetGeneratorIndex: number + presetModulatorIndex: number static parse(stream) { const p = new PresetBag() @@ -51,16 +40,12 @@ export class PresetBag { } export class ModulatorList { - /** @type {Modulator} */ - sourceOper - /** @type {Generator} */ - destinationOper - /** @type {Object} */ - value - /** @type {Modulator} */ - amountSourceOper - /** @type {Generator} */ - transOper + sourceOper: number + destinationOper: Generator + value: Object + amountSourceOper: number + transOper: Generator + type: string static parse(stream) { const t = new ModulatorList() @@ -106,10 +91,8 @@ export class ModulatorList { } export class GeneratorList { - /** @type {string} */ - type - /** @type {Object} */ - value + type: string + value: Object static parse(stream) { const t = new ModulatorList() @@ -147,10 +130,8 @@ export class GeneratorList { } export class Instrument { - /** @type {string} */ - instrumentName - /** @type {number} */ - instrumentBagIndex + instrumentName: string + instrumentBagIndex: number static parse(stream) { const t = new Instrument() @@ -161,10 +142,8 @@ export class Instrument { } export class InstrumentBag { - /** @type {number} */ - instrumentGeneratorIndex - /** @type {number} */ - instrumentModulatorIndex + instrumentGeneratorIndex: number + instrumentModulatorIndex: number static parse(stream) { const t = new InstrumentBag() @@ -175,26 +154,16 @@ export class InstrumentBag { } export class Sample { - /** @type {string} */ - sampleName - /** @type {number} */ - start - /** @type {number} */ - end - /** @type {number} */ - startLoop - /** @type {number} */ - endLoop - /** @type {number} */ - sampleRate - /** @type {number} */ - originalPitch - /** @type {number} */ - pitchCorrection - /** @type {number} */ - sampleLink - /** @type {SampleLink} */ - sampleType + sampleName: string + start: number + end: number + startLoop: number + endLoop: number + sampleRate: number + originalPitch: number + pitchCorrection: number + sampleLink: number + sampleType: number static parse(stream) { const s = new Sample() diff --git a/src/sound_font.js b/src/sound_font.ts similarity index 84% rename from src/sound_font.js rename to src/sound_font.ts index fbb1f90..d79c735 100644 --- a/src/sound_font.js +++ b/src/sound_font.ts @@ -1,10 +1,13 @@ +import Parser, { InstrumentZone } from "./sf2" + /** * Parser で読み込んだサウンドフォントのデータを * Synthesizer から利用しやすい形にするクラス */ export default class SoundFont { + bankSet: Object[] + constructor(parser) { - /** @type {Array.} */ this.bankSet = createAllInstruments(parser) } @@ -59,10 +62,14 @@ export default class SoundFont { } } -function createInstrument({ instrument, instrumentZone, instrumentZoneGenerator, instrumentZoneModulator }) { - /** @type {Array.} */ +function createInstrument({ instrument, instrumentZone, instrumentZoneGenerator, instrumentZoneModulator }: + { instrument: { instrumentName: string, instrumentBagIndex: number }[], + instrumentZone: InstrumentZone[], + instrumentZoneGenerator: {}[], + instrumentZoneModulator: {}[] + }): + { name: string, info: { generator: { sampleID: number, keyRange: { hi: number, lo: number } } }[] }[] { const zone = instrumentZone - /** @type {Array.} */ const output = [] // instrument -> instrument bag -> generator / modulator @@ -93,7 +100,10 @@ function createInstrument({ instrument, instrumentZone, instrumentZoneGenerator, return output } -function createPreset({ presetHeader, presetZone, presetZoneGenerator, presetZoneModulator }) { +function createPreset({ presetHeader, presetZone, presetZoneGenerator, presetZoneModulator }): { + info: { presetGenerator: { generator: { instrument: { amount: number } } } }[], + header: { bank: number, preset: number, presetName: string } +}[] { // preset -> preset bag -> generator / modulator return presetHeader.map((preset, i) => { const nextPreset = presetHeader[i + 1] @@ -116,10 +126,10 @@ function createPreset({ presetHeader, presetZone, presetZoneGenerator, presetZon }) } -function createAllInstruments(parser) { +function createAllInstruments(parser: Parser): {}[] { const presets = createPreset(parser) const instruments = createInstrument(parser) - const banks = [] + const banks: {}[] = [] for (let preset of presets) { const bankNumber = preset.header.bank @@ -164,10 +174,10 @@ function createAllInstruments(parser) { return banks } -function createNoteInfo(parser, targetGenerator, baseGenerator) { +function createNoteInfo(parser: Parser, targetGenerator: {}, baseGenerator: {}) { const generator = { ...baseGenerator, ...targetGenerator } - const { keyRange, sampleID, velRange } = generator + const { keyRange, sampleID, velRange } = generator as any if (keyRange === undefined || sampleID === undefined) { return null } @@ -233,28 +243,12 @@ function createNoteInfo(parser, targetGenerator, baseGenerator) { } } -/** - * @param {Object} generator - * @param {string} enumeratorType - * @param {number=} opt_default - * @returns {number} - */ -function getModGenAmount(generator, enumeratorType, opt_default = 0) { +function getModGenAmount(generator: {}, enumeratorType: string, opt_default: number = 0): number { return generator[enumeratorType] ? generator[enumeratorType].amount : opt_default } - -/** - * @param {Array.} zone - * @param {number} indexStart - * @param {number} indexEnd - * @param zoneModGen - * @returns {{modgen: Object, modgenInfo: Array.}} - */ -function createBagModGen(zone, indexStart, indexEnd, zoneModGen) { - /** @type {Array.} */ +function createBagModGen(zone: {}[], indexStart: number, indexEnd: number, zoneModGen: {}): {modgen: {}, modgenInfo: {}[]} { const modgenInfo = [] - /** @type {Object} */ const modgen = { unknown: [], 'keyRange': { @@ -277,12 +271,7 @@ function createBagModGen(zone, indexStart, indexEnd, zoneModGen) { return { modgen, modgenInfo } } -/** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - */ -function createInstrumentGenerator(zone, index, instrumentZoneGenerator) { +function createInstrumentGenerator(zone: {instrumentGeneratorIndex: number}[], index: number, instrumentZoneGenerator: {}[]) { const modgen = createBagModGen( zone, zone[index].instrumentGeneratorIndex, @@ -296,12 +285,7 @@ function createInstrumentGenerator(zone, index, instrumentZoneGenerator) { } } -/** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - */ -function createInstrumentModulator(zone, index, instrumentZoneModulator) { +function createInstrumentModulator(zone: {instrumentModulatorIndex: number, presetModulatorIndex: number}[], index: number, instrumentZoneModulator: {}[]) { const modgen = createBagModGen( zone, zone[index].presetModulatorIndex, @@ -315,12 +299,7 @@ function createInstrumentModulator(zone, index, instrumentZoneModulator) { } } -/** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - */ -function createPresetGenerator(zone, index, presetZoneGenerator) { +function createPresetGenerator(zone: {presetGeneratorIndex: number}[], index: number, presetZoneGenerator: {}[]): {generator: Object, generatorInfo: Object[]} { const modgen = createBagModGen( zone, zone[index].presetGeneratorIndex, @@ -334,13 +313,7 @@ function createPresetGenerator(zone, index, presetZoneGenerator) { } } -/** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - */ -function createPresetModulator(zone, index, presetZoneModulator) { - /** @type {{modgen: Object, modgenInfo: Array.}} */ +function createPresetModulator(zone: {presetModulatorIndex: number}[], index: number, presetZoneModulator: {}[]) { const modgen = createBagModGen( zone, zone[index].presetModulatorIndex, diff --git a/src/sound_font_synth.js b/src/sound_font_synth.ts similarity index 63% rename from src/sound_font_synth.js rename to src/sound_font_synth.ts index 62c9a51..87e3525 100644 --- a/src/sound_font_synth.js +++ b/src/sound_font_synth.ts @@ -1,6 +1,6 @@ -import SynthesizerNote from "./sound_font_synth_note" -import Parser from "./sf2" -import SoundFont from "./sound_font" +import SynthesizerNote from "./sound_font_synth_note.ts" +import Parser from "./sf2.ts" +import SoundFont from "./sound_font.ts" const BASE_VOLUME = 0.4 @@ -9,11 +9,25 @@ class Channel { volume = 0 pitchBend = 0 pitchBendSensitivity = 0 - /** @type {} */ - currentNoteOn = [] + panpot = 0 + currentNoteOn: SynthesizerNote[] = [] } -class DummyView { +interface View { + draw() + remove() + getInstrumentElement() + getKeyElement() + noteOn(channelNumber: number, key: number) + noteOff(channelNumber: number, key: number) + programChange(channelNumber: number, instrument: number) + volumeChange(channelNumber: number, volume: number) + panpotChange(channelNumber: number, panpot: number) + pitchBend(channelNumber: number, pitchBend: number) + pitchBendSensitivity(channelNumber: number, sensitivity: number) +} + +class DummyView implements View { draw() { } remove() { } getInstrumentElement() { } @@ -27,30 +41,21 @@ class DummyView { pitchBendSensitivity() { } } -/** - * @constructor - */ export default class Synthesizer { + input: Uint8Array = null + bank: number = 0 + bufferSize: number = 1024 + ctx: AudioContext + gainMaster: GainNode + channels: Channel[] = [] + masterVolume: number = 1.0 + view: View = new DummyView() + soundFont: SoundFont + constructor(ctx) { - /** @type {Uint8Array} */ - this.input = null - /** @type {number} */ - this.bank = 0 - /** @type {number} */ - this.bufferSize = 1024 - /** @type {AudioContext} */ this.ctx = ctx - /** @type {AudioGainNode} */ this.gainMaster = this.ctx.createGain() - /** @type {Array.} */ - this.channels = [] - /** @type {number} */ - this.masterVolume = 1.0 - /** @type {View} */ - this.view = new DummyView() - this.setMasterVolume(this.masterVolume) - this.init() } @@ -65,10 +70,7 @@ export default class Synthesizer { } } - /** - * @param {Uint8Array} input - */ - refreshInstruments(input) { + refreshInstruments(input: Uint8Array) { this.input = input const parser = new Parser(input) @@ -85,12 +87,7 @@ export default class Synthesizer { this.gainMaster.gain.value = BASE_VOLUME * volume / 0x8000 } - /** - * @param {number} channelNumber NoteOn するチャンネル. - * @param {number} key NoteOn するキー. - * @param {number} velocity 強さ. - */ - noteOn(channelNumber, key, velocity) { + noteOn(channelNumber: number, key: number, velocity: number) { if (!this.soundFont) { return } @@ -123,12 +120,7 @@ export default class Synthesizer { this.view.noteOn(channelNumber, key) } - /** - * @param {number} channelNumber NoteOff するチャンネル. - * @param {number} key NoteOff するキー. - * @param {number} velocity 強さ. - */ - noteOff(channelNumber, key, velocity) { + noteOff(channelNumber: number, key: number, velocity: number) { if (!this.soundFont) { return } @@ -156,39 +148,22 @@ export default class Synthesizer { this.view.noteOff(channelNumber, key) } - /** - * @param {number} channelNumber 音色を変更するチャンネル. - * @param {number} instrument 音色番号. - */ - programChange(channelNumber, instrument) { + programChange(channelNumber: number, instrument: number) { this.view.programChange(channelNumber, instrument) this.channels[channelNumber].instrument = instrument } - /** - * @param {number} channelNumber 音量を変更するチャンネル. - * @param {number} volume 音量(0-127). - */ - volumeChange(channelNumber, volume) { + volumeChange(channelNumber: number, volume: number) { this.view.volumeChange(channelNumber, volume) this.channels[channelNumber].volume = volume } - /** - * @param {number} channelNumber panpot を変更するチャンネル. - * @param {number} panpot panpot(0-127). - */ - panpotChange(channelNumber, panpot) { + panpotChange(channelNumber: number, panpot: number) { this.view.panpotChange(channelNumber, panpot) this.channels[channelNumber].panpot = panpot } - /** - * @param {number} channelNumber panpot を変更するチャンネル. - * @param {number} lowerByte - * @param {number} higherByte - */ - pitchBend(channelNumber, lowerByte, higherByte) { + pitchBend(channelNumber: number, lowerByte: number, higherByte: number) { const bend = (lowerByte & 0x7f) | ((higherByte & 0x7f) << 7) const channel = this.channels[channelNumber] const currentNoteOn = channel.currentNoteOn @@ -203,19 +178,12 @@ export default class Synthesizer { channel.pitchBend = bend } - /** - * @param {number} channelNumber pitch bend sensitivity を変更するチャンネル. - * @param {number} sensitivity - */ - pitchBendSensitivity(channelNumber, sensitivity) { + pitchBendSensitivity(channelNumber: number, sensitivity: number) { this.view.pitchBendSensitivity(channelNumber, sensitivity) this.channels[channelNumber].pitchBendSensitivity = sensitivity } - /** - * @param {number} channelNumber 音を消すチャンネル. - */ - allSoundOff(channelNumber) { + allSoundOff(channelNumber: number) { const currentNoteOn = this.channels[channelNumber].currentNoteOn while (currentNoteOn.length > 0) { @@ -223,10 +191,7 @@ export default class Synthesizer { } } - /** - * @param {number} channelNumber リセットするチャンネル - */ - resetAllControl(channelNumber) { + resetAllControl(channelNumber: number) { this.pitchBend(channelNumber, 0x00, 0x40); // 8192 } } diff --git a/src/sound_font_synth_note.js b/src/sound_font_synth_note.ts similarity index 75% rename from src/sound_font_synth_note.js rename to src/sound_font_synth_note.ts index 9014e42..faa4b8b 100644 --- a/src/sound_font_synth_note.js +++ b/src/sound_font_synth_note.ts @@ -1,77 +1,81 @@ +import { Instrument } from "./sf2_data"; + +interface InstrumentState { + channel: number + key: number + sample: Uint8Array + sampleRate: number + playbackRate: Function + start: number + end: number + loopStart: number + loopEnd: number + volume: number + panpot: number + volAttack: number + modAttack: number + velocity: number + pitchBend: number + pitchBendSensitivity: number + modEnvToPitch: number + modEnvToFilterFc: number + initialFilterFc: number + initialFilterQ: number + volDecay: number + volSustain: number + volRelease: number + modDecay: number + modSustain: number + modRelease: number + scaleTuning: number +} + export default class SynthesizerNote { //--------------------------------------------------------------------------- // audio node //--------------------------------------------------------------------------- - /** @type {AudioBuffer} */ - audioBuffer - /** @type {AudioBufferSourceNode} */ - bufferSource - /** @type {AudioPannerNode} */ - panner - /** @type {AudioGainNode} */ - gainOutput - - /** - * @param {AudioContext} ctx - * @param {AudioNode} destination - * @param {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * playbackRate: function, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} instrument - * @constructor - */ - constructor(ctx, destination, instrument) { - /** @type {AudioContext} */ + audioBuffer: AudioBuffer + bufferSource: AudioBufferSourceNode + panner: PannerNode + gainOutput: GainNode + ctx: AudioContext + destination: AudioNode + filter: BiquadFilterNode + instrument: InstrumentState + channel: number + key: number + velocity: number + buffer: Uint8Array + playbackRate: number + sampleRate: number + volume: number + panpot: number + pitchBend: number + pitchBendSensitivity: number + modEnvToPitch: number + + // state + startTime: number + computedPlaybackRate: number + + constructor(ctx: AudioContext, destination: AudioNode, instrument: InstrumentState) { this.ctx = ctx - /** @type {AudioNode} */ this.destination = destination - /** @type {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * playbackRate: function, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} - */ this.instrument = instrument - /** @type {number} */ this.channel = instrument.channel - /** @type {number} */ this.key = instrument.key - /** @type {number} */ this.velocity = instrument.velocity - /** @type {Int16Array} */ this.buffer = instrument.sample - /** @type {number} */ this.playbackRate = instrument.playbackRate(instrument.key) - /** @type {number} */ this.sampleRate = instrument.sampleRate - /** @type {number} */ this.volume = instrument.volume - /** @type {number} */ this.panpot = instrument.panpot - /** @type {number} */ this.pitchBend = instrument.pitchBend - /** @type {number} */ this.pitchBendSensitivity = instrument.pitchBendSensitivity - /** @type {number} */ this.modEnvToPitch = instrument.modEnvToPitch - - // state - /** @type {number} */ this.startTime = ctx.currentTime - /** @type {number} */ this.computedPlaybackRate = this.playbackRate } @@ -81,7 +85,6 @@ export default class SynthesizerNote { const sample = buffer.subarray(0, buffer.length + instrument.end) this.audioBuffer = ctx.createBuffer(1, sample.length, this.sampleRate) - /** @type {Float32Array} */ const channelData = this.audioBuffer.getChannelData(0) channelData.set(sample) @@ -117,15 +120,10 @@ export default class SynthesizerNote { // Attack, Decay, Sustain //--------------------------------------------------------------------------- const now = this.ctx.currentTime - /** @type {number} */ const volAttackTime = now + instrument.volAttack - /** @type {number} */ const modAttackTime = now + instrument.modAttack - /** @type {number} */ const volDecay = volAttackTime + instrument.volDecay - /** @type {number} */ const modDecay = modAttackTime + instrument.modDecay - /** @type {number} */ const startTime = instrument.start / this.sampleRate const attackVolume = this.volume * (this.velocity / 127) @@ -141,11 +139,7 @@ export default class SynthesizerNote { filter.frequency.linearRampToValueAtTime(peekFreq, modAttackTime) filter.frequency.linearRampToValueAtTime(sustainFreq, modDecay) - /** - * @param {number} val - * @returns {number} - */ - function amountToFreq(val) { + function amountToFreq(val: number): number { return Math.pow(2, (val - 6900) / 1200) * 440 } @@ -161,13 +155,9 @@ export default class SynthesizerNote { noteOff() { const { instrument, bufferSource } = this - /** @type {AudioGainNode} */ const output = this.gainOutput - /** @type {number} */ const now = this.ctx.currentTime - /** @type {number} */ const volEndTime = now + instrument.volRelease - /** @type {number} */ const modEndTime = now + instrument.modRelease if (!this.audioBuffer) { @@ -199,17 +189,11 @@ export default class SynthesizerNote { schedulePlaybackRate() { const playbackRate = this.bufferSource.playbackRate - /** @type {number} */ const computed = this.computedPlaybackRate - /** @type {number} */ const start = this.startTime - /** @type {Object} */ const instrument = this.instrument - /** @type {number} */ const modAttack = start + instrument.modAttack - /** @type {number} */ const modDecay = modAttack + instrument.modDecay - /** @type {number} */ const peekPitch = computed * Math.pow( Math.pow(2, 1 / 12), this.modEnvToPitch * this.instrument.scaleTuning @@ -221,10 +205,7 @@ export default class SynthesizerNote { playbackRate.linearRampToValueAtTime(computed + (peekPitch - computed) * (1 - instrument.modSustain), modDecay) } - /** - * @param {number} pitchBend - */ - updatePitchBend(pitchBend) { + updatePitchBend(pitchBend: number) { this.computedPlaybackRate = this.playbackRate * Math.pow( Math.pow(2, 1 / 12), ( diff --git a/src/stream.js b/src/stream.ts similarity index 83% rename from src/stream.js rename to src/stream.ts index ed713fd..f4275fb 100644 --- a/src/stream.js +++ b/src/stream.ts @@ -1,16 +1,13 @@ export default class Stream { + private data: Uint8Array + ip: number + constructor(data, offset) { this.data = data this.ip = offset } - /** - * @param {string} data - * @param {number} start - * @param {number} end - * @return {string} - */ - readString(size) { + readString(size: number): string { const str = String.fromCharCode.apply(null, this.data.subarray(this.ip, this.ip += size)) const nullLocation = str.indexOf("\u0000") if (nullLocation > 0) { @@ -19,11 +16,11 @@ export default class Stream { return str } - readWORD() { + readWORD(): number { return this.data[this.ip++] | (this.data[this.ip++] << 8) } - readDWORD() { + readDWORD(): number { return ( this.data[this.ip++] | (this.data[this.ip++] << 8) | @@ -36,7 +33,7 @@ export default class Stream { return this.data[this.ip++] } - readAt(offset) { + readAt(offset: number) { return this.data[this.ip + offset] } diff --git a/src/synth_view.js b/src/synth_view.ts similarity index 84% rename from src/synth_view.js rename to src/synth_view.ts index 76761a8..4d66c3b 100644 --- a/src/synth_view.js +++ b/src/synth_view.ts @@ -1,13 +1,11 @@ -/** - * @type {Array.} - * @const - */ -import ProgramNames from "./program_names" +import Synthesizer from "./sound_font_synth.ts" +import ProgramNames from "./program_names.ts" +import { DOMElement } from "react"; function render(str) { const wrapper = document.createElement("div"); wrapper.innerHTML = str.replace(/^\s+/, ""); - return wrapper.firstChild; + return wrapper.firstElementChild; } function renderKeys() { @@ -47,27 +45,30 @@ function programNamesFromBankSet(bankSet) { return bankSet.map(bank => bank.map(s => s.name)) } -function mergeProgramNames(left, right) { +function mergeProgramNames(left: {[index: number]: string[]}, right: {[index: number]: string[]}) { function mergedKeys(a, b) { return new Set([...Object.keys(a), ...Object.keys(b)]) } const banks = mergedKeys(left, right) const result = {} - for (let bank of banks) { + banks.forEach(bank => { const l = left[bank] || [] const r = right[bank] || [] - const list = {} + const list: { [index: number]: string} = {} const programs = mergedKeys(l, r) - for (let p of programs) { + programs.forEach(p => { list[p] = `${l[p] || "None"} (${r[p] || "None"})` - } + }) result[bank] = list - } + }) return result } export default class View { - draw(synth) { + private element: Element + private drag: boolean = false + + draw(synth: Synthesizer): Element { const element = this.element = render(`
`); const programNames = mergeProgramNames(programNamesFromBankSet(synth.soundFont.bankSet), ProgramNames) @@ -80,7 +81,8 @@ export default class View { const select = item.querySelector('select'); if (select) { select.addEventListener('change', event => { - synth.programChange(channel, parseInt(event.target.value, 10)); + const target = event.target as HTMLSelectElement + synth.programChange(channel, parseInt(target.value, 10)); }, false); select.selectedIndex = synth.channels[i].instrument; } @@ -91,12 +93,12 @@ export default class View { notes[j].addEventListener('mousedown', event => { event.preventDefault(); - synth.drag = true; + this.drag = true; synth.noteOn(channel, key, 127); }); notes[j].addEventListener('mouseover', event => { event.preventDefault(); - if (synth.drag) { + if (this.drag) { synth.noteOn(channel, key, 127); } }); @@ -106,7 +108,7 @@ export default class View { }); notes[j].addEventListener('mouseup', event => { event.preventDefault(); - synth.drag = false; + this.drag = false; synth.noteOff(channel, key, 0); }); } @@ -155,7 +157,7 @@ export default class View { return; } - const select = this.getInstrumentElement(channel).querySelector(".program select") + const select: HTMLSelectElement = this.getInstrumentElement(channel).querySelector(".program select") if (select) { select.value = instrument; diff --git a/src/typedef.js b/src/typedef.js deleted file mode 100644 index d2c0b33..0000000 --- a/src/typedef.js +++ /dev/null @@ -1,5 +0,0 @@ -goog.provide('Typedef'); - -/** @typedef {(Array.|Uint8Array)} */ -var ByteArray; - diff --git a/src/wml.js b/src/wml.ts similarity index 95% rename from src/wml.js rename to src/wml.ts index 911a7ca..c06bde8 100644 --- a/src/wml.js +++ b/src/wml.ts @@ -1,6 +1,6 @@ -import Synthesizer from "./sound_font_synth" -import View from "./synth_view" -import MidiMessageHandler from "./midi_message_handler"; +import Synthesizer from "./sound_font_synth.ts" +import View from "./synth_view.ts" +import MidiMessageHandler from "./midi_message_handler.ts" /** * @constructor diff --git a/tsconfig.json b/tsconfig.json index fe55281..affdbae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "lib": ["es2016", "dom"], "sourceMap": true } } \ No newline at end of file From 72ad109af2c7dba6f2c14c34724f87c24f67b371 Mon Sep 17 00:00:00 2001 From: ryohey Date: Tue, 26 Dec 2017 17:14:46 +0900 Subject: [PATCH 3/5] Add Parser test --- fixture/clarinet_angel_pure_v1.1.sf2 | Bin 0 -> 985408 bytes package.json | 26 +++++++++++++++++++++++++- src/Parser.test.ts | 13 +++++++++++++ webpack.config.js | 2 +- 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 fixture/clarinet_angel_pure_v1.1.sf2 create mode 100644 src/Parser.test.ts diff --git a/fixture/clarinet_angel_pure_v1.1.sf2 b/fixture/clarinet_angel_pure_v1.1.sf2 new file mode 100644 index 0000000000000000000000000000000000000000..25770033ba420c0421dfebe3443ef2e4a4b80f7f GIT binary patch literal 985408 zcmYIvbyyK|GB3Z zm`iYU$p5|gjH3xzLq<>^cxQ%YAqSC2#1C1H+(POR8!%QQ z%7yMjV^A3U2(E!gVLqGy?}Rnrf6!7$ioQkz|L?cnAn%b1go>_2<&QPKU3<9&izu#aGlBRU$a>%_nFdssphgF68ikb5Nj}=tdNWmLO?J6Bx}4 z-HrZ1A!t5y4!R0$2X>xA3lTjeL0P192KTVQ^-Jh;^eg%RjYdUCJd%Z|qdU-js4n^* z*^hh%@0Njkj)QRnpbV%I+6?_bCy;fBTv?-}0t<1F1^fX%1P?>Ifd4{JZKPHatmswj z1XoZf5)K2l^5Kn`^B4r~1>dbk&VyfZ1mlH6AEB>cJZmTbyb@q6oCsZn8lji)a?BHq zEoL5k75JM7&7!gBQDl#@OJS-sL3X1TAuBNE1^6wT2fR`VUiZNBU>CR&YC$g}F3Jsx z?FtK}H*yV?K>INT*k3ped_T?(*MXUY-Xo_JgEA-Ca+$OIlwwR7f^LVl!M2#Yn8ld0 z@G&qyGxQqrpE3iCp|8A$u%I9~8Eyj>)PQJ^;q6cX%0eF^CWug}jcf(}Nk+Z_pLv0p zVgJt$-=T8gv2!3Rbf7AbBcq5C`GihFZ!i|PY}`0@2tJL@Q|8FEVlNFdq;J;97)FXE=K2QigU4tfn_lN9*F5BaU2%V(r- zr59w0iVl>8eS<$wNXB<#@fZ|RK-Xabh{+tN2|1(;P`Jsj%O1)e$QLPn(Ml*8reehK z7nlS59RL-BEc%9EkONAN@{lqVIf7LrAy2>t6!6Qf4cv6nm5#k&UP;$h=746$JJJzkLB-3Q0SiBBja%Fef$=gFHnF5lgfHJqOtVOK*dCZh(AI1mMI+5e^X8pe#gU z(JFKRa6}!r?+@TDE%Y8jMgA&(fjE5zv0e(Yb{jab@UH*M>_33Jgvw`17iGR;Gr$0< za6*dFNZ^wvm|K{QnB|y-7<0@QfMg=H0IfiF0wl-*D&vtjv=TVI*QlwB>753m~uJ5*EsON9Vi>HPZ03mV`wGH zSEeW|6%551#dp9r{YnzZ3_HLyRE!^H6~-Bp400+7jYsfE8<C=ZNLNN@QFSD<{dz-m?09O8kdoZ7{ud(XbH<-_u zLf}n(cr7XiSe#Lczx!IxWL0b%EF0;1ig5pgcA3D~N=KDc{ML%U(*4 zNt>l#nUs3xL;a)*Ooyo1fh>EoZ_;;>BsD|$fnW?(VQ#$3a+ zVy3~YPXJ}3V!VLjRAbUGftaT-8GZ)gAUY~mssj9P1L%(hEVC5kY&&3(PLO#uK;1S& zy8%j!lu|ie{z7&^_ER=33z5H*QxrE88o-AQ0ENqewmt-P$9`ln!UQOv1lhh@?krym zGG0xw0q~5*{IAwu>#aJ=Rs!X0dEE< zPJl7q$llAUWr)m69w$GixUIa5n4uAX4O&6Pbre|$I8_gE2j^aB2jEf*p!6p&6F`MX zSP_NviDH62RQ9 zz$=CLKtc?-o`oO76=P#CR`7gK(Hw&$z-A7pSLQ&CAh&jaV%u+4dl3o<21FYoh1fxO5A6Ajm*dXj4uEU-@N)@+gk{9n#A0G2 zF^(8b%p@Rq4*nSM(I@Op@K=W=;~a3-I4MAlFE$B`?+v_g94N5}#PlYpWeSlmfSW?( z@v_grmYZ@&u~czRaSCwoDtVC1Na`!e6z>z8iE~BkL@uJEB46m1m-LmS zPaG;v6D=3HgXM>14duCiLiP~|>poOqn*NgN@ZC%6+96YdfU@i6v1A_MdBL*8Le z6I+Oz@XnYxbVli^V9L0XW|6k&`|R1-gxQm#II)^E6jY`yAWD{sKk_u$5^0P0y6C`c z^i0JRcJj%D*2MdXcA@H2%~a@g$#l+)pQuHQO6EytC9x8Q#6aR836SiS{L3LDnrGAq3g%(CjRrgiTR6|s|s1GRn$RAV)DsxD?LDV}4MkHtQ zd}@p;K{c8(LpnpSz!k##(Ek7q+mz4I{qT9f*X>X!Vk7sIxQkBBcFq13trdS0SBupo zhb50CQgOVB6a7Q*Wk(Q;Vm+O>53n%@9PH;xE!2@)Uq`Ca4o`0(~cd+K7hvi8+qljPu7&<6{V! z1emxML}ERu5=3slicF=63{jV;zEJz9K8JQ6*qKMu);Ow>rBMTpRt-c$U2|IFp$0+Y z5DiPqSFcjnr#+(4G=envv_^Hdnm_d#@LK|DGf6>Y5yki~xOdnN!2EBac;ua;NA^WJ zDM^&HOXf%)N!Ls7NS29JMJ+RbrY}#enG6?hov0tr8n>AkoTw6hnGBm+H}!pzB1{=G zA1N4|>E{XV3+(!D4O|>588I9W5E7=mrZcB6O{Yygn>;LhKj8CawFxsYLt2nty5!_<}%F*jpZ6e zw3D$Lvp+)+-6!W; z@lE+c{*FG2{=tEdLop)(V|o(ks;#Po`klIlI*0m_x=Ho5ngy*wW0zK^HeJ_8Z?*mjgX45N!&BhcY`E7j z#gJoEYP8O{&v=2!5fiRSjIoPRJ3ZGx#o&T|w%%^t``Xtu6KD?Ve^tjRH1Z8nBM|~D zu#4nNE>%0YOGbOqX<>xBn=f4avX)AYN$FvW)q^&#p0NWyMqgRsokZW zeqDXtw!JBWeS;<=`D5FK@bsbC)8a%4PtqYSn*BWWW}G+lu5WeMuGU3O_v$y)?X8=v zv#;-}+g^9EE}>r9SjRilcC|y?xv~2Ze^y{Oyn6iY=cv`>p z@(ueh6dH~B$#)$`G=*Z2oU zT1(-p(8)Y1UGs{5n(-;qmquH4D3ouA&*W%t4DU(JrOL9Zt~znEvOTe9Nx##`2I1S; z6S6ai3#b?0!s@6%c4hYb#G)bZ-jyBG%}eV4s}@ugm$6HkC3+=WN}Vd0HD?-_yg99H zt-o4L+je)f_hb!xA9I|!C z%c#)kfFaZ1nr^?ApT-Wg?UawC_n;FXz)uk>NmnUR>ZsO!16NalrKR07hdxf5^HG;( z=cU|GC#8KUYs&Vi%?ImlE1Xr0CD|f@Au`r6^w&SA^Ir3T`h4nBl_Ju7%4dx&^mFEk zR)NfwCR{BZE^0=*H=%yIWK+TG!o;$bwI;kPoe%oX4zCpoXJxVo^b7{VZNYwojw`yw zZqwT1g#%vQcX`%zH!C-nwG|f>J}n>>E-EfATU2FJYg@0`_+K-oZB6I%?!7&YJ+xk) z;QJ6`j18FIX5znb;drcY$8@fkto)3T5_!~v8nA9OJ@Qr1If-YIuh0~F`KH0vki$vm74A`($A;n4&_AUWfd?>o>myt!92^3>Td5|u3+xKqM={Iqr)D<;X~zvjG?2$b)zA| z#+ef`9uz_}Rn^tpsOv?)X8h08g)we2&q&XpLg$DkQT-0Zj^u%-U`yd&a3AI~9#8I8 zFVM9yImlFH$8r|9{^wrqA@hjv_~&NpGU{~NezzUXX1CQ`<{rzB77Fv@=IZ8NX0E0y z4A1CzsYMZYU^)0a)fM`jv^tk73Yk9-+8g&ru{^A#fL-}F(+4+Kks3Ka) z&e{)g*M?=rtU z|6_i8yjQzxIBPq0v7Xqv*u1p9Z_Tr|vRPu|VsqBInwe@oXgo*HTKxp!F8V@~=4%`wB_A;A3>{EVJ^y_7*@{F?X}L{L%Dc%;ACG|RHqI@IR4m5)WZ={Vh2 z*IXl!vV%|qZ$y?V3gkRRBZ}f&sd$|XlbtqNoCqkLcOV&3WQ;h~P{^~wwQ4HUYXq3SczQ}~&*a`NS{sJFM{6YoTW zXRSk3Vp(m`(tPLKyqvAM)_ITfbn-_F)Jr3)?V6g~%)3r>@9MeSOC9(-{9{yi^wdyL ze?>38_jKRx!Jp&zL_J6oVT)R_&M%|K=FhDnZTQwCD_4tSrZ?%Ev@fXk5stxcmCkap z)KA7!?7(!8&*-!<-m-FC9(m{ahX<|-*zN1)`NCzt6We~+?t$&J&7jR%TTeTGmM!}| zo6Tm~F|5i=59kS1?ePZCFF2M`YdB&L=s1w(|HP%zB2V?yOktaM2{n_OCd??${a19L ze6U8=+|oTXtTDSB5#kw?Ak|6AabhK8C%rMbbGWH@wqu0%u;E}0tzv!gWZtiAMiwP2 zG3#HpUhc7cpJHakhFXuN8?9eDzwrJ0GY8KOof|yRAJvz@=k?_D{N=9{cn`Zyu9xP) z%_>BWpZ!!fcrdm%dI%qP~^91n&Z~kzhrp+(Jo!FACR7`tQ`v3N7Dv%w?(gp$#KYnVqi>gzE7_g?XlpW?>jq`FWe*jiGiqcZM^Xsi(u>hHY==4 zEl-=hF`m&sr*n}FDWspnprdXxUy9>`o=PIcnDU9(2FJ^o)Ab`A zee*h(@gnPksvF9;mXsD;%RQXkn-!kjmOU>=m~%XDapCUL?N#m#DXlAe^tt1?-EF5ciSxm6iDQl9Ehm^W z;k3@_isMR$hwN{*Hq3DoNUv124A%pCy9uN-27~MppXVWZ!6eVy)(Z9BnP07Iiqz82 zrWB=L%Y9jVt+KFQ(z>{J-{`T~|CDoZ*`%%H6p|F{p{$+#JKi&3*^}P7yYXwSVfD9) zjitK_>vDf(L)nvA@3LAme`bEnUQ&=zMyl;?T-y@YUeN6-_&SIM3bub>jo@DICjLqO zrM{fO=5bX~n{pLlyLym*ujyK*mCXeked`OBu-OG8rEUW)i40cW@CT(x_CfkrHi0ZB zSkUYY1FViZO?eFYp@Ex&9tJG)z2sT$`js2w#Bt;~XgfZ0)B{#8cfvc_ImX(rvAe~r zGqKdQqslO1<#*^1HNzy1Gtb{KgdK3u1!rzTK0Wch$*$dhkX-y}+)HH*TqMO#8HLpNg8d_7)T;1I;OrG73jN(6$)u<-qd3ewl z5a&*O9VGJu+n+Y$8=7j|DyvIW3dXYcWnRzNpRqH;CF6R=@vKXE<|W}(vW&-o2;0*LD5q{?<1%{Aj9E_5hnlwb89JxyIaQyWNg%yW6VHJjCRe zeu!o&r3Q~e+ms|Z4fOVM5f0u=tw!I_GT$ND-PLa(kPti@=GmA6inBYir zy5%(Lq{X3flAYQd84mWW-&Q*r`ugf>^KlCiHE0WE(D*I~@qZl33DR)aV}_}^PkrOP zFZ`E2l4_P|nYXKWu)?Ljt+k?e%~+O*jwawsRX&k5NZ&B2^6fLhV`2UGx_-B4Ha@A{ zTQyv!Q~W63E7vK9mwhbzM^<@eJ;?HH`S(ipR^4q#Z@mk0ymf#(IM#017JVnq9L>s`q>lFG5 z_n5Lvd%MXkn{Li-&r^Qg0d)a_<9>-ld&fT1SoOc`|H=L`+-N*UnG~}r7_}c!T z-5;i>$pLM?$|KNKi6PK+J8XlzT|@Q5zWebVchhmuyS}fLob0~TIqCh`3kn;{l4@=@ z-|E^i_-gX9Y#|0BJp|n=Z~Q3IC+-%G4bgh5+gqFWH5Al-uew;4TKF(mKifA;ni-MV zpI(=CBfUH8V1ZTnRP8FBM(2J0F2TM25B-b!%LD~|v|gW{OWnOa9|a3X%%^Tkcfy4# z2Q@S4cg;l1FV-CE(@e5OgXtZ^K;6x>yJUa-Z%AJ`A?uW#RKnN*%0nF)!;t;X^@-2x z07;;0;EZ3gw~0rI%TlfxN1gK;?D=ota=Cq+ADn1TjFXQ;wA~WRGQ%<22Ye0a%vX}i z3_m+<2`~vS2ub&P zAbkg|K~)u%e4IAW?suTqDuJ#NFVd#yxy&L*yhpz8`+&iKApaviEYDfjNavfJR>0yn zIZ}=qusW6Vm9u~&2ld;1>ju*v9TLSIvl4xTuhjl*^UP~k=;Cl(;C^SUsTKb1(0J|R zyw4f&nSHsjMc>O@s!5GW?fHVm6L%yjkS4K!tV`)7(lNU7iD~lK&i;^Y!#30ADH zH6ImtjohAmED49wNk26l=|aY+CC;kCl53u0@|<3;^M!VYGDzsdyhdG=O3-ukLXY7b zsG~adj3QRFYmCpsfZ;&hz&yV*-b3#1T>`ke9GDZ!Y2j3Xe~rQ62Jl_xP-b_=veqzE zBbSg0_FP_*5u+T=lAr@~93uVvx7gQcZ;*I)l$6wGo=RVq1?A@z->Xooo8oQnQ5o@= z6(I)1_0(3?aLOK#E9h(jP_W}YpsoW}ud4~I@GrK`i_Y4XQIx(nJua;ym6eu|@j6$# zB%|tD1EZy`U8`HWce~(F|Cm6l?@o_x*T;^;4p~=f-}{m3>2r#0_#J9oy*iU1%V8^t zl^N5~{J6=W!7gn_wHBf|=A=?pRwBlWA4{y1leoj`Hw+uBQ7*}6PSD3tm#`xt#K26S z6CNU$b6h&-s8f)Wvy%x>FN~9lQ<38hhqtWfR<5R-bheW1VQnNIw_Il)>!|-=)S>x< z;paRFmKc=Ux}^gx`-fq1y!gtYv(b}u-n~={9Xj_4b2Q$AB6h3d%tlnbV0d`xZAne++OZm zE`=Knd|>4GjeX1JusMZ(N4*wz8}#I#s@yV`JGX}l=3kiqF|^v{tdSc!ho4+NoHajv zW9GwLQQ?NN71dW8!#g(h?-qWR5pe+&Nd1JGSY;HWEWE`jq@+VzOs)OzKGH@&crMal`5MxxLp0G6!P@Qu}`Qly7%Q_c~zL^DC9<@}MA7UUzxAg%H6x?-fCfpAHM=R{QMLfyGVe&1~U)B=R(8XfYn=>uuKS*7_qOLQy0)aA6S z=Ua}(h=QTRq@SuyYVDK?d?<23)Hd!uFx}POaZTM) zvPtU83@FbQDEF;~}K7nN6FROmj z2{eW*46NQ+xiR;epEijxIH$El^)c}wW-FpACrD9Al6(dHMrBg#n5hLT)78}PVX!2$ zDzqjzE`Z{@(v#s<>3oh0aYs1aoFvXh&Zv{O6Twl$zH2+r@`4dn^BX}Au~Wjt2)ZR_ zV~E}Y?!xC09UhC#7`R3K0ab=MmFXjyTk?8~6lL20r>$z|3bZCT(jAyXD%z?qsoO{m z@M@WODt9EcZ*ymC%T(iV9ick2G&}!O*8TL5w9lz|DgTo1BwtI-%siDpQu@B;QL|lV zXfL@Rtlb5=eJ}at-PxVO8(JNr6Ew%q$ZL_?Q)dTm2S<}T zhwBMm&vAS?O-_}L%j{ci`pgXV=TKGQH?jlD0E&Q-=gx>cuxRDNU13?yOaq!MuHCNK zDPuv}i_A-TtBWxey0v?n*L4*S`c0=RTL}bJNc{@+E@2SS65pDz9HjJM+ESYG>eFg= zR%8?*IrSNJY4o%csY_A{A880`Or`@f#U*#-rDMVKO1bgbgq$?Ha zaJ`D1cBSbT)?qg*e`2UC+&3aP>_d>6-)_&Fu9Ms!fW6f@B_Ph%9lIQY9nRa!S?adl zmP1CGS{9_;=xrsHuucD&LTd*bIf{jq6c4)H7I7^azBK2IBeZlKei|PlB zr#c$?EhcZuCvg_kUiDaYDfttYD!(=Lba;6$tK$}LS>v5LMHN&QS`eJAnz1h}Ce*98tXrJxi^;{l6$1cri$(=Da?KDU?-7PD$3u1js7FOPau_+jiXbrN2g4K;*f|h2ieOlfL^r3Y{N1 z4Ld|RI5^A)>+LW{wv)(7>6GA@%cj{xnDy&jp$@^d3O>x#++iCL;JDCynQHXi5Qf7^ znx_!o;Far@dN~!&x}C3E`n_tfVOcv-P%-Wy4aAQ|enBq{y9i8`TsX>!h@B z8-wd=s|HHD@&mHor8%YYQ}(AENbXBom~uHICvRiv&T2}dXjfDCSc9!#o+=CGjz@dIbZ5H z!7jBaHYd?z)NC=O(r>aV;(!UsbH#k&%Fb22i&p#3Sp32K>ya0~NF7a-ryS0b=R247 zS7|hvbQKLPoqY=hk}GLCTG_N)WHx4nbX+JMyx3y}x`^xRpVTB*Y%9K%+nKQ;?N+K@ zszyq2(u1ToDNdOO^3Rn`)qZS&dYb!thyD%m`~UJiI$c|Xnsu5kH}|xq^GAo*PCt=% zW4}<}>wGp|Zvk1QF%Mg)GI)l4x^p#FQjX$rkd53-Jbz~Gw8gBRY&qt#YCB!sc7+=w zFe2hb)Ssvgk

P0emkVw`bfefa+CFF;03;hrrr9+Tn@43;Vt8AEw-NSnsFm5p0q2 zEPR9Z-8##^Y?10JXoWJ$!Yy0RXSS+wEZZh2B_`Bv$(?51V>WMrDn?otn+F-cDtisZfsbjIr zw2%H%r%e62$^$HT9#@G^!}0_$6+O__3p-qSde;c~X6$hMQVBu>d_SK0Prp5Z>e0uG`YklvSTmMJtKO z_0EV%C4daKP3(_K&0RvUfKdK6Juayx#W)Mi-(7mD3g4jG=GAw4 zqCjp*e6IdnD^ByLY9K)c8Jm@lt>}N#b)$6*?0ITbcb4?!_NQB=>`VHVC`iyxIGJ!b zd0pm~!ja0WjahBg-FbDTX61omS&nVSiBuO*tB4ZE65mXy>;d2shGLEK>Y z(DH%Y-Zx#NZQPdlW^wby){|W?`>bHB$6?Sf zzUTmfe(?!*CCiG%va_;5EjAgMXxztDgZ=c?Dg?$6&u#NhuKK-(ywpB;g>@J10RK_( z$&}j(iOHukm*#&iai|hCeC==>#Ld*9Fd3!2(z>j1hZ2H~ls%fvYY09=vYgi~z9(iM8^-mbKb8s^q%iY8vy9?3)!&Lr+m+n*Cs)K;!p zSJ!f;S3Djle@O6D@70oMWdJR$LJ`r2aq2)x_xW~gYiTpJ!J=xsXj6_P{b1_%>|{8-|_>pNQj;_k^qJ z7eLQ=p5;O25ZIeuZ^Y1Z*T7M<@l$BE{I}$~==SVt(SOo%lutUOebDTR}~ zuSYa?t;<^X#oqp0^B?GS*GU)D$? zx4}F~s__2My52pVgtqs*md4$+-sSrX%Ci{hNXpXWGl|3T775#vJ2E#ESyU%9y=b@W zN$OiT5HaX9!0w}WFK91oacoI%z0$d?@5#uH>1%Q|916N7?~QZJvn(eqyg-gu>aW!D zRxKy+AV{%Y(lF~eLz;0C?UQ41=hU-|LhLTOF$4C5t%=+aITQ9a$iR1x`)}?^#}<3G zeKq?aTaVq$`odboDz+Q2J!n(FJj1x7mr8jC70B6`UE0s>YeUy9yR+u`3QSa?vxm0Y ze{8}}Z)?uv&>J6ky=({9NI561T^SV8{ z1=B33PptYr~nzd$WhyM}0>%hZuqlJp&yd zTito3%^s~!yJ!Ou6N|-W=vvSt>oE9c=4l04XIXYKf{diPGqfXQA}$oUEv1R3rjJZR zv$K-Z=s(gN?X6~y9W1;Og5HN)M^Yn*q3;6@c`tHfai2NfclhdnbwnLv9bVhFf>{4$ zZMHjWt!eILuu#<=>{`~zBgi)9mwZ&BgVuGd?_9EH|aqA8!YDnhAZ%lfY9+Mkf z99!AcK<;D=J)31?%vGDU$@-4EI<%X_7$kl6?HH$DtGl&L$t!QHs3|WE&-2gtmC}*) zG|?gfif@m{rp(E9DXFdzG(YG##{b)Yc4&C$^T6d^ey4Vuh(~I<+~(N5vwzW8)XXY5 zj18y!*5Vre$9QI8YWd21J=pQ|(H^57!WSaPq%UX1Q>P}=C-2N`m3d-ss_ixWYlCwo z_}7N|L|%<_4{r+!0MS0copqqv`>`?X8I}<2_o}jK>^xSLU7C%|^0$e*&Qlc|)J$%R z;cH)YSRDR%h1YuO>f>{VoR?~eCP=kQGPcKmj89Jq&i+x@Tz;zVZ0n9bN1;ODuAK%lp3y()pXZ z-nTcj&Tsv%?P%9`!HO}RSsz6RR!WZ6ns2zuY>B0|WrP{Vcvf$&rUO-o_k=#l=Swi6 zOEaD`;@QhGbIe6*vwjcLfxFCSVQ@{DOSo}pc;G>wlkTR@az{^xyY?IH-RzUus_YxA z&8(BG)vN%!J=P+#A^l3~Imko$OwmQ%ZnYt>f9ap~?(0mWOTAATU6iOak7se?ZQ`~k zCuS8C>Q&6Id*1Srzj-W7I*dzIbJq#byRD6=hT#nq3#Ls*I(z4JCbTZ#9RXR+EmO<) z%Y2jiFL_^5Xd;r}nVg<+tKetFoB9ncDV-C&IIzP#IW@0rTUWkP6j?@WbEihZEo zW|V68$UQaCIN}kA_VuuVz!yH7+)*yo>5hYrgUJ3lz_pyUgf(mT(XPq1*1F7M)Tl(W zgz!r77IcYp^ww}Gb3N8}Y|>f#dM=l1M-z=GE9j}8|6PnvOMRO2vB^o_dAjf|uE=-I~+MVW= zyR5XM=2z29>)TEvJ`t?A=k&MqrSsQz&vxjwXSMzAQ1qw|3dUzmdHv-yg0LabJdnUQ0@mum3C@E;M{;TM8` z`9*n#x*T*0cQ_5A9RV~ulHJeZ1AGs$a_qXSUzyYCN7N8_9(eM7fEdOw@nJ4ju3xb+ zcX@m;WTl5m>D-*ZEy4ZY&qO4{yI^mbQ%!!8dDq#Y6|*~GHEN2MtDdgz5KUW!3wepp zjIZyH@3L*%2so|0wx(QA(4N(u_9$g4X>Q{B1VLhV+V8w=nfkcxya0kTImp@78WsvF4%1270EnGEx@&O0Q}t>~3{|(SV)6-7e@s#MqqK$b>MBpl?3r?ksMs!(#Ro)_Rr^;O`x_ z_iU_eRBhU3k?yugIa`1Q5 zpQgm5%$|ZJ<*s!vTkHC+3WpU5q-&aT{Q-KfULMVpNKn$JGlmZL*te~2c5Ljgo2jxa zjmuk?*_S$;{5q*HaY542)Xmu$MSm)<)R*w)bawWd4gMZFJ;)OX`E$E@9rbPIZJF&O z-AMn~nA+?O1&X_*=AnO-@rUVZeU~|CMmK(?_eNtaWgfm99h7|*1x_!T{5Ux~b5rh( zzpSy@G|K+5=dU0^_^HUi2vLYzz%#FDmr$pT_N&=1*uM7f?4Q_gv5&I%1#y4LDz!xi4KSJUEcm<=<-BYzDHtrE;v;Ee{4=_K4Krmo2D0!At7S9P}SwHDNr;0XwC|Ek7F5>+d#P=56ZY4rWhA$;)sD)m-#V z%>G$7+HJPeuvVIN8RB)aRAUGa(EHNZnGoUju?M3+$1P{Z6(31EboH3}&P9IwFuka> zsJD^lLh%7auM;lIopeA|nq#jC@O=|hY1Qn7>^WcsCIa;ePj8%}i(VFOmspS#<{bf5 zD_pi(ZRM@>3UOo_KzVIw_NITve|9EdG6wQKmn^M{Zrt3tXz2DV24kywLg$vjZGDmE z4ssFXC>|TzE;!KH(&FDtY1~r#p}e%9Dr+`vI^|U|J!vMPDUqJGBUf5lRSWZ=j*C5; z1y2Y32443KbZ_YxYpnvkQ)zo|&)30lVYQeF`u^2w8}zzO(k&K)-l>^csPSKYmR1V2 z8NUS;O25zUnc5;`2ro~COD@3msvbrbtOAdd!7g*!=aS}rinttn)%TwJRW8|)4wO3^ zbQe$0`sxxc|Mdb=l2&wXlL z&B4^+KQn*rk~Om=`GKXYt4}t!_h81SWh;p`!Z0c zVH*0Y_{E=d4AN_p1&J;R$KyzG%?Yp4@rBt{yr#kSJ3YaIy8{mgTm`W`?>gSLR`V9{ z;##hDH1!USoSS*42*wRi+O-l5jm=xYbHhQF_6!BRO}j_+2w^3&^^sYNX3s;@^FHEO}!tU0uBUSPWSSJ(GWyY2M=hdY73ia#sXuG{vSE#7v> zI+NL9W@MO6TZG#QI?r$LBgVGg0ZXbkk+*iNj*bXstt8&(pDDN-=k)8@-y6x#vziO^ z%k%4=w0jK>%-n|g)ayE2`m}*u`y(|C^Gd=W?-!ixJlvAr)YmXxn_SUUXp!xhrjv{$ zaN{lGuEsw~Y0X($_N%S{M0+iG4%1SwRFKk9KK|8GtZH;UH(Ouf_GF~*Rsyu+Z zPYu=CXzXf{%k*MiGQVk(1o{k-U~PXKeI{+3@t?#`B#-M%#)BQRR7#IQq0K+Hfxz&{ z-*dmtRh@G`w9x;E=ND&t$D?cxtIY17-DA6pcJJ)eSSc(T+lLiuv(lWee~4O#D#ax- zM~bFZXmIVyt6QcwU06m9xX!pKSK)ojJn+}xPkO@6jLrE`rJU-wO>W&kM|34dxCpha zIxhNbT_WuW(GOWaJ3i_o(CgA}d%=@}ry9uRU-Fk{+NKsH873ZxKN8m!Uy~xp*<2P> zf4_BEcU9jv@H~S{{}ulI&ZBKVT0C3!w5E2f>J<-foW3MC#{MDaXkrc3&7;7c=VeO` zMjf54qp5y_B!>+YTf|e-_b1m16~geDYS~Aey~Y7kqJzD+PiSaV_&nU)n-LF#Q+?Cj zcX3}i++#Pe-hwQ@0ahWowz|Oj?RKL!bD5V+inT%shO$$$a;1xQIJa|t<;LgR^EdG4 z>pOo}&mMwHCGjVJUi@<)`Bk=S(TDQWwadWT^T-7FzdWQujSRgZeYVaURRi2Y8FBI) z=#^`MzLH@xyJ5KMMlmmYBy~s9F;J5?{fhuA?jxBuiu$X}8dF;|I$!da^d}80>NoHG z*+uDi*|w>zq&=d$QP4f=JL3g9<((=!G!^tDGc9HX=rgd5$@*(GIn*J%5wu%gEuNf7 zn|eDLKP49ZK|ZTMdIy=uoR|AQ41W<-62*!v5833u*Ykt(xPvx(9&3y>&Aw}Y+MZ;8 zoo&m03+gnE^=q@gpiWx}O^8jU+lifwJ$`P>4Y$T@Bd!sLMcU|M$2(r;c>MkE=dFJa zQy1qB6?3an8<%$#4m*kiv018bbaD;m8u(~uP~O73#YJN*!Mx7=7W-yWLI@#S$EphrW?T~k(Dce6#@`M%d_;K`uhKz(m=7qk6$%L!f+Z(f^M_rihK z6BG#pVvyF;67*FVLd#25V#@_)FOAmdz0jCX$;O>Q)TGa6TqpG=hQ=RFz7V6(Jk^Va z0d^JcH-h#?Zk#KN(u`ajvd3?(M?V)VmF#2KE`ZgB?F{U4Z6Ui@pbS*oIOZ2qXI+@g zMnvL%g|+%WyH(*CYuMXtHV-WE^U0xC%@o(lQ<8s?e%B;uW$rBaU8b!0#3S=tMlVXR zIJ_EDXI3vwhpX;P_^Nn4y?BJ$x2u!iTEJV>G*!E)oS(lgvpHoj@ooI)f8xLA;yu&) z^Sdj*HXdp{)uG#cpRe9m(aYg4?#6Vj>9pv4)VaGmx{ot#HyH(1lw9Hib%h?$)Ca7= z0>JYOH|fWZbVLo5(Bq+ zSGg*kzJXn@4`2lr#P(w&;HldhRvT*tYm2QObBD36CJ)D#s*CMmg8mWL=!L->e{Eg2 z?#WzrjzIP1U~|b#g7a_Ne-~1Ma*B)2RPgF(ZMy`ECNC&&kPJ2Gx~aM%(B)c*{V7{F zb$d9z_a*3r{^3y?U8+A68|H+h9Zyoki~fE28}sjA;*yNWf}-+gb?;h?dpZWDN4AU( z4;l9B@aJ{vwHdTTw`^?J=ieXtK3OAWV;m`!+SA5j%gZ)rY?7GHW{(Y3bp)!P2?c11 z^xaINaQ(Q;c)oBeSg*0kd-ckhh0ag?bHhubyyj}p;e@FN`g>n>g*njx%X3ZA%0K1Zqzwn z6VyQoWAfo@QMPgB&b*yv%vy(Lm(KG8ZB)(4&+|}lbDz{nH(1l}(t4t#EOk|E&rKQ2 zrNhWa35>yOy+7MN)_we=6=r)ElsF<)^0zrmn5XAuv5nFPNa{YAMs-B zqx>d5B)!AxF<+AAk}-`4e+;itCppplJ5m~R{(Yi6M!|u z(Q$*g9atvV<)b>$3Zbj#7iv~pG_tJ@1;@qI#n&8Y+tTm!LZ^|d)3v_@lTFESD7jzr z>R&{MW}gr7KI`Xf>0*?urrKql=XyfzPpbBEyH<;Y=Vz2gqv-YIIAZ*eb#GN`d7VRr zM9KZa^n9~CY+g`dS9wrFZo9beG_i@EH_Dp~n68<;J=Vk8Ne`g#h;~G6GLtSfZo}QN zuzQ^-Z>jMYT4`2_p1}}Nzs#HrW%OLtVG4Ruf0vC!8NBzL#Myq%9)Z?!tE_}pvFQ<; zV7EfQ(O_KYncz(SE1Q#D(;RbbcUx6kY_d?WNCBsNFD@9Df&1UzO_&VxO4zzugw*AQ zfq7*qP1tYeTOU&&qt6%PUc>scT#XYQ%Oz0sHjaQK4r6H;4!SpBj& zwdX0}Kf2;r&(x(Ek16NTdvq2_kANLkAgGYfGe*aE%smzp*9+tXDomZrhN=KP-H8wY zT&Yp_v3ipNLON!ZAU-uu<9qXLdG7=(;){}{%DT`f4Bx@f>onlOoPxsxdc6JIeK)?f zgIgWMhvBSnZa5j-JM01MFRUH7!A=15^u39L9#^pm)HMGUN7YrVg}=_e{&>we><&eD zDMQFYME~V7n=EqX?t;S=N%dP>Zg$-nnr7I}Ze3!^MQdCH(}<#eo_Ztb(`NX$r}nVL z)KbzA;r@_$Uu=6tLr9f-nQF;@MaK&L3iFFMR$c@Sj6dBj0}lXxdTi|Wl*_c|q}Cn5>CQYI zxJl1*kMY~Y2~ypv3Wh28rH#Jcmjcs+-v`+m3Az*3AU62ow&VaJNQWgh@u)` z2#oPqOqe+jc0{8{=Kf;V{E;L;Lk9bq;Ry~uG*@O~I}VqW=Gf;SD4VR+ zY4+`C?`0CEm|Zg*v7Bs@nwze^ey8>yl{}gBWoyBS>G6?pMiF(G{ELv)cd2c$?qJ37 z5?GOQ!Rx#Wd7lgYD-;^39X|#xklUC}w+dr^M#B;GHz{!@ymS8$CC$K)akGOoSJV01J8T6>oC8`$a zVrj^Cvm8&xuJ}V9hhFZE@-8)ptvw;OR0Zek%!({nub6AFYP;Y4cd(1& z(4mtGIw<|QdS2dNMF17*qX+r^|SgP_K0*O%2}q%K8?+y!Ag z2Jngcf_bf8p-Wd8IcrzruHqjU+#mcn(9`!n4~j5v z^wx{rVMBrRXH#1jBxI&lYk^Zu%D_kKu41+XS5ygBn+5Q+qXa8(w*R$9HL6vcmV1=q zN@R++7BPx@E3P(-wZr;<5Drt1v7E+jr?jWA<8!P5+GlbSv4DUhZK17>XwGh*-vxX) zUaH&mz8T*_s$&w-I}w$}l2CuGL8UO6i>t(iYl6tR>zqHpHQBhJA-PFqKg+BP@s0V`0@(%Osx;({cD|Xw=DAys-%xOVNKnvE-+La78$Ip*r$bZ6 ztfT+KY{fFLdvPncKln+!G(G}@GjE3C!3{@L-`w)O(|%x;GCFP|JT7rp$yOU_aKM13%~B4QezUk^jyb*vx{qe! zpJC_#zN`74u*RVxzVvQ!Vc~;ewm;m+Qte_5mq_?LV&(X~mV`&UHAP@WpfE5?v3~|#~E;a#s1AW!} zHr!P6itL6Ztf*yeK>MHFq43Pum?Mh^i??bzx9BW!n!pIOA!|Ilx(HJh+VHgHPFLR0 zRc0(lb!7^2N9zf+2i|RPKr<0Cxw0|MtyAi+5SnAm}xknH1lMpVN!lnjUgcG5}Ss95ZoyrSglis1j)-Mq@OFHwC}@h z&Dp43XlrD&>3w*PE7O)sp|eBv zzHIQy8h?EbRdh7w(N%C>PdNPQ7$}tvfip1ZsOqHroNK>ciT{4<7GebC==^FjhpVq8behRd< zam$Viy25pyKJd_sg~PyQA+Pof&ci+2c)@#H&~%6(_*%dj@7->dj`wWR@a337G#R}a z69sDc222U&E_NI{f%%2R8TV+H$^TvM5p}G6*8XPqFdTnSJ+UqB!8VHXK3ymm*73ej z{%>C9dcnp@^9E?^=Wc6)1$%;PzIsIAt=1*z96SK3q{V|stz8pHPua3sD1$_MzkIxs614O%^c{ zCTizY7k5c6DKIqm!ZgiVkZvdx;-pCt45GVVO$Q<^DY<-I6fUskh0mShot@8KS(3}s z`ef>DZMJFDTQzV1a0GsStDZkykQ;tlad3`UHGnWYz-izU0lLx&c!FZ=epISShTdT% z-!*Tb>l>9VG}-Bqzl$3GA)zB$BS-_!mbpROQ0t%b7kq>fS$O8#0d5XlM-&#^e_Trm$J{wyh}8U+u+8#-(GEC*GF&WF4W+z0M$ zMW-ekA$|=wT&=+Vc0hkdzrc)O;oy`{WBpNi#@BV;LT-W{;KkZwtsI-K5Jt??_+1CC zZh7zIq~pbX)u~#dmd(lWFF94?{I9h=zxO7wge~GquX-qWYULPQgoWy>XgrXAw8{mH zP$v5z?Fjh^v1aH*Z*6OGonplbsAmQRg1o!=r;CTGc>nHqKO1VKY-Sft+HeXv%F{YP zkzGNOB?yNE!;b(!Jun%;j{@wLi(dINtWicuaJ#uLVukhMrRUGH3qp*1VCj z?mBw&Oh;SaEU9wzKR#R{Ub$Zf4!a10>p83aCtJ3>fuAucWMu(NaE17N@Lbogrq@;L zC7p$h`3iaBoSk_$i=}HYt-`)TaWK(8Z$qDd%KiTmF2;S|*5KTvqtAi2vkO`>)-#ohOaTAa(_Yo^ES@1=T@e95YvaL=@WO{ZZf$4JkHb^3za(DfM=j{$Z%l)siMn>Pm#nm5hYdZ!6E z+Ba6~SmmT}(rKKq~TT27}(F}r8Lj{>rjIJ9b zYKyUmMPUUdXIm?u_GPP{D4%< zZAsv8th${g%3$T@l;wcc4(}B7D^b5rl+LG14Xfzt?uL>KzG+J9+rC0+o|5a~(x>D;OQ@oqMa-cFGN zn6VFF|C%TA=e~>WB!0_>sV(ZJ8%~=lnjbRd8eTVu(N0$NfXqmSt&A*u2diz)JH;~* z76R5%QZ)mtcBm7>D?gw-I5~JaV24klyTFNW>u9NqJA(O#&On!<|JSuV#9jh3w=PzI zh&IG%qGThM+!itG?hF}7 zr)Z5s1>EQe1m(6&;>8@ zAo|#2>(c%>GPw!*~xj2)h#lAl`d(S z!(2?SBVHg@Opua$zn3z?)#u^|!VF$FcPkgilM*ejvLI@@v4}*wQ|`-tw}N+s zcmx^yz4HumQP_}SMZwW9(U=tAh4ukRIY(*F+Q59Rn5FO(8SQ<2 zk5>GfLkqiKdpnr7t*i|xWbZ1xUiq>C((2qbJzz;woI10RA)}+dOFsf02794% zQCUw)M!dwiJifwA1K&MJY#dPQ#5TrOnv`f1a`V=6@Hvn2PL>kushtgg7kSIn9z#t* zX0A-BjI}dfQ_!US#4yr+>Le?6>Lh<*kuAZHzp3_8uifa4xe+qY+`}XdW~lo`EgrI2 z(s22VNKa5Um%yFo+6&SaG17Ro4mbfnPgChGpzmIy`XT%a)g5wcV#JTEhx{ z{_W1@7hkM7{?E4~qfd(bZB&IXv(8t%p?v_F2D8*Bs~?wtwrV2$G<|pE9{n1ao}Uf< z=&5d@)%KOEmZTNl%CE?^$?GrrT^-jd*WX7BrRlTiqs6zYM`ZyR|{wH($-@v>xW%hMOEgQQhhwE7n zxtmroiiO(GVO56h&_t~$h4M9u&}Rle$_3|ifMidI=vU~NZLqHzEj?dcQs_`Hou6K$ zQu(J*x3jumL~y0)j%=TV%wVT~jN7oC=w6in-Q2zu6DEFQ2XId0Nk}QY)({!6Ok|PM zNI8U`$$r>nogCF`@*gA$mW1;tzCHKDtOrMdZw|EW4Qe@t|M1Bh-)x=__z|ogtQ@e} z+s&=PvCal&5dyL)+%e@C3ov<|!(9Z7SP%X#HU+T@enY)Q>fHir-dkdWzPIDXE$Xok z<9Eb(hql;+Df31bo9^akWwz$}mJQWaw_NNh7@$(lj86zUB_1oM>JXvcFutyV+Gp9- zw^|bRD?2i=iDRz2+axM@=f=d3s!pze;|9^Sr$D zpXe9hgWBh?{3ub)st3eLC&paa_Kd5Sk5>Rcz{dZR_e=Lr8^744Tb{;2Kt@9nmIzSO z2RLs$(&D;B4BiYQGTopbro>wHo6lL$fq0t}JtuZ19c+m;-6`*7VY*|vbLe>mH)|~O zaY1S&tueMexYvo`&-^;GZLvr8top2;5)5llrWvJRx_)DRW#->#97Bn!PHrSzAE@fA zYI;rI)-LlmA#K+Eemx;+>(P9%!pY9kKjZ@l?TR-f%7^U#H|)&8yZ6 z{r$iR76BAm|4r?fa2Y9}OH#^+5TM$5Kt-}YgGr=%i7c50X;wR|_sfWGPDP$YoHdz; zmTHfxRDrKfTzoFv&P(S;bIay}g=dz$fHv(LED3uM$mnwYKL_~*z3{j3{^%Cv6lr_X z!WU?C9)quDfp30+NyZN1vVcxY87-$%+M3p)fMHX1(x95K>{#AAOUuW0X!42fQj0dBO6X$?$qLZaUucJUH zUnyC%D=amTR8TXox}q)>4|$?yr3W#3WhRGsV#YBV1t^21N`PG7`k^IX(LTW!fERc0 zmqb0QKJw$5JYz>oytC`(RR6?4OhCHNXOAN1Vf!hoi}L1Te?G=ztjws*%h-3 z!t-f)>jj6()a#(FUOhEKPpE%K(xz_A9-ax9m}N~-jY+KGl;L@zHa%tR7I(Y&oP+~J zUR_`Rr7;9~5#5VQGyiU63vlU9$R^1jOQG}LyxScASs3RI@9V;Li3dtq`h%!j8%Q2c z{kH~p1a}3peGhmNon!2Etct({#>5CPT+o$6K~=j7SP?#U9@TGBtQ)1Ew302nznG`o z4Gf9&eXkDZ#YOM1c1wVg_`kbe7jZLUGJ^`=Ro!Z;X#d_zCB(8kI1iTrcckSEgBV?f z1!=o0?px;xk4{Ih_fqGHdO)od&>Pkk2iPF#lK4V?zE?h?fL{!$_HHidsUoZc&CbK| z#L2P=pe$zuQ1%nI5)6qG0_&>#e>49{4kygFNJ?yq`&%5E>3g6IN6fp9PO4O<@J$pX;y}%?$f2W?R zIgu^O=*+bS2%=S+Z;u?vA$c~%6z!JYs(M2A9aI-;rZWq)X*_W_w{y%3e8nk}8qs{H zxF?}iqF%1@3vinl<($itNw)dhC&2OBBQOv90%qyD3ltQYhlN(cE9PNaD*kJlyq0nT=U zY9h=OYvNetS?x~_`W!Ul|JvKiJ$mDm-5skN_u=*j<~CjqOJjXP>#YFUFXL_aej z>70TjFY|NJPahnftGk384 z=N_$+6xdqlq3_`>2Kk!nkoRl9g~`($Y&gKl`Gl;Yu)Y_770Il;Q6g9PB5x`Om8)1N zSDExLp{HW_7PzUBMux_lC$^0ZGJjKdlIKYE2?(s&37UeGyNq8`Lujh0tq@E5~k*GqK{MbC_f{xN#b@A;s18+#BwB5`B)+}p3 zNSg_usE{v^4XCf_vh0rW<=Jsz@^ZDLG=#5uOZT2h&>QtP8`jo}f-;LO}&v0N_D3fdUfz?yVQl@p{S#Jt(@5gxUYm^sWDOzSi3 zMEvuwsVe(Xl%GGB>kH=2<%-e9@16bNyYJD{+1em8td9MP!2w=JFOZXXk{-)8n3S0_ zT6nX1SGquckTWUJuqoFsRK!=Bqae`&=+&P7wj zWVhAkO?;oIpyJ^9K$M@1m-Z$#2eS1h;1?*vJ^{5n7O)|S=vMS?j4n18P^s96BaH{^BR4pWYYL{0HD~7>O*8&uoqxOXa#MB3i~c|4vC+-^ z@9P@MLpmQ|kKq6GLo}M@->mKvyq%P1Dv*^4tfBD1yS-8En;N-Q_GNWNu7LA|7qClM z0A+a4+du3=iKZWC&NIsxA7}5ofJJrBf6RX(SuOnm8e1 zfy#IawnyiH>PPu_N&Je5c;mdiK!LBo9}ytLy6XcFtj>1xcH5Wk)&5B#(;=ZjUwq$t zOl;h5Cu#W(y9pBrkQFs77o!Y%HFLa?MIj!7eQf>?>ZMvFF$#Qi<#Ntu*on~2IdPQiDfKjc8ay6&)56rQ$Rd^p z=k&&5z`gD?d~@(y-|5cN|8~{VBKs`=`FuadPILrFbf{usY4G9Z;=TqZuzp>f&lf?5#(W7Zo zS9uS_lItq6ro0xk5m&^rtq}~+`L#5|3foo!Mm+&8Nk(cmH^FDgc9n?gZHtM9834=GrCE4(uGlDU(NBzzf47#Qvrw1m_Zm5&zP&Bx`+=UmAx zFS=X3)Y9Acjby<9c|D`&M<&62fgY;EexT#4xI3RzN9UR%XjdlyX7 z^qYAR@awx6jA))xwvpQ_VZA&d`YH$l8M;1mZvZQDdfiL$v7R03(}s3WlR$Xr!O+Q| zXMRM_EiS|M2d%Pktr#QBB)T4*20GN&nDaodv=5t)(lh;{_fCc-jgs;|3ap)tG)SMn+!ku#P#m#LDMUN+NM(fw#xnUY8AW;|o9 zu`-y4=wHC;-bHg^RIs$i-b`7~g^KpC+>_d@FrYrFFJXef$Q@7nB_; z4D}WTM{5IANe-Wje}!YC28;)^yX9gQ7x;QhFV$yk1|z!TA0B_4Ftel7<&)0Gnc?Q? z?3!QYX^}Z0W$kshTc*0iLk&zQ_r@wo@sJJ=)^Df@yRCg!X^Uj6$YNTP*+;|;O$x7uqfR zjVMOr#exQjLgirHUGNUW6Mz>%DLAby@U|okDpHyujNU6#dL$RkYi1&+I&NbuP0|%9);!V8=sC^FeUhjjl!aBl~ zLZbcmdfjnJu`jdyg?)zRp%ei}upQkAkW&Mk73zinE&kq%EW-c3oF>R3lsu}nZC>pl_v5KLlbIrC8GUt{{!YVI_!m6~ zwLn?G6mv61ey{xzL11(pWq!}L7j1rrFHJaCJRZmf%O69F2 zELaFM=QeS8v%k1Q0@_lW%yo?oCXcMIx)}yUgat<|hXn=?`f7W0I4Rrq;O}7uQJScH zXz33g^A#`WVFj*bliyE71yFS|6cVaHfHQR)@mA^_#-Z$pi*SXBko(jO~Ba z?bE7OUs^F;e7ImNmyq*5Z+l5}ZE)L{J}<%yxrgS=yv^b<1@tm%07a70NZCe{0e$(* zR1J?J{tHsQ{-}HcTBQ%>NvK=MWT2$KtV31x2Z*uBip7GxAb75tGs%hJy%&92i&D4+ zwDk4%zdYvyhr?3CPldV$-t+$Jy5E6dWd+)1cP@PbtNok$m9QOr_whc{&itm;s_c^O1^08?vma(l<(Zd6 z)P8A`8aNBQ>v1DDM@ej1Mk`r~_>162GNgWGOpka>U7K4FiB}FtG2~rT@9E^i7fn$J zRr7PkyP+}K9V*juRub4HtNHD`Le8_+a zb6$xqx%QC&GuFihf*y^73P$OIOlw!P96;CRQ4F*5&{UNJ>uK{}7seoVsIz{JF^fri z5-;t&;{C!TdBLT}xgan#BDEvyzf#@$9j#ZocMW0b5mRmpr({$?Esuxqf(dk9t5iw5 zE}rFtkL;mT3{wWL58!*{+Tjg1DjpX3<~_;2o~4s>r7)n%uX&-HGnfq$rA!%S?2jW_ zBYvzs3>8q-{?JP3+gOuhp0lTc3uKSf1qEM?PX7Pm*ix3Xr3@-+R)t}1h#}{ZCMJ>34ZD8>i*dAgY`jN4B85XKz&4c zfEE9W^~N8yh_VR74I$l(h?=D`Eeo0a+GV(Qf`i8Pr6XrgK05;4$#<^Rs+>$|L}hYQ zB-4U(4wO~ZooO-eelwiN+Q~(&x-07GM8VlcG4S^~ipm=$$@6Jb3!} zYqL{rahXw(X}(8pDM)C@E{Uq$+8Wr?J#d1MPdUe&ANf66&hBG8rro3_QH^Q33;}y; z(u3C^E?eIt7pgL*eE}Y4mH_k&!Di`(bUiaLgEYH9X`z~d3f@|-OB)8QuHq~)@#s?kOT+)Ku5^; zm#9%r){TH08Nv+CXcPg5&;W0Ctc$uf{9y3wz?Z)9PR_skH3z_Vhv%QoZO%E9_p8{d z=6h=s$kDQ93^Fe(LQSMLyP{-i1uT4a7x`g1ZE|AFvRhp zu{U4{&Z^rhUXm_d`6J@-$ecT~#vF6rf{41_rlbWugLU6{+UI-7iHMsK|3Z}l$2N~{ zTH2stO#yt6EBZT136+4id={RBX)>|Wnvq%tsry37M#DLG?w&)5-;)sg zJp&ieC)RmGFH7*hGgG-)5oOyO&b58+9vOgAG{#==`Rm5Y5jx?}U(jORJ8CX+Im_4P zx<>t}7NC~D8+g@AZVzmvRl-Yl7ue+Ca=+yc78I3VXggE2M^u9BX<6X#*rKhiQX&hoPQ^?xg=KO) zI0f7vg4iVqnZ4@mMmkn!TxtFbVK28NMHGhw`v3Jj@BF}S*kTFO04jL^atD~*6VcY# zk2nfYs~ttg8SU5FChIJ2fsd#Wn&>aItdZs|OncK8>P_3@{58aF$% zG_A(IiQQJ(_l4>-ZLxF*@(lD8mL{G?|MXl`A=1!=t0$9mc*e&Y8go&Mux` ze=qwJC=tyJ(?HTI8ub>q;7s&xsJ~J8AtkYb6`kV2IOk_-XU=oQ!o<}YNRF-#YTV(9 zw|S^>%eN(8$)8t6=w1N+bsD0=Tn;!! zCIRcomyeP3T2>bs^AosIoEVM?uLJN{rnt2Gx#A{S?_D>sGyN>+?L6(_@E@8B)3HeZR=?)9DNR@5ALl3OaRarU&LPku8~G; z526QtMPpDp8E845uQ=&cI=iiGLq^HAp=)36RNuli5MXQwK;C;vLdHiX6R_B{Px2shnH zZ3|a2yN>WS2cAZ#PyM$aPFg;k5Zf(> zxBLm43M}wG@4C7n(JCFwM*ToSk*NrEM25KnNPHMTJL8P;!~(jBN|QWCL<_y=fqILxV0+7x9jVd2FpUb+*at7f5VWN2q*gBUbxH}W+w)T&Vq zmz!RnU1R{Cj154RKF-|)Dy=GMH?>K4E8f+`(oZpL`2e^}U9NMe1=zUeI~oLlJG`~V4jie0i^z2nXN}m>o&8o94$#;f8 z(s$qc?$y?n`iM&B5_&;-UQF)o-0XtiNNw+A zT^xf=31=<&nW8<*A0(9IiK@CYW!Zb@WreKc-Z_HA6NfJWV0*N@a1= z`;O8+9a1WL4;Q_HhNNmF>ecJl>Fic3mQz_><9kn+q=J6ra0ORI_qd z+FEH)>pys*`7yK~y3O3w=pb-3*FbV5Pb}{g-Q!Pl-*8x*i#(dhdi{{1zWx^UeaBDU z-$N)7gAt{ne*-)=&$=A5Cs|-I-N-{oLlg>ahVjL=;VxU;wVbfvW3>^3(5xZF_+v|K%H;}7TG<$3H1Rzo6qb;E&_IC_kqv;IYi ztZfHfga+yPsUMcFU;QMwIQfh5nRIseEkM)^JAX8hs!o-_3rcf2z%3e82(Y_cw~r_e}bo`vy9zQ zu%Gh)zH$hlrbH|Srw$U^5tiQgTGY7FVXb4bk>W|-IkC0s9joGS%3<26)?+XCZQH!l z&_bZyaW>cgS9EG!R(8o)jln-!JF0(`a(FUfVS}s_;NMM+lnuA*9aZH>_lm#F9$_=d zEP$|-4|MmS+dS)CE8L2m3qtbRa_;1~4gkIQjrp% zPyK|w4%`#D`jU#8D?;FU)Ye(ukiIo20dnG80(M9HMlH?D<4W}lf7X6b(?;`*s;Zi3 z?RLGS;Z;WCjQdiYyrZVOK?dxIL8R7e#qAPX<~L8>VtgU$480z>--qtH(rjF-Rz6b{ zR*;!zkvEdhE0F@}6f3o)3M6{W59xB#RAM_fFqUw|6{bp8O&u<8NJ&I>B}_!`aA(* zgUJfYIy7|p`l-7IHwO)(I4fQQuZv1jD}Ua~P%QjhxvL?rwW_C(6fypCzDgRWe#F4h zs0vJZwM63zOTI*ghQRRxt86zs~)$ge$y^g26UKe*0^})D8+fY7w>8kMia=C_tU43LgV%V9PV~D+1JdzC* zxDhSYS*AZ_(|9>W<){Xi*2=E@L2%1X8HgifE7UvnZQ*yJx3&K&y_d9DV9%tphbY#7 z9a$OF>^s~3rr~6zYKb@KP`_qZWxvY5RNm1@?>aYRNruzx83&mr%nS70)H!lJ`7dQJ zO~mLMflVC;Q@8P|qqIPw4rH(>o5~{Hkv?XZ4K?%+Xl_@g$tJC*EY1tB^6a_WIPbXK zg44_QqE`;Kc7-|{Jxw=uYffk zY&+SbK+s^F<%}<9LF}}YpqB7M246Mf6@1pkLaFIQ)_KZd(5bx|Z0Why8dAqC+gP|U z_rI*t%CS;HJ%;9CRO5_{$ALWlq{x04gf`8~Hh|6}c;q7-m)%Wf?5IUIU% z%c(69VFrO$HgDSGzTuM91Mp&0DY^#Wh}(ceCg<;!E$PJ^7iQak6Mv&EUW84pjdp@`KSl-sQDuMT*uf zg9PA5>{2rYwVWwnPiitJfdcc=;I6*%4o9Fp^)G46Z_9DaE(5C#DSy^b-ciwSP0%Jg zP+!stY1z~RlpgXvN*;A5-4pz~?!?$^r7#C%J$-@b z5O?5H&xzK#+JrJ#AuAW3)194`+f>A@(r-5IRvX+;l%WpOsf<5#XP|+IB@a* zteVjcQ&rrW`SxWqDL;h>jT{4-i8XQraDbu^4R<@L7-%`A=I-ZdebSXbB0N(+w1Ku6hr8Kl|=w+xR~CapId3x*xdT3 z`}XiUbB04$nNhf*4Tp`wWuV`+&`QrFbr*Kb46wFR42Wlk8wX;#zcnY;Tq!+X0MGTx zcFdm4{agH?n)ffeD{0V%Tn%Py9E(P0P`;7ch}%g^Qt(*5WC#Wgf1(4Z z@nKehF`M7I^n#n)2JGk@qzFu&&8U~?e#|9szSHpb*ckIO25{w_YiaX8#Z`)G*nyz> zL;h!=r@Ica1FMk1%g6h=3XcB@|2dt3Epo0#Ho@ChdKJj6W7$F_>3OwOgKVQX&@-2+ z9{_Ok;knqcPTFHq3&C$Vr61Cn(s-{DUo4sbGRHpKEn7Bke@SMoxNWIFjTAw@!qOeN zz|LWefZVjp1SQ~aO{6WeswNI_BSi4kKA=yt))W|wn%qUUq5dFv;N}Ki1*KA%iq*Rd z_xN+1<{9Uiso7(Em8D)8H_bDqQ1DL3hM->&_ac8sIEEPesd!X7N!q3WE!rh8b$&zz zp*LX?fQF?FH-arhMu}b> zk6%C6GZjlO*Ku32x;GEMVoXfa#inxQ8bb!^hVrmh?G+_=sW9msyEc4*yq#K4`$X3UyWE|847?E6PU)d-2k!yq zPL=Xp7q>`E%cZEWwEf^a%pQVTPBlFX2V=16K6xF9Ka1Hy9B&w`wlODrPDK>5W}^_P zJBrA%SMo9n9*i)HB!%k*7yCrIRXMC%8RDJ+?DPsc0<(sx13E1^ivobCoxuho(qL9< zD-!>EskBn&wdtt$%6|7#Bd5abh`0rVz00CT`3=72H^?UV9}y205Px+5UN%fRJ}U9^Q6W)&F@I@4q% z0u_qJU{L@;%>rp80j39Zvmo8e^m+Z&n_6ZY6(g(QJ6EkJf&t zp|YZ-s5+0D-I{qLvoa^BM5*4T(`2XwC@xLG1hR$pg6vOhCxnq!Dawo^K)+Qxlgs}u zwpgo`)>1qPcyzJxy7?c3quE2lmwI&d5`}vJH;xeL^KAfLeq%PB`&-z%Vh*v; zJ>FxXdRsqjy&ItwjP%*zdUC@n%Q}$w%|u=WX!!v82yg*ri6{%NyV!iK6EdhyFPk?-G6c=;dh?KSLa`W+=^;f3I>%`!P%pFx}Ze zkNCqNPwS`(6*!vBmT>bQc+uQYPAbQNS0YMY&sN$2b-+D$KIZ2hespW}R;7q5K}Wnl zZ<@0|VL6PkLTMp~5t7I=pq|&GuVGa|UPTgaKkAZEx~5phW=VQ6S&nIX(z|Pa&#B%s zxPm@WMq=J^vAvXxnx>JG6~b+IAbiW})<2Qk!t4V?o{r9qpq76FwV@mN9Mtk&plpZ( z>z#|gj}O4Y5DqY|YKi0nv2f8vaSK`|a4_!lnd#G%xY?lJsP1LWzFYa9Qd)nU&kz)` zYK*})iv`+#PjTIWbpQngv> zmx7wyq#PX3sI8QrZSV$f%H10{IeeBRL7k`SQg4$pNSny3K+h8cUQ=oW>)j@nSr^JU zD}`&$82m9QK$s#8%>KY3y7FoUkUx@|D^Eb;js{P_QQ_EdEd+;_*fQao-KKooGEcRT zl*k?1%p&)Ps`%%6^f(=`xq}m<+L4i{Q(*3v#3qB+@OU^BUIJt}$C`ZA4Ocw5c3AAY zR;D>_+Z6dc$>%)sbo2fn-Y?*%L6GA_hS`5lzB&ETE4o_qtodS>;?O<%p=tOcS8h@B z98AL)yhN#|rnWAFU25WtvLndeLs|pp`iuehsZ{S>Az7S|56|UiXXN-7G?p#aIkW}z z3Wu(c$+Rj4moZ9Dq*+m)P|7JB>O)5UNW|3CT>b)b?G(`Fjc6`Hhrk;QA|%5s)$p7i zOWg_N|8H6Sw9o?-^(!+cX7o9q`O!<)Wizx0<|jAUcO z6j#ITcJ2s16cK(=<*e&23;V4~vi(s7=%3}WW#1lA@4&xWxhlI}qy1p_`-xqP*JPE| z-{EX^WPzCBiK0p-%vq0b?!nWM9d7N+*22cls;1)Dyx>g5v?*$S@_K4l8aH=usb<~A zwjGQoFhf1m`=k2m>Q(hl&$1YonG$ZoM$!ljvGT-@Y=@s#l&oXQ!m6&d-x+Ox)eYc)J)12J1Ax2A1U@~v`Kw(fG*M^;)Hj)43Cm^G`Nrw* z+*HnG4xM`*h+0P#vapJ#C)Oo-TnqRZ^mmg8?y#`+WA>k{u9rsDXTa?xL&J*&1TTJ$fMq3Z3OMglKJeqJP z>sB$LYFqt}(NXxW(TB4j^k@&EL*%01s}?qLwwp)4(<#}}--4(omRlFJ zXTMF~ks6lrFy&y{VAg>Gvr0;HHtarMvTIpM;DJ+Nh{3GkIO{)9XCenhqpP_Lf#Pzn zgpTYEWoOI|of`5Fia2Qwhtk}qf>QV=ts@?=$esPf`^DKXSu|P6oe+G2n&mM*$eiP7 zYfzMrY_qeN@ZP?!qtso!;jW`N2%8B z(cYj|uJ|5VDsH=^4f|=&DTB%Qi7lKu{t@98sXgcyIcKHfL>-4wCeH?d}AX zxs2r^JYlB6W%%)qf7^||zhQ2-a+>6V1glO0A)9ckQIpbC^-A2h3wo#TRz+ z=yB}%-s&N@i4**?`Nu1#BpZ<56yB>z zP@TBN!OzGo8_AAoZZwRs>vUfVl-}mLZ8XT+&(7V_Y25atd9~qHz1@@_l&gAsq38C3 zx!NaiI4>Jrf$378+DqikMeVsPu>`HrbxV7e!){(QJ7=<|bRALEc92r2_~Yp(n=f0E zBy%lFn3d`E8Ep<-zs7VHvXDE}jPOid2OYE)RmlYrKIb)7-$m-=wmxs=wWKy)s_rPs z%ioxFA}xiwD%p@ap1$W#Uit3E4IQ=&ZB`5G5zCc%k?u=-MLWqj%trM34@Qjb=f(_^V<>Nd9y@Gw%cRHzVVtiw4NR?K zNz{C-AXsV#S<18anA9cxEB$AP+cDM*X{af(p2it`^7tm8X5{THX|6a}x4A8~+m7S9 za!~QCR;TVPX_f9Btyv{9;;|rm#EPxbu^WPPRGaVDJt|i%?9O?ZaW1thIXI~+c``$( z@KLpXD}tWN{LU(2%`rDIQfS*~bb2FeZ_jf7#PE%YG@i^HVyQw5E&W^JGVH^$iNDDR zQZN1;hOL^ZpbeD3qYKAoo^tyq-%sqA!_~zpQNUu}t zP3+fNmKn!E9``%g3dMjMeyah|$k}Aj6m3>!ETt!pU85MX@@S@2@KF|J+~!{tVsqu> zWyz3|fN;YkVS9rcb$x7UjCedH<7Pq9zv60aV|NFxFOoYeazZ(2{nSw=GVpmCw-ts( zBHqHl31&@)N{3yCbz4QlY(;G$4OEHmsc#au{eA+(B6dMkwOlKM7Rcl>%Yk-^1Py*Z z4gCJBv)v*6K_eKB`OMIQxJVAsDVwXTg4sz>BE2Lz>nh^LHJntI<@O-zm-%z+fj*Nv zsXqCRBji69?vPqmO(acPrLFJrU9-7t%j=*azvmuk7fri&t6mzv(f>%1rT9UOYNbDE zAZ9#iB4w6j>SEkP*^fn|@Y?qpae2{37hZ@8(6Wd2yrCZlG{a0gG zrt|lGc4fL{>U-GoYo|-(`IP3=>a^bJjHAC`NHb-b-x$V>t&BUs_PyCN(Z6=&(5-b_RT@%4zxcc@udOLc-#-cio63Bw6z&PK>%S&ht4U(h?Z zT76@0K-$)?+rDoW`K7w=ajLZCm@y4>C|M*V*^Kg7Z(jeFp}g@Sp!|B995LKRa>r<@3)@9dhOb#G#_EI8q8%+okZVoSDbF{-k)?rv*1%W!0s zpbU|(VviN+)aV#sJ5;I2OTzStt3ApzLYrc%YRhDUMm4=e^-p7#Bh+g9Q<$mmvNjgD zR9tDe)TRI@`wBd<0n{tPPCWfQ^KREzZ}Z@-v5~3FS?fi4v3kTVIX#u17&{$Xav%9I zQ5m){MWAgkl^`x6XFZ^1c{M&gUe0+mb8h*L>=sOkp_2U?k4>8{Zxe27-AwY&b$51p zZ#!(JXn2BBNqR#vCaHRS%0gbu7$u7`zv=cPdXJq=8WrcB)inx1@|LtuItG<9d z`+QfPy-4Y1|E>bBAD3gCzKW7Cx%u$i33caNYgy#c^tmW$AM|cql5U_b538f*E=ynB zFuA(NuhXm**;3M^QQuvWT(mjwC%8uaO&RyofRiu;*%N`oQyL!Nk~>-OIFL z4l>8s3q4|kq%nK$FTuB^8Q6AfD%PNHXjkZjk#tFxI`Cg=PADzpI5^_$XI^p-a_)jo zt&O*Ho*+?z3dhTs3D=$RtPR}1<=N(I0f)TQU5(dKKtd(r(@qxDW3Ud zrCn9$8lv0pbT>>Omm1}UHEId}h_bpA?KB{$(q^TGe=_7C`EXxTXXCrNtcv*}lYIH? zP}uv%mS^CxLd3G0R@;yElsC<;@=u%_BC- z87t3%ll>8C3#Axx4_{*jRa)f!Ns^a0&h6$u=h#n_jQ^b6!tY$rMJTH1=$fuN;{4c$ z8)Uq7{pMuWzl-EV<(v=%Y%p;YZE0;vMaM>cM15CF+gI?r;&A72p&ena=`QRa9(m6BHd83vFLqh#s@#&2lExU;PIrWusw;ty z*W98KEte>12J@vHs98cM&rN1bQD^QgnIOH@bjjzeUb(#UF$&V%ViR=RZ^qrsnYDV! z{Hx(*${W%n(tl(_&}xYrxtkm|%Q8P{UT>nLzZ(boPO(^l^Ma*>))~m@{(d`PPFZ?DW$eM zbgZR4W;S&f54ewcK&>6LbXpuOttD@xqK~-;4oFM#QC$NpQ_U07dv1y6EtUv+`7YcE zj^>mHk06*?u9xxAxC;8b>#lEob%NGzrUwdqLO1p}a%>-(|1hkhNRnGfuVGr#qK5-* zy`yorNfo#XejDs3L@1vCG9-F21cfjU3LHPV|9nKmvqNNeM*@m>q0-{_(U|?8m42({ ztS(&uwsAOc^%9X(g@)z1H7}c;m{ub<=d_T? zYCfR4=pbIk{Y9UYK`+iu?Cr^cd3k7yQuDTY^~%1YSD;JuOuw5NmvTB)F*6SQgq^j1 zttB)f^dye#AIv!5^q^_`=`t)vchA5gXpTc+0w5z9jZ9YPP~EI`l^{-hpnDTv4GcAD z#U$xau^i#t>~6kbYMPTWmCye+|4#gsq8zTxWX(Dm&x?VGEuNc00v>ufyQ;6{SauuJ z^>AbtIOjXaXDL&9lLlLjGfcIB>YZQ|LM(;nJ|dJ`kVm?c`!^aKZjCg%5E|mRrEryw zQ~^yPt2=J#Q`&cITG!vJ<-2RIHAz6$%AQHprEPLk>Yn&-IwbrVjR*yEu~xp#&@0v! zn3Tn|Pqex>npK@Bew!DODVwI6(m@SRyPcz4ECr6&jp*3&-tvv4X_Kb7I$|PRVZT1SL$L|9RHctfk2Gn>hx^7<=Yu#vCWKc@^41Rc7N-Cv5@0>w`(N_~+ z(>UXsdL*0xH6tcAudrCHxMB+Xq?7IErz2yJ?(#|0n_MtzBBlNLG8DJvS59Ve;Xt{l z#;EChr%j(B_qgc1A{N8OA0vQT4SiPDcjYucaG2Sp0({FW9o;Sa>gLNn{prj+m?};+ zN}ftqOq!S?RMKtlf0A=#k_xf{VcT5D0d6W@f&xTSD#M~sxalMQBL!eAVnVdHHXY`TMplzf0T~srFU(})g zdG)~d{xc^oszx2-EqO zUIR568@_859k)79(Y0CEx_kStjN-Z0bJfdklEcW83Lz>D8lhMd!aYJNZoAfsT7y!n zY>;HlQY)x$KXQL4m7$qTNOuR@-hh7aFeD zA+)xzCXr<(tC>NCHvdRP{$pNw8wQ>QYmn0}w- z)}uA3Jf6%mn6F>{AmN7mPhnj3nih+YL_AImBJ9)hK|fTu21&uc=clHh0x58Q^6FH| z^q_DC@mxh#*BP7?EuK{YvOz(CBR<_5C7e59Bc@}Lr$0&lL<%J>fGhsK-f5T~Z-9xz zMdK>HQe3-|goMgM&!PhAtm!&`vlA&%Mwu!c<_ zvDttgFyO~`hTX&}t#raT;V|^wW60Y}OWb#$>bSu8K$GY^(OOj}`;YvmKf@zsW3m${ zww5xA{=9_#v#8?l*0+MZ2&%cA!@9PAsb1l^L=(tl!i5q&a;QGIHB z?FPbKon81NT19Gqm7L^k5o#-M=G|t3c>`07sT!W2pkmn)xFi+iG%KRZZttK##h|@` zp1!x-Z#j>yiCy*7*b%(&dr9L&JPAc+P=cWYeF$W+Izu`Mtre``0KAVC@iEQUYqo9g zJna^B;jHpLqDwLcHHoPBmT31y_q!?e2>AFPRNb$?+^WQC9PXR-MszDPw8RNgu)ml> z-9|(#lylk#8QlvoH;SfzX{)O{U3M`)DB~)%CQ&Pqn>3P^k=I|^RvXx=OW)6K?I!k| z1H#^4I-ah=&|@ifH}$0qf11>q2@$G_SxQCAm1`YPx4`gn#^0CQxyNB@KPIiS$4y2_xv7$y1~oe%B$M-^}6jgd^1BMihe9bg3?Wv zrhJ8J&D&rQJVRTJUjZd?5o031Zsq90vP2q|;wZV-H0u#b)6=Y`S_(PJ<@*8blV)c_H^ki)q#i0%FgPkp5W(QH_K zr1)-bOnMddXp&3f<)n->+dtBkmCd!ZK~S&UXMJT>(jRo%cF;Pa>BrdJy`w|#CtCR` z3neRwlAC1CD~6)Kz+TyjSgMm(b=s_QPPpm1>|KajbpBj5$dJfMUGcw9xd5F@q9{9Y-CIIKH@FOoYB-l@p|KiV>+D zrgK2J;Un%a*Qx4b66TBjw^8WBHkR}O!`rTPAM^Ck__V2nmQpnatUmDWJy&^(v|ozm ziUzlI89<^?Xvd+J%-SnuSN_OmC4;)*K{7sNGDG(7K)G>aal0;XNK_a>P_3ACs&(F> zZD)1^pF@AhZ*1cfXC@U+IaX@3oUQVG4LO{pjvdU7YcwCJ>L@-%R*S1I%?SqihFmV^ z&eRdU{QM`eG5PaaHik8;FK>A7yJJ)LCPDz#J9Y!XVY7{?*-3*ZF_c14r$eFiKKaX$7}va$)T) z_q+bQP2QV6`89gPxFpy?zMt_wJtVmnZmxOf?KEYhnze5F79j4_s3qo@aWheu+0h1b&j?Gmo7FG>3)pQgw z9N9;KE47w|0h&Lb_LFggeX+N6$aZoyxbqxf+Hh2sjv}cqX%`dD>F7aydJjFPXe;9- zaRo9cE=~7yW2U}O9pe2rTeGB!lv67vHCUc^rg<>}A~)R(!1^HJl;c)cn&%r{qv(>h z6WGvOvz zzD!L2%=|K(n3eOPq^{~eNX7GKM~!f2<=|`LsjaKiKwxOyQn5lVEPm%k3~{@f84EN; z*mrYlPnR9~b(a&dL%|$Ix<^80`bvxte9@+e%jQ+0s%HCzmfQ+!4H-37_6J&6!bO z*eaGFcTO`wZ`3;4Wyni5pf|wY5AS&qw)|yQuBID+Ftigo2Q3nhbda(Y^wv*}KLUY= zWXK@aXqw1ZLYktA)OFl0hq_%Up$*|lC%10(vBfIB?sF_W9Pb~O@gp$p4)EXX8%A3l z7%%!lCnpyIq?yWU7+q{H5N}5nMu1eMF=5m95eUtTaF#2A)2Yr@4!CdUR-X}MdHrfWX$0^8#uoQQd8kGGFefK%6 zCt)1;T~Zn!l?8G(QddQ*ghjKj`R&}7TxovtEN5{M@m1M{P-yyTt&006zx2S80HD>o z+c-a2GiPzwD3xMDdInF8B$FtKdZPw!jJr(Z%!c3_KZ18viI&6)`HQlOpNt26vX7pO z_#NJLgy@@TKwVO6Ey~FH=J_??_p7WjAm@!hUYI$fa$ttHB?~iHE%m2_rR(NgD)9PeUlZRT*J9CrfTqm6#QM$( zVI{EMuu0vh-Y@+JhTl%qfwD9Qb_HX|MX1b;F%{U4xEAdVn!~DwD6A|;au5>9s|Cx` zB%nhU^6v=DmQ$pQRWo&WTTD5;@>ukf35@Xf^A2#+a6D}50MiB;JzH`dsg`sS<}5Ga zi>7a4W4gmcWN?YNRr8WuAW#9QVkVmIYc_6gI&B!W;q3LjeNHhNug6Bq9{u+EqW_~T zWzU~q|2EV<13Jmiu6v`m1mlv!N?$RBxNdBoMgmG&>alQY>Kvp&bu!f%qn$fiCu@gG z4f81(_o)s^wn>x}Mi#SZzQ(A{12U6zLCvPyVc*Vg``a!~`^cQ=jvm-C`iGPLzjym5 zVvmfaLauVG`a7)+SRyDNSF3JUJS4MI^2Ex@!Yi;22>Gx1yQZZDn-?ER-bek1O)zp@ zQ}5d5{RbS*y*{Jv_g#YQ`Id)F_Ub#38N@1L7|dCmKo8VmR1H4JS>qag7oFW|4am7= z` zg9PmjSU+4BhM{s@Mrvj4G#NYv*6^KLphb2Nn|D=b6i??mWOS#bP^l^BGA#0kON(lA zTiQC_(zNKh!1ldK3y1WHeasDAH+qK$*dw&b-sv?$zNiSHFDq2Mg6_jSz-`A{VG)`m zDxVcRkoDp|OOB9#n9lt&CC*jkZxJ{ssHPis!Qist+eIrP0-X`~DWdl%-DmC=i2)0L_xqe|P?Dqac zt~a!uIr}T{iQ}JrznUez$q_G^s~oSdZByyOjIrk~OPQ&}YK`OT@b9#Us#|45ODLY& z5RZKW2+jT-%`NBa*8Lm%qn!05^$c|{H6oReh55Vj-(+oGbA0<3+7{+Zc5>Ilu4eWP zHmd7jw+GNkC?jQ)K{FqO?IJSbq|9^0_h@UaYTOz-KWn?@L5AT9GLX#;r+uw8oe zZ9sdxV06_;$KX5B4$~r!5(`*-D`}-owfEn_3$Y51Iu*VBlHFxx|G_^+iSew@Ha~3A z1O<9ko4^Cv%qZ=;!D?%)QG6@0dX6|z-S>g@m;QnFt%KEUQnR`Q zo#&F_keZf4NV}Xl0?7tvt6Up*wf*RP1Dk?Oh6Cd-eGI(p#q8mpGXpn94ozA^ib(H@ zqvVwIvYeSRT4Ppw4O9l_FfQnP#Z5A*lCn@o{|70bX}k*F>gj`m;>B9Y6qF?Hy>W@% zRW~2s4*`Sz*5LF_b0V!twQvL)#}rYUc!n52x&oZZ2m?psPE&JpB{M%m4q>0l7m2v} zeZs%;iAGL7)<@!_PSLB8Gwj*A6NdTE(o&VQ->&B;DfGEudsLD-tZygo#q?i0U? z5^1i&C*h~G_^M5^>qS%3IB<~UGqZp^^tf%I{w8d@8?yQ7zG=#7+UZhRJM$AtqN}Z8 z#?lG|u|nnmOM{)xI>Q=g1$U*ueq`H-X!6+11L1cOOHxG!t0;#4iaCutgHOXsV|>uP ziap4?;$gsaCIELRlKYo?nSWW}y}T^#fZj-KvRLgH>%sE-7og@}2JWzD;126CQ!~`3 z*pm>XVUjycmWB+hjD1aanT4BH8$Kgm)JT)zFMbeAtwd{Z*C2NqoQ=33JQuQ0!dXe< z;pnGQuU}i^K7Id`;_=7zUr>!JBz+!&?Wf#A5b_F|hfUVGNZ?}Zlyjuc3(ric4JCC4 zu&y&0ow+R=YG+Fi{kfKP9z2j$)S}eKS%rVm!0>t6a<0RKevm28u3^7tQmU$<3nZ2#zx?|3b@RS*Uh%U7vO za(>FEGz_qMctzYh3=iFbdLnC%V64n7EY9jpKjhi*Ai-#M*P=QiPw5h#WU8|E(8lk+ z;lL)j>|N_N@AzhQu!V(DDaDNx17|#w9IkiN;Db@O$uqMUvnAtLia={#USfqL5MSJ* zq+`(%=y{S6Ne^Qj9Cg2@`)vkW_aa5<+l%i?)Z=+s(0dlwuWNnIyg58NdmW*yqM;o_ zumVm@z4B)1X<^Bf+)!XQk)_XUpx3tl*YK#k{4XOb9Q1hwR9x!1%wV8Z6x3$}cgU9U z8{X{*h8$y_KFN@0Pj|2DpBxH-Ut43YXvtlC43Q>tN6`g+8FL%^6f2=MqjplcOnzK? zLfm*6x1cB(pT5PH;G2RT)g5zHs8%;4fj#v zNFJo`q&?(Y6np(6hVP9fK)bZosFp<2ER`)=DwwMfdxs&~AKnph+Ac!kwDZn(dqowi z!6!wW_?o!4Kcmy*3;QY;>i@PJp{4iuOvnnUNO{;->4EBaQO#Rntwj3Vr%B4-`R*^Q zd4@LaSPP}bv?MUkJA;z)C+Tt$HAO6EbxCGzYAd(X4QjM3x-H`yY(Sepft=JG(RXnW zq|6h|yuI+;5#m3jq~vUss@1%-c3>ZAM{1g&52KFCZbh6CDJ-6v`!o~Ff5I!}38pLO zUx@9M|A=ug$g?$e<$4DOybZ|q&G2ws&j$sMo~g5eGR22U}+} zEkU>(0%?6RW2rY7EmK-GSTR+bABJ)OBeR@CRv<;$vI=y$Gf;#F)fIFV(Unwsnd z$p$#c%p{kss`F}1>QrZ>GWk%SZDpqb8M2bC&@%-5o#xRkoX6A6^LLjs#U-RIOE6YC(9!N8(=PL6$v*uqMY&%LYv42g8#U$m-{Ok<_19bGI%B)n0joX~VX0h*=>sRl zFeE9xKoEe*f*wxnv0^`92GK*>cGbNvy_r{#o=ufbUX@HuIiIz+Fr#X=*_0;B%we8o zHiKsA3Vn&r04;8JZ^OXIaK|{0TO#mSDiXVmcp{UdNJY27DMw-_HBX}7qN-)*5oEDP ziz#yrGYZpN_@(@wnJo+diPg$o(M-|fT8Frt^jh>g?O*Pr?6K@JX8+Kt!X#9`pQJ#1 zt}8{fASqMc>)$legbB-}$sU7of-YJQD5%F5Q8H0Pky91BKHEF)1B7E;wmUPU z)1rA}RZC%B_DX6=a#4~3^>DgszVyHLdXsi7`bjw7rHpPyGh>vI!Hi_jb+`5P51t!s zoW(74%N)^Uv{kJja=CNDUOqQZ(AgbjycMhMsTyn*3wH3%Im? zX6;Aoa(K5R$>GFKU2S-`i%E)`=e&AJJz+_Kmlu=Cj0 zbCV(Oc6mDdRJ$^Iz3j~I(_bcjbfl4skl=T9=;&iS?0q%9Xa0{=pvpe230x8OfCg8w zR#I}|G{=7M52R_J7>2YTtx|OjrIh@NjLWIgsX1xevu5)hA%*@-^SKTIEuQ|8ei*h1 z4RkZ+Cw5g2eqi5l+t?guVA^Ugg_?3%`l%jY4*ooQ`|Q6%AAA^wf|aZ7N3y)X zTYo+L`)YQ2$#``s)GH&bBg2t1P7>cy(ij3h9Dh^mlxl=*7;sQ0#+ZHm?B`56eNV?s z96wA${ZRVcC2D%v!YnHm>ZyL*+?6qxiTfXefyJ!Ehfx) z<$} zRo|p6FYhYlBkEqroaOR^c~o$`T2Bk+(nV+FUTA9QKeKULf8BdufKp(j-%C$@*W9%; zpyzPYPb4W5=XC!O$z*Yul_wf~Gy&zMak0LN&U>_!bfNGRWXu>6^qr0Oww!4XpF1(I zx!o#B)~MU;@0IvVUndhRGf_p7mCx(4nnP%!-Upm-OB>}9)P3>Jy88*P7$qef;_3XG z$%KJLxWVcf3N(+Fglfg&b2+56SIHNW-X)(+TbFBE5?AxPg-9bYZ?YCx128cUhgwa# z`+e`W0rar(7?z_s{Ra4uT=7Ava5fs|7d22m(FeA zZsGqoOI+M3xfhj&H8(c0OWNS&bITtzOWwy|9izDBx`m!mAO{1 zh&T2y{$aR^QiFX1NlF(M{w@h#nkeV9!^~2Zp#M?QK zOG>IX00ZtZb9PW_+FAS=N?FTa=c}$YzEwR-eo6FiI%dQZ$WfLIG02|AGje~E8c_Fhm1X5b9er_y{sxVcYD$*7*y)wj6hP~<-D zJK=xMFVrh(LzP1m=o%P?O_XCWM_fb9CbCFLlv#aiqrX7u|6q8Md{sLfwN^r7QCnoD zqGkS{pXO1&bET(gd)B*HXuq9$P-T<+`itcEY-;eIGMeOPtV91#> z>=<;|6GYNK(O*Mmacp;T-@UJMmNU4UlF_w)S)O@ig$G`8oN#c29TFUAqYs$IS*# zuqCJ>%9F}S^JKc-c0-o&KH$GzHqh0HQ6(eZ%;yW}k{&w6>%Z+k9NrPdKNY#9*3twC zo{8K;-%)Wc@y9YyMZYSy)vLDbqOp22IX24zIdKg%_(yKyziE!6Ho^a6VPbQC5W5=~ z>|Z-=Tb8Rki<@$h8NX9JsoB&oX`ga*iVs%@G(YTcfu}voM1u-d7l;k3dp`E54!#e8Q1-1nB%8{BUa61WeIINb6S`~C7{s;}xI-$Nmc^b*nfJx%o>Eijb z;;R(>u}_Ux+k+*{FELOxFv_>c{iE}*HKP`L;gs9MZX}y{6_iWWlu!B$c35S$%RBYFGH4B@R8Z@%J9A;mwc4;2|}Z$b!pqbUi!*OB;`IWeOc|%AZi(= zTMS&_HHb77KWmy0WOYsPh8h^yB92ejj->a5uqGMB^vDj0rY)6w3*)jUQ}-peCr&2i zqA4fZT;?myZI?TbxKoE!XN+kiy9Z zs8203uySMI3ZoQ_n!ia++9?x5~zoV1!q zhPrf^n>J|HwFz>@bvkugjq3K4<>lvQAW}Xj?MbSo4rbmfT&TX&mI35EF0eVIAdSWm zIQ8a?FRYR7JN>c4(G#cnqInk0)7BqaJ7k45ZP33!7KeTBRgyc| zkJ6}DYLE_YUoqn#{bGVD+D~eo@csM~sqMO~_59$CVZR~^P6~rYE%c>S7;QOEzE{Ml zCtxza75P?KHK??@&`lY&zos$+`hXp|}@N&FHJ#%aClAw}dO{e0)imK!yD zOO*5Y>HEPOc9Z%e4U-!JUD)QfP&$^`4ON;7!xnyX0_$Ygy1JLe^xUUs4=jF0^eJ2Fn49Z4 z1bXcD9}c`0VC2Jbd+Atd8)kk4CM^Gm)4J9~8JMXlgNj8L=p^^eHk$r6h$3_=my0{j z4bOMTjT?#i*_?1YpBjli>g=sgahZS75SOwk4i%U2t2o=g)T3s1Bf3qQIW}lNlO_2> zWfFS?woLi>LG^9&;vyY>#E^(xNiU#j(zM#C4OQho{%+4=rY=*}QzX*PXMF`q@>2bp zwvV0vzXQC(90%VBv#X?AtoLW%GayD{$AUTcr|0J}$Q8hQK zG8HZ&^(2;-Jmyb9%8Uh9p8FYc=slK%Qdd=_h@@4+j%PgY`V#~7{eOGi+OW~#gUxZX zp9Vu@RZ4YB;_}pg zu=z}eon}Vo^VaQf%Kzr;WJ;&vsZvzG)Ctgfl~+YK%XaRkOEQ8P6$~|S&ls{qP@f9> zjfM}7se$XMYEF9jkNBvRDfHY-wMMO@Q2(yOXhHsAsLWeQipX=(YJO%mawdIxe3~}9 zN_bQ}Ql6)|phvQ)a?$Zt4tN%D-1m?B1LxOkzFOo%T5qSWnr^4=G13vrZ~cu%b0${i z(iYFm&_+z%T(tn{(FKxVNbIF{xWn>p^|Ol+p{IW#qAd zM57KQ?@gK4@*WpIs9J3N-fl%Vf-kuR=pV44yS>U1bvXk;4l||=bTp+!e=!$CG%`s3 zy7Czf53DDC2+PuZrfLHlz$n;_BnUMiIjf1U%)iD5+VKKYTvM?@JI~0}&e83FFCy@M zz=)3}xJSyt8+OH5RsS~mB}`a!$))74(2b}Arz9L0?&m2N2@ul-y!p_jc4W0~g3IZ> z1)%31NG!)U%@_9E1=Qo|3V9~r4SUu$OWzB1+6e0z zYZ`v<5N0FmdG{*#y~D?Mf>T>{>AAS3^olGRRjm3{lZ@RBJ0YZ|g6c;F8RS{;0`8sb zogRXmY7+nO3@BPepJYy|35d$8D2{hL#$YFO&|l=m*pT3$VJl{CV@RTm5H}K&i1E;a zb?8YOZZ+04y=D5z_<-IJHU@PM@@xYZ(@}@aD+4V~aiS36Ck`mM&EX_@;Z>g!3t~^k zX(R^celByaUDbqWKhDY?wh^3_qO0D;9U&5lmbmxmpE56&_H(ZczGPnnr?ye&TLHLf~VZ5sqCpyUZLRK%0bx#4dCn8 zTwL$v6Ce0#6FR`gdk{FNCbll-Nrt18ev%3Nogy`mu7jfEoBn#ECy>kDY>&(s4;HwvG|!JAO2y+9W7@v7P}dgRsj_KIYZ2=(WYrJp&xRs0 zRFx6AE>u~K)Lxw9+#I;bKFP?UU!@&rV?fuvGyg`$?G$mK7x<-OvxI-;DwUd# z)0&tQ%ohxM&~x-c)pm*XxO=YeH014+gZt+f%zDmBC`+G#EkPXU8WIT|c(itr8bv8X z_9VhW16ttu9u} z(tQl8oNHg1F|t2Sq-`!(F27r=+_berqbG7QZb?_3uaQOQAa2o((>||KE%kR^V?w$Q z4XHu`T4u-L=55tZ#iU%H^hTf;R3{-*1~Xj>EvkoF4%5Gb)6>0cmZr#R{}4NgJ!iiz}J7Er_P>G<33++hJK7MpIT{*Ynf#5Z2m+~l&oWEj#%{*BUWwGgd$ zI0-yeJ4$1_3P=8ow469{=^xbPUVID>#rwg3EZDHjkVc?aAQ#Wdk>WY+Z@KAGz@&GK zn}_3DTMu)6!y>XF5ewh*U%IWtO!8s<`$i{BIcDXi4-Jg)zNo4d_gT!sWkq}QO`CK> z%r2xw+&JXyPA7QrrK+ikuVOvo4t6^E|I)MLA``?PMVhp0p-+Q^0?97SI6 zet(~Kf_b^;bd%uVvJcW(&4BD}mE#=mWf~9`=;vPqlw)6q0UKNMIm0u0r^!!AKBPzz zj=YazuD`|53bvoCjk?KoT9OJOE6?VnR^rjmt+lpLPsv8cooU!ZcQjHj9%(5#nh^CF z_kAoS2_~pM_36!9JN(%r!*^$gC0{5%)+)g(01c@|>9o}1!dDJ^U_%#)DaKe&D{a-Q z>o2v)f12?$WiXjY%}qU!-ClU7%D&mG(|}>b+y}SUAJ_u=Gfpt$*zbG92L^|qPGI>~ z^U5m}Nha$2rLO(G1g=*XjY zAnwiQ2wV_$x|6QS2W%tmo&OX<-}1}DC7<(O4lA+j%Xg*jaSEQ8_p2kT2ok&USN?wz7 zu=so(s$&Zi$yQ=Vv+e-Oz8Vz=0NDWU8F>Z6*xc0T?s z;T`THCJlWC)h9!gytVv({_l(ge?ND8N`?1nMq%+B;-fNnSj@QVLOkmHKW~Z-eCAu~ zUgzv-hp=omUah|gQlF0#FA*1rD&$^@J1DI=#z^Al zDEaeQ$A9`gF-Ql^JV5rx{>7gD{F?UL>!&YQQK z&FAmo0kZ+Pil3K@LEXQBjI>(gtm{?oZvx+PnwJ!8_`ieRc%z{X?0nb2-(%uVxV@k1 zA2-T0IcR#%SVnJHyGG&2$}PdxrERKbt@muLKJ9b9`Wz*=#N{)FG9ml#MS@?9Rva?% zZ;nQ3Z&h@CS&J<5$Z)>kj5G_aiPt6$>70T)tPFW^sgi3s^s`GECTc0Pgf`E5ZrNfscQG{*^MPx^FH19Vswhs$utb(|ahuJ9h5#?Y}wTJroJ)Bjz(J3reCa z$$6PQO2;)0;?i`Qb&kWdk_*b)R!CIxULKz-nQq`}gP%Z>w>XPk@sj0eAoS&J&0Ldw z?gcIcO8a+s+PNmLm9+l0b+&*;67{ zEh&ekJ&j?37rAG*?M}C!LRI$u{)78Yj*sFIB3|I-MdQ zL|*8U?ApePV7#H9X0TbCdx8e&|8qe85PlMim710fLA^&WVis|$34u68Na)_K7%WpP z874ZlSOxo$e11LeAWT`-2}2})C?3MzGY+y(+sFg1SbyLSzg`cG^;hl3EqB1(9Z8la zeIce0SCh_>FF~yq3iEPzlb;6Pbm-uCHJQ(zJB;+ytM!yWW_MxmqS|R;kkE9S=t7He z>f>0y7{O2POkPo6Wn-O1^T*ELz5AvHSCSNuXkF8_Af*%JHJ>Ql5L=#(8Y$`42Msly z{;snHl(!W{Z8-ty0xBtaCMhfBOm;-^x!S0u*xiKO^JT{-)(jmaVI^YF2Ik$(ZOL z?kZ_mI1n5m(7A)wJXDRu=>CL@k=R$HxYLQnxN zgp?LWjg7i2i$avFOfGcKcJWnsS=>N=xZuKa7*bK~7|Fu&v(tcQDfFK#Ke89oHD}#s zn`dS=h8Yw&as$*Wf#B^H1NKlBJT=x-101jR*pG^5MBC-7CT#!y zC$3A{sT`jQ&)?5toxdDSI+9ln3e-&vpW*JN41Srel2}sOr-di%B~)r-)C6)ZqQvPl zBkOy#Ssxh#w3}_cbw|q%=YPw{Ni)hw{t1$K`?dkATC0Wqv)L|G8dXXKM2nXcgP^c;qy2j~Y>)Q+)Lz^|?Uw z-fMK!pqEI~+$VQ(xp9sxHl+E;zH66480C_D_}P7*9L>>(2459aew+A!iu;wc6DqB? z+O_Mo5aMbJ7PKx*hmJIFf*8~z^b6IXJB@`cc2wEB$+(qywgg&eqhguOpNB)>{l-pst#GQ#Z~ECW-OZU8Ui6jgP*;HIk|*9< zb2BPH(r_+hT%|7>W@Yj8?eJB5RIO87ku#W<0R87SYHV6sPI6IErB%bZ7MJ$do$)YZ z%3!WATUe!C@o>uVBeCOEQ|U8J3kOzKNz6&b$n8JPY$B zDyfNb(tvN2Yl4M4OjZ9Cen|O)#J%~&1xNY&MnWIS#b5MDvS?)LPG{t#{z&l#{WCT<1Hc+ljr-exaloqV{@tfJ z!0s>a`_Rkkq4!7vEfG3EXBL5Lt%^iQ(G=Ro=*Eh#9ShFD>&* zW^54VwQkD3626<~@ynEAEqCvtT$;N%7e+h5cZB+=<*&N8%{q+F16R4nkqo6gT^h`Ol2}tsPr0DAe$K#9R9883hJk1NZ6|?~MYCvE z&gTrR3MiwUi<)lIWu^xF) zk_7keIL-f1%Gd}@n682*8n%gONdu8x0;h#TT-wYpNPgbud|Mb=-6CV7^^G*J0loFU zkHI$oZE}A1J)Suw+J3ZjCO^<;!F?nTD~+qbE#P~IH{nJSXd-FqMLBIKi&0c8f>X^{ z=%#wg%6iuWIMwtoj~;sExJv^u_FqZhkI~Px7-3?2o}hf7_D|!<)@nxXKq&VV@}p9x zjxOv2!gQBa<|V%ij?eTC)^@#SMKLjq+_vVrh0_1>u4Krkj3#C#Qc}XR9Et*~2V4H7 zn=!9|7kj1SO$U)C&ah^i_s9$pkCC)QHlZLF=F=wO^^T zl~!a6Bq$B0{Jk472p*4BWa`=PiSJ1VVHpPzo!PmL(JUv5^D->}-o==x{kpdd|Vqvm;R1mPWSn@+P5LHx*)*raGb zpZ%Mu!c?Yrv^=PhDEXN?nSp@QJQ@gF@j3HwBjGpyOY>sh0lw5X=mVSry??NCJLK zzL(;W5t=7kMy=~?eFUC*C%O?m7!oro%wfpP^!A<|EQ z%)Lssdf7*;N0~B6HpCmaJJ=qqA%319rN4>v+$fe@Y|>7?PfEg6D>sVX<|nS$Dx5ZX z#<^Diqbrh>t-3A)>bp~O;m~#Z7uW(1}2<8t~ z2|c1QB%g+KS_mHZ>YIccNhtkMTLC0LjSGjfs#B|yG85M)2WD6nh*wxNou|pL=2(wd zRp2^ahD3n}ySHlsw#P~%cgBmSg}ln;Q)?+=lhSV#f2gn5ZN!|x3Q&7sMqQG-CTWY@ zBV1ZKHs8$k)661KOPBy3L0@W&PI&wEN0NgQ z-;xv|0JH*U(pRH9WTc6`F<&o0cT}E)c(w#7JJpv~{9Pw5HeUZHiugG|s!bx&X{*)S*6;>!xL2eubl3XLCd^zA%`vU)8WtVq7=-oGPde{QC z$DFx7J{d7C#+Q~+D$=-zdW2QRCh8_=_$y=O6eU+h)S!{Rc8ezDE>xI8XK%lRuN3&C;oxfEQ6Pj=l}B;S?|?SPP^KD zWNdPQB0i&hN%tNu2DherKvh&~pI~x2d@!PGJxj>g4a|z!x`8s40#sIXs%LU-5-a6# z*1g};mHN#Aw3Co`eaNndU-uu@31EV1cdhnZ9Pl0~m>8M;Uqjxa2uq?-_O$XP&2-c= z>}ISJXe7^7tlGQ2{$GCN6XZug10}t}T~{BM3|Z0SUy$&_hdO%)nupNC z%+8PPGPhEb{@l5iyXD*OsDp9O(jFD={@YtaY|L%@&}liQy)-IuS(Sp?jbmepx^R%e z7S(6EX&?gpS`65lxwqTZ=a&`af68Q~xFyXb9#27JsT59?H$W?JLNI+g-AZQnx1yyf~_vZYY z9-2~^ye0K}CM*9%+3(sP&Gl`D9qKek`b$PH@L2Le8Nv@jSZ1_vTzx8Y_Uin9;Itd4cw3#84|@^1`*g1FjG<6q-Yl8s5EBSD(9SGoF}gCUcDV6YM{du7sb?#FGJenr z!@&MUPic}BoyBCA3@6k35ncB|`Q6pg(@3tgEn-2g`yu?k!;%BjdvZ^e9;+>C)@d*4 zkftAJyayu94K}*#HgJy-pz{ZhOMoWUwP+!{h@6&`QuwI$SZ6PWgw;f2v=2iAiHOX3 zv9{Gb@YW}DS7yIJl0pLLYi^POYNo`UmV99Tj{2bj%6wPA)p2T5HQY!(LXtunYL0i{ zOz=sBA-$iZ$Hqf2v$#{P8)5JkYLCQi1?4L`3RWgszBZ?mt}(6}947%$O?rV{H=DA=5JHkAQeH9_)|%#VfJD*Hj_uY;cIe;8$Sd3q16pMHQf-4zA>h)p9V6K`kK zVP-sra23~)iBLSQo}@E~-i%q(Rnt1Ax=%q_`n%|%RVv&-ZFvmN6i00C%aSa@L58U@ zsb{>d+tJNqhc5;i5og?1w(PLGYeh2U8Jg+O6PEFVpmo+GxAz?D_RBNWIwK>-fg6o)+m6x_Fbzdqay%3nc zpMga)(jshMqlq!G;8=U!CE8utE!P{@cYL66=*3w7wB!6OK_%j_xQmRZl8WXk${**0 zyN+I`{YdS(qMXc%C|h`B2{-2q9nQ&+?9N^2f*I9G>lbNlgW1;CKK|Qcw%zs9@^o^} zvLjgeQKm>vdU^yre8=SQ8iX}sronTg6f(htX7q^oNXtcLk8o}2jp%2z`{te_a@Wdl ze7{YX3{Zy&<95?#|L@rnN6JZjmvM%hSb**a^f%Q1-txOEa3)(IECMIXq>@|weuDCYnxVkEDf;_!&ZlbLJJv7PeWWA!lXep>( zDc+T%oW3V{B2g>3Fugl(x-76>t<9GvK`*C;(Eg=)(7B8(wnNWwzw+>xQNei6R6mCY z-oy$K5y@Y2da5znk1!{UYsS@)GRKxtY@ihyH2+ zyXYB>N?)WKGEOo6GTt!l*d1L8z@Zr(NuF4q8JLsj&#Ybp7muC1f+|((8>$a&1Ig}Z zknAp$mJmOQSQem{wC3^PXmRJ=UU;$63|=)K9Lg+ulbYKxpND={zQLYiF3%huSyz~^ z0Pl5~Y81^8w5}acjj~kPu|L>3Z2HQ&z@n{3 z(aId}>ibDeF)zN%BtFYs29KUdgMEt#qq1L=18T9tOYJ!9JzOM8pf(}%V2#E*GS<1)NaLUPu_l!Cwa~sYLSUyh0=WWnwqDn04{|_$ zSYd4MWYDZDxR-80K5S0vtwOijcby{`H|zy;nl@eSh~f!pJyB8N-Ng;OklB4R3o}&i z!r~^xO<9b#gkj1Ce`hc6eE$;v0H4p0Bho z_v%WURhS2c;^!WTeNY)g*%LMp+|iHJ{G~Z7NwYG;u`r{GG0SNqEvVY&5`(<2@asOC zB$?!$;+s|RJGM%t#Q+E_!Qj&S#7tta=>2prreY_xCuU%DBzw{bI@e#p%u*x~E~}(W z(sV?%V!SZgx(7Anfpy$0jzX03trupw3Y^EYmpD7;{w%8^cgs)f6oJ3t;MN@PTmEGK zUhiZ#uPy6s<<}*ETgM059ggDp;IA*h2SB6AZNn&N|8zG>Ay#Xb$u%H2D@P=oad}R5 zf&36&IO4*=-Dy^1(r>zc=4pP*iEREVl6tuyulyFAYVvKG(6!^bJT6tLj>jCwr(i3z zo0V3<0rlT>K4@ZgaGIZn{gQpn`ae23acMruCzFmPKTbObr&>nUzGijWKMWS*A>$C^ zGs6;8!Jy9lJ!Ad9V0)}I;{|W|*|m7l1&LEKT!q7Gw%YBwA-b_zkJN}tNwR$s#Uc?a z)r%YE%(;aeCEmS-$1B0&O3GE3T@-V>N3H`tss7ucEAIQ&aC?;v@@C>j_w-8f-*CTh z*WlajuNPsk!Dxy+LLr;JCR6p0+7D!|ta`0brSIw&yLlX^hU~gFcPhp&k9-qh*ul)? z#wtfY{qZC-q`0KAp{}{<1+=eRnP;w;DJZa!gsyLM<*jY>N>i~0n#tx0{Cx32=|F?dfDLPA(-4Z4KRzQTmeZ+U-=?( zeu=bFt|(`|W&4BkmSn z)Rl~Nzk|XSht<{kPaZ2GHfK2cst3zXWqx361lQI~g<+9i&O_*myOPqJqMK2fTT#+m zGuf=&VL-QKEHh5RP0WIo%ns;I>{~xnGWuasnWMX~z}H!;Mv6&B%I#JCp&bLRttDNK z<^k1Ag)-?oVzz4!`J)Rr=Pv z6HV=n?&^mS;|URjOmOL4)$=uYYWUu`o&1b^#ZVeQ2L09YLa((~$`{RdY>PVgGt4_g zHptPn0L_}ouW(MtkF<`-rQXjKEl;f7(X^-SB-0zzf{ln<3Le^lxOJ+jT1CQYBCjnn+;hZs9q zo4dMtKMYQe)Ql%inQ|V@Tk{iEn_#ns1b=-s{Jl?N#&yqV+NvPsxsqa{9;-_H;)O4B z1w8be=7I~~PQ+fe2bz_hSdq54dd~W~``LT1x<23hc;gF8YZDYH78KCWkc@jrG=aXj zQ%23?B8s!=X`mfPqMj?{K^yif5rI~S?S=ikOS{A6F3TT^bjVVl9(6CR{uv*2;7ekX zU7l&#*J{0nGp!k{v0=gde(?t?uXQuP&vI7huS$!QqtJ$vG920?-kHHlV$dPm9a8o; z{|qSJyHh-qcY_AnSx{Q>sOfpfQ@TG)r}Ff7@K^U@`m-;AHbfkr86}ydR9cp~DBiVJ%+FoWo-5`CbNzTq3ugu3(^TN-Di{}9yEvPB zRrv1l9rBEDk#Ll=F|#lrKQMSi)Fw26uY*X8)T;$5OQ6Y4Q(sd@@-Q)8(^;yUFSlqY zionh~eL1!kO1+tRIcfi08x0O*-xSh1frloj8iO{+|Jdip9xY>~XVk+n z8iX>?0^#9jvGy^1+6?M)O1I}bgGwR}DoJoUA5OKCmFpVZTWs2{ zwfA=129IJt3kSDu%)t1N+31OJxaV-*E<6xGF{)^Wl$fHN#(-`w<^v{McdzCyl^)nQ z5JjE{Di-v4ke8hKGF!mQSZ+hgD*iy*QWovn+}!=v0`mR8dpEl_JBr)b0WZ-=PXzxO zdlIXLyN-_{+8eAI-XI%Nu2DS6eR_Ab7vLRD64*%XB;ItHK4yQ-JG?*m(ar}Jd&FM? z)4MU&HuB0hZt9-G0}vNY96K*0>4C4G!Qy zUypTH$rhz9a|Lw@E2g>ISmy(8>Rhist>W`mU$|IW-<~WV{V_`QCoOZK=xoITY#eCq zxjmuNrK`>I+qIQ(rTAWqvDR~iF4(I@j!X1E?~>{)WG&HBn(AO?k<9W=F-yc!w{#w$>$kx_+egwv z-q~Rjetn3koY5)$XT*7eGBJwy4tyPl41XKnHes1)k&hVEqhBds5<9jMfv{0)SeLT% z$b~o8PhI;M^vG3+ww#r$Jd+R+85k{-(EjV#pU0JV>XMsJF=hs++Ku{TPqSNi=a()a>}B_Bbr@K#Pu%j#ljp1Ix8POddTR5@jYlk{O(aPfL@xdc zz7+qRpr%I#rT-H77De53w+Y9f40TOG5)lWDbC#e5F6^gVUA%eWns*>$%U;dpQS%bJ zALvMt*t@`q%qn?N=~dg=I856&pu@W$TA(bCx(*xZyXa8$zcSZX=Q#Q!qdf_oRB*KH z>L52Ll>6s{0GKS2=ubVLC+BQ=mw15(`>m@rS@`-p_f)Imc62YFsOo zIjnV`bY_E^bDNilzoNgS56|rlw3S-{!yu8gTkktT7XF=wuh`?{9gh-wuw z><1^gcab}kw&|R~p2s%oyj1Cx925-BWDl)%ud?T0N?mQE)_pB?&GX1`O6g3BP3{Cz z$3oGY%DM*M)-COU!-twI@tJ z9Ca>cTNTAlgxh{F^H%J!DDCg%X}bzCOJ7v_)ZK4Q?0P<_CVVYdrsaW4BG};1<2-&7-B}q>b6O#tgHs$UvQLIU6DsDs3lIedTJG6m$ z78nk+&U(0mN(?8C8BAa2%`cS+(?xE;re#fWm&O6Oc^9HC0`aCr@rjJCc>Y>FzaHS2 zuG}fk7GC`V5ZonHRits*rdu{ux~luA`n~Xp^Dx}{-v0cC6J~ypY8OHR^asus_(Oqu zSm?K1Fga6GCLH*RCz~5U$##8La>Q6|=vEWYf9FngM^NlNfi5}Gm!exsk zhs_?UerI7ujrXW_RaQ_;#b`!-CfcS2CJa(OMo#6o*!>kt z1Wt9?B4PV%u;KN=Yj=*{bsNEma%wBFROhJeF-r-d*-?MCRu0#WHJzZJ=zlz$zm_Zi zQ_B=vgZl@)L1SK41u@9e9y`$I+m!{Unkeme%Z} z+S)Niv!>qzZHUG2WIgB%?a70@@5Cs2vTnw5Ze(e{@STXhM3StIij&qIR5jWPm9FIp zn-*)CI5Dxc)#WwVs}*uSat`t`7d6(>r4gDm{g+mIArrXH@3UX3_dn3=D``7r8EWD~ z$|L6BC&6QHj#nfwi1`Ml#%7doQ=Ul*X#xFOiH}SWyc2QL%^<3M_e`! zYOIZ2E)z|78hsOP-d#DtCHa*yb*jzQjJt!ayeiRVWf{~y{BC?ODpfT@s$(U9^Up|i z@5Zi&>Y8M~XX>|y)tQvu$u&;T zPD-b;sD;VQ%=d+g73hZZtw9~;^k_yl+&+6);+>RkVQ=XGWjK1YbV6g+6E+TJYhOew zrR)_CY8*y|fjZQ#tFGA%ncoQsCy`bG2DINjocFVLIB|1V_*=o@pox|@*<@Sg;^wp2 z-{0>)FD=*8j?y+i%t^+(^q&K5su~|f$N){O#2_715<0n={MBfRIH}z)rzP@J_+AQ4 zxb5r_NDUbce||x6PpMU{)GPMmoSR=tKP!K2PQI6Sr8Ksxul{12Uf1dI+2tM3)kebR z6Zp7KIz38z#GRKJQ%?qiyRWiqnMnG!mg;J)KYMe^)1u(HT@sI`n&n_il4{;I+qPGA zRMJ@VYPgG$Sh?&2-BB>Btqz-xO-$6yl+0=Jz1E(I*~?JLXf;Dn&er)_*KclOg z?aF#ji)=zy8vQQMT1=@+9HNFN8K?T$g$=! z=0C1{mN=uz#pjwY+4J3g`?&ZW@KNy4cedR$X{BxY(C`On-pR0Iv4?I7A8>c50h^@& zrqpNTcX}tZBBhm91BB{wfre_HMJKwhO^4Q13ar@5=k?ZRAEX#gl)p)xIte`%{gOlVBZP?$Gb?is`IjLL$(5XvOHx_UJf1MfR;alV3o5jh2(>p!GZ>&3RL_XzO$=_BnG=o+;74NxmECgTRaL~Fb& z4vTvQDephT%LZ3~4Emgcrvw>k;v?0xB{kOGhY)!Bnxj}6y31)MD(p#%5jXkOo@?wrmz zR(=PxRhK*DAIfk{{z2VM6-_>yDJaaZ6mRBs9AacKE-<#kj!DQ+XDNbnE2Hn_;KdR4 z_;&bp9|xaalo(5zp=hfStNQ^Hf%&7mQ`1bPQf{kczsSJKr=@^-2iP9#@YwT;f=T3Q zc_BRah4n#OI38BM{=QD|>)x9cmw?&I*#JKMnruzSddBj$>|bZ?9vPKFZsj5u2=<7(+!R zn`ClfZ*E_?o*(nj+@Ba)wp7P|N39?JLL5k zRFb6)AI-dta`h(g|KU7vg*X-@DohO);kkEF(kMU4b^0fD`{d~&`&NCVvk9fn=8&NA z4lg~gzni^|Bz1`0n4|pFFY?}3urcSq0R|DN(V;!4D-cfer_xCpH?at!2|iV)QfW@? z&C>j2)_`R9H})geD&4pBLCvKxi{ypGrKG&HH#r%9OlsEm|TX)%afD8AAVI{E)=Lx%@JghtX zx(!Ibjq@o$gf=~CoP)or_OE!5;HU6_lA5{x_P^(~ZZ3q6oj%|rWe~OWvLPlVI2srA z`g>UVrb14cUG>?94IL_d5wpf3dz3nLPr}CP7q&&yRXz|}#7>Xz=x^!bvyZXv(>$7< zRD>0pX2qm@PRyciOA1K;miMWwu+Fr#v7?L*eVI&SRx2|fa{Wo2SD^nje#mVsYU&mD z>*D5>Foc#kS4Kz0R{H|xB94R&)4i+Ftn?L#sG6%)OPOlwh@;;!08`=HgnwuYM7ih0h~?F;Fpfr|dDqn%R&~5(H|h z66;r3t8bNy&4;$V3*L6UC-nKr6P|_y+}wp4VWL*_YII|~1awgASI}y*8%eaAeH&&? z5fcjAba=RpgtM3r8YsCl2$6DP#o{p8LBS zdTZ{s6MoPj4QRrS2^=CuDQ3 zkNEYz?aX88Gs;_?Yn@6^xhK*$C8tx*B)p}Lq`u1g{5Pe^m9EK7=se%m*mWK{taq~s zY&oDWP4>L&w;EnIafTzibZGUM*ms#2<#w%T%oY4Bt{&~L9iUdKa7U^^ooe$NxJ$E(m&{Mnhinn@o@-w~!d?Lr* zhZeE4(#WdjI&_OV>+6X9(vsAOhCJ>WwBao4I4HBl=ayrpE#c;^+4%>E#|^EdT0)6> z?wRy}GaaN?$G*(T7{y4FZ}gPOJYI=q<$Ue>)|Re+rxe$A zDt77`6La-=I92T;g&@(1#hp|0gSo(7QesQfsZ9?mN(u@xN|I_5Todq#>S@PvnWawk zw(X^m6?zT1_7dQXoW8l7*ySTc8%hv99VI}0w5G4Saf#;TaM*->5B`>gZZ<1^?!>?8-It&K3N z9fH$*5hnuq*8xJC-Z#>kF~ant*?ZGWqXBG|@s^=@p4@96A{;~YZTDNCSU!Y;lZ6{xl>KEHSCZJP`hcKfDYy9%uEP_kYN$$;ES zVVG{9)R5ZHlE7ZN#}7f=)u^yG-*@&()2-RCizh194(80oOpFXl_T_a)vZFh;*Ka7z$@!XkgPQYm z^@nM~wba7A(Z7>Thv)+6jMMDA%|6URGZPq@Ota3@keSLJQXktiWyL+acm_B`ED3-4 z6KW51q%fN?sk*O$R5C07UTOjPPACH#hXh_Ocagg^7q&cr2$BufDhD>`!sc*~Sf4nb zr=FL=zhn(+K?mf)@(H$ZBT)rr2Zykz*H5w`i;u6cWR$>yf9o$KT1{mgqorvR=N+# zSjk-M;yr>S$urL7xqdi{UFGX^o*PYCFFLCN8+6v!$m^I(n1ix)H#i&$^zPy-vBsbm zyu(!yX7oS6o@E$L^K&L!4gTm#DO?q?626h_$9X#09BsIII{f#A^?Q3Zq{`-X-_Dnc z%ZvK_O)B+5zOXcku0;_6DB&w)$g?9>ED$uf0dO=HVXS{7pilMJ5pG}yEtU^e&Y3GUxK#2Zna zFr2ZUD_q8}y%5_j^G!(z>d*@e8sn_10t^RNd8Q-*d1l3B(S?^fn>=%CHi4J7%tMkC z@1mcYJcE5=mG=|Bcc2dKg;`C_y20$ZQMXPw8qy^RnjtY z50+Kee{COSI79k%FY^iT+uP_;%%{+LyQ$xE=)&l>Nl(t=|5Gw^#sA9mD4o$PM!8{6 zVv2O$s!uDL$=noM07~ZC{6U^IH-?)z$AIRoJ5t7KMff>04SNqaPoE**UhfO;&z$=0 zW~{bByV7aBBK$@8djAVIk{)7*fxWRkrN+&&I^Xv+PIFL;;{m1L8k7jH!c2UC9T-}pv!hYs+LPXg0>6bNJ1 zjDySqc+Xe*NJH_X+(~)vsl}5kYY4V@zU*C* zt-hV1Cpnt((eyjzxsfVINn|8|%7GGb<*k?C8g_ z{?y&@mPS2iZFd7YxRD#0jQ{0$sJcbAHH@6#6v+KwXY8OeXchE5td*`fP)UY{eaAjbigL^s zJ_syC&Psk(Fw>x-4g>wK9{h<>z`#|Px`^}?PA`3&-v|5SNN(rcJvi0SKwlcv7p!yH zjDk~5;IqzazpKmU2OHxo1Hq@HtLI1f0Mvdlf-f-Tk`437Gz!kNkbGVLvJO+$dv(up zzUTrPy#*8aDKzVre2Cd$oPD}-!9ekE#P`dQMX}L|?l~cUqAMQP_BFS#szwc#jik3~ zlwjJx*|A&OS!qbzOt3tAVKk+`xQEk~!CKcIQTymmarUQF{lxtEoAIrQnVGm^a_zmg zyNv(&t;ukX8-m9{gXzRx-@U$Xbl@kbzc$cz7_oFocnYa4wV-fN;}NO_n}IDxIce#s zzLI|<84Ncujl~?^J5Kzp1&7A7SO&#fu2pBkD8WY7<)n{jfS3O^?>(+gKwnyC{>JF4 z9v*)mi^GP&Y>p!o>scAn$?>Ll%oa?d_06@%q^}BJ3Z6;}^;_M|PELiLzma-@zsuM1 zu(%<^@t5eA>BtRn>(d?-d?_2Ny8Ax|QrD5m+LfJh&|Qc-LfDB_)-nNS$Ni<^X`_)x z{ocLDx;L!h)l)=~TvWZU-xIk5m(TfTF> zivnSv#9b9N+yT>MI|J8i-g|uCcyD#T>QrObW@Tym85%jn2>rNZPz&A==z2)Qf64bv zYs`+BZZJB4^;iA}`R{Uy5Uujsa_3IY1)rO_;lEBB`#jK3SbS1%o#GN>6eAlS1p9*b zWzVX-8i=&v{$#ES@OXkzXu?MDFQuqC02S3>e&b}`kW4?iHy&Dk8=6M{>J)6x2ugye zN4y<%ZyF~5+}{J>vFC%<9mnhh!k7wEk$HeM+9}dI)_;HK?C9o6N6rkm&4)z%B+toH z)Pi)}F&&s4C<(1?s!0mXFsmu9A^B7Da=gPFWndXJF9@J-M@jt=QPy(I;eq?GkCC6G z&s})#P&;d@vy?p2JEAJS1$zctiIv75gHtWTm`gcf#s&BN1UgRfs>mTA+x)9_$u|Cg zQpnlcSHm)b)@^;FEjNKKWBt^QQjCqHe$96KlT_ggKD|1|)Q|+Eo&Qxkh{*&m_Z{5} zDhR2=LKhx&JYn!;-&5e=#?iJkAj*#9x~2IgDkKmSa7nC;rNU=bB`p^i7ulMf&5-J6 zvw~Uwf}L4A*3FbhTglyyi{=sr9K_Vm-zEjQkY6$6TW~mv7`)(oF=U|MXrEuE2(S zJ1`?>^_0Mc>rS~$sWrCK)7M7Go?Ff3D@nxQyq*1yC5ATKJby*zV3e(f;`_d5kan(( zD*XB=`D3nhNoz$*?X8wba5(H(ZkH-h--Y>(kHxOjUQtXDKPy0TPmhNW_4g0crG7d2nXzYJURc2pSo z^?u0 zA{>)Lf+lvBK*IjkoRtp}g@&M+h|!sWkUohXUly@-f0fnmiOkq!2dZnrBo&<|$dxHi zYdG5x!u-Q3gbpz#e90a#<5;CIvy}Il06S57Vj~cFz6;(Xc8C|rXevi&dZ0FAtiiYS zL!F`YUUn5+nP&yh7ZLMmybHX?a~~Exg_;u8$|2Y^N}=uaR)QDKC(DcFcF9S6lOYfU zCk-p0o1zUgl2^Eg_+ViFCK-*Iw3zNSJ!ZUszoPy{QhfExTCmbI<%wU{nW?bh(4|wC zeDV$UEF&6MQ?A5#$K=P)XGIkERuF+Z#iv*Hf1fQ{Ym=YV3ISK9KMJeXE$z2rj4E0BoryMMIUUC#!y=o%ZxFoUgeok=? zF~1)A1aC=xQhkVTFiYBW$yL$&zRwdceYcHU&f6Y_Z}%qB9w3zj;@;to!(@I=pKkaS z{@S7D>rER-g(w$=V~F-;Cy`590~?R--+1NUn_ELa25oX#uls${vHU^&$EfI7Od>Bk z?2iH{zezBeON|~~td@{hyMitN#p#-kzVcfM@=7juX#C8OO+UZqZD#;Ys$p}PQyw*a zEvcKzqfRA1%Q7sgsj6;1MyqB7f#z$^tb@tCj`1%mq^qPidBARX9vo{sIav$ZD|bYW zNE#~mt8dnYcN`>VXFb?4e?;4gmx z=Qs_#$11=8R)vOoT;G*}`Jwe=&!!5v%ZnW=u_8i=-SWz6Y1%_57qqi(qNb^;xPq_L z6{HL#NlfQ8c}6g!iq7{h$BKB$?b9wKwXUz)GVk%n=dq8cC&J}`gN!xXECG~XF~U8_ zi93NhBtvY{-vVCqY}0ttdt__9r&>p4idP#~q-Eafce|}S0r|M=-_Q5#%(ti!k6?=A zy!y(BijNCVn8pB?j#S9Rc>qoC1Zy4=uzOf#Y(|$~ul#_| z@c!}LGb6AyzXcRQX_>=HbsE{aMd(MUF)bUl5XCf^3h{D;ak*)qG!g0JiUWh+I{72v4a0lGGMa>jU znMO+Zc-3cON__2=YK0EdciR@u3vM2}!94rKZ;F(+oYUZu@+kUrv}OEKR%fwZWl!z5 zCIQX0e`R(G5w7?^=Lc>dUI(qD&XsXP%*~HXQigZ*U+8u22If}Fk;+Gfe>3}&Z%~N| z_ox%87xUEqW;ZfBHZVO|k-)D%26O6OrX;Hme0rq5z5%%r%!K_c1DrhhYsVlV_rKP- zcc@R881ze>2O2EpOLF@pR1hBgNAuF$wi)pmy;&}g&-VwG-XZ)U^WXN>Zufn_1mu$h z{Q5S#b5`~gby7GX@&ETrHrQeug1Df6#i#<_^I=nG@_WLnTBP^_^h#}13^&ydIDc*? z{BT&$DR*yqy{q%;wFi=lqqoN1pnlE{`LkT{toBY5ho;9@>ej&GI9Xa>&;!+{HI@ z|8d#y4LdRy5ALH#U|d`4U9wbj+~@A*!-2`%%9ZYzW3$)djWJ&TEs#{=utuPG$3qU( z!?1^(ZTiaWEJcBot@~5XW3_iN05PO>!p`Pk<<%><&V;reyW;$xR_EAc3G2t@$gCK1 zD*G3?`03vSXw|^7`bHKOdnNtV-$1MQZoIFqoXT0r-zzL`pSqIL5 zoQ$;hNp$ME#L$%ezZ8oDtE-!*JKPytVNx@N?a~0SkAJW^UDtXGVV~GGqA^*>nOMvf zqD2d(WEHdERMW#Wp-Xi1z-vArncy4|v3~nU*wMGoc>wUNU z@n`@ZY>nq9aAl@g`*C^ozM|HYnhF46N zHi(*GdbcPZ3l1aSW?W?-bhCAkztkg=vS!#f$cMqK~4F>ey>^ zE4#{*q#h!BR%DkV=8khea&);7bN?w*U0&H)PET@DWN9UC$!4C;jf3YN zhi1Jb(Nx7I^jDKJwwqnLykvYI!@i-?$plz>XG~+@xjz8?O&4^vXgJp<^t%n8ku@kW zCL%^6_d z^qMx@_kH#mLQ+vohX6d-T-30dnd~s4bRl-?+wj%?t-T{%%Z!IGvm7iq4%=fpDur5- zl$_C7P+ig76ibT&UC0d>P3ssYpp0E&&2;wlG{81dbZkBJkhcOWlMUZ6Bk(Wf=={Za zVjrQ(HBUiD;J9QHa#l!P-VN^KF)oXHa&GeyZ}pdyt~!Z$)I!i}{oAHQT4;YSs4o2Q6oT&@#c>E4rrCs*{NI#BS4(Q?Zf4 ztVYb4O|A?X_fvaLb)JVCiC)>A+{bVr+ueU{uRfEm1X@d+B^E*8A|I$Nb zxOZ=YOn*2`s8eH=QyVn97^!P%;ffb)#f23HL7Xke|_(TOI~t!|=CtL;g9GZkMW9+xMc7_+38w%D1m6 z^?5@jT@}+cf+k6p`{?+RGWc1*XHIyEv)2(Q9hdkZxWrKy+dY8qt?C+Q&b7+bNEPq- z^Q^0_8;vZhDP9D z688%BW%%sy9Ng;YfVFlpKL*?5Rss(v00ndhZW&L7o7f3*8thqm$kF<5bP#f{R@uup z#U?P4PBDRdLxXRAxO{3q(&oKvYL`r2%~xDh&bPm*&kGF7UsYGshqO}J6QdbR$D|&r z+hZQ$&tU0VXB9ieocQ6h(W4IsCVBCK zCA{M%?GCs)mT2$5#dL?Yvn!!Dcfe{mV)P0yS`N>j5@1DcODM?ct5`rMdJyc6yS2W6 z7j;~UDJrt|3R>evc}l<;!*c(prQX<<=H&!^eFyMu;VIoFTa4(qa8(5{)N&jDt-P42$2Q!BC$~IruALk3KWd~X zXlNWtIUOAmbsCtFzY0HOIlj$o$X}S9!iLC^Is-hKi-WO%$en&)HGZS|i(Xq@x11D=pw$8U-ScS?A5J^qw94 zdP7G?BPR2JYF@tLAyOu8FT1K-taTmTifIOyUM=h!T&3SY3N#z2as+PcZ2l~TJ2#)P zQXo;H8bv6v*zNejV+(MI8hlFJ9i1fXQr3-{946f-y1@2W0_O_uLeMQcc=&=rJ^W^sHj-j9oYJ^ z6A%dzkQSx8K|s2@yJHO2+xL9l|H0SY#t+_x?pfzN&Uswd{Zg)?=BRgTdF$HfMd-lQ z-4&mUXbTpY9Ow-~j@{E^*jpRHOE(&hrP%l4i)V7na(?u%kgO9pL8b4O-%A5T?mHIX1c6JxH|tf2*OQvEi-WvBhC4HVizMZU`1k4e7icLzO$*l!*eKfUYNBTgO{!(?ozr>Cdj`LdyNQW z8LS$Bx!Y`Pd1PboeK)-kSGhaiCPVR;S87qJ*l&K$&$7;XURz;zcJC$Nm%0k*{aN7n zcMZ`;y2sy4xy`08kXA3!XIMA^9C2Bw8qoAg2$rN%M4tRX>FeUpu)cs1%KINx4hm9t z_&^xE#l8f`iis0ZAW_RjN?vQFTT_0gL9Z<6h{*$5M=@Y#jsqpnwb7OFms4M6Z!I2KE8lEodka|b zTSB5>B_^WyljK8cCvattNlA&SV5Xs4oK@hUDO~%x>ab?FVaf`ERf_H*X8(_6VBs;e zCkQ0IvK(7%P0d>L_G=tck)!yKvWcz4780LwkD9OXN~c8cfS#?^E~WQUTsVsLovkcl zt823tdhyl$)O*W82lj4hx^nzlgwo5S9!1$D=4CNTo>r&S;hWq$-;H=I2k-)MN9ESZ z7nS?SgK~?ak3h#eba{08#JKWk)=);TN$dWaTZQu(?}6evJ~=H_EyJL2XH7wiN>2kI zcEkfZXfi$>kcv7MX;~7su4-m zP<8`3fnp&2^aAxFNal#w;%YH8MpdK<+G49P9tQ>WmDV@aIY_vYe_!X$*y&9dS*7o^ znL1pmZZ!M*a`M@nm!$>ZKEK}r18!%V_4|;YqFeH7lplaQB`NzFrweu2Vl8RS2*&+K zw++?y>}V;j-dUKEQJMNIsWefLO#L%bU{`ac#k2bZpy~MyFb7-)WdZ-UYH$(|dFCc# zW=_nnEM=~{F_>I`SQh%Qh@VuIoSfndMNfstGRBhsM94ylpeJU{_TT!lF%KLSsv9>M z2tluqhb%_T-z3(-+2xaaCg}XC@B9S3&c6)4X?3W+2YxPPpfvXfO7lw9e;PU3g}?>6 z2k2S;Ddvf$LMB)_P^bdWChKVKt@ek~w}S$XJH+ARrw2>6#bt(@L~l>=$xEp?SLfCw z+Oa&4J!{L5L>J?|Nx7i&5=AhR)JFGkEY?rX9hxv7eLoBXPj_pRb`_!ENyd8GT8dOE zVHeR=BIWoY zg<#SU>5w8>&PGaBv>c-kuL8Xx=}muH|6280740$Os^F*aZNS^QVaC}0*7bp>j^}q* z!A=AFCi9mDqJRXN2Ueh3WOZ^g*$e2lMAeT0Z-JyI>Twr`Fq z-DKSVbiK*H!)Ct(a`JWYpSYq3(;ruU>44PnuYg@))_$aaX!`!cxqH&vll7ACt4=mOt1i*9k`;j>??^OtSag?(1z$m-zw#~W zhi1BYVNE5fE~N2X$Hn1GOV&J?NRYge(rXo&9^N(o$^9r8^`HuTNB%sOs(3jWO+NTfpmtF#W!~O}@RMD)#Vhvz+ zY-jWMrSJfu-QtgA#fc8&1maHl8L2{1sPF}33B;7^!Sve<+PDld)KoUT*gdc?(Jn<1 zougKnJCoe_9#7q`07r$9t%@00e*hf!2<1NT_^44{Dy6HuQR~+n0sCt2^-Q&;Ra&L_ zNFnxi_Is>^wv}gUkl#}mzLb&!YSh)=?fDH= z?54p^p)W~dZuTsR$Y%|!`qinW9? zxi*lH_y((kdJi$VLGK?M(x_h?bxOs@m5H6v*8E z#Ubyp%ag)0b#u=E;rlT|k;j2XqnOycAfsZOc#a%Kyat#ZGGdWJQ*d*>A?xTSn>N3$ zOOvEim_7VY7!m2+Ds{l+?Yb-8z1ZU<@bsVG=4>@-#L;$Eb5y32xg-d9y5B0NHv415E)8hnQlc+OMrG-KAhOS04x&=mR5q&|neBjtd87%YW{Q z?wKy$j@`B;W*Pd|G~=i*m6+sEG79uSEmROdaXqaQqMvWDUw=#U3i+w{JE#j=2qp zj}uX>`1U_HK}N4pZC!(6$D83FOIo}T+&{U)lyAz3#+yeS8Y?Di5UZrc&Y}N(q5}PudLx>o0 z7Kx`jZCwQjz`mZT?sq`O@0LxCX@g#q#$mt+<&bTF3n!C&O(}pXq7kkw32IbTopIo( zFcEsk3+Jhde$n~m`7o&9-lKbJ7n=9BYo&6<+q{1>qi#mt|7ntWtHhv2;a?-z84DX* zT&;%e5GN>hD31b`!3kLbP73yhp|&zT6F9Lt>NC8nFRt}ejclPrhG%MM(#a&*)O#5> zi_~kI+GIiJ7c+Et&~M;8=nf&kjss$tJsLAn1C$*z^ZQpCHy(o8yc}VR{Ve%i{x=}g zNRahFYIF=p`Gp~s1evTufJ~zZ(!_8ZQj9j*_URkruSdv(uHC1a-d2j{ul~lQ>Lm{*+x!~NI$W|@>jv`PeLyep2iRw!fleT` z|N1}&$XVh~G)&)|%U;|9X)Ho)1ki0cVzE-*3esc|;J;gwtClJi{VNoOI3h>@d1ATr z;0*lkO2_H=vbe%y80iREBnUvB)zK$X21%46Dgt)Pu1TH+G1X9+;gef0qyzX&bXG z)idu!x!GUee2$qK$24%nF~M47`=H(6;XyHw{`zI~(Kutmc1n2067UTA zH%3{*f`h1W5uA(_@uiZyvIqH$LOMQKG#rx+bUe9Ct<5Uh>-B>5){U!7dB~jbAvrzu z3RAi54|iL5M7a;S*g7WJCYt5zpV8b;ou`-r{(n5+2EjqvEn6c&r%nH)Azi;xbCoD2 ziV@^8d!h1#YTH$R)Q#GEsn^{6(`*7H{3kU_uEw8p!>I%fgWg}2g$WzrwL#gY#CH* zjjNtlHlb{i-jGzte2OmBT0TM zq;p08mHxc;A(e4yH&hebierjf(X#fCIj?XR#9*Fh?P<_*;!U+_{~3(F9rY>!npIZv zuiB)(vPlWB45n8+1#Y4P^6x;+k^p*Q-q=3K$QBB83koJQ#;y+U?0W@zVqFEfe`Hf< zlU^q;q&)*Vpxj#Xw%tH!ehny>QhEo#3j8H-MUD){ja(duPIb+^Sh%*T2a;cHAR)+j zFsgaUV@dbP--&PK!|_kW{DmcuEx_e%3sRjmHb!Xj^t+63UMGqsxkho)x3f`n8gM=5 z{@7K=*#jh(e>KMGzE%%ZiK9r9KZC2ypvZx-Tvo>#bow{-9&6G_65`#EN6cURB55$= z9p+p&eW-Ew*=fgJmL%2Hw>7p&s}WAoNlAX$mrE?GN@_Qn=sncwna#JTM0^Lg zItQ5szCf=HiS^;t|9~G-gENTyAtj;m$Y{+z+$G&3$g|FE&N*t^Z7T_oT5wYBm@$Tnxj+iJuOplo4%+|_@AWPDkaL(ivLNaV|saW8+nToGtCp{ z0ms3od!=DV`E<^Mbj=j!r1&Jgw9>4%r5gWYI&=VyreR=afCGMB9|#{P15DVHWB(>Z zr|W0`EOxKG-BRS9g-W8oi{#*2fNtvu={>Tp1N zd})X|e~*=j36jN*k`V9S#I-1nSGO{Rp)>EdFkgDb@kM9@$ zd+_j~($&0!+YDo2$GZUIGOG96M(jrVg#y3wiE4KJ&Gzdf8!LOku6ZH>bbi4+;Ucdm zW`lSFw8vNHnkF5`i$^N@x3v>%JBt2huBXi>izdgVr2RgfZ&bCtX-_AdgB`AR0E(I^&n4@ zeSu$UMeVg#o^FV~mcE)cQCT2W0Vgtdv&OIqIt6=^EhNk+H#jg<3ISE3&hsNr!RSQLTaC zcIR4^V%MyvzxJnCB>zj%{u5B}4(PUScBKGz;7Y$NptB5su{;Q5iwQurMxJPy`Z?FW zJhj1RH41W&_PBFW7=@EyRC`HGkjG2=i5~;Ht#c3sPTZE~hUxlgz*mEBrg6R_A4{4m zSsVPYjdfOZSM&Jpn&EWB!N<}W@V&39{ZKwjc}LD6r%=3sDig2qP}>sdcuIA@Xq1rB z#Tn4+tRj9hKG$s7C-<7;gS&T(PQTm*6!~j6|2ibWBKjl45}mVemeQ;5*2}lJ^cGHu zZoWfiN>vhbL5dNMxEDVlgb-xWdlnx7g#&Kvz;ImexfZ$VvjqVekJ9idG0CjdQ<>q# zrgd|m7x)u&`V|M<2N{EZfwJYvU?WJ@!h+dbWCjj=pof5yu0KPzB?HhV_1`B#n%}U~NQE$N_!&R_DR@92=S9U}GA^uL_ zDeBJi3da{;Rt6*-j7X1eNM_^^%R;KJ*DW<&=?R|Ny~#i-;w4GzAejwGRK&j$`o%v@ zFI_B|zA)i6wmM|kLvO@a80YRx?@IPg+M8_uD>Zwnw5VeSTb@SpVLE!-Ly~ zJ`X<`Z5ZF0goCb_63F`X-}2_r1ainwtUPdePZ1qSpMd+dNAiuRhHxOz>HPtzB#N7t zHvZDWHU_rN@qVBO@tG>;jFjzdchTH#1BHWNC&S*>(#L2`J6>%;xe4?Fg(zhdZRK0k zaCJHDVclH4Q#z%pM--S?oZvfq67h`0bI3XFdMi12|Ba5LOrYBen7m&c5w{ib;)m$3 z)A=Fg|HoH**#;Yw2Hk={jI}hC_)&|OB) zSxRq9fhX@xj!&!0+9(;V>ufvMH))&>=ZOo!V>V#g*X)MiE&X4kwJ zhj|0AKn$qGrO61;9r2Vn{=nSX+h1nm7xb zBgXBq=b(qI>%N^QfL<*{Uqh2j9RVwnelT~-0ax}k^{+;<&QbkZ{URNV>IFGEMw%PL zx{1!FYP$rSy?+17!}r(j`JObbLqF>e%+ZLs8}TC6Bz+;@w7j<3uKr1@@?h119yb*y zrqH6yQ+=wUrkEmuL`ATD)?DY5C*8(YhU5Fu9Z%|>RRlCz zcRmNaL_<)WUmx59)}Z*o<3pJve&fig5m2)nTwS0a1e)t_@EA-b=nhRO)DYhir$BCd zg`}tG12Bu>0LeaK3rl}RyG;8`FJQUAWJSq}vs#rFt2>Ncw|m69JAsvVfnBsd`Mf{E4r)oeRs&z${%}|IB6q)= z!87=cp1iEq@7p4&|I@1}g5K}T=1X0pBP&ZS+;yyp9G&c=d>YX7tVBP<4Ou;_K695R zv&MFh%=RmG1lFNSPG)7Mp_8FWeaX*$uje1A9&V;~e*yJ)3&@r_1Ud#}FpGH(r30hO ztx3W3jrqWp`}9iodk7L$hutMvB^LqGKcFOi1v_b`*au-0@`E6m-Mi&M$85~g%;+yc z74L;Q9$^H03M$m}5GTH?c$`zzF{)6v7*s=YZ&b92F1tkEH;+VtL(u-JiC$d6i2-{gE_K!W*2o^>yxdgL_oE zngdp5s8yUXRkvMTj*3y<2GSZj!Afj{nyKER^+s1%-v;;s36xHWAQ+r=jyEegWx_qA za$WFn{a)``{%(Jzd$cQc$|-4)TG5Y^ma_*+Q8mkTu}xcDsEMz%3V51i5OGC$MR}EI zE*&QPK_I$G1bVf|3H9;ikvIMRZR0hig`5nBG;*?Q(#MpUKQ)EZH6AUpU8y~5z24vn zmmNAjv}-69cwe87-WdNrc>x@E9+4ywv-hQQ@+TRl8-=4R+a@jH_zgB``dXdYdumhkS| z?Wi9~?m3QS4{9pwDJ|sQH&a}C0+K1EK~h&qQ{G8DgwGeM=O3frU8GEZ0vh}1p_m?O z^PkG8ywczQQvOT&k<_1x%X$vFB){5zcYo|X1AK8PK(cQd%m+mGP2l-08UHw`Hlw>x zx(eGugB(;Nbb?3~-jrZN?j!pXg+SI47L00F5K;nFw(J%OFj}}kW52p}ijNn%B(qJG zVVvbq0FHaRhmdP7=#nT{Kn-7Ool@OWGNDw1{f22Udw-`ktKZWO)mzgy(py%)rMO+B zmH(Q#7kX78*H-UX-L0sH@Z0qPlx=UNV`f@QjpD<<%||~;nakBGFRIC?w`u9^-JH(e z(g)}HJgG!E8xWr>z-VsBTcaIacsX@-{4LO{)pa*FI#vA5mHC~JG6__;+%%)?;L?Qp z!uHXgV6X!F19r`wz)q?^IBvBO-?5kp8mQG)7xmVsL8jX)s3n>&;wAlwut};Tl@Od| zzeyrRt%0|oh~EpGVrMo`v@WpnKEtTwM+(`M0{2n($lZQBVc@up4TrSy zREf%Rl)e8O)ryo1sP}-92Mb_Cwz~alCkXFwQi6l*azqX3+qR&9?pvL~LN_o+vu$3B ze;e;CG>M)0)*sW7_Bx+a?ge;yv0xU{n?J;w0qW!Tq+mdPc}h4bnS{>ehS1y>DyCA$ zT}E97aa|SvZj?plq@?EqHEMbC3E*}f06D4}?SVb3eTP79f%njnp-xbFmaJMm#8=h-YtB+T8X@3|e zAf~vJ3elRX7OIX!x3_?FE#>O5GtdrZUar4W)11nn_>pN~C1yd9QO2oGYn15(>X+-s zg8f8$xpoYdi(*?~l2uW=N6y~94}aKkHN@w#$rg$SoI{>5O%Wrp_tNnN_T^R8*7YA- z-3O72cepb+eT6#Z9#wmlK0<&*6Y?_KcFlHgtt+X^@ ziC?lE$KY!1Zq8li2qFY3u>*7A=Y1#X18s6SY@_YY$jJ9j#pLJwn}ece5PB z?cSL`Fra8D{I476Kt2Ixu|G;eR2B96S~@`65u`&^8&bHBGlgXE(u5t=(speGzPnv; zd)K)#j{@~_mTmLZG<-yRxN#g6@YRYc{b~h(W?MVLUik!hE&f$85Tsu0p}^%Xi+I6e z8Ja8nne++YvF_o#zO~kr8p!|GAD#dXK|wGOwxC}SDR2`A_?7%0{0M#=KaXF>Z{U~n zfAiD8->vdZ1rG%E0xZM@@&u9v8G`U3M5r;;8G0BR1icG=0(}nNK~Q(7GL#0XhJ-@y zKyE@lLP{ZP5DNHIAoL3KBGeyh3FSk6LX06r0uKR3FwbZ3bp_7^^MZqrA_xxZ34I8S zg2qCBf}d}oXQ2krHAo8N4EQ`2LKBP&ngu0-H1Mht%nD?|H@OJ84>aHNY+IaoUQHg1qj!Ky$Pk_g!i9fFF% zN}(vI6F3@Q@L47PVO}q{o$Jn{^3?^_5ND_*j0<}N&w#&xYr@B1-7qxV2+o4-gy}(f z0&zhEII|7{V~9O;H_QYsg`gomBmYBQL-@ny1#c$r^iKc2e_L24}wvM3G5u)6ybt+0AGY+As6`mye%${=g&*vwelu;bvz$lI=6=- z#0h8jur;^|`~m1Jq7)T|I)m7RJmnqX9OM}CQUoWUNzhmbRUpj|0l%xstK~X#vpD1I zRThCYz>H>n;q2f~K(=7&h&zab2nU2OA_XCVG)9Ia(C`!pf$z>O;y827dA&R|--w?8 zzIg@Y9~1}kgpLaygY#d>PlT{wF36MUI*b5=z#Kp&B6h+jpm<0D&zWg?cN&NN@pJA5cn1lM{wUdK`??99)Z`+mE%S6hIuhOciunV zGr<%8!svh$F;9P|mj&)I%y^ml1c6VyKU(3X~q|4x$ArE_ll0^3)-VFbO0FIfcB4 zR7YZwJ%|SgYXlX+gL{EHzUhtH_H|0YPK(6w;I7eA?jDL(i=23Pvr-FNxN9Pgv zV?2AFKe%h&ap2s4+}pei-d&zB?LPX#O$Z1pzS`K|4X%5Fj_X=is72GM#N6r-I54Vh0$4?PFgaksb!m{C0 zh(_c-)N|B3)P2-8R4H-_Q3L-9`vXmdvS0_1O=zl6I%WXXfVd17hwH;#;T~`kxB&JN zRt#+iBL*Bg2|o1*9fCQIxr=T=4WRtd8EAL3C8`Q>6z&bn0%Olv=zHi#=m{{Mp}_V0 z0#$&$hh@Ny!wy652oStzHiH?&TxW{1w{Z-)i`+b3IUf%3gzkdfg?$58F_tUB`mu@F zc(M*z*In;j-=e*xzuu~0ve|s@4}O|p35*yz;QqmK23b}taqx~{X|c!IfgEEFj4j91 z-Rh=0(a+J5oBf-)TVEKTm`kj`91;ErNDxd4aS#bXjU$^8d9Xo21y`JXj%mYuz$)UH z^B+Qv!`9*ZkPlJE(Ou{c^m8-?or+RM-9)A#2H_5H7~B?&G(mv5@ zHpVxr!QBXDwru5ZN^DNjm+0g4H2O90YM|fQwA)(S3TChv?#!pm4(4ap0{bV|3XHEg zVAlF8C>JDxdFHiX3XG!m&{`-OW&%rveS()D{(y5?iaZ5I-hHU|=nTwJq2EFyLZ-s? z!soH0SPk4+Tr197WLQK~R9>`L#8Bi7t`W-=wiccevJgIi6%mmTLrKI)evk^0%8=BP z_$+26>LW6N`-g*yM2UPA%@GR}mk@s@%Ex*LX`p{0FCcnhQxGk|ZN9z$2i*%-L~bG% zko%F(5O3isFq)u%`+`}wVYHgKI5V%lfLf|ssa;Q_`!h;d7dgt@L=KYe4-%s!*0wF7 z=ci^YW+Y~%<`WmKR&K7@)1o%6(O=LjH@s*!*DkHxU+P)Np0}O9J#W3>x%g#CuzY)U zWR1U`3)J?@hN}~?5>*%dDw2WwhP@{2BlHNPgL#U1E2N5riqJ&c#otI$ z@gJqDWfElNk~*HKBZ3;c_03L}#~05Z}_R=2MpmL-<< zFTP#4F>f+wGfSCOn{!zpE=#PX(?aPvo4Q+OTfh^!`J0a3NL)j&{9O!K;LR&7kQVOE ztIV0r2qtsKPmdZ7`wr@W|_>uSmB1dW3l zrWzsYx6~l2r&OAh&Qi9K{YWK5Z=y7DS}{&>h~T2oB>NbjB_4x2joE?7hcp1EY6kqE z@IQ$f*+2!JoIHLEr-OLFwpd%8jvTt&E#H2;^=j*bHcop%C${HOzx_z&RLjz>El22a z+*z3q#AWhM#X`wd#GOszY~tY4&ONZL>YF(fH}0x$qg?as7dlozI)U)W4~L zRLxc*|Ef3c>>L?vnv7VmUW=w*0#7_=Yh|Nt_1)s)?1$;@ss8DcbFxc6)@Fej=qW5- zs20#Rq=`?J9#ZF23sk36?o&nyUt|m=Y;Xun4#EWH3t{jlc@*A1?ld=ur_YxWxIt84 zSfq}Sm1wk7gWNr0fl{q%j;4?9b^~)GH{(uYU6YF@E+)Rl#|wSZNX<+Ax})Blb24`%c&_g40o4ey!sU69_m&0E2IzWZp^k`nmOUDB18gSjrbNDo*|z>Tny%o;tEPzUoC2-gr;bUC&mLj*eKody~D77&xG2FHn&muq?|f+NjKJ%Z*|W0hK;qw3&T5_hDrzJNs>pf ze-R#h8)hvHwj#3NILn+qHuG}MZt3E>9`g=FLij#jhD_ERHXOIW+9hwZbKK)Z-4*Gw zZ+EGSw=-`$*QUvor>my6L=wpH@UBt}sgE)@6?#Y{6|{OF;JjGsFX-3nnQ4EgPAN2s znWGz#_e7m3%chaL$X*A%+Fd*>0C^6@TX65#DpSrHPGuxs{TUw@5NDNO@e7h4Qxn~F zf93}3C9Z^YOh4HcvMa$gXeZeuP$7Vio1N>E?po|B1&J2dy7?Vytx@#{$^tU=5)MW` zij4gp_VZ}kc&0|daM}G@R!d{=k+F%{sAV^>4?(5RY+RzzR|@9j$Cy2Ft!EmQ8Y&y& zo6fae?>#o*yLL}tDwdWM7a!C?bux`i%zB8kH_1rvZ z+JCZO^22oc+|%Vy`T(y3b06PM#%m24;jMb@k2tP6*X|Z|r+Jv~(F7d79+!hVDAqHE z@fyyQ&+-uI49Q25o_K+*KG8wtyk@2z!ARWL+pt*Y0N@V?h~bevkn5;rnNYnbr)P&K z$IkghddyqskiJ3h&-`wERCX{cIE5N#5he6ZGD7Z0Txw5#Xl+kV_goS;MnYR{$^41q z0T%_wcP8b;^GFnJ_w2c;=;_g!&(lZ7CkOcL4z(u=ZlvnPw1nUMYWz(QNsQTy>q$PE zd98T=UuesP?khv2sp_SX%@Dp5QUr4!Y0fiUqm4c9P_0`jZz<6zZK&9+d(+W9`gFyc zSC1`{uT~Q=x@&dV{=LI9JBU@iafl9H^(jEk)rss!)^bDXCzqRM#itY|rp7-_KADwV zQDF=~B}HarC6$}BjZGnT89OIkzwNQyPxnqaRCMTtcl2J$?lOm~X7)Nrm9vB*X&uQP z@pOrJe7HQ0BCdW)x79GzIK+qt2nDlb7`_W_3~`5j5f9MF+5Y$7{eaKMJ-pf5b+u|l z3pe@)S@llEE}0rB$p4)!^N7um44v#bbV*%5$oeXbSIH9UELo z-&kP#Lh9g!h|@43ZuR==6rxYLIpA+{g-Ka&sYk{A+Blw0dpW)&5kT5XCQtU-O96|hcAvyrHlziYDUE-3G3N;`U8NeE>l{hXTB2^&6C+H|&)}ZUI z7-kypHxk$NP)U(Kgs$W{@PA^{R6g3DIT&-w<&5;PYL8E5o(jRdn#s7<9hD_{*VA|Z zoQ$*$iwcEB1}FTtNKH|GVVX=V zNW&S=1(HeK~IAahvVm z^QAuv_U47=8G`+<*`}NUorN~GByK?QrFN3p8C#~krM<0_OpQy7+H^xz>hUL#KRG9Pi#UNA zZAbUv^s|aVoD+Zdy|f~cz)sNY=`MEd0pPNsr#i$=f9w3}7xg<)GFPcqt{=Vp5W<(Z zO9|4xXB2LdYCupwppY!`75<)U%*b7DTX;W_-5=VPQ~RO#=^xzBu?U6GYo9wlt$q#( z3y+>kn#jIde)!)|yYN8MgxHeqW(cntF)wro8-nKY3Rl}k^V`Ggo>fB2>WX2-Qzaj( zB$`h4J)GIxJc9ZugIC2H2%GP-8nXIjdCxq@rZlQ*)GD^WwJRGUZq0q34o6{8& zAIDh}jtMzgY^!%(bJN;qbkOJU!Vv@ijKi0`hdioxu2`du5;P7| zs^mSTouuNWG-Ny#9+HJr4YbI5v-;tBPMX$aF9}hm!5r2R9jQyX3dvM3krcUd+}3vq?{5_ zUxlHuU)NXPNzYdkMe&pDh9zwg=z9ghvX9K*`zdEnT>W;*F5s(MrJ;*-75n#8ROjB> zh@$1+cj9po#L$Sav)?_^=*60?Unie4oP^3`VJflOL55W0di_ClZ(_2fk9}~Y8 zIioRru1liHvRbk*Hr+1nSGf4+hwn??wSRzy`bHl}{+IK(@=tSXU(|%?qBE_VNfkhl z7lfvS(U|iPtxfm2oI&5V{k7jp8F`2tY@TIlRDEMl{>*g-0TUvdNuAP@HoIr1N#D^T&$E3qJF_>*m`pZ z!ga^qWbX;zD@R(6gdEQBKI^&1$>+M)A;32coKx(7QF~VX4;G>gxrWzh1Uh8kBS7i^O#>X9P=|3yX&*L7F4KK&^BKJY#7)7fvwe}-nRm8CVTcbX0+j)%@bdSh4)L+iZ z3UT6b&#|VD)mKXJ1)2FJ#i`XnE!Kk>fcs=6BqH~VdRfoR)XCD&`i=EFE4KL=K=!vBvhs^R z677fb!Fmy0`?jr^Q}xVLGl*2VP5gQMOPLAMVMI|vf7GQh;kdpASrC&Z=BfXu-(n(SQDG@zRc~?ERLCGlW0}m6mc`Br0yb|gHBWyW zuNl2O_F{5+&U(#()e7nDDBZQz_i%mQyN7PdL@~$EO%5!z+$tU*i zGq=7=$w6LN`7%`3I`a2^$+N7kWOnR}A0`QUe;}m?nngxS*JdGaMN8zRRL*Pd*R$2N zQr|(!!S`do!g=hw>u+X*MlyTqS}p4f%AB+BCxu3LhiQEo`Ska5TG)~AF)0%H=W5nl zHTzS>f@U>W%IO!`7xYEPJZg2ZsFE^ER`#w7C)$X^zT78Y)XlK z4-qYOmg1(h$FSG*gN1}upp~NKN7FC*A?jMBLa8`RFwbzKWFc+Jdi?&F@r3aVc`1Ek zlv{xAmfB5$>iC!$+YdX{yQ}Um^?~@S9eaON*l+ScgL{}`i`B5fPW2Shu6o^f@)BS1y$DyZj!%BkKeRK$dIzFS^HThZ=c&4nCgRYx~wZD^?>a=W8C|= zQKs@kp8hYPpK(97#a~Dp&v&dd>(iM}WlkX}5}t%e>Lcw;U1zNb<-PJ}#Z54O1&UkO z79r!D-aBo2|Grk(=2@jZj(rhvHSA4Da7cI9si>0)*vz8Rv43e@8^gb+>lXvooaklD zY)6ZHba(YOoDZ;DtF0z79Qib(U+GjXWvY2jF(Nw&lD|+Y{YWTBTtB{DR!tQ8`*;D z3hfrY&*IQyzYTwtqiueh2RrugoK5YtOkM&$m@FYorW}7px>XiMa3N_c9aOQ+7)l8q4hBiOdrQR$5@7wi@~!^|SwbS!x z7wMIKswAp;L+7QIGW9OuhGd>l7NmXa(9+?FzW$1izQ&m9Lxt_><8fXQ1tH0w3O?@t z?C^Cg=4)DGLGoWn`-g$iiRc9t+74ELU>=@|3PYbo<-vlvI`qp69i!=83IC)jY72!5 zbc%mgJ#S_Ys4pzBU_vKkZYfD<9WdxLk+-;L6=pqP_1N6Yuw3IYX}^>(<}6R2Ub=Jw ztVg+k<+VQld9`J0Trec8CmXM#rSE1bwY|dS)1GMW?8ELyJC1c7)%TP3#(UH|mRdbB zC|0uo&)+FL7OyIEQ@%!VKcE6QD^-!h6^@A8z>u3It6hv>5ixD8T~kNQ&T5{UKi<7J z%(_;Ig$`S{7<2E;s&_2Y%MMFck9CjfiWmAFP@>xWW@LWFig#1!6#g-(NljXNNb|3X zJE2=r1A7wg!p>QpoVq+X+$r1a@RwTb^`||)IAS`a0i3D4PcfnD(b(jb9A0H{^Znjy zqb@UzOHmsmY$EIi<_%7OLkcNCe{Ee^JUI5F`*q`T)wa^A;!kBFe-F2G_lwOw+}w+} zC%H+2XxbR8nRJ_nS{|_aXc=r)VUVoRMiRw42<;UtZ(UsLU)(#7o@Xx%uIST$v+u$t zuvs$F$_$-UGo1ZtCwX^Aube}JezHdw{7HW6-c6oP&NH@lCLFC{l!*?cM%|4my zn{!M)8cb=LD{0GS;F@52*~uG&D+`Of1=%Ic>f4RatZmS8;Y4W;B}RMHq{gOn$L`(f zdp>!49X9jN^-uKEJ(RIG#pSs}rJ0QGMQS$@t6(JmT|u09hOD9Fr<|>9skBC*NYp~_ z(#|d9t-gS-QQp{xA2d9LJ@ewYsF$MM0+l8_xq+H+>b}#cST&R%nC_KuCaxo4in-)vdy=%`ID4R%|f4e#k)PtTtBU>)?RY)1>&1>4op5HrK z*p=LnTlJ-kP_9zb*`(6vHvN8s1C105Cg4;xbts0RCNT307LP5W%&d$KX&+an$|Z}8 zz%O!=>0ej(Ey*v!mxfooH_TZ@5E)^-bSb4v`>tuY?Q6%;-D7)BdN2C69EtSD93lH? zd3|-A*&bWNh#07N5V|qLn|BiL|(o1jpaD#g7|&242nUF~s5TMbu9!pRft+C@XPwe){b2e?7i!+W+Fpp*is6{^*1-na_bA{(B$vQ75b; zhWtyYaG++R<$G`Z=#|;YmH#$ToXdhOm@je&*#XxQ_%ms%n$IfKQ+?UR#GO&6^qotA)LvLQyXES}ui(8J5pqB?(e-XDuqhzbdDAnt#?UW@sV{sTp z3sT0|zH)o2XfUHIs%4^1uG}VPG+8nR8y@~e@R9QI|50=m3{ACdm`>@=0qc#?-H3EZ zcPk2t-LHv)NUIohC`gK;Al=>F&BlNM3vwgB^ZkYUJm;MIxw7QLn=extT?N0(wVI-P zevY!wk#LEd0=w6btQdA!k2v@^xS3^6Hg-M|KuZ@UBKlI=f|}Ty?{tI>f@UwTzdLAS zmKP|K&V<)u0+gSrQq|Vf^VDrrZ4`Q8U!}eZ)UuDzy`@oh7|G>Z+FMOT2M|``CKQ~QQ4mwsObH~He726G|IwAd9pY+y56JQ zqEPj^gqGXz&ErSl@45P?1L})Wq|D<7tW&%X#YScHpbL;+pm>ooZYvh2QKM6e7TIkFE>8q#8cyh-cNt_%1kKwuTrzMrSELCcG_-n4-X;PQjh5D zS?AgH*;pB09!+fjUe{fW9>3q0-k#WU&}!FRIBYnVxo&&l%pAo}loEn>W8_s@)ND2M zHBB_V)W0ZgA~2v-K{pN_dPUmwwi?lY;|D=%^C8K3H|$WEp^|e;cvy~8p<8ps@SoW? zn=^+Q*L}}HpK4!-52MG3<2CDhCfd3ODqwUpL`o)1Ivk`a=Lj8u3nM=x{)66-*5qep z2-s#O^b))1?WFbf7@gk+7+#k1`EHw{*(yb3tl5Ij)eZ4?r8LS_MErFAVVe_||L~7@ zqxWFh;yP*nxQ2C$_qG_TEE(zq8<3@n@$fxhgVMb^P$W*`@@5&wr3bCLL>n{9p5%|G z?|yE5UmLd_E10nL$uWbqQ0t#x({OkDaO+g?qTDK&7`XTR_!R@19c#YccR}@e||qh zuk$XSZAUM>(KS*TL5hKErD0M6(#bMq;6m6EA`JN)&MG@2=*+~h+d+sWM$p+xQne2p z`2AmA0z!%G)U}>SXEFH^>*w@_1As~8|MM$;okPkd=C1u>s@LxCop&N09c8jk^Jz<1 zg3S;Kh!e1$%x~Ju%`URaVt0(-Pqu|VC|CpG&ejgvba*EF< zz{%i)qO*1ORG~%La7>XV+UT13jP0z`C65yy=>SaNus^epm|Mg}tXYG8hMK&*F*IAI zR@w&?BMXQ4!hXVw;5kq}nQS2%OUr>iF`Nvj(IhIgE<0TIcfU;X8L|Uur-JsFV@cNY zOG7T5w;IOE*Ne{OaAp6OBUch!tKFA5e@wJGF=D?bkS6&MaueBx)P{OXnF*?L+A|2# zj7Y&N_h+j{)A~qlKWeK=Z~yq1X81YueL>uA>}kC3r@gePyqAB!)H`;59vqq&n|H+D zAl}~(I8k6wWD;eRJUgQnQ<~OomeeMN29i3Sx3sie>MR{xov~YAJ4j?v7i5%)M#d;f zsSjudX&dY8X}{4_Q~{wxWHtqFv%fgq-hH%ne$8{G7Uz$bCX@i1XBaT4Mj;`&1`L~4 zixJ4;zMZ%;#^a?=n*U5du0PIu*Y(jwE^{q|=jyjHH83u@Rgi(qWjSr=U$_{u0|A3= zfd+xLDZc%#%@L9a{XfYyoiZn%z<)vIzVsLSv`EsN%pZvN=RAjaIwcxl<-ZI4zacVH zzxfppSC91EpOYY#A2YLO3HV9vLzB@S^1bk9pjn}ibC(&-4nLFIfGvS-e6jze9Z?rp z%9<;c!ujza_H}ebbYNU!;(VHRKCH~6LAh&c=--s;(ycWU((Sz;hqK^VR91t1k z8gSFc&5g-k*W$U+jMgha%lixZO>ROqUG5Nk0Sboc0rI?Q8Cg*($NS^CZGl}1!zaly zZFR?Kf7{EcJ~?)g+J!PORylI-+*9B`EnaU|E?n%JbDTB${iJxeI=m-iwt92>P=CDg|5#ze-M zef%%wRc=G+v%2gKfx(c8Yx5~9%bSxsVuyBTYk(FAP%#}fZQHNe&jEaCmuItY1HQ4g zopX>d^J)D&b)ThJuu$d^3ac!k`CR9zo{9bqJu_`*)fSYwOs${*yUr>19v4w({W?Br zr4B!{-b%FD3puf69p;CEpy*}wQ-e=t47NWUYuz}!W&B+I)%?=E_FWe27|d4<&NO-y zN07i)3vK{E0>0;4NGN(A$UYK-9Erc>(mefdyN>++*i6t>`K$Gbx51@9zM>BQ^t2!g z9K@ZBCH+y0?jKEwl`SP~Kb*6Bz6}&gRYr6kOw|&;(-17>yioB^a;1nwlm{Fn0~6uk z4rZP>F4~bMoGeaEz8s=-jWy<$+ZXhwPk-V`V2C{*!yGsHfj(s;$Eeh?ZmQ$j;FXES zIai$eMn5Iwpy0?A&{uvsxkfwNo+LysMNj;QM$PsXhjEfAf+$`ibyc78v z6@)Z~hDdgEW6qxL+}(~mdm-wp@z*{ffOO?*K$YX6-hf;a>qC;y>|DQ58>X(Qth8wL z`}wT0Z;y-As(QQBXUaBY59L^{^Ky&xg4>WpbQEG##$IHMYl(?`6tMkv&3WPeMEYQE z7iW{vKWl(1{q{xp16}-JY(?DL4;4w<-xf*+s=u}k^pA|6pHEon+WfmSPb&fRnZEQo zrykTua^b4&eA8%b53%KWLqNkyOI+_2fP0wQGhhxEXaq$gSCn`(;1yNPFO4l5JbzqsDjwaxsU<)cPsD4&xQ3fZSRrss2^-pbY9)uqxy z#pk@Az2C04mV2y2wk4ObrxuG+1Hu`6Q$|CEOAZIAg0~^Rpr(+IU^Bo*b(wK=|J#n@ zX|T|Nij7^9|Lv=v0|lM$86-jW*vS<9y!z1nj=K$F6^%dnbA__Bvdnh3{IW?Dfl?cZNPpCM1)%as<&2b&#IpYiGE*|7qvxDOspgRrz9T!0X^Imlm9l z3}zwR96Z}P3%H?2ogW)DD(gz>a}BfpWo_pTmkG4_jE~?g_ny-Wof8rM1G)?6L0cjP zzy;#_d_UN2={2dhh*h|TnTQdyo`$C2f2Rf4GeSRSCwz|`jxmV4{2?_d`Ws`(^Qx|v z?A`~XoU^-FKH$ms(YgR-Y2^tWfO;B{ZmhFnpUi9xmvnz<6>MH<8Sc^^xv}tNtLAu! zb6$)I_DeBW!%8>M;IfgSG0aFpuTJd=%33;ruaD^kjho!M)`h*e^l(W92VS2f!Kg9} zygI=mhqb2>t3MV@E4_@;==DxSRZ@QN{_F7{uDC(iq{>s0CxymI2shgJp z$FB&?0{#^K4q6QA5xm24m3D78`FMcux`MdXywBAu1()pH!cE#ylDsSj_RH)eR-KCt z&nkFIhH~07iZkBi>i&7syfZS7gYSmYQ_fu$Ab>+=iR_W$oXSTnTfKf`E_0GAIh${GOlfaV z2G2^)$j2PiPRcwX1j{y4Iuy|v-t?&6sIjPhZ%}Ri?pDmnd9E)KO>hfk1}#55cEc}5 z9LC9pR=O3c&PcG7IqxLnFtv|#wiXDe72KCmE4l=6N+3<1F@c+1;sLx$MHZM;v}J@H zos)!Hn&+-}l8>186Zb>MGi#EGx$a+;Q`8U@QsX z9inS@tCj1!+x7;J=b1^kGh^O)>1EWsDpeb&f6IvByz}``qX1n_RRP3*5*FO==yidd z)Mt3x<*da!OP_G{>rcpksXrMWbGt|o;hd_{dKXQMEq~bIoESYG`dsyA2+kcp9bcbzy#W#ap(6lZ6Csp>i^ zIKmTQT8H|_jomd_92uf^j5X~23oADG)|84*4f#&|jcZyPQC!L2-JyTVB`eA+w~7qI zd_eC(#3c{-jX8eO$54sHww3a^XXBLqr)}<4kBgKtDiY^op;66|b??Sv3qMU{9u~7! zKW^*l_aB#;YcP zKm(D=6EEqEtWX0PWSUl5b2(sL)I5`XLj3ssQ~)e*_F|Q}u_1%z6Gb@kGXyEOFMAvK zN=?FFA~jHf$V6zSBpdhp<9wpXrXMX@5Uo+{%ovh#n>kd==dD=*>H!zW&YSs^!Al*# z8z%qp7GKRyOUX?!__qH`w#jOw1ZTIqLBGqTEA|7NhgMZ|z(~W#rCEeoxo$9Gsa!+| zu5TuGl)mqMOHzeqVQPAIVn^)9cVFL{MW)2Ce;Uoy_^DVO)^^;Fo|vAG!`l;=_WF+l z7(O%mFo)0w9VSyW*Z$2DM=9M$P0Y2K)f)9$?LUSdFH{j9oaS=*OVD5q$UJg_db!*gyD<8S91q;N|yG|$)4a!MhEUyWM6Y(KK!dD3{NvhJtnH<^^iq|D5S zpHU4{!*)Ol8JIDQyGm3|t`AUFzCwebZzK~0*f|RsifGK_XZVRZ)$zjquWc<=O+{1b z;UAe|1S01mbRz%7j3k<778Db!9<+`2_ly_LUsyFE-=Y?seg$qb9*m?j(BX$|PQu=z z%f$V@_|}m6o3&gGbnQulJ99i+L&rkr*2Qw5BMNua8Fg;!D+7}%GDaClYtrO%WE2G& zneWl$NnWea<*Ehvq6PNdnm6go!F&40Tz|x|@G@0D{pAaDRzmhdE-L_&^~rzI-`_XH zBg`?>YRuS1+fZ2&^%BA^i;#(t)dHMX{z!k+Akr7cAl=8aaq^1zdwp=1ljpqh8;8BC zYD$X#`Zl83ozcuxZTd?l$1;s8H9vcygro7$1&}GleYRQw_=UV=bt3w+TLN`rbqsc`JC95 zQB`!OGPz};7eAUe+k``GLH16MH0V{BOqh=7st=R5JJx3wt0(UEAGD1%#MSjS*tNeH zOrHC1bNQ%&!%mb95{7xE=BQnzchPX)sM07%|FMRtd?!eme~_t_+ChY_o-Ty}`h<;T zi?tvU6V;311$Vhb32>%r^=(aGS?}6&xlVXa`Pv0M2$=OP_egg%x4LHhLW^Ii8*u}i z1Eie&maBvQLrkD5(L!i|iv@k)t2k>Q`lAS6<-(2HicGxE?N|h zb6mC8u=QGv_wSk4vsYQbyTU(5Xi^*RFs+__~|f~JL+HL(YxDmcRxpEY5h#AvS^*^6&;P6xrQqu zQmDrCj4a74DvZ;|%zN}(_g0YePsa876WT#d0S%1J6P*epT8q0x(bF&IV#V%3@bZ%? ziyBATV|sjsK86;0m(;b|oyEoKkkOi8UqE;Y?>%u|;_R#S*B2P^d6+(MG2$XWGS z!+i51+blBPI@e;hrbn4J5w6?!!bQH z8$Jd7_1r;=_hI1spud~ zC4+d98TR&lw=D7FOO%DA#d@slx*7S58o-#q!ypxcdZ6KCv~FHu`@#|HD&$q?D;sb% z;G7@W)4++#TK>G8_9LZ9gcx`U^bq7F8wSC`Q&CLvmFSO%JQ*ziGMyy3aBYe#&903$ zvkkj)>F(Rx+kv?@WTjkz4yr5Gdej&p0b|u8kVFznr<_&M?Tm zF2)DZl-E-#Q7}RngMJBlo#S9sr%{NImFu$|qmF$st>>#c0Lik=$D=4jg!7yG;UZB{ zAI#D#0R<_z#h`a%^SB=V5zYr$S>%R)^sH_I#u7VOsUCi zNf@x0Pazteaq@6Ul_Cn24>bAp8Vz!c{u)z^xb$DDm!pQI*m?g06n>1GS8)#(4Cfl> zW)_X{&$q1hSLr@+)k*9j$26`P=U6h?Yr0H$aQnsvBwf0B>8(G#*G;EHD^cSF%{YY? z*pAGwRF>2f=ppzqd1++Y-Uq9yH(=lzB|O*JD1jNO;q{> zKhpBC@}p;6!OhpIWq;q#A*O_X4NQ|NK-N4S2*oPxturq1V8pY)|DlT&3lzo>+A>|j zH@KLYxDV4wkt-3iKS#~`np&Hx0*n94xczY=YAC$p^~*PpBb5{EQ^N9g%G{c+_x>6$ zS$s%%1GLQq(~U7|G3zqDrjtBur~F=vT?iUS^hLEQ)Q{C9*4wlbhA@kpBtE*EJVePw zIEzxYx{EeVm)pR_5NA-R3ssLn{{Y?M=Vbmzy+%yL8vvP}@$=W0#_>9U<}8Q)fGbDh z9ui=Djf5=>?Cv``yU%-n_5Ts*7HH+y1ANgDR<6duTC<7{h;MS)KttJttPhkK$t1sv z2~)_GH-#06<+0N3)vm*~TT>ySP-oZBDPr^;HBWtA+fBVZc0xD}fY*1Gs)LIUadYuB>X#?~XC` z%eI|WWffOulzfzmHjhYsQykv>PWk=Ml!G5uf4%B)9pi%!r*E%-C~ZfvjD@T)wjk!g zv*UvSV&KZn+5M66o;R)M8(!BbHu`jg3_CBfkyYv9c=jcG;X{g0^(R^_I$!n1^%L~p z>!_-=ptwQ&{M$^!Kog?&s{JzaqQT<+^2TaDach5zZspuF@f!$Z^<_hD3pu+@M_D&f zuQ=acf13YG-Cu z!F9cgh85Y;A-Q{B7r4zH-0q^R*DU>ues^ta+^=V%g|QA+wv%t1fl2z69P&N!uX#to zOe`_sG>-E>;hQqR9bLgi@jdFP+zqh;UM9BEQ-|H(>sSCym;*4&@mjrK*Rt3W4Wc67 zXols7iATuC4u4tso=~b#&(swDtAS_McGq)P{EYH4k^ory`zo~rI7d5+WbJgLm%P$X0AEI9?fKb7__+7r+ zhMErRT~M=?FMw*xW`pWvQozSB5|WHwlvkGLLcpbYxdo5>H!TUwG^ntR_7nH(p_X?C zu4TAW4gQn0WV*0XIT_a*)%vAwt!$xSEki7+I4LSyvh-@}{YmbPrNbK5SNyjCMmJQx zKp_oX4B?Q33!pfP>F(@{Y(^|YrXz+ux(^zv|Ezqce3p(ugy+7ZfA#Qn^gGLsUot)w zRac}opY|?KBx7%rHfd|X7d@E$knIlh*ePyrZ^LjIIpsYF0G5r2y4AYumYlw?(~9f2 zs8?8xh4f?>Pz)+Untycc^tTMo8RGTUHQAN^K*Pl%&TXIV?iy?^t&A?IFKR8V#QW0)N(YqsoVb0m7qb8vDrn4OHeiZ!+A=g? zQlqf%$YgYyysx|&vRLLm-`NS%miub*c0SjRl9{7_Nci2^8}mLbrfkS!&NzzKT>d~? zds+j$LbmvEmSvLq*Y=E_pKeW(<2TluX)P=vd~y<65PtMqOdhHhtRYdwAI?FhzXj~c z-*D`+0i)r)In7Pw9X||`(qoUpIl|~)wT5lHEl;?e`YV629MpWVuYZDN`Do+fp3})S zMt;_MRxxI`vnvO$h@~t1bNZuhJwIEx8m8+*TG)E4Ct_Dpc3T-&_~6oFh#bXLwP39U zoen*czBTaob5=QkzmzcHj-Yqk*W0>-7g@fySiMxe(!b%lqk6o;k}mK;R#y?B`|g5= zwUxb|^OD;&ulv3-{$KpUz4hJh+Lu{eHtN&7uPBc=kjs-Xl${4#!0)3b<+T(r3Ir5U zR)Jss^v~vd{4+|xxqiiThvy-$?>)K|<2PvrLXL2lkqu_S1551=jaMqie?IwUl`@`` zm)ZE!ukpob+Nu=w4)aA`khlXl4wZ!oMGHa)Bq4(SoIDIe2c}!MuvoyGRn>!P?k*3{ zYe{a2kBuyS^Yk@i`1ZROA8=_Q1-Hxn8uPnV#(WmDH%9h$Pd+gIVv%CK#*}jEzQ3>; zf_*&QIAqwx*Su9{SpTZ!wD;=N`_-5GX3V?%ZPHo@ZAD477n;Gq0Az$1%|oy~t+x86-VQD@R-eZ*qLP;s=egWFKU70l+28u!+;ZZw>4aBL~) zQJvVu9q*_yhVo@ealoT6Y03s_Z#CAn2s(PY30i(CAY`9ZB40Ff+u=UNY@-KXiW6Sh zSnb-B0kkv^nUr`RNVTB8YOoq{ncLYk+4H!#dr11c@%!m#;uGht?zn8VeZElVs>&)# z4$2_cCA$RXf?J^|@(Bv53h`(zFh=l{E}XQsDn^!I>qACa=Usk#+xMo7Kb_@Ic~2h6 zy|zX65%2DamS?pu|FGo^rnjb?Wv&)~tH%uq;U;&M>83bwLXMy{SP}|_ybVs1a1~JH zBr-4@{vao>nl5~q_&0!Q->7;~#F#$){`$MNH)gLZ-aL6%_`WIiBA_DHX?)SmHTr0d zjE9p$sq3dS1}&z`3|%LB2el;8wHu3ulTQa+I;xw1&cl}5Jp$ujmd(hfr++wqiloUp zBSDJMs@9r?I)3`b1}nPd>iqKJG7teD7960UbRaxj;lS!(#qdEJZ?-v)l$ZfCsx$%R zs}W&nZ)R(4d-23E-}Tf(-#g0tmZzethkdlA#QBRlpHy;juNmkrRmapU@wPlL3xkb1_+9KZ@CtAfRka@TFnip>Zb?bLp9s)^WHhC-=*p!{jq+*%+OG6V_+Kw%~ z?>Q^sIFKlO6;**$g}6)h321QMWl*G*kgD-D^AQv9K}5&Xnv9=mnbnE5F?MgI!t=tP zy<>Vmk#ZAAa)LF`cexC6&l=+)IAxjrx7V0kc4xV|zmvC66%g2;W3sH*b<#pTmDvSI?i*Au3m+ zjG=0Bi?U_lcQ7}=CCMs}K-b&exXar)bR66>Vin*J zG*bDsI-fSb9-G0EewXaR`2gmFi3E{6aEZZfgw;12q!s9aU$P1dm;Ta^&{yaUTEHP+_wK# zE2$#0;9qL|dyS~ji1KjkTf11%&kwR@irXvgTcUgA$3*8_R#z#JN1}}XPemA_XFI$^ zd9gmRTt15*Q|sSs=WaG=Vrawl4owW=_;_!p<5=q=EqCSUVH-5#i)MuPJ>EQW$S)mEva(r^~~}P z^QQMybNOY5G&eWAp~<9_gj|KB$PLS_0ypGQ6it2}(;?4+n3R&>7CgR1Ox$!nv=Jh! z3pyPH;jb$PQJrjcH>G76+cwx{!Uk))p0^0sAb&gMre?@w#^nk8>+HZzJtd@2^_fh# zD@BrJOyQ+S8F-6Km}mpfDT@T4-QL>xh6T+|ju!N~H>Z>r0dEiqPufsw=1$af$f|5Fk;uE+)8P{H^j91 z_T89DTOHkJVNntU7&$1+1G#4kt6KWTDdq__|Lk8oAGno!3V2`j3Uc>%!rLU8lJr9~A{22* zJs1_z4y^~+J`uDsnh`~V`OAD43}#~9ohPJ|78!ZL7cZ>%CfyLfb?5TN#WFP}k=I9q zE9eROewGeeyGdh)ol z^dIkRm#qIFzdccv5=v`;)H=@pqzP-}1iAc-J3)DM>2F;&(%hUHi4c*y&oF z5m9o#{OIIViSFK6@9|w~*S7X11=l&-JF?kLYx&;T*JR$IKKNs1aZT#rI&%mA4e3L; zjp8r0A6lPugY>iXAL+Vkz!hGAJwyl`o@c25-=4P?w$gyRj<+M6ke~!YJ^R zLWx#{QN7uQ^;`Q&=X>q}USr-6?``*Rrzo4z3v2)(QmvqZOom!Q*r7C-FtQQ#6WxfG zL#0CCV%BWg`|O)hqzMK+*?-12yhK6@L)v|%tm~DdH~cNPFO1Ey zOrvF9E>fyB8mL?9q12wD*x&H~k(dMzB9;&a5Uk{&;Mq9?=7r<@9WBEBrIe|?A&IV* zI*H%H-{ikc#mPmfMlxDqYWE z#P;L$u*EMEG5x~ry$z0anGGM?oriko|8A`vM{xFuf*{B8DyqDiPqfjx%6c2Rm$a8u zz0enB8U%J&433h49U*vSXt@$#u};=Y$rON_Ip(@9z7M;ta;$sX1Zr7k`_IAG<%#>JO9=<%2YXe3O(FjN|NLxIt?sy~jVF51FtV%;>mSyHgULZS=)4J}&BNWDRYf+sdtiVaG`_L)YKr} zJl$zOlD_zzq;)3G9U+ki(^a$rd`4K^kNRc?&iZ8SkE-q{ob-AAXl4@4hP<}6h`qlw zx^#jIBlJ-29cD2-9dc{;kYJGCW4UAPbT^tpJ}k^)V=xE(-E)Cu$*{^J{7L^`AYJA}u$2gT`LX z53M$nW2jN5nhacw<8+M25BFq=(fFA8+OgNY=Ud73JoSj?$!^Jsij|vtCrr))zd!{@ zeq}X{U)n}`S_T+HHiLd`VHFSfFY(7*^z<(KJ6j8@Lb&?n4eX;;`Ynmwykj!UB!4Ps zA3dirWO!yaX4BxX?{d>)5qS3&y?Wf6oh)rPfJWK}8W$9`klfHfuqxyytO5D|n@kDj z9NGtBA{xPZWnX)<+H^M9WirTV4 z>8@FJMUge5eOU`8B#q-OmI&T9F%G%s@N0-h2t?XkSeUzlnRa}zbA1Dky)gHA+@fEv z``YUPxtDsQ7j0kF4>5ICUHiMqA0lT4zzKIr) zbpTlt`OE=3&D}}b;KuV{vzJS7SYV^}*}r#okt0*s63nQ$q*Z9tVYX)d&c5IIrMrw5 z#9P|y(2eBy#zxOHOutgyL4g5L1%}C~fV-gK2p<#ybph24{~{|W3}wmK7bBJIZF2-7 z56$CzdxAZ#Xn0^Q7^6tsQ+o?bnxlg~Gi{;`U&|j9I%l(FBzy}k5p8%fG`(C*`FYaH zdWBC$A|3n@@f0xv{wn!VF#g;%rpBYp?SJb9OWxCK!>wIR^+vxVze#^pPDqQcc&8in zF&2|Jl6F1cwam6brtAH1#OyY{f$T&bI(`det|=T(Q$2PMh+OMmmUU;S!!zCStz}K; zTWq@wM^KBs#KjY@bIxK)kQDiEDoq+A+NOG&`X~Btb$8UQF^Y1(gc#U;PvUoGH}2qH z0XLcS6%)c|vOP7MzWki9SRPbH`HzmudAJ3}w$*{=^3G$-OWpgj=VRAhdv_}_lSjI% zsvMXact0c(Vh+P2G|&q2Ug$8yKe-OkUmV6qPsnr>7CN%{BONZ+=&QFwd4euDG3uO` zdP)D0U^k5)sOxNNDy)qAdExtybo0#X`Jjrt&TG>z2-62O45sIP3C&CILpu=VFecfL zV(<9W+3(P~AH)+Y@O=wslkTsf#G`T`E4{^ee*)T-kq>yE~eI`a;1 ztke&rhT523k4drRvfXPZ2e%^+X|GVv8Mj2IZQHBn_C}1_Ysw$cT`*$^2+|MLL0mv7 zpc7F8@XN9+!Y^4A4$Mewdr|E5@Hw*(-`8fCq1eCVciA$ob0x zH2Z7-2ERPpJ=)W2*EZ0=Uk`6O?u;7sT1HbO>27mhl;DR2D_l~0qUEX^tRHE>XJDv% zNBx!jip-!uBa877Y};oe4qu5?##*inultj|sekB`&kc))0QIvgI^WNiSd`g{InKG1 zxf^;SJk{MVITP%3Emn;DwKY}t(K_&7kPOIkm^v~Cy&*p*{|e247?LRv++<4H-y;Xn z26+q={#pn4KMR(+{M_X~LlAVFU4)W07d&{YlfC7n*1b%j5cN$aYceo5M8|0c(IhFV}hZe3GalAZnqsE$MG-u;@%F8Z<;|0p`^ z-JPg=ar~cqGf~BNDid2?_Tk1o7YEiKZC|5FocaSPi;2fK_umj*@UjasQ+G#h_7!y0 zw^+4^bWr+fQ%b8p_S~41`BkKQ;o}OQRcio^=d8}L?oVAhK)aZO$^dx_fLUdLO|EX^ zGrkr36MF|=u`#-Bc?9HH@xGEQLL{hO)6+7Ew&1l@bQp5}>_&2b=+5hU;_%Prr<@ie>PSue^<& zYK@5PiSKH`#6n+cM@3U!mFch0TyPfVTWwKpHLhoNc5p+Fn#>?|E=lO2^e@PNuo7^G zRH*Q0Zhw~FC$+oK%{RENIn@cf0b(m(rEei3gY~m^f>CT$%u*a8@p9_#+^@eksy$j= z`pU-p7B>lhcQ$FrliZWWqy2;BZRIVm)h|oIK!@?KUQBy*^SKuOPJ^MsIgQPXqn8}t zL~h8HqjHoA)M7Qs+8erfy=mP=%}k|7u$$u3T>K2IR7tWH;X0mqMG}8w{S(n(@9xPP zR%ZbmXc~>wxMOg7A=FCa;(I48w@Qyp&o3ScuH6m;)=Z`&`oA^Al?qVwfL4khb_NeY z8Or~a*FbN;!la+`_0oUd%_2u0#_**oI@o;hCkGn_$-12x(ZjSjQYjnr8N<8Xl-BIJ z(Z7ZTQQ4wdWKHP zUtME$3wfAqo1it@!m<4hd7}-#k8Q$o;=>5Vz@Op|{l>Y6Vmz==+K&8g z3Zu33H$9lEXi(|Z72kE6I5mt|(`n7x{-ne}e`kO5SAY}6=fbkSX1^(%t!(Z3KApdg z*pH;!X1^v7BN+@dvoS*2q$NbDyf@g*=`*Q(WWzOsC5vhHVdIYFs;HvGjLJ`z@%7Pv zqI_fY-Ww;Sep~&?QuDt2$eGMBZcmNqh8I{+m;?>6c7t0X zO{&e&z(o6JR|&j_D(q?^D&S0cAJxB_wmSQ|y!w{tDF=!!pqh<;3Y$?(x^N&ST6K za1E;p>Cf!vL7^_a7Vg^MKXmzDvvM*Y{Al_6v-RTmP5jtS!f77sGv0e*GP3SaI>1}> zTHIM6o70Ig{BV?VxDLj4&X$Z_?|t0Z^XFA=ZVKt6WPEE3Z)`+@!zC zmqT>3;;WA+UumVloYc=akFdM@TcN9sOYdj502kNauD`9T%|>mTJvYa(SjC++hUa|4 zQrF;~3TCRu8c>~Ky_*JX1_Yf(wLG-D41*wr)$k+`$PThyyRjm@;<#G9F-r-jtuP34 z-x2=_i%|~IxoQkC*SA@-rvW$Pn;wE5t*!-*Aln+VEkj}L1eHnouZa7wMA&Tv584$I zsen?L0J<^aCDpmFoqF%o?<6y@N@eQKx%>>m1-tq?+V!gYi<8bK*Ego-212?5THrNN zzZHMTWSL|$72d2&?!rz76WkBB=ruSk1$QN{f!m=`UkzyWsHb**s>I_M9O%+Ii zqYk-rC|3g-_RRLri3#el)-l|1haZ?yymH!q$=6WYjt5>%WiK0Vv~NG9)*W3qb~`NC zKcdWTzFe(dlAL)k65YeqR^1fcoYdhxh?(^y4AUU&E5deiX!IxLS@kTfIDqFX(eu(( z(cDu611E}^XMhn)%cJ;g_^#679ar}VHss~~rc)=jSb-;?epIwtfZmVu+vX)U3=S>M z_uMkv@ot(fUG{3$^rn#pyjnEndihPnK5PT_6!CwgWf#MNxsL3Ty)QJx{OCZH;!RcN zdWRCTaP-{?Hn^JR`P`Hq&Bl|k_kQVYCe4w**j38& z6DHOq9*W2XP!*UN@}Eqkc$R?GxqD13#{oO=4FHdwV;;ZMXVdIjem(zX`kT*c?;&wl zV>5sP!IZS-A5TizYJ=PR2AyXmJQiMu%#_zw{G;@r(jn#;E-Lk$>-F&<*`2~p-zwRyXX8!{z8CuX(p&p~ z8aOeF)6iAugk0ZAdtg&?RmiWmxyPAB*|fsts=%JQ*>js8sJ|H!Ih_S-Bq?$t&<;5Z zDPQ3OZcWzpQy_P8>m^=xad+y`uvcenP2$g{tcEY-1Y%5RbZ^Xu_XSCk-yfCStx9Wo z-ZwGPyBx5^x!-g2=JdrW&vEF19_1l{8D~15H~DOs)MME$-txQUU8m>J{kfhE_M;JY zR*?-^4HT2os%kF4#?0!_bZvDHHRF|45dS3oc|S7w9HO_`H<{L4@X%FjLNG~k-}Tg< z4J!bWsYK_gN9tFbELnWCr8tzkTynqS5#(;`5^5h{)n+2BpQe$ml!JCg$iNTb8UVky zs!*ZWpumrYfDyuN%+&os@^k7g*8n=la>$SM+KsDm9x5igaHeyYcWM`3jk5P$@A%%R zRN+}1{oOmODF^vmzHxBq3Gyh$ozFtffu5_pf$nG`|J#;Ez9Yv+}d`3bQMTT|qM^ zgnv z$7;q5$98{MO9tmi{aUW_XvOwdO?l%!ZCUSLqb32_&fgDNsn>R_wleSniQo zwu{X@%?ll3L(k{P8yAk?9Ct+mfIX^QXIM@4f~sU998N#)sOjG|ql z+}S8xHNan5rQ0YYZyW^E1#xr=^~xeK0~-DY#ureQ)xe2*?lSK7(p}cA(`npp+`{?% zUtKHpM~W?|UidO>9WI9gGH-x1rEEoJj0TJ(=FF~1BavV3XK=V7EM%j61(v$7oP?{sY@ul3;Ht!5GONqc)%Cr8XS zyvq{taEh{?&V3_u(>P#KB@RbGVxF{{yGyqN-iFIO)96S$RuzvaMc#s2!*PgP=xt1@ zV!tA@0tguiTITIMGu{47nmxKA#>Xo?&U(7c(m(0h2s~3U{mPx$&AZi6 zzo&C~GJP|%^2Gj4budhO66Ox#86I&i36Ldp=}4)0Uvm3fPZIOTwzz?qPqF{r!;{3mUHmyzDb>m~5Id!Yjod(QI~`m&nmh46 zT|RQz|3Ku%6X$M@s}1-9xZ#UNLeu?@lEJOn=nem)ZH^frw=zvWP-RFxT{BvXPJ2e{ zn&zPDQ_M@qXE7qz8bbojX&b#IK+s$-BiIw;cXnyX^a~vQLLX#1qAUFn#Wsv zU95FPyGXbyyWDm}*o|0>oPVq*ssUDVLi-_#;B3H6&rLyFsZps~@vpoP?7p}g2Zi>T z+_1aB`V!iI!NzAaL@p%XThm-Y{xi=*fHAHdcIuvM6>1p#S5Qo!^EZn%H}^NHDQ4sl zm$I{X8pEp2vmtyYbyY4!u1flWXaJui$14Wi!)S`pI{Wg-Owky*FSO;xKWct(I_u}g zgx%N&v7_#puHEm7U+Q-oavgh&jiTTUi2Aj$a zNEM3A@o0GyQ=d1Ezc@#|FE&~nG;8u5}J*#}<}K9J(R#umiIez=$vlzmWSS<&Bo z+IM$yXDNtKPMJ7}I2Jn_JH2$IyO+1c0&M0VCi{mvy6an?0Gqj1$JqejCRuNy=CNXg za%6gt@k*z_U5`^+PN!05MB5i=JQadH6Sw1DVKAYUQ_!1#*Wy-bYsH)B?KPlL(39h) z(0SP?d1Z|b{b&|}w>s75<&f)0689 z``Yv~?DYJbVm>nA;9R+T(ypS0d=J^T>4*osq&Lm(523-+N-|?fyB3z4@Pn4 zW2R%06MlcWo7GelULn$=&|g1UzTCO-W+#`nd$M=Nd^Uba+Zo^3#VXI~O+bgTx~p0* zHZ3(Vc9;zQnKjtxI~3%|6p59KK=msMsEVt9)o9QZ(`wf^QE`=*04s_PozrG;pt*1B zZSAfPugMZBw?udT(eBV^04E9toTyL@l);uspoO~4pNq|o`_5f1qt48Z-)$u=HjD#w zd(=`DZX%DMb&zbR7(xL(i7{5}QK&?>K{&-;usa-@Z<`;4bG(I1nDPCOqpR?1@_XBK zcXy0hu-<6t&Jh+SVAt2~Zly~UMM1h06c7ZYySqEK(X}St^Lzh=^LfsBuKT{~IO>Af z`Mo0p4j4FAoNqH@9Nu-Ssi^jD#kD^+xulflM2*zRyxUdZdx~aNH!ts=7d$2jQ`FG7 z0Lg|(YciCYq!mOKxjk9=Yw48GDb100y;oZMt7Hmi({Fqci}@QS1UzaV!qQ{%6Vfs) z3gRmcG-vd7jHgqMtamZ4aV)m;+2DPrA% zN#3gxl9Iiwkq=A82b*8FnRIyW(%?Seb=wE(cgc_J6YbURst%C(OOrs{ykR_4M*pXt zufZXBDiVc}$NoeQz+JTkWyg40=x=BsmsRz)$qAolfu3jVkH@&15UP|6cjw5x1HEmd z4dvCzr91h^43qCp$qK-oeX~`5{MB+FD}eWj=q*_%RSWIIIx^Z{RDZ}F7q8@x*_q!u zvJ^A>YfNw8cZX)Z&R>aKo}}uyvdC9qX`%Mvb=c8WA@*BJe)EsV+5OFoe%OZ>cm@y~;oWJ%s;cL^L^QN;WkxRWX8ME*pGOtC2F{ z$8Z8RhnF8Lz^FnCGRxc>0nCxTZ$gtYM2%2bKEBnw&&JJh*X4}|kGG`X-hSf)NBqu{ zrd@B^H|#rLd>wniFaw&aU#Nc;Dh#xj0%!@eA<`2nt!XO#h`Wcz1-__s)il!yUrx~N zvunpo+wU_L5i$->Yrv=F3HXkl*b-pwXEIGA%80I}#1z8X_D+i6M=lFQcxNISA@zpb?;+}s-Y9$h-0Hm%f{SG8BKHPX8WK|=G& z&bHV+l}~ySsD8Y$algqu(@@iXlVGDU>_vF6ma_b5;q2XUn)PbQ0*W$6mR*Qhnc2Fz zt;{bf>8QfgTf<uk_BS8cAXJpK~TRFR!o{-cbV=VwS5mPOzl8*}`^mH#D!op@c>ADjQoz zb=L|HUGELw$o)_EKld#M=pe#g!t%PYGgiki5tPqmgPZr-a1|iV1@vR&7lUp!H}Ox~ z=hwqFUhvGT?^#$MEIDIw{{D#$w@270xvRj*FxGpnHM*g{`f=%l{JQkp-|wd={xB~e zYe!DPSEV_ge70h;a<5c-wcH?Sni!RrvH@Z}e7W1OEwQD^*>~f5gQq*S>(7^rfLvzp z4>}P=AsxYup`y`8KR2XGfn4VP`lZg1;f&e5<&CWw*3)ek=pTt@SZqixjnBe}H z_HTJn_qSTTcBSce&%H^*)z`Zk;{D1By2XfT3I*oX}7 z9;E54z^GT|_2y4emX~ZdSJ@2Sc!@VEh58-XX|q(DFvtH~M?CnvGkuTmuigL2ufhAW z$GB6N4ae*&VFPs${?y=={wafSn3>^2)JOC<3W}JA9Fq^{Yoi6OIk0vlU!n}%PXy>+ zP&>@YO0rha(`h@_9s~v#DtxU_iSI6|%>_?8*nBab?Dj;s+ z)y>w)(M(hBmU$?8l=mFle!Yp}Gj(HFtf#7pTz)psEBWI`jmW5wJMSmo9|}XnwtN-O z8Yzsbg0y`aESmYY>`(J%mu_!w!#S=Xqu6KBea?Eab7Zw&v}>>VS-oAIP2;H!kzpUQ z8XeDXCX3O00Og=2amxfTqdp@C<4;CCcxzOb9`j&YNkerLIuHfq4NfC zmxx9EEdqU#Sd;25rCCIK1V_XRleeFYut*8R$94@hn#ntc3h$Hgz_!&!+WR zyGzJ8y9o zZ_U0Md(v;)K3wDf$2RNh*Ol1+B0h$ShH}Enqn$smq;&lBD^+Z0>6Rb&proz+q`zUO zZ=3B5ak!b4>w8q_wBN{^K6s~g3#K8V?qkE(Hm8Ax8TpM_t|bXmRU^Fy!!c|Mp^~U# zL^9GhiXhyLrpQT^al;0ACI_M}6rOVO6R{Z8+~Wn^DZ_kVE`3^atUR*ddzMqO*Y``A5C23q zxs38HKV%p1jfuI)d8jsNN$K3u9#G3w$d}|3dc5aPKeK#p?!tK2z=KZ9hN#jrKT47= z$DNHh8zLEeIb=BE+{Y{5M{}!6;_4i`zK&XvPp?@pj&THcvbHa>-RYq~d9XSCcN8(u z(-qOG)!0_oS)bpsuQz{!Z`qu)Pk371MoS8M1KExl#Mux|5?Mqm;$hr3LkV4P<=^6Y zJkMB#8`>*37ONL5m*!V50!5J!pNRM=#Yo6Yq@eLV%W=DLC#;*3r-rw`?-M^wKQ*6N z&rO$5`+UnxlV)5ZvI16OkYNCv<_Kq`H);#{2ys&{P35oXw{4!Se~g2|L%Q#5kNESS zojId)1nc+;Au8For8a5beYJV1&acYs?_{23hEdAxbhTfi)v(?-bGWU?doZB_NhQSw z^>u9-h?@pZ$yFLD@|))+dwM;Nil2@hq4o{|)m>3xQU(zuk`#wqhU$hEhFiskCbXoJ zfkKMj_^rom{57R~eVBOwgb?;{TcGK5FE8^44+0I zT#to|WN8}a@RNjii)>q}Bh%%Ud%5R7lB|!P586A&bH&xlalo2owoAB)7DgNe8Hipm z79ttE<-(XLY>2&Vdq?d7&2$N8ekjJ6(k*1$|zW3zbD%n>z*hw2vo{wAU+{$9+u<;yO zb~}Cly8nXA%=6Kl{+&+GmdyI6wF>n;EhqYVr!Z^&d#Zp@m(*t<`SD4_7^74pGb43k z1?~+>9O|PvB$p`6zh_CWTfM!gL7kxp0ldkfswg)W?biC~gS&@?{JcVXIH9|Gy?PD?H(-wd|CtMzVnKs@8Y6cZeX7aUUyKJM9-_7LF>&vTbOa2GqT=IfyPTKrBskKmBLh4QmVj5VEQh6l1DGN$*{On&nJ5F|HtKA-DT)N<)3m z*mx>%r0!=3Z13zc_s;GzSmK+53(M19qoe%=UGG~J8@ua-8!)Xay|I(FE0k>uQ9-3h z$XB=(rT`yId~F0XHZ~q5!f;SS___Gzk@DR$oYrk-%m;}3G1CZXmL$B;Af?)VuJ#rF-ldA+<_@K1$NIiXOz~{) zaOzxgS7vO{#fIZUJJei;4v(eCb?FeLj~Z3lYg*lEYYNAt_6b9|m6)w7KJ!WwzXtoe zxSO7rd*(e)hJ4zI%n3~m-U~hwz8!o1TV&RWB7F6)w%ozq>7R?a8_|pw@Ykbk_p_O_ zk(I`IkqN!Q%r4KC!MdU9!kW!Sxo*O^>yi)0QlvwX0dYbUV-oPc2z8*VsSK}=TR>d| zi3Lv;?}(Lhe_^(-A6ed6$XEzo%3S+E2V^{dnM9{jwhj*EX?)D`hTUPO8dqV@Z4%s9 z#qYMSzPF2qopYjXpM`_*KAbE{577xzgBK#$$X)aRrWdVY_*FMU>9BA$+jBF3$rLHo zC)*8xxMZ_44*psWdhplcahrE1pxxfhu)3#UcTk?2nmY9TWBSeC+_eY$N6CNaT0EH| zrP5cGZfod3Lqw*z=b1gLZ^^eOjfd-dDq0R!@fF_8h)TE>s~RC2dLiU< zm`Y69m*n*F-%6EStr7#8Qwj^O);H-c>`V@n6Uk(NIn9QwJe54+*#EM#uQ{>)KwW=> zbNi9Oi*u*9#(6z}DmcS{fo#Bb;&%xg;ylsf%ZV1xBBOp4zdcEc z`+!`VS3`O=yi5g5dgaMaQ+jfgOFx22-uV?_pme__?kGnFy&}dCFRlHmopM#;P6FBh z89!e-I;%5wtbeZkLS0PBo1Fg=dE!bV)Izg@6GA>kti}m_AId%ZmsU^jo*T0wzh24R zv|_A-{=zg)7PEMRck#%~^5~NRxo-DX#RlVA-8%1PiyrZbwIv!ySaeG%O*aG?1^D#G zCgUbAO}vd$2>s}AC{3eQ)>!D%4t49nipD}A`98Ui+PczDQ`%J*6p&_tY?~XnNprZ} zMQ3eyGB~FKpNGCizIonc&rMfB#{g>|GaEuR>LFYlT4G=a+{L2k0{}&BW2BI#dd*78 z!pUrrts86u2^F}rqvsL%({+LA`{k|idJ4iztCgb{I`20P)?zEliazF?Pf_@umVTrl zs_w`jd;ws2zF~1q`C?ULZ8=>N9WKoZr7-C-VRi0ehT)3eT*_E`e_uyXLw?!iyh|y; z@tM&#!~H{Vhn|Xv`;hxBEX%IQz50Cn+2OP~)zyAlG7HYx&v9g52Wq>BMWxyQ#>57l zdhWEdnv@&78jiN;^z4pFFP>m^2twsAX<=Yz(AIbav6Wa%6ehahhtRI@7m#@+T?udA z43@w~($Z0?GbNS!V)-eUUmSR&#k3UTA*)ELaiNuy1I7jC-UCkRqYuMp&%4I!mis~H zC_8`45tGOGGQf6jL0^O1Ne_f7QWO<~AKmpA6h@nIP>yo zs53umK`N2fFtO2T(jwiQ3X7yM^0cdd_t54#X(%2a(RVTu%2OI4kUWSz zm|wJIRcOE?~@1<*lwNJ`jpH2TZkwETR_^0mg8 z-iC=8s`|zz<2}b}M``CX`#tUM%CGr^iRPi-z3(~>G@q+KRky#AO78Mba z)6={HPa{lP@Y^Li9dY~WdCL2subkgSUu*Ab52Q<{9eW?!*cgXKUWL5_X!9lPu%Qn+ z4*M8)0V{=E)v1ve;tyt+Y_0CfD4_9VkGCguPWK+a;`zxaN2PODm@L!}Z*^}NsCoL2 zQHadZO1+u#BRi~QUrX^=*vg^p2?1qE4~1d1Vr@^*AYY?uB(ExQUtkaD5=R$@XK17M z`q3TDb$oxha{Ce;J@QBn_pAW}?i|h3G42 zPh>LGN;^)mN=%1GpLKJCzIdr2t*Vz8vO_}fu1qs=pj`KM69+uX%X8= zQhA0iooA2EoL&gD-4C&PtaD8uXsKzC+-l$OsJ5?C=`T9}Z6+hFDEsuEzYU8+E{pT5 zRlZHJ$FkYVa+*qzQ`!V|KE)l$r$Xi+{V{TRel}_B%79SUK%?Tn_xZM|`#ztEITaBa z)*Ch%3IFJqXsAD6;lz)s;fhajs;E_LxmcUmMNW@D-JW-CIk8MIU>wHv3OAPP~GI`hEFFH_6 z$)6~fmPi}fEJ2?0qPz0V+kbX0bqn%LC7Jk?_{@9%@-lX>bxO9?*mv1@ z2Fnk)s%`^M=uNmIvIZ@J{fV(dJ%dVVKqQs-&ThS=|1YEUnt7W^!nNzdm-X+Xnx4Gu!GTeKeJNf^ADBRG*0%! zjUT6A){fEinJ-z&?ANSiI(eOI@%#*O^lqPEhf-5h?V}oWy%@-ne=)nc@r%1o(n0Nx zK0j&+_m$XZL@*vR`VY)``;eP@U(|Y~zY3tXQ#Y?KzoRyhEhxN;Tx*5&nB7x?$E9zn z%@~B>uA8H6g`A4PjwP4G@Nx1p@=Ngf;B~~!%`x3N$1I5;jE;t{7~C=#hh9QRqiE>+ z7zmmSKLHU2H?M}Fx@EV!Bd3A8?Q!(v!?WRmJ3b_H3C&MDx(iN&9&P3gjnyq>dZO}5htDF$68jT6 z8tY?Axqk{IU-{G-RTd1r%lCeUOOIfwe$GpRpc$| zyWiKvXWGl!Ju6Q~@kc|zx~PMxN-%4^xDVwrq(AbIix)qhGCsPT_Bf2rX5ZJ4J286WKu)(5tm zQ1F)5eW^}Q|NXlns>O8R=JdlQ$1M$(JwOJX>=(>^TPw?_=lLgU2Cw%#ZC`KtQ*T`# z*)-c31u~b@=~H}GGL!212HnU#ER=u%|GZJ6I`KQ`@4Bf!pjImFBOnP}69Fr{i*Zyn z@J6MqyD?3;JcTo4B{Y-ZM#R~D`|XDSI_UD$_FnaA_dVu&*W1Yx;dV#d)EeH_(93-bE3yq!VW~Sg#M0f?s}l-qmv)Q=UrIE}rKl)q25a5ZpekF+sY;Lp z{rB$Czbwbk#g8)w&UGf&zy7;FS2ZarPB+peG&tBXL?^;O&Lrtg&dK6awU0Z`jGiQ4 zT+5-Wu|Xd>M~bCOb6GW|m`wSNyziIp{@OO&glg<)GVGWhu$>8A8{FL!`=LCpV~SWn zU&TGd*WuIf44gPt8(FWftuZdEA*{Qn!thy-TzY&bl&nym(oI2+ zn{ceu9Y&pJ+}?PWf;TG7r^5S=*Sgy+CvV#Z3lZZOEW@w|76paCm~cPjD|8p;E#@(D zSI<+~K=>HDd-ECFO+owZCNP2d3CUU@QdxMR0bqi$d2vEsKs4x|+( z_h+CBiS@mMfeRWe;B^*<%Y9a<)PzAOT5)Rs6wUxPy_9>BS+MF#Hkhm$TIe=xp8hwR zPe|@9iSPV>6!@ZPxv0XPH;n@7YZZosEnIk(tcV z`ho8~?>Yus#+oLZ13FX&Y^Ic!87xV`qq6hrSbYt{E_5+A94CrD2u`XCvyHISg{!Pe z%Oa2->Hb@t_?N|#dAfJBmYQy&(PEOgH@IT*=62c-K&U{?Oo>mn-t-B z-0iT_58KE4wv2D#@{#`VE$Bno5kwiX9leZ6!swzzp!(`k5>dNIS_cCw^bX=~_2a;+ zAiYy346Eg(g|eE)^&a2xQZnGCXunzIoOVtKt7l7RrDmQz;XG{Ex8Bj+tk_^)zuS1VLv_e~ z&Umv6IAvYcEc8z!yRi}k4&e~-JTZ+x#GOEL>z`G-1a2N_+i~ml%Id-?Dw|rqbaOqA zA-eZL@Qd`8S`jn>|IR`d=veAq13k*UO1#NF<34x2M?EdvnjN!k*3FlRwwPaF$6^Ro zg9#(h$QG0ldK~!%)~nSmE6Pu0|lcyz5T=cwa6stnrJwy)dHv!J7 zht*%pIKShvuqjq4QaKKPMO)8~Z>=2Jej;#MV!wR3>L;xekZW44suS}5lBz;ed;Rpe z<&n9Lap6J7&U5uvf0Y6E`7zEeGBk7>XvlISD&ig|v2%`;@YK6@zZ#>>Yp>8Zrf6Xd zEb}^}Y-@G(H`Q$B(pbRY9e~S~n$sH2G?H6qdQ&IP14r)(p&CA&Yp{ z=)BPy0gG*c&w-|oO3?|f6vo%J^2JFCj8aQ2T}}lV5gNR~VpfW&kRM2#ai%54{+M%< z+b>Tk?*t!dUlSjBQiFS_^H)1fOHY#w@YWrJw?X+~*Wez8Gsr}gCeUZ7=q)MBiB50x z(vvtu2_e`Od*oqg(1`#L0Bq%@M-*;ebs1ghINo#@yyXrh|9*z1-%P2?KotbkJ^>SP z3SFM3LWEnUO6jEr=%LomQ`b;xmF9?e@_q#F=~T+d5!dyfn9Kvcd1^FSmL&(tdBi-t`D)2!u6EpPNTj!_eW2+_ zeSZDj=DIGmQ5NMbBS~ONj-`cx-^9@H`-!iJM~DK%5qvMk0>PtGrgTc&isun?eC_Mv zCrUXPN96`LZ-*t%qbGVy{-M?@#1SHKp9I((G`aS81e1P%xBR_tnfF6a0oSkgp_XbU ztym93Z|D*I7y5^R5?>Yt#WZ0Kp)=uO+Wd0kd|RwUR;56h#uu~4KGc(yK}V0cyKvC_ zvZM5h360L2hT@u+m4kmRe;v=XO%Y0S{)zY})JdA2+ql9NE8;BEtQ4h@3V8;0QO8yP z$~_QI=3m_Ywi&x{ZQ2gV8>3tQR*x5XWbu7F`yn^NJya^>S*Tysm-xe}8u<%lj~XdG zN)z7HhwFuORaP9UkNKD0wLxE6n&Y1!3Fwnrs-WLqoMsJ>9QlTi$@1JK;=*xXuVmnR(IZ`M! zkaC2-ZV_tt1Mmu_UI)NL4EKHMQ$(uvXm{b*hg#Kvbn6P#XSf11%%BhIfxw|6FyFA> zFusNdb)Lv$_;(p4TY-Bi3Q$6X7c#K?oM=$IkFXh!`o^9X*`+VL8D00V%C1bOpfzhV z*(W(T>rSy*^XTZnauSEeKQF!^*Q9z&8>1_#)33p!d`U)F^feEQd35#7e98F9fx{gy z>YjphGO0w+(i+|xOnUDSj0$)A081RtepURs4%7W_>>7DwWor}4kYfF2Jz`R~3|9|P zhNj++ssMDL)y`_Hty8YQ-u%4#!&v{qUDgGmLkc30X?PPxf^eQ#N~|P4C%O}Kup~qg zgsx~Iw#;S3$X`9WpiYL*cab%h!ZrfgFkWtPL8WRPVe}spTk9H!E|+!p`(9_gqkPJI zYP~;sdAf5sZ`q#S7h}8*aQQh{yg{yk2`mh;ihP3p2xcQ=gG*||;_iEVjF)VTC`M1! z=G;NApmRaVhnDT>@Cy=`H=D*TfXu9?HJ2)KiqHQXPZLNENej%!Rmu0fo}JnB0p5;0 z>9b0r8c(&qX+PH3r`#u#4jSe%*~iwyC^?f)hb+5`o0KZ5fBB^qeHM$c4Nnab3ZaFv zqoh8cP1Vj%FOO^X8CaeU206<|nZg_nr-v=T__+3za&?k56yF!rt=jRprMU50V@XR= z_s>yzDj(wsKT(#Uv2CD+dW{8fLAV&)UEDU7gT9Zz=)O^jl?>s_WVdcuE!Tq0!5#&% z1kxdxLtLxEj&jwS_Yo+g2}=uyB$s@5nr9Jd#9PWo7QE!CZbeQub|);FOioabEe)rJn1zUjtwycH-%7m)(z_2dzv){a2RZMHmTP;P zL5vZW8rzg{40JKbOuLNi>vI6_V^ghZO?TaA@Rl8)30;4}1(7sX1C3p%X522JhA3&| zU_>WE38UylXd7q(dn;JHJ-JC*rc-{+|CzU?8n1}b>Z=;TMbZlqOz9nZh?uP@34fFa)fRRI@;9OCd=`>tAYo_E0uKD`+&DR>95B%*RziQY!WQc z#uV%go&!ctA@o}KX3U#}pp3Ji3*}AglL3>d z*Hp_jf7&oJmMy`qq4%%tqkfq39%<<(^xW!r-;&;Vsj;nPpqmMLi0m1e{D);VHPKKn z)OTzfZV;D>OTa1N_%OkU)4EI*h?FwW`yANpSiZ3!Po1GkE}z=)W7%^Hi7d%ZX=uW4 z6P5sqa&)qFEpealj3k}#UME?3opMifM%rVnT1@>3=g?me?_vJ1a<~-oAzB}M9s3vE z0>7pGL)L&Vo_U|K&fBVLZ9?!aJ$dHTyQ5>SEbJZmWLDU8R`+5PwQj9Csa&M+S+;)a zyVR~+?=t=Ni<1j$Zo7Ad{H3fEU#sgwLUa(?bE?YnU&L>K%>igqpjJ*b4_o*4w+7WT z{yCftORR{y5%nefXBZ`XBUT5&&FuQeb#)Co?RJy5C=66Mfnuw9(&HFTw` z*zu0j1p#ut#uoNkhj}NdVgnT|CiS#x*MHtcmvbJagnm!S7%TK?*c$R%++v;Px0WcB z|4*$$`=l;WXH{ce2`kema-3(6d3UvZUVLJ6z`Qe|KJV|tT=67ppo>xq{TA#Q(i)!d z;XsXPPJC<#`!ws21sjI zZ}LRS(h%EB_^m>*wmmb zMacSVCNFon2w7eUqJ}Ckk+Cswy5#oUbCMM9bJ5qtx5`_^>w+7@ana_M#XloMpdeF* z{WCZUeGb2Xl*By6%3#?@DT5EHuf!&I;EyN!ERG-yM)=h;kQ^d^WRwR;EUd+j;&_V21eaLV`|60p>y*iTReO(WVkf5q5fz) zJckfObS3f<)d=6Q4TfHN5vq5ji2S0U6>DgThkA%CPdT|bySB~X;+hfK0^J@rV0Cyy zixam0fYR=}`>}YBIvw!@27w)ee>ao^^RPHp1w94x z(Ru;6^j(H2xOptqWRpSfmjUvp$B#~fn^z-$j{RvStmklZTiugteEE7ocXo5CXWD(x zRH)z1nBZO0*+B_PNN&nItBGk>L3*`Vs&C{EOMC_%m@Bl=CDFOA zuq&;#wb7^HK$B7jYH()e%6j!)pZI4L8$CZ{2`-&jYt(JzYotZIg^NL2=+~;PNP{d# zp!55_97oL}uaVy@oLFVjYImLp_)8s99nk-c9X4yWi3e(*M8LpQ0d&ydeSq}Qqs9f{ zpkiHaW<_M8pCe+S83wh`{fN`3X$%j}3>%JY(mSZUD*R|WjPYmhs+<6ZD@e6H;xECjqbU7!f zn5PcXb#2st{=b!jTarvFOM-oXd3)>o%2#sEWc4r=oYTYB*@k^}y7jmgsowF4^yQn| z5Ybag);dmzx0rMIj|3(`k0?o8#n)h#;kO`yO1Wau++z%{HHk$&3Wi)t$yy5DsAes4 zTZ(ckG=c8tTH`LO=MGm~9NfXafb`5e)jN{p=fxn8vBI;oFz;C^P zGQ;k}9l%nN+y-5$dt%zVw`qf5XP2mJYtw%)Iw&aU+MywPTZDmR+?MeKqtmx3q;9&r5XIyB!k ze*$O@1n6x*n-L@POg$OOkFPTKw4HR6aSd^g_S7QHk>W^-URT}6ozv}Qtc}fWjoxAZ zpTUDq12>}zx*cPST|n<44(eV|DifaAMlq3Gp>h*wE7#_uqe1E?1W9nyL3MSWbt?BD zt<|WZutuZe=bzvo@N|dN?kou4Uj~OH786*reE*5Z%3)MXL1t_-@Cwx`(WT#uSnw#Z zDpoh<1t-!6nmZipbN?>q&L*AwC>s?Kh79cqRgHWcHFPbnL?(F;8rP8+Cm|b7caHaKK@6`#w&vBGRRumuT7#k|#4iR4% z1sD|)GYP+OtEg(IrdFDKpve0@IGw$suyBQ}M-HIMuas?l+qUG-me5eP(N#f5nQ&YC zI&hrh+`>J0y(nIrUc6pH9^9_-jxWGJPv3YCoYNCH5wyOwB0i!Vu#>n9Tn%~$8lrww z!h5fgevbW06r|nRWE`9dd>NR0P!nv+g(P5`Nn^JJFIm zOxSblw8a357+H*RWpQWCg87kaR@hSRwB~boG@-#_-qz143GfO>yh=&B-lxEBv%}5b z+1~!E)ipCQA`QKU_zH7`eS~iroLm2k z)=@wAj|7I&tsRN^!+r5BKk5~0o|F$47-xS-`I7QDr}^*4R`H4P)wmrHr7xMQ(5LoD zTS13UTT887eh_TSCwKd4yGufIyJMJvvmMXsE|oma`Iq=7Zang9*t5{DVK1X@eo{*= z{BgJx+i2U{H=aVyTantTVHC0AS;7qN4dfz7#~OP(nBCji`L$KPX|zGRS*lYB+`JF# zQG1@^3CbBdGKdMVEq{Zj;vs}pydUl&s@b4SLrrd5=*4a_ZE(eKA)Wk+EVRH_`3ri# zoCJiWm@3!xov~-kY;7bR&$w*4NqGMBdO>m~je4GNXF5;V6RhRUD~TzX0K;%tIMf>! zfS@AR&_JDm{?G8Fo~TNuXu_@;3(j>xwhx)%r0?Gou>bfLDa+hg+lya%X<%@uH4~gu z@IQq=wA{qB-jt_VBSk?Cw}v_ws#(|gVG_df!m2dQ$B z1&rSufOonyIF>E`r(QZ?gVvcwh!8^((c?W-1w_;sP#cFY{GJ>j{Q>DLlLfX$}k+4LOfzLN3yS~gCRWyk4#!+3 z-O4=lyf|JWBr&fY_c@mp2VWa!z$#F%hmkbc36MZ%gt&sT!p7l16)P$qBz0FyE^tjV z^4Vgd9Nl{B_ydCh&jN}LT(MJw^GMikei}n}#5T}t&Q|V~^ySHAEGHYJH|M{sis`ur zc&brujObag+q|LS0BM6XYWk>D$bJ#40}W~aZOBq%Ck26{%Au+7pVzPERKn-3=&*9%{$)R(j** z`p5OK=7=uyQD5o`V^|<)So2PK#jBnUltHts*nb;P(1Ud2(;oDat#=BeQ^I0t5rNJgpyJ>p%g9J(6zNh@4-gKwVog?W!JNj1^Vh(hf~~B{l%uIZxtB}-wltAVC0%-G14m(lvFrc@jbD}l43E!yS+}6=Lcwu&VJ%}q&B1pAd z&l&J}=7e@aECEUg#9zXmMXu}PGzMj7gzoO&F$WCsbGrU+mVl)cO+`yT z1#`_*-nzx!#Cg#b>B00ABdLKupBtm@Fw~aRu;#N zJq>s&s`5P%)OHK)+P0Gv1)=Jc=f4wJf8w@}!M;ey8G)uH)X*%rc^=@O$NbauLpD7t zB|YQ}MCB#1|4q&KCw5Ak9M_XK7OYxeNi|~H#TTC=Sn;GMo1CKjf8b-^m z0=3WYc*Pjwh%;fI!%jsWjI&Mj&d&Vvv{t(7A?Wh>w7j@sL*HbGGcD;l8w-o^vo&ME zgWJ8FuD9)s=K99BP4u>&zR=0@V4tcW;-RPkk${_`*Re}D3H%Oj1nlgB(C+XANT*VV zcrDKiley-;I7+UY_oak_Y%LnQgqI|~t$0J{2P(?M*LuL=tBa?*lV`5i0g@7F+Oy34 zt4q2A-MZA=*T@XZG8BVXKy_i8!2d$Rh~T7f05-ycG%chffuB^4!z=OwLfr@Tdwue1 zK*GU#`|}71N%1Y)@v;u?#^be`Rp&~DfB()3Oe1H!`Q=g-+)bH@0lQ5uku%bHiUf7K zR-U$;=8kfd>?yH8z9$^ih8xvq%3zqUC$HJ95?e5p?vfA}+Yxarj2zk?UL3RWg_d4i zAX?qjzA}WE$yi8S69rsZ6Z0SA#uoo7mI9sP8Zqy;?+$2>YgTXE-?-XB=`I}YpuDAb z@*R~C*KjcCL-t`mInJ&B0Mfl6(!wv}1cOdz+fR*ZNgG zDXS`|&Gt=QOxenIC^_7m4z}g^Z81S!$vg5#R5i71Aq!fc)V?SHXS$F($V!}E)|fLL z8|h=UU8rp;*33B$994pmA4B~@PJ}u{`hUcI7yBVn>eSfLTQTv4a&UEfvz$K7c*^jn z*{??|;^t0G3=T^StaU53hcyB5dZS+3Y+usUPGhX z=5D@$^r`-*YJlh7hx~do5gSKs?q(~ zC@~oWX}gz)B!c<^#1G`!kPM<+ulUvz!h1G5q)5XO>Bz9t`1*~kHX)^x8ZJLq7huWdMXN_xApe~g zq)aR>tlwa@a+5`b< z4B`sR9aacm1e*gN3<7fuwG4~VUXT+OaACukzPuO}2c!F5pHA?dVjo4jOB3jd9FEeg zVviN@r}|etEBjs0mi;dEKa5HLFITqss`7@8D`FRY z7IzF^fv4gBrv(l~sY2gt`pDaf1n%|FPONxR|IYuKccva#@uEH5c`I;U%1HG;eI=}^ znS+goBN^}t9Kb8YdwY7Pdo{QVxcssgvsNWu^%{tw9%bF&Hrr89&O=T>Vl|qTU^3F8w!ES2BkSiWxXI|jw$Ac~f--bo zSMsG#dy&sVF9d%JjtKh|!$~O3TrIj^>)3UEG=6S#DRSc;y%pecXJ+RXd{ql%xvmZ) z!51~qCf>Z((Ao%XTkMURxU}?!{axsuyph%os5F=^5^xM067T>2U(_Q+g-)IFI|)zl zMO|56So}^&AHL=&q!be-|ZUES{7wyv`4P@>@>GkP8OWWFi)rlJe5I+esFS#cjS{#zf#Eg zixsch!iLVzC@c=GEp0tw#4rV!H)sWG=mo)<52HT^_Ihr27PNk8`r5eKywT}5>^?uU z$>Dw}8KL@K4~EpmMGzpw1p@HZ;fJv&kUIKr)dHl;`TN-u>kk(z$)WSToZIr z?rS3FGkM^5P>!dntN8bz5@!Y*%NQZ2F$ChPE=~fOKUs@hrzfHTv zJjmu^U!zxpo;=*dH?U!e?|9R~4e%zUF{v%8A2oep_4>|5(LklsIyDF#Yz2NlVF&*b zpv^pN8purH)}B^q7Zn3a7G%LmHU{KGDhd^$PiSt=7 zzvz$xy+gcTklZ~*+*pn$Y%lL~H?hR$pb!Xe*hv^4VD$c?S(p?I5p^57Ph&xHlyXa^bPe*?a z%M0cU)(x$Wn*5vzx@zIo_3cW-{Id_2oHwe*Qeec(>~cO z*O=K*(Hz@VH=*qdFRcB-kYeOy<>BD&GVhk@G3%M+mE=|6S>pcFrODx_%@2z$ z<8yd>^d>?Kz6wi6L;;4U8E;RB$BiJ9&`eRfVcc{pGDjLnxH>NvXEcD#Q21*y`O$(6`T})E)JlBpVeiA=6n4T zQ2SQ`3iojJS|_b|uX`7fj6B0!RUHX7Eb|veN>~TODQLVwBGevn6~%|e;cBsm z(B-f{ny;iicx;&=tOr6(+6tEE_dg8$81($GxZ^aUOhRO{eN?91px&ms>z`uDN}h10 zMrwb0a(+c+R=3dHUz#&-fcS!(k!re@f-aXXMvJVRC1Wajmv;la5-dvN_#!tE*>mVD)dQW?{DoA-e zi5q^u}H7nBM{kw5#vP5wr{8d{{-oD?$kV0j>kPji~_HAZ-wT z<$Q?|kZPB?9=q5}emOr(9$JKMXtG&6!D8DA){qcno3XsLh$FY_clRfr!(LgWQqq9e zh)0cUw_~7f$v$52mP0YQhHv3e_#=c6svT2?{~?%yW_rX1!+k|Q9(K+Bn-M4-5ru+BSw$G zHh9ke^U8OAKF;epuk&~Oj^lgq26|mEbyLDVmYt-J%sm19vV)DN`o~od%WU)aGoYEg z1(?dE&PRW9H<}JLc<+grO2y0bs)(r-shn2u1F6sZJiaV`drlO>qRe#1aDVqv6ZfB; z{KgdQ`;m95ksre!MVxzA``+mrS7B8pvdwJB>96-v>00Gh5>*uERI+cod#Yx#u(urBWfOhb3z;aPxm&#hs4--En z`&Ow`wO+MQDN*(jU~6e|7BK#7^Q>&o*-f|&NVbz|%uB)mQ8FpcH|j!oMp$KpWvs;~ z&a9wPhx*v=%i}%^j;r{s=Tx?R(DX$M-zBcsll*5zCv=9*!5M|=kZFr;yVmt-Fl_qM zvNp{dpnuYpQ{ius(db(kdkhs_iIzdrk>Q&EscXu;6i(-82JQ^SwHk6g3AZdy;oPyI z8?(>xzm=3wsna~GuWCv@rfzo+Xa`9yR&M)lAKg@3e>%s2Q|jEYOQtedZVXZ9oK}fu zw3elgsIC#p12v8Oswt+{AwlNY*vs6JJ>r#8)??yX&l~uEKHuiXWmK$iaHO|nIh5J% z(@d*pujVeV%BN;r%Sg?4`_tNPF?ETO!FbC3RoGkVG}u(_shv>WRN#~L6WQZ=z#_bt zw#Hn*Pl*nryQ7=NzyxEQ+VlQWOh{yB_=^aecmKT~NAo_uJw~*n zIL>8{yHB^3>f zL6s%s-YUDU;DPur*)pXWRX#N}Wi>fY2^B#*PJf2{w%M}bTrHT1huZ$FdGO;^#;cEy zVqGF%g+appM0CZXlf^;eh+a?aemDMdp>fq`TbpJ>4`svyI`G)0!t$}XxQW2w-M$-L zh_+`fysd9K-VdCf7FyY)$#Hv0#3&oXQOJ*I5xvL23;YXAV<}*Q=~bVV{Ua2~9R^3G3^X&Jonel{hNb#OJAzwZH*dAzIz@)YW|}AkOh*B* zhg2`o%0}tvLG-iq^$eaGJl7XSf7J|9JuVf<$8&_*eZ6K+`m&h5c!G2ZvzJx0?uW6zoo3Qe;9eX7>~r2id|X1t0B=hxgg7=Pc@+wyN?Q?25k z`6A!!=jqdcEoxr>df?Y$*{(g?d;U$aT-k5RSJd;>gH+hTJ!)Rii0cJYYG-!&=3L?U zAZT*BS(EhRcShdFld-K4??Rj33WT%9#D6@>6e~N`5Z2Q>uD!6lV!9=_mv|7&xXt*p zZ?;pn+O$wGwLP-kzuo25=GS)t|li1IEe@QT3f$YpOG(-LdbKgR$DUryDS5|WZ*kf)AZH;rO8=0Wa@1 z?>_5M>*3=5$|b_F*w)tan=y!{pv1J35PNVgO%?6S$TeL!NHh9r9;r%5#&DL>G|f42Kkl}Qb5yu^6h$l@)M#&Oa;|r+x>I&Be>}r8!!rM0K)sci{Ji#p zK?3XyfNxSy8=@o_$0qU`X))BXdUmp;ijYK#!?+pf{}dRu6-jMiSwtRhA`V_}(5(@A^ApBFxv;gO zxYYr+#DD35bOgu~bI9PpSa=X52v~TR8s>Nq?1Cz;bOi z`)=J1{NxNCviJNH;H!yI?na7?p{KE^O{1nIM%K;g7T2x(?(VRST*FyxN5FXFyx zu7nh)6HRBAa8w`_r)T40d_KgV?}D+rjnOp)%_H(+`G8E@9B>1tR?d|kxD; z-+b*clPhb{j6rUYP>^0#98w$BfT=%F(wET(w6-!9u00FTLg+f#KUmf|*s%3eJ@5F} zzX^eWiXRs$8rB+Vli-%J`u)Gkb8Xj$T>hS0;-q^L($Rzo;E*UO-9dN$Wq+Z`4oHm(n}0tBkmfHObNurGkYH8)#*PS~b z6c-S5ifR26cA57QMST1t$Pwo?j@L~5oc&&zaV*Ut8&Z0$v23Vh$!{+e_}ia}FUS@t zKT=;%C#htE48N`roJ*J)ur0D2Kifa{x9=LEyXs?6YFgKawRbJy({C@nJq$Y?bLo?2 zwto3y178nfj4+!|7TrwQt6?-8tsnhnI8rOu+7~t^UbSkE#!#yKlCoHrqEPwM=$C9uA!|*vL5?0a+n04NvWlXg}bLiZ_Th zFfvHhYu434(3Mvuw0U=c?|@^?lytCYLgWDZbmGn+<11&laFLupAealAoV1EOj&)+< zE!>nmUV(({ZBKXiB>Wfq1*<93c|%Whm^MGc7Ip@<3Z}hu9k{NJZi@Cc#9z*lpM!~_ z9@4jj9%}xvb2>BY?{xXqi4RtlPz>)E%H{FKE_kbV<6zD6U&un^tlQ}@cx6tAp0U z+N9ouCp_rwoj6IR?!D)dl6b4^1@}dEqFul|ETQkMKL(um1={Nx%fL6S%JBmz!OhFR zhzAQ`rYFm;S5w~}Iq|9j-!xt;!+_n~#-`Wa(wW`W(!JNi&-0f@rkewP)t+wMV1CsI zqVJ%4O$&w?fSYS(YBQ0yQ8!U#)c^HK5Q_qF(1>HsmdFQB=ebbV-E*5x{3&SO?r)9&F&rZgU4rotaBc5g1)L0 z=mcn4hz4m!s$sNYfx$C96WwR|WQJxTH>9+FfA<<{SdVv6XJEFJB4tCi86T-;_ zLv1k^Oi?x!4$tsVH(ifkp7CC{y|_G$-Q=A&?Uark8gJ-(0GGjkFgz3rOF|TAAJ>gX zK~P>gp{{z$asOvD0F17n{ z_1}5diT1(!J%#O0TJ{@HHw6(Cde_GRXCEYq{Uk-y__Q}MErti!D_BLtB>gyytFC}% zfLe}Bte`C$b??LaCo*%fcfpXTx$FR3iDfJ|_|8jWRVmunv11n8c5aRi_~))z_q!hK zo^L%$-LB)8?W3$)&Dd~XFif2!%>|IDqH31v_@gN3&*%=M6WmtOU8w%BYR8$H#Ccaa z$Ml4^-X(*8qH{9N4D<~NecFTB)BT)aPwZQtR^bAOlIH2xGNDEHYQlQ^=CIojSOWRf z#YAMED|=|HK^oM10i$$Dto*AewG zF(1V;SAWdaD0C*rDf#WJJRktTyPmh+YjkdyX>tY~ zz29dYHnxu3g~b&O;NGYpgC1-kP62lk``2Ixv##?L+OP0g^pF!mm)r7N5nWPUtXiBW zc~TzimNG}Uq(v_&Y{JqouT5}P;>Rl;f8o(!*4qNv4tMuoE*wth?6xhpjl1uMFOC2qR;`&5`?U*t(#KlnkPNDz&3fS);gtXKIsQbpNDqumJt1O&4?G^6 zQ5g(0XkmiwTC8O*R7}nerS)XDr8F_?xf&q^K(3xtTISow^5CV6)$V8wq2mqAusPTS ztTA@qpdQnzy{FD8t0EZBdT%dqJ&i0%BrkXqeU~3>@X=yeH2GvDw^eeq1+fn;Mr=Pi zn!5z@GtHx;Fq{o3$~gMG&y#JmgQ7nXE5a^Lsp{p+q4{AfQpnx+6KXju}!sI^>0hl;+1{%yr4`M9t>y9o8#5JA9kvz*i(*ai{%V$g`j1De z%%JLDJn73i|85P9c`!&HJIL6BZ!wq8&0n1iANJ@A?8FnqTZUT{Iy(CAOyJ3 zF6fsV*D5f0XLif_=Wzy@ir0X0XXi2PuH|Np_XZw~(-z;1y7b-vBFjn89>Ap;3zWME zlnv@XokeJge2>5p^UdxNZIstqqs_9{_vt04%ZsPvkC$qv3SZv&GyPBRHNs(IX6@MT zmZF#0%jwD4=_PdyvO@wO&p5?4$v-6~E}N@#U5!T_rLrscSV9Th4k|#imJC^8mUEmH zG=JU&KG%+H^5@Bf%6H7j>yb~Q%i>i(qp~MU+3KHnMUO7cMv}j*!*=}k-t0RcaPQ-Q z6Xn~I%gpGQ;Gj?U8bPEP+9ch&+;uo|f8pj9E33J%97qeLBJ=gIhECWn>;cH}-_{q> zWk5?6#6)qNR}XSGPpw>As#x?RhLJhfkAn@9B+qNHA;n{WKxOKD?v{R-ry<^cQ;{21t}^4GOO*PuO6`(ST@mx|)Lz8|-%dZZxv z0`1~_c+Sgz;zEN5+9X}+D{Bhr>#%6&a?59s7W(p2rvRJfnYo_7_`9GjcjDvf(!nn0 z6`}W%`hb(DpuwiTpd>5%R7{S)6i{!O>&KVk{+=Fv+dJLDsQ6p(^4r@FPh&VE`@$gM z%~1l0DJf6B->*1E$Qfk&>$tSNc7I!uMxc){PclpQ<+rnz7iLAq9}Z-6-6Xtj5^I!i z-fUMIT>o3Mmch8qPn2N?N^lC=17!Fu4Di5tAg$kq`UNKZlhS?sUs)EZXV$fsy_d#_ zZ6wJxm+c0Skc}6xk}g*3(z%X3{C|GN5a5h3-2Qkx_9T0ZxLw3|+26G;Gh4;p!sO^E zg9hPSa7UoBEP%b98#)k~4?`-H2#7H&x9h0$+;-~5$4XA#4JZoSJ*(qzU&lb$emi?= zzNd~L-z-}%Sm9o*k^LjBDHHrzcfSAD!kL{7ma}~0qCaIsmEWpIX{@N0DyT^f2^Ddr zFcCYj6-D5jela-Ou~UaElg&;^-U4UT*RaQ-C&H=k{6CIol1f<`j=C+!f6u>K`L-!d zmD(RZ;H7KtlXt#QJeEvAJBsCC9-uk^x^m$-@@zQn4(ha?KKhujX=~ zW8sIhgzLVWwMT=8wMU8@0YB(KwYh5X+$d2Ghh!o?z-(co@K~+4$VJo+S_O^Jd8@G| zRmT;upS){wBrACmz3&utuJy9z1qF}K#@b4LtfeIOk*rQ%kUx{FNh{yX@5?AphvsSi z(jq(<&ss4!DB-LXdM{P0_&^;ERfa69u*&O5{40>g-n9Q`{V@?eeSUbms}H1wM)StL z;uEW*Tf&z?Q=CE6V1jz8L?Nw8slx-XwSJRAD2%OOYQX*}`V%^X*0lX?bsn@)6b&Es z#I{{%8mm`n{7C5To0=l5q#r!vb&@_%>(fd@cj#Lg?i)VChGFrB6PPsZAL?l`u>u_| z_o$YXnd>c%}olQ zWq->0mYFg5>TPS8!Q-JKFmnVJP;YOeBHI`t`(cP>*FQ;J#ApqRbrND^hrFfFfuqSE;J(CGv@H)&#e72 z^~V05E8{ZrZ%ziuSK|IJCTKSg5xKiAL{{oQ3>t zZFZ7qmC_#E0+pekVrY!LkB!9k7%J;eAVpyIidJIFTzJrI^nKNlnf>}?&lf^RxY+=4RmfIRxJ_q-xa6smEhhK+>48LN#+XmY-$-P&CMS>i;!Z!X3cqysxHe)3>9Zc+$8sv~L))wbIM@@8S> zu~Ol@IpD>w&42&rsNH|+3xxr6JEm|EV7Y3m)dA}5d1WQpLC_2?!P>a@fuaM_9i}4) zkb=4Y=iT=!sj=_l-ytI;!ji(mqpl?qQ;P~EsuS8hhD~NNNoDKDb`kr}>1f8n0Uo3l z?k-d3Rwu3u$@lQJ$uuR^S2XYv?D~qQ{8lX(RDMml3WzMyOOFIdZT*IMfTGL~lAkby zsY;_{B46PVFZDV_pZuJN1Ae>TtE}5u2PfIp1tn#2)H{&3a5Rg1Al(t^jCMWg-tM6T zn77|te>?TqnE@t#ya5{3qBR5`h0VerYLy{hprEMJ(TYo1>-DR!gjdyCTiu7#7XXo^czbcxa*<=YXk@GJYUlIT3r$y=&Jkd} zLK8A1Kk5NTt5})R5iAg?jbYb6)E_s91-t_Xa7MMl>J?9lm2a8x`246i2 zg_ml3_?{apMpmpv1nZlbrCW>JyE*OR_1(zs1n|{cbUVQBI;h*WSO^%K=yxD*YmNf# zpbRdpm8x@9_fU5hIj0$^_C#`x^A>0o@nBVzY1CJ9C7)*r(7sUYM#jDZD$A#ZI|D6k z8qF*XywzgmLf=a>FJ<2SUhwB#`@KoIHFkOhr-;y1$wvyHj|`%wv8Bu+rz;-MKhI{r zpT6EmtOR`$|8}c4_5Mo93;J4=K#y7qlMSVXIz-(`6#3R!C|8}|o&_2jF=XaCW|u*` zNB3vo=&$ztH~YzQb2<}BL!LbaZAVRn2CF7w8+1V9ukac#1A7ASi z2WA&*cQ3Im^M3+aVgc1-kZwqd+NJ`R)I}j0XA1CWgpeg>ea0RGznws}ZEh=RN4t+4-h-09FBMox-0_>n+!i1Y8le?H82!yH3(9EQrL@Qbl-bZ zZ{@_&kHs6rLbCCCD3#~v1J4<8cI9MEy1tj$DSD z9XEYSeB>rgM(d26i8?T$1+CS8;W^P!*tganv1R z)G7b$kg#}R(7s)~S)*RJ(xxOU=WH4wZ8OjFk48t!)FuVNq;SiLNJ?ia?x_J^zs6VP ztFoSA&-uz(p|mexquw$lKAhL}6!50cfhUTZ;2&)it`?danjhJhkds<@Z72H0rfDmpfW2ufv!&ju z9fAo4PZS&03@eY#HlUz`wZ5oL0p7t9%OOZz_mGo`iHjS=hUJcp7qn2;G5!m{6U?Q{ zV>D$MVfPW-%eBB+ehTn2E_#f+N;zLXE(^MaN)6S~_S(I0PnaM)T(eiF2&II%kKWO_ z02Pvh@v+lSf}PqJzX80(cION}$S~$I^&G{}jZwOKM_R$O*M(uviPQu!cMg8fR zkq3Q`J9t2o20`FNMnXx8GFogMH*H7K2d^Xf|JAr0_`GT`0oG2GR=iaZV#PzV)i z=2+in-@LM{Nwi;BU9cb>t%dJe9)hr!*o0D%riDS3867Yse}Wu;ikk^Y6UTYXyUpT@ z971g>%zxmBm_MMc$_2IpjRf~7A>B^&9)^g1qZ6)CBjw2T0l0qT4-+LQ=n4Gg3pCKU zYvk2$k_+xp=Sb&=-*q%JC)E#CYL&jo{hG#;rjlFula&xKUbYf=z|N&C%pvWhWT2q} z69A378**pF4f$`fsqW9Nt1XeHCx?;U)W)S>Q+ZKe?B z%4~NW>6>+0rf;xN-|Uyuy&1CyV^og~EJ=38b4(JD68SsU0Y@3yoYpqmhnz}Z_S)Cy zk&_Yx>cJ*D)PQQ}iS@y*80r~Vpi4A+RBffH{7WqAKt0$bXAxg6R)cob+>K(I7+ZTRddo%d)f0F2clp;%$AjPVi$|K9EdH#0m(`3Z#qbh3N823n8ODIo5aZgv zbQ8b~a{^>X-YKdIojGjUvD!=F{zr}5GV8>we_i13a|Mpybmv4hsV*~wzDI5Mn|x}2 z{hBNo%!p2{OAjq9sL|dCrYIvlD?G?O0aB9xt{N{q zoV+rq)UgSCWR_VgpRD8VMoNV7gf52py-QDGWYA0Y>Y}>1MiXZSm)t0JJ74xonU9ay z4z>3yHU-I1GgF|0Nw!0zxwo#MHm0GV?a`q0T=Hf&tGDQu(su+JooA4P)xhll?G9^r z3viS_Lh}^vh_Z7%q5s}eTdiA41^M&>(#+c44xU-Wg%r(Hz`=VlAttI;dv=wM3-}jq z4*;dq-18;ikTpBpu*otf;0*M0b87AzxkC=2 z`Er~A{-}L&-(?>SB!Bku`w$yiykX#j1l$f_9D*1E|%`Ho`;^VJa4%V*z9pWm41#1~cU( zkBua%A^nK?<8YkeMDy6BlHSdTjlJr>-8s?nwLz%fs1ZEZ15ai?t^YW>ENrW259dII z>pulKy=ZXXT+%-Y_+h`HKNal(_coLHVW)A;l1wMkh!@D}fco9Y$l}Zu9+rCneT2?7 zesK(I7w%x}oD1li*TE?z2v~`gPW^W1V_JYU5~C}uWe;-KqKI*=UEs%`2kz;9?c)%f zY!>hE!IkYH8jar$-e@~?W-RbQ;N>%Ec0ro@0v#J26OP@47SV?Es@G)&dFg4`)JK`k zKi)Se4IL7nP&?Vs0;}Q@^8TQ4_aS6TbxyuZ0xH0bz*1X`zmSc&YnB)aPreH&;qt2z^oTK#WkYY zm)bGh^0)D@@o(!tJ(RHl;;G&LI4EMzl}{nyD2TqW;UZ94jIqLoGZ=)&^pLum`G7GhXGhXa$SlPViRNk%R1Y+-AosQaYuP z2Bm8pQyGwbA$E$-f;D)LjpDL+6YTY#g1uh*&wq1qU!vm4kxQZWZ=Z+yMrpryP17wF zt|@NMA9DZ8O=?(IrVbo5F{=)(m=xN^rYD&I6wbhWcmErbq`M4>=cbFip8dX23t9)!n=DWYwqDlFS;^2N@0+fk&`@h-r z1<5jSNDHdS*vTsMINpgL%zA+y>|Pn5g$d!l=bV51=dq_ICk%>o4>fyW8PFH7b%YGi zS)QUj(c#D@*r7aJ;5OsacIe&*-eAaOYtPgEfdWCxXD98Cv|9nr;PX^{j~wAu+99){pWhw-RF*CHv#oKj=hpb6dEXVet&%-yKzr{x zs$nM3hBrFFH&bW?(@Sj&Yg(|g>goo4-R~F>74f)vm%u+_AAR=qcNRAEvM?;D~n20a=p@qzCm(%epM6hPSmZc z(NSCtLU^e!ioNQ5Fevo1>VllA_%FUt)}B2x%B{txQ|m(=UEEDJzwhSbQvwoQqr1a$ z-r9vmMouQ=r-lN?1f}iK(8<4~CHM8ay9x(dO!q@|rtW^kmcsG_ppS|Su5=UI0-6UK z-Zy#^+Iu}FrIuCqZNYW{q2{I)jaC6SP8pzY&Kr6dgrOz1uxfeImjwKQ&s=EZ9iWZO zF7hsQEiZ4h(#BcE1OlYbsMC-_zjyJFmv3g;8$FKx2 z07c*@pmWeb1Vj5Y>K}|3CP{Y>eqZsAU>b8~yNEi%{Zf7YSmUYgK;bLG{|q|h=&%U4 zZS_rNcSBl{jYl=KU*`)SWuE-jn9)=uUpLloz395T!Rp7qFD5Nlq@o33h0dsPD=q`? zK?CP225GB?91b|8MSy;@U87TCn~4NE%Y39Tn2K{E-o=_F*JfWY&jzqG(^2LOANlM? zC{>fr06k3p49C5~^-1E%>8;_%y=U5gHhro4Q2VPvqupT$JwLL=&3-{FS$P2=h{hW@ zVON0?oQl0^n5!3u+=hxPmWa|h_2?(I23F#iUV?p95GiQQ9`sc;bKVwlRCoZ-*V{B* zuwJq+b?$b(?BVKV>%Hv7?iuge=_qYGV15P%1-jNFxFhr?^atEc8-m)ytn0l7bB!9L zM*2Rt;Jz^+eM3YNbhaH^&v#zo4GcZmbnJ!(o=bGKW^}moam$GY(Q0a$Pkwhge_C(0 zTiH&N^vF%pwLKT$(g>88ly_0%fYw1qR7>RFNK^`#aj1cG)eCa`?9kZlzQ9)B%8i1l z)S1MwsH{+t5T6jka9CXRmz;cT#Zv3w!1$Cev3QNLO{CpsSRalsD-L>rlZ-f@K9MkZ zt-F&T-}Izjy5VI@ba(z3a>)c>J4Ga1RmKnzs9*Zx*fTg;Bb3oR_LM#hc^lFvrzZTG zU2y;ThSD;5aew~hLiv*0TI2$gD zN|E1$`w>=8PM`VDB4zL{Xh2&4)83CCyV*Qx(&_#AXDZe^4yQg)t})QuwZf;tPF+aD z4f<7MO!=|wC9y<463BS?u9pz=rU}D*-Palieg@^rez_Xo6*(E|^!8oo-6)s$PtqP0 zht`;NYz@s%cN3K;qdQp#JV(b_Gg!(QKXx-#RpuX!Q~T{Yom+m@ch+XrC$~EH?N4>A zW-|;0U~=yv8pr`Xs-Yb&4tE`whIKPYK{+6DmETHi^6W4_?L1t|B&iV>7KKS4SB1Bi z4<^_-h1_L@AP`i%(VQjLPTf%hAMG0Ee&7-1IqLD*ZN_=;xUrQyXp${LxoKZS7{gaV zN23n11l5XeLGkGLLwID#Jofu?n|jnL-hF7c?T@pzR}`-(oO8F|*19j)xLGv$uBVYO z-bAS-{CZqapON#;IIH)^LVe4C!{WfsHCAPQ5%GI+P}O*d7PLpLRKZp9oZu`6fgZgz zLx#+0Ol%I|I+W_qMGWx(r9-7BB9+U>_0nRkDZsgHAnD!$|C7 z+yTxScf#PCt`%%V0V(Rh=>^)d5|>?x*BAH~v83X)`5k-aBv+egm*O&FPQS{`+-B1L zqH~a|h=-z=qIVvkP7Ax@9g6^0(iwLhb6KYhF$Cj*3uwyd$e~uy`)Cf7qgE_vgK^+Y z*|XTLWLy{bL@(h*FPdICx}4*aZ0@g`$xb2Lj0knYT9g}JR*^~-^LW#br5S?mj+oZ} z#w?d(X=L^}fkFvk1!J{WkYSBRm0Y<(aV-G~yAWMvD~DV@OBs98=iJJuxLOd9nvz%> zRTion@-*aJxCwao;_{FFJZ=TO0Fz%9FRdBu{M`S@3_pS$(dk^&xwV6Z(8&<7w-??~U~S;Su8^?a%<8 zs7eC}$lMOV>tSEuT!6p%9+e3==2#sl^oCqD9|8OiyxFgqLzi#Yru zs!vpQcW64XSD`a!$Cq_(hIOp4yV9rp{Xo)11%&5}j`a{r) zj+?b47i~cHEEwTO;Vi9(vImr{i_62aeB)#NyB)R7x9Ts~c{F0$!v;%c2R15LXu?=P zBlFXB)fd6O!Cf_4GYT}?G;BkUA)=K3hzD_Z(`lQ}mXj78=ReMe69-mUx0C5HoLr)x z6pv|sHuz!gXuIa{54ar+c&vFLeE57&Ua@XBo$$7G=GHhTi~-zM+!;|ymC6jrXQBYJ5L!J$9A7;$3-b!3juvYhh8N&?Jn-t6?p@M-NLiFs-PEz{J_-JbH z1YjbS6?{kyO?(y=7`h#79I_M^7Q67dColMqD_}=`o&2-FzWRGBkM@F@#3IZpbNGJm z4(0X2%L%2yzg>C+zs9&a7O-D9(N#HGL^Ptpx%4D0)grVj^d_+3Mg*hhMgurqY^vTP z9fF3eoR`pNHeuScbxX4EV&{C!I_ApTF1$2P+7kD;w5Xz6ZqWu+Y_MW2EbZ;SG%Ev?+jwstX+k9+6 z3fD}Y`MeDfxrVV6TsDf5^fG%q*6){bc&s@wcyU7VhU`8J)V@cpQwxpQjTX}yi1 z&V3OmEpL?)HOyeSkUW(xSxK=}UJsTiswsGTYQWAZsJpST_2*oU?q^(_TLkRwi(q01 zBJyKmU>dO)QA_B!I2`tugT%j~wU^DH9hI?^9&#QiZ7(eUJNIWidw{)b7Z8ej>slJ3 z2?KqK)4x~a85RQOa^a8$9UeWp!8>dm&dx}|NC_K>vC%39YH&Iq?#O!g-!(Ck_+sS3 zSE9~J-{$JREjwATR+b70K=Yd1vKlx(+1_FliEYX9tF@Kt=MSOAm2ROVKD47ufG+~swcvs=mQ%@ zrs`Q4=3qbJjv1}v5)2=q6A@RH`^Cq(ix^hh6069i*T74bNW8n^zqNGGz(EJ(&JZ|3 zPuvV*a{|131#S;K^SpO_c6?5IOL?5dKRQmaJZ8M57l`E2JPGTE-i3eEV%NQbUO`Ks z4mB^S624%<@M-0^5NbE_G<#+5;qkz)dztG1ffQkUy{%k{EtI|{(Dm%v@Oh!z3Jm^ zRjHWI_x^e;{zAm-kP~mDgU^P&jAecf%lr7dz1g?VYvRg++?wm|Lq;Vlh6Boe@$fN~ zw0eL3e?7D>y7LH~jRy7X4aqH;-34PtOXsNzoR=l~RH8I5po0za!CC&qDA~vw7p%Xd z)1lE0n&y4jxM^AIm%zJMFrTyFNJ3E3cds0#@c2s1sqpB8V5=>9Y~37bcvbgVPi`NK z@2bzZ7oU5RQ?PBXxd^TjZKZt@o(6S-bs;o#XuyAv2ioFVVY-SKAu4lmt9V<4ouXK8 zD&=b)0KF>bm*$2yl$7BDb1`MWy5nw3ZoNoFeGxhHL+abK)%^Slg-*s)80BBaC2lnl zL7C^uIuLsp1k$10E~74bz@r0{Yi)`$U}*@9h;>&q=$Er)+kUzeGZMxc(()!h?5p}!Ew|dIFB-qL;;WBA=@qo#hCmJ@RTD+ z@U`OYBzi6fr*MVb6jT)xWMXY454h80e6btT!`~~yOUD!MX6$Tvy!hCl$%es06iI6x zt^qbNMC}-qC7=n3U}SU#)W1vGaa8SGpu|w2f^OQTPUaU~uh(Avcy9IhlBSA4;>Pj> zqUSb&yGgPptqh-QpGx>ro<3jf{r^f!FjbJ9B;X(^qS&h51nY!JXdHoek1Qm|70j5~ zB9aGZEyvaR^#~J{-35ZFpA%k2#=SiroEGdHHXoz?c|Z5b?}O&seXHZh`SoS!)_>ra zDq{J}nsxN@pd9RR+-I^!ta=n$RqIwOCn~SkDYkJA+0F}Yo3VrZqzX;*5+={^2d>B{ z$hgEf(MZg&NVf*MA+IBHi=$zG8r;plEQZcQ7b2EUuYnsMQ=j{i*bgNEEg8c}b3@Rd zj=@{Gv4hUt`##1#rd|ndADps5XH`1x5@uhU9U%t00&4(I6dq-aIf?N`32TX|a)`yV ztZZG}_{+E_C2TnAq2xb&jV%D>PVOqM1uPUzW(_5D z-)lWpPpyuv$!;9zbQ#kpy`XLKn8|2CmXT@(7@UsLRikvHw?^VPL;V2I0~9B72lx-N zsnL`?(gCa!$-1w)spgRY)EGu-crTxU+~?#;-Uz~6qdaIq^C*C42&TrT|66EPBiNff>#=Eh7{D_qQYyo%;tJ`3 znro1ioMd=K*?2`+eo;wl?8Jg;mXV^a;rg}G`b@u%h!}zJM zmZx)gIB@2Ol(fOShhz*K{mXiaWsq*Xv$b448##8Y-?AgGsknBo+Olq}1=W`_ZAPg* z%oK`N_yD`D>!%OJmf?ntz8aq}KEMLdx#nk;F^NnbDARMhV&yE+ZN6phV4;UxyP>O0|k(nreE+vS#h)3Hk9UcGlZU*NeAHOL5* ziMXXh*PTQC1c6G7IESgV8x)$CFbY}dtm$|Ade4=&XXb29!angtua%Bzy<6T$;xZ823h3-eR;6SpGE-f{#VzBwCO`L5-YbIzxqDouMmQsct&fh*{3@q@S{ z5%wW=3)W-w;w=$!|KFeym!7k&ck2wQl&f;;JVCNHVm@H|3;UE9i^>Vj8uSZ8S0io{ zsOf9d6DIjsK6DODOCd>En_ZB`zivRg9*W-XzRoA!`EGkl1&FyBEw{jImY2Ji@Q`hhN*LjT?XDh58!hrQ(s-w60a(!4uLa{+sMhZ5yBFEv^ z1_3r94agS4To;9ZONT3WK+52kU_aF)74Aw12($nKZWy2e%KUW&y7|A2UO$iLcqVhk zE{Bx|L*B#(mxq_dZ>R7Up07%2QySv@JGeBvF0gmVFl6OpC$UB|U8z=UEA!_kiU&@0 zx;IDG##NP9yESrkv5j9Kvm89&dn`+W80wxd$i*ER-8TMa>}{Ng^V4_I$x*kLF%k%8 zF{f^?EiNGz*5>{Jcg{bQBx>!EIUkqQ6*WubOI(em%yB7asM{M)s86r2@`)OsWKWul zjl;B+j49rLhWvrBg_=V$pdE-*oxi9sj36cpNr6hpY4CoaMXt;5yyrd*k+gk&F78^# z^`(nd_yDx0*n{2iX;`lc;dA3i4eS^5dv|(gN=CX$QCjU`UjaB-Zyi|!n#P2zg{mR= zqQ+_XDeuXoh+=rlKz4_^dIWl_h(oVB)9boRN-~_2HljO1{|)92UVobuJ&=@=`Mgx2 z{#BRlX!7h1`PHTcZJzm;^*Z}+)_b61_0RH+S;SaWAGIyFL85xT!l>G`=}J%IlrF{Y z=&f*-q9_81HZ>f;(T(zqwM_bq|HI+*CN&S0e~2TwztbhR+LyZ)5%b*hk&CIz8Jp|- zC)xRghGn-QSah8+&Wd_Vo$0f=59{YCUW**F=vr@q zfDZMl^0@r->8js;WT}+aG`0`XiNm{%tVaBC;@{+R)Ow&b&?&Vv1wYA1!7Yvw`qQl= za?qRsNMHxG(W|x#?Y@mC#zonMh6eu|JQivib1NC2%l>=1xx24-;?qLOs?3i2!Svy2 z*4wOAV7uqNd4hERuhxidPhG2BJ)}CfDx|J}5H^UNzqviiZXh0^qNo*#Sv1_kZ5b6A ztC*ZH#$wUv0QgHqKT#Ox`hN080-3omHHV)+Pb91yZM~mbBk46DrQIfC7cGCglxj_THzpB?1<{u5r@w!;)Ht- z2e;5$CM=0^8%CAh%>fUt6aDXde>A}=dL1Paz%-d=sjx_DX(8+>c+8?G6pIK1aOxcMY(Djhl!+f8}%~7sl3v zM~AGv@d&EVYmCIE}dKcy4S>`%WBx^(r? zg$H;IOpZ9~p8L%6zMwW@6Rhqza7k@vM1p;>Um>l!26ThlYz7=Q@%V{em2FYkhPc5} zHFT6O0^eO2kKIu^XtnfNSe|qr!gc1{0=kKGgQ9pK~Xli_9Se&6|%ouOrs(M7#fomu!I#2KOs8`PXe zHlfonD(EzArusvva86BX&ib9be8ErJo=$8RuV32;8a;i_Mjw{LQ@J)eR^1ie`ngfR z=27{4-o-SI)K8hxC5;VJgRaDPyM3(p_$S1<6>g~`;Hhw$M!u4~^pH>orvSrfi$edi}67xY$}w%rdd9tE%! zuw@-N?MH3Ui2GAK!zn<$XsXpGoCG};l^GF{JCY4<}lyFNAG8!7kv@0B+C zMD}XM!7S%GC}5RU{ulB9E)O$SJ0bs4{E)AjRg6|cu>*Rr&B#c%ag)O@$6T+^Y;kkp zDIwH1E+MuN>9F zZ3RY5nMkcvM*DixTc{PBe~wZXKMB3|4fg;Dfum05=H|@0P#(?DD5X_UbP@F`{qi(`3$(V{>+- z?L9q0K<-0h7`5oI%}(IAZ5>qZOlpv+v?=*pyjT9GVY=rP<<0sq#7=-L+k(kai_^B# zE78AeaKm6#PfXhnCy8vAe9e0U>I3rB9p_4@d0^%&oxV-mST8=PWR~DREggZrr{Q5J zWTt-dydA_z)-}YvfM`fubzOGMvUy|9VC1AThF4ZzMs~q@5%#DIr5=@XTs!bLcA`$m zbn=`%Jin^5;&+%RhSe2t&%A2lt9Hf3%}@WjG#f+G?AQK+){_k{tI;LNzsl2=;$J10 zd}l7GZzKthZXfb$d{8E@79CT}&(nHjW)vSJocak=8TS|D|uKccdAl;tX>Y zE99&@zPIJF1nxU(HpOu2)?E4Wo$ZsySJ@YYROI=v{-AsJ*nG|!>hQ(+jaw*DoHXy= z<09n1e$v>~T>qU$sLBg8E8vyRzz2~kN=_<1I66)W^qu@C9m`d`PhWOjg)>%2FBaNy$N1R`>Z&UXaj@~UGw{$l&Kd4`*LKJ)CPNyOgB$MW{l#3Tz{*3i55f9W^{CSnd zEajvTlSmUd$Zrs<0lvMUW9RMErMBtkAob@?TT0c>zZz-8&%x0uj{A(`PB|9RE@u}mK9Ijsy_RIH9Ic;fXinztvwD@Vr zr9HMWw)R~)N8WPgi=^0u=CnUx-`npEovzw2JpRFUjo(bdM&Ulv3dIB0k!2NI=VfBO zcsR3RK}!Hmsaw6Ln?IJx6C0@sn#k}E3K{QYWUUjkV0FJgCYe9auS$tIA@Jh zS{>T@x|VwDy2{$u@y#f189jkJEbRx=>ttHj%qBIPik(paIg_0Gk~yO|`rF zzfG@NS=fa;A>7)CvL2PB5ceQw5xXjjRU>iT_iB^MZvnG@7Ga1|RNBOLsaoUuRk#2T zYQ!IU9I@8AeEHykaFeEjOWb9`4T~$+-7O4*WNR2h=DvcK;#rVEtxz`oHwkDIZzn5f zu@p`>!iHz&C3a#NJvqJ!)JeRNKY)qDie)3k8w9>`)tgYUPfuCn>5|Bw zFXLswgkT81QeT6n!kpfC#r^(aT1;$U=`I@1rmQSP0>-3_v5kq3DfD=Ir)v4$w9r_1 zpH;hU!-uNu@`Q@C+RJS&LqBJIcHCKoL_R54DMLU%_^i&5?nAvOJtjIro4yzTTc)oEIFUVbHJTj$u2Jx6Fsu3OnyJKl)VV$OQhUe%f6TI+t5c+0)T z<(q>wm=F>Tx3#iyZc2ZVrU+%AQOv=z;s@0psVS(2BU>aI*t3C__h9V>)0%vTN!lr; z>m%NA|D6XjCsxQ~H-Qq_+tMo0m{%=OJe-r2+MBSD9F@&e=GT6A;`_46fj6@&kFe-7 z*)F&|iV0C7S1rEBAIg4}L3GD>S$(EqTxo!#-K+ZHKaOtmRdg}DN z{_3|~bBH~6q_`qt0RK&&|3s)&t?fm}pDtJ2g-8k{L-*UxYIYDyJ7aI%9JMdXBSg9#xJVtokPilS|hX@ka{qYaUjBPA9k7b}h$ta_EGcQ-1aO#<<2{O0ruIH)DXtH#zEQILODz3zf=puN zci95##?2w(g8S}!=pelGJR-h8pk z@(oBRrV4pl;hN-cL1#`4NbBz4O4cmTBz~}?eW^O@->)>C&m&Q5A)JBK7rTMm;k@s| zlWKppR!Fod4tkOE=L^>md&J`qC>ygo)Z-{(8)VB;(Zesh@J-cKzNMdvrOG&J$J*;h zGZyU*pK}X?_QheGkCvD2s2){6$Ka8HtX_@Ab>(dNo5H`?p3_%>-(74#U1EPnf6-++4(!wyAp|Yq+C*mJI+Pap25n)2a@8_kT}UC-h#LR^EKfkjv2~7$}8-iKExia|mtu74ZcAb8I0; z7S7JsJNBhq%vViV>5kbS341EQj}sH`xhRJ$&vYh*HWtsXKX&?Q%+^jO_kXF~5k zgWHDdhBF45x);@IQL56pd_>SBF}Tt_hn`v>>r$kqFD=BZVSx|(Ew6x7B8o@jvmv{A zp0$~Skc+*08HwWI=F#o`)VbMK#e&DEO`C$7#UvooVJLV$(nYCSWdnB#|4fx1lOoH& zr+PHBdT%BFkW;)`H^*J+T9og}D@ty>`c$cV#}cy^{VA;x4fq;Dspud7jO;|!q}a@U zfODQ6CN2!@ltUP~R)q4UCt&ALXORsG8d9Y~*CB*;2U+(;HKWNrnkxq*tl3QR}2H^ zcEVD??0c#N#gxhg&felC>rphDzYwduDz-rzW$a^NYUAjzpD>I(E31Mc02aE5O>#HqL6@kn_zv zFKG7%$11S3r86nrjcAsyyIAo$|Nf7Pq?kC@q{yG~rD^TwCb6q3phqWzFH(F>o`%ds zZy?O&u@YAV)+SDO4OP7(Q35S0@e5VR8bCS)^G>Jw9{?4OQ` z{g#{k;}f*G#a5Im}DZ7-H_?X!=>@TKc^>sZ6!*UgxcG;brZk zBJO9B9SD-Dk>;X~k^YVWk|0h<*5}Z&$Kn;rgqhiu4h1$8Xg8*z6j3sba(R|xnXuh< z+|QvTx}vzHYNF?F`rGQO-FGLH8#8IhL%`F56yOSVxCds=bzLgZ-Zdk4Vb5T~hlhdKu&hd&B4=G0X*9uocUl8E!UgmW{}HPoL>)JEscGJ|Q*P-z?)sk~{L7((3+J zDCZAn4JP3ezNH@i@~u+p5uEB;ryg~)4fEGXq$xxqAt-OyRT&%6cwTK*#1Y$8)Z*Zj z-w$C2<0<{Z9W4zfszyuMO5ap?H!$_YkZ0GLAY%fSV8Yd}s*mGNC?lG!U=DV)=uQlX?$eosr$F0OMPFfcpwrAa~2I1PJ42{WOShhRF7 zaS?WZO2iPSU1^T_HdW?cMk6{QYBQj9J_B)#ID_s`W(10|D|npB9^#M07JK0C*`;$U z>kLMNmgXJnz72s`(25`>$_i9N3xnE0T8(X?pM&_qzOWxbx4qG9<%u`G)4ClZ<4Vos8tadv!!>hlS zL=`d?pQvnTP8}?q16?Z|PsLZ^&Z-%jp}Ld$PYt68UIePXhgJi&S;1Pw32ZU%)}Joy zPc4z1$$09W+4`mQt?na#_RGRd3Rsm+owFv3mTYz!PJdi)6Qw=0JgyV}0IY><*<}1x zw?VB*Sq&8rC&4w4!5Cu|4?IjAqy7-*g?=x!#UZ%&Wf`$fU^Y~|eZu6-4ev)j=l?Ub zb;NNCSZ~)&&UJgXEY{~#9TZ;8&P}$BLnku-urFC^J2@G@%6GH_x}hkNwy<%~(*6S( zEDx8^5J+J^!!WTuu#^HEo&5ceTTfRa|751@e>@j;9C9zP?&Y0e`N&@%l~T9>n2ES zBksFjbG3G)S^qR!G33(@z?EVCAh_U1a5gkIHWv3@?JelQc!pV*b>n++w6zLbnV@%w zUeY=1wtMBy4ZX_-u5NmPQZJ5Q&i3?6v=uk-){sj=e}7N^mM{#kmcjh^M(S`Ttzr+# ze4FR2D1+QIf&udgMN~AG@)r{25`+HO^IfIQ%1=HVZ0H!QeOVxsS^o9J8?%UuAzH!n zAHIH`{3`)9jSR zNfO0vCTj8eX4c_pwo5_+@|xHpZ2{w301*xY9D|kn0}{@IpCsWH?Ko`hY35<5p%tLo zh86%8T{(m|Is_|#-&A{{wy4sI&=>b%mE9g%TwQy{5(PhN5$&bq*X%ELxyrFvJyCFF z3o;SZNon+`Eh&GV*OZx;Q1#U)k@%CLOrv9HGG%q{u#e3}z)kXzA`IPyu}6(4lt{i6 ze8!Q>(72tv6bYP)ANtkXokP_VR>f47)$>G2509}hh|IEZM zz^y;uId#Ygsbh*``pF=;r@T@zH9!2J%dZhq*ZIsM!7kw4b*qz$5WtLMiXX@ zd#HEb^pcgTox9V4>kRRg$7K(FqKV6{-Jm7jgrH}uP6Oy29L@qaL=IqbRNmmb)gWr~ z*ml^iunY9fdOVF|GoI62`K|4Ri-CS7H-yjKuv|y`a;C4&j*fTUY8I~-th|)}KC3(t z6So6$?l~&FyA-J<>mQEQIr;<@rFG$O%wtRqB3|x{_+|bdY&ysPK*uF@%6UwrZ?Jj0 z%qn*meIPgY3Xy|-m7oFHFQLoqSWOHo zG@kzllk48d%A2_`>iQ%Dxq~V{@47m(I|;eZ<0Tn{dZ3|Bh&Jc2IpwhLEZ}~dl;k1g z@!Xx;8D{HdE<)(j+E86b2g6+ze=E8nyfMWpG?2OLf_G7xmA%A^K3rT`Th2PXEuI8O zf^*)9HzD2(9y)|U861PetV#b-t7zldntLV3xw@$%-@M{%(hc(#>N^In&$sS$Kt*`6 zL@VWxC~oC%N|8tnd4KURzK<;G^#9iL=a8D2w>5bd4W3Tnni39^L&3`JI z=#TI-uvqwS)F)**oQGPQS|KhNQ!10s4b&0KdcYO;NvhhA(G%g#;b(t&%DGk>Db7fb zn-b}J*UH-%UDH=m@#{%iZ2Yx^%io;~5KU?$>9iMnjZEKp+{Lox`%u|RDQGF!nAEP& zE3R|U-+LyjA7_6|G!DFPr&M?UgQORKPKss=yAb3R=o2jSD(3xu;%W|0nPKxvpXTKK z`PsGmd!5JUn7ml{nb{b!cC42QDUw5>oqmmdm3_tVLcZepN~zW_!&q?kd8uIE>lk#Sc+y%obPnK*i%e6@kD#%KhnrB^ z%B0%>Z#zdFwoJOvvmmA9Tdh}D+vLx+Zx9=S2-yO3JI+~CMu#6@Ema2B4L<0;R*%5w z%a#l1vJ~t?*B;FqPu(M*BzIH0=ZaPYb_W;{+==3*h$cKqztc3+>apDqCvCtOn|Z8| z^4%+(Z`)~GUN$D^BGg)y#E_#fTlfs}rP6`QDZH3kIc{0$SpJg$fx%?$)Dmn@S@3~I zkW2d2i~d#Di#-s=d-C&8;sWoWN}E@ML`_}k)}NM)j|tZC_tUQZT?5XTu33fcImQjn zo5FE2cmx6S6Kw*|l;IK`0qVOsdf$dK?Jl)?M7Jlt@m$I6pA7NhZ|lQbf>K_d4=f60 zjOqKjnweVop#Ej|$5G7mDwxjG4~7}rnQ<)ckp6wbTJY@hxWhncM|*>RWn@Wn@o@Rc z22@Wxxp6H4QZ7&_m#1W_zNmdoZ&?4>pu$ki@JQENJrn&yx}EPl)9F3Js^mQDlmpq5 z>^?O!Z@IR=C&SdwnzM1aHGj?K5v96B*B1|Sdbysr^v}LrAFjCe@!;2}S z0U}(8m_kV^JE-2mC*a#uE+TJA%(E%(I4{bqykdMN`^}j9w2qI9pUmac&U0FZj9Ys^4*tWzR&Yqlvgeg0Yl$KMl1A6vI(8x z++e&8v@(^mag)kJ#~p~;oji*SyDxWRTEaVmy@Dh|@?YUUyiIb}nsh?RjlPnQ-x?lJiw3Tg(Sv&5G?tvpo@QP&`&X zp{}M~pxdfnZAd0m8*1t@;v!~?jT8H%?Qm&#_cDY9g1iujDeV&4YiVL9u(V5;0- zWnt|LAoGsN#?QgiCEs1b~z4 z0$$TB5r3xa4THtWjdYH9Oo{dE`2}AtU)TR?to^Ydb!AO)Y@`#?64jtvT~_$@r+%_% zyl=8u&J&=%Yn%MEB1ErY$>j5vKq?-h9%D+7cmvWlj{luZ!s_9(fHEKp~q)2k#+rtX6Dr=Dx%1jlXlx$8YzoxBdcelvWX-duTCeO-s9pJUiVur$IE?&#f6cR=q+2Ch zJHW#gWnteCa7-=s4(=AdOLYbPLgtv8m!7k-xzckiC)Hq3O`5nid&B3Fr}KSns#wy2 zLotvG!F?6-Fs`hh!P)2*K#OuM(h(P*_;=sq@4)3%RlX6x{*P7J&I>vFc zf0sXRO&wfdbYKo(X@Jt{=nciWTVuC+x|=F0FBiSe3(x;qdZFQW-<_HJyUrXD5;Mpu zyo^pDn4_*5J}~Sy2-C~b9LL^P#ETL*CJ(hYW*69|qsaFrN6G!u(8cBr3jHjrs$i~c zxss#S1mTT2&HAzf!R3Z~66u1+1=1@wRwsmwy4e?lEscF_2+9&315-qtMAMYFRHH%v zyahH2wk50w-B@E@@LoH|#*7xVCS6eUPxhNVFKPQhg@?C%{pHy8&iBCI?^6NE56O~G z;)y4vbm!i!H0c(g#;)BzG-q|@^A_)wk3{aHbP@G(yW)-lMeGh>I_F-#GZQ(%K6tjh zu}b3at<=L$bvaa>az~jk)x$i4ywrl9%OU_)$?98aW z2iD!`g^~L1Q%zSY3yahX=8Dp*9=7R^wl6}CzVO&c3!=Z_Rkh#gH5m939vaCSnH%7> zhL!i^ehd1r`0uBzs?Hx%g~)M}?Ua|Zs>_z!)yH)la-#E!y{eR5TvfX~4f!q9Jl&>o7flAv9wF(1QP8#+0(cnm`1D!rGa|h3$CW zcGWZXs~4a*tgmT!N}A@vYFJQ9^TVp0_dyGTWJTIP%6EL?<@n`P>>sY0*506L!A%7Q zTaFyTLMc~RBI*$;6n0)lPE?lHnPr>au6JT*G{rgyKYr_?0pV&cL3ib!IpSCD1U zVrcnm;jhoWpU79K`P)t(jHPtaf;P?QJ`fWYCRQn?hle{GhV#SYu6++$u8D5Ih zB!-+k<+<=@&3Ipx=^yVYz{cFs_-$BhCJHuVRp9k<~ySCUygPOm^=v>Cse{lv0jo%jvqMJ^PT%xJ%#W6kQnGvm#`+`iuV9~CyIOz#t z8*VB{=44o#oBK!>9Ny|QtV0$!f2V!%i@}9=1z`gxg1$vuey^J3ll!vFzS*O1c$_q= zx$nO4+{#)^>iD6)3W_zcbZClg=W{*9m zj?jLo>#jdy@Y>MEKuRYYcMEYwBAi>D@ec6+#mqjWR+6JB(3xtQ;f5SNjODt3i0oM< z4y_mhyScQrm%TiAQboih(s$w?S7ApL>#HXe4Tdx@DkG?m@P9B~1V6e&c|&yo{|o;@ zr3T?I{+@Me>xgz~HIyk-@tIlP*(smQ8$9Pv+fJy;@e6LnO-OX}v?w%~RreOf=R8SW zP6$Ye&ao~}?l?24yz=beAM+v)pV&9KSj1^m6Wmhny!bHxchF2&vLnCZJPVmLAFOKs zTy6a?J8k##!`FoHCZMH$5xN*9{&_C7_>W{ITPv=AZ(IUAsS7*EV=v|}Y`<91kiOlp zB}@735j4Ju)Ba6*@2H0!b4yB*4q#K|Fc1ViJW=!c&8eA2-l=Ir8DN@Vw_ zCVg^`bcWdZSvVN+=}6;QlmZbZu(vQ}q>|D};NPRFQGka?R1V9xeVD(}vgo?^Uht~M z4`=-=y}lQ&y(A409?IQ{yAAxP|x4ZG77qPmejU_>1mM5EHNw@5cPwkwcOeN#yk6b+T`oD%MywLiWtj# z>Lq#vC}ZoIOx{8Q3gOD@>YX}s`u&Dm1a+fM!xr60H5(MK6qdIG(y{Yn`N`}<%FYBx z|E6xvIjnN*orC)GW=oZ!@tP+Iismn^1ppg!-+hI&?V;eI=l;m)icN%>jUl5JT-6($ z1b2o#ga@In1K)Zn;P<n^DlKe+v_+>lpp?_ zkr>cu-)MYZLo3$EElv@S`x^i3yFsCU^M%pJi`e~4<}zMG@osqz)MZQvDoC+Pib2?g zYZ_v{hh06G^`Fce4C&abQOp0C5&PwSOj7u-;0r;HA73@qKQ^d<3RHh$ zl1cF_DfryK6*s#~C=6@vhhwb2_-{(;z_!qEB?tSKX<^rHx$hfJ{=q#{5CB3we%NG(8pU*b*(LL07_1nf4uf&H|^*>^bX4bvo&MZ zZqrf|rDHIsW2(NqysWS;pH>8~4r?zNySse**q`^7^f>Ak-a}hh-`=o*;BC}T*wAOv z+EjLz*B9Dm83IaP)%i(k&!o*f5q<++w;w3mLlKajThFA5t;*k1^9du?FmWJ%0*o?)PD4szKT- zfwMwrT>2V30rUDj+HwgRQ$AZweOo~wBBkS$3#S4@tgC*^%bwi~u3x4D; z7jM_Jb$U*EueCzN1O?=`mEzQ2fLZFTAJLUo|mrVi-RWZ6fO~FOvsbt zCnjD}tmZ~m@^`5Km138SM%JoP_2*5!t@r@T(CZpW93nZBy4~WO(6+7SErk2p7jSME zCBy?50X~Vmrj!XB{!I8rmA5EC=~rCo`{$M$mP?O#CG+%ih@)4bH|j5nJ1=XSNwk8q zx6nV)*3>vxqflz``${@vqH9t~*59HvFmnpg26nwwL*Gk&$kb6lV630(u1#uzKwkU;X@K@F0nMAk-aBi)PA~t zDRJu~-5kQt!pJJfM5pJi!)Mt?xw<);ttm}<$b-ixUY7nooD7XTc(8uw) zDaOA9s|0%ZrUurJk2cw8{HYT66+R&&0f$i_`&}%LZ;aLWsAyAtadYawaqK`ZP~V;U zE08w&x$8A0JOSj|kiy@`-2IyL{basSjSt92j3RR{w6FQ>MuUptkBo1R3--T&IqW@^ zebl(OqD86ZOsQp&cnP^`s#SKxlXjL);rb?-jEu!)X$9!b7~~SBjeZ)9fql;(+bTaL zw8qLvUjofxU#5J?Ig??Op&6AWwk`J~Wp*>+TKT8gNbRqnU%=gF!(rV8M&$9(^*BdN zce!a#u(}QqVR`j50{;bnpH8?F|0qrFuW2oF|2=T;?H}i}(*?AF z3ZWLHQRu?WWVOYv@s+baI&#`-0#C|p?0fHaQ-7%=m^m3g>_l>g4F|soX^kj-TOAje z6<;7$>(SvdmDe(qp$dN&n3SHcW9gP6 zr>;GRJQs+S+fdTdNYdRjkTCjX9Ac7S+-4A_DXjEJW{VGS&b#5uZnM`Y;}e||7brd; zD=v3ChJlN#NbDojqk>N7yCRkGRJw%g9{GdmN6tFBc)phR0b_%mk9>Iqxpt|1Q}$^=e)bUEhB?Mebv4 z&j48nF{OjQ4Abt!4<}@0;)`aQc}8Vv**geG2B)a7h|B@(7@3DKRA7~A6UyNF3%$Kx zytX)BNgt3wiEfmPQ{q6S~YoGwq3Tg`0dlmhDCNU!iTk6+{>M0)mFil%}u_ZuP zXFSbR$JEOhb+8TkS6@sP4&=3m)ZHn&Stwg5Rkl(e*_$)PxvjxU7r6=>S25S3=zTEM zGSW46H1;NZ)lJ4PgPBu?+l@hFOK9=Yv?n=dB5_iAif!TN+W3Atb1Q$kjD(W3mb4MV zBFo0g(aUw8_|fy}DJ9P@?#51))}K!Z8+_JC!9q}PVIzup@Du10*Z_dFOyfe7ofPYY znjj_X(u+2mW}J3P9yV?l%6toa;?FW$R-kh^!+N} zZLN6LWlfn{rGb9+C_bEoh$0R>gn^*~72G711z{Y%4E5W?OP$mB@%g@j7S@U%zdj__ ze#AxBg)xROh4_Z&$6WcU{{3klPqkOuy8(9c{5onnM>T2 zg&QlE=Uf%_8>BBYZq7#!Ep{|CzpihsaLIu+8|Ar{AzWST#4a^?^a1qf_ud zX(c!h$buLih zUasZusX^)7)#4xFFF~W#o^iRwHyb8LE})e%05fNs`vd19TLFs$LN`bVJf(CWxeK2} zL;yc_yQ({W0wf`X!8ycqSsFGqX?-g*&{BoZC)Uq|`i$NnpKr7)!8-}Q+A*PY^uBB3 zZMsu)vA8|QFEu)$E;%*(av80?c_MnbZhw|ZjpvhS0ANDJ(G`4a|gJsE`Lw^y7T7ItM8%DL(;<L*+c9)@ z#^+EyXykFot}6)V&mDE?-EB##i7AaLw7!rm!?&* zUh0(a#&_T{&fsU1yslV*dW>d7Ovpxxedc3j+dNv?y1Vpm`r>$Ke@p9)O7TDSDVd+P zqNBnmLuNuuBksPD|F-d6EkC2Wscm4uge;t3H_+3HR(>aEA=tuv zch3T#(ZiH;V4xhMRL+Jk=WXLavdxi*pdvx#m$sRaoB2&^E(a5ra`z>Yx`z`n$c11( z1N0hZx^p03cNriE4uFkGRq|HlQyWw}!Z9j+mEGqd(XT8AEb{Gh3Lk;9cj*fGhUb-f zH?%>D%mgFn!lR+Vj>KkUJ-yugU-9>`#K6SV??MHBjkQC@^Mq|E<7W-*G!cz6)F}Tlan9tuTMhB zf?4v9l(jU>be|iv5K@iPOtOu?7_e&wVCJPG_(Gtxo$Je5v(}WHiL?o4N&w)kmbP~p zzHyxw*Ft~{N&Pb?B2E_AYq>BJYdnTMyFAj|E1b%0c+EKp%UW<831g0U0W*M8kxn)q|Ebw^;E_UeyA4#^ezgwGmh<(E zWh1|>(hC#plf-`b74x^6jon;i-FpsI=BA5Wmb-<-0d8Gc@re|>@G#d1^znY!+Fg(; zl`iQB$Apq^|rfDOYa3(#tXKJlhFe_?C1Y25U$L zC-GVd|xF#DE>rSE4>9Ogc!*if-xL$#;l!R%MWJC$7A|qTKOtVf5)VJ`E(Hd zEc|_lQHWCb+-sFDrRkKv=PQd^)cY?@hAtpCZ_;Zaxh%u1WaeN7$=%7Nv(zU;I-Q;k zS1PiK;tS-8ovQw|z8$ z+n7NQt1gJWkJ<)V1%o&wcToaxPhsD&%aPznwge`F``tM7N*k~8J#$9o~VSo9f zE35u@X%yq%`7cAKJJnh&>aEL*|NKa=i7$?K$N>0cqx`V`!nd7UkO@vHVI7%xI0nsz zI;ofjvXbmU_t)ctkHE*^K_!g}_c}K9ln7-zCV0K?i#!?T9&#>}Bl6XIj>N;Ctwp!% zsyg(Bo>0nYA2!|SrjTmD@5w;JK<@tL9CbXr?`tb#ZF;FtVO@b!>C?K{?spWOO(B*f zkxbY#)io_g{d9I#T*!Q%Z%x!L(Aq|H$rBu_=8VCd6TmOf4!d}3M zs5RmLsW>8^NvN^^*)dppu&M~%otE)F^r=1{V{fl+CTzTCKppI@YmIOCT@_!b zldYao6HiQjmVL8~uY+?EvU2kvlevfIShQX4I`BtOk=GTp0BhCAQNtLxTfMS3yE2(S z)YEBPXIoJDeef&f?Uh#{q2?hDVQ$fw&u>!Oem^W1Zf@-rnbto_?NH0CCSL<7uuG}$Z$BO$PqH$^3dIq9KG~;d)E0f!V zQXOd=7u;QppYzJm-HpzL$f*yL925GJhEwSaz3W~eqfb)sfvh9w28DvYn68so?O!{~ z0Ob6PhX|>~b=V>EWV)$={)+k~?0JB5TEq2_8JJ68-wRj!4>bDiDC7$sF(j@!E!^Lz z;p|gBVOM_<;kW3$a+=-z82OlkeJy<4u1BcNq!Cx;nqQtdoUs0_1@z@fRY~+TP+8W0 z9fq+^^Ier-Q~ZSbjP?PJk9Cmvise{mxU=(oIcNqkfgKQS)2#IWy_J0U@lLd8xMPS$ zNI-aW%<-428Fv4ERKi=w`*$au7Cx>&+FLuChO{wtL(d&o?wng5nOYc8=|MMpS0xnx zEcjLQqjIa|?XU^$BVCW1RZ0`}AO5d)tNsTN@wywT-xYU-RoPMxtk-VL z)2ZZ1%}FK7=Na~;{ms)ydhEKwPvqB>%e8(J;N}U|FCBJWiiifD!=Bb2*=`pdXHTY> zvg#+Q%V1qm6!;RH8%0uz1KwHu|N2?cUu2&0Fw(P^L};eF=L8Ql{<#pYI{KlmwGk~q zR#F-?h*mv}?ZSeu)Oclgo=>J@Vp4oFP~Vx?F$}QJhHq9JSFooEUXk{N|3>Qr^<9pP zpXh7eZI-!1{;iG0$Z1o6RjxF9m7UE|2Flmk$d%CY;EN&A5f9$R#9hp~R1i>O+AcSk zM|P%t*{r8?K>x5PvhF|)4u>})=Nl$g`rov>*6)?e6`w7-SteEgu-lsqa56{+zox7S z#$T;lTT%ZK*kee>AC2nuV>Em*=Vc!9S2OAD{aXo``$QEdtCN?h!t){^JKqr!&izk( z368*j(~~#lv6{D)cj|J@A@X}%C8fD3J0;t^G-o%us zylNz}U;GuT_}20K_Tv6=vrL|G&go_!IlpfgV;vIJy@gly7N=4Nu6Oo;{Ce-wlH8$` zGjXN~mowP`))F>KSiH1%f=QfbPSjl93MA?&pc!Dw(l`I#@!`9lwDx1(ni4(??~<=; z$nVLx^~EUWS$JV^O^|Y^f0Waw_>}x#mSuSWYe@x`4m|Mh#nP`pqFB0Fq0D24$r}&n zrpIJ@+Q{Lm3xpW!5$*ZR z!^8cClZFky*?ofr4F;7ElseoS#*QGO^?**%Uk$C6qN0MJikdM$+PJ;oyvo92iWs+) zI{(*?JO6mbG%M@>? zI9-7VaLz}lNriUFaX}@{CPw$&4=eSvFD5evd)rN_Gl0Y2;qz?t*RZ9arNHYUu&Cxw zylJ9;T`M_TiT!;O9P`_2$o&I`M&=GyFBTNzw_U5{ZEE5$OZVL-WYwc$*Mft>?27K@ zi$n4Y#RsiiVp2a)%xdyFS^7nW)<(g`AC1)sp*rcR1el}fKKsSPu=Tb166*d$$M~7a z$f@~-)%BP3JXT{NZTaii8EtE0D%kgy9p&6oNZp>Srw&LHu4WDeR-a6?^qAGZE6*S= zz@6b9$W#nQr3=>z+P@|+yRu(->*@IA2-@(ju@G8I%q{m?vcKYW6B08aS5_NxIDdcW zMCXGRY{Oth!auL?V+mXdY``U@)6hB?HdnV*!w|}W6RME@312|pMk~Sp$!Lr6@Ztc! z$GyqE*f*6ocD^sJS)t4<$0%|8J!cd$tUK5*q$vXat}=e@2UiiKE}`S}Pz`0Bc7L<( zz>+bPiHA7=QcthgEThptgHdLeSL6E%Ex?4{FCMM-@1T$4R`VE@1oy#9!( z#L3I{Y%Xi=H69zDik?oyPG?!WHx`$T*0c+8Q5YA*KUg8W8P%G5t%9lJGZ8cJb!}n-ZoqlTj>E@!^OC^Zhi4=HzRigV3 zwvu*dsB9oS9ta-SIeLW)ffxW|?E`23-#Q(|<-a zdcU+BRR1VRDL7SVP@dEn+TS=MyvxmgPD~nJr*cj6pYD5uc0#PNi%FqTlioQsKIEbJ z9j<@JrJF*Fozn|s@5wu4!Rhe@qji=82ar1%C>@VB(^xiWKjD4S);`DiuDgjxpl6E* z-Q5D{6a~y*7*1&Rs9?}Pfrsc6A_#4Tjln$v9YmQbdGLCXW~k44%7WZFo$Vf4*LwH7 zqF?n5v{$v2l9CG-VJ&QItIN6dPa}H`zNqb|YqD+pL9%r&bLCOj5+!$S?a+mdTi}nR zD{Kk9go#G_$j^&s^S7}*I`#sIZVNNwKqH*p&RKooZ%wM(XZ6?4;c_7*!Hr=xuTOo^ z%=q{ZS#_y3q8~XKGEZ7(+vjK4hng|pf?hoOvt6^aIQ0?WoHtrht3yjz3a=HlRwOsi z0d3^sz9?6cqzwxmrRCHW1Le)Wc&A7uN(B_H5j`O73Z{ieD(fx~asokMvw#k7WPGcOq2-J6? z2v^j$QjO|$H7w9`hADZ;&GORe+RJc&g8K=isEar!UzYHVxLQi|CdA5_LRS`ChlRQb ztu+mjl@I@oW{4&T#Sf=h|68n^9q^fZw`~q_UFEvaSzx^qkVDi2@(mO0Iq&n0e|8@+GpL}Kj(T=DSEz2wj$`2`iSQFWqIT^6-&m=Ak1IRhQrmyaXeu^QB zQK3;hAyv;`{Sw+-8qQ}3E!?@kTsC`+N+hR}uS`7!nb&E%B*-o9An{oEJ6t7bA);9< z+njZDa}6b4^SI-2iRcSZsdJX>#^-f-@!Oa+fSkWVTtZ7?6L4(mztscrshGdg&YYDy z{}yi3-qG(!JTkcBf$(8_9@DJYb|X$Q&PZC*joy(6y-XLUz3{4E;G@{SXI zryYq53km57?ThUA(3fPC>s{*DSk{dhm7lIz%G}bWPcXsx#s*Q>iS=` zG1XR-kn@=fQc8ImWcuDtqjtjCY{V|Z9aLGhWc5B7xDv{YERAys>$SHOh1rNdQTiNijBeO z?(PohMo|%v6zneS`r3(#g@KKTVqi-*f&xm3Ac)e<2HRNoIrq80*Zl{syv~ccu@lep z{&YpJh|>e{y~8W$Dc(udap;n55ix;8Z$p;@c1$ar)n)5KyERUCT-Uqnx*vBgx0=;% z!TsXk>AU7H5nfq6T*zK4P5+o~vF_61FvkVT`JB~5X}$2t!m|-8ZJstmACoTREAA>)iu7rv_#WOl_H*9vU(E8}ajQ1HCBp zMdSTTHx67DT(G||b+PRF;s+Kl_ZE%Usk8?4%nmutJf9yHz6W(_Zn$q)35pln%}-BZ zhSYmdw@6 zAU~fHOOL{aJ@&KlSm|hMv(_@kGS@oAKE-*DTc>-q+XqL~Y`5As8-gKTk*2&`z<(MSIW!+!f*sK@YALZvxqOZvT3I-e`=hE-iUb)LZIM z*Vo$GU(bkvxT>+Hw;V5do%Z(#-V@pwW*^=hdN%Nr*I9eK(Ff`n<~yG>*D@g)elw^x z6g5hie$6Zw8p0z=XY~Z2_g#eFvCybRj?w9HI*G#MODh6b^e1I5?^+rf83?iv^j#6V zOIC+0Aj>N2D*G{K1NXBYY_}5*FO7|qRK(V^({xMeRh?Gf%#`>Y&-RRMWhVac{iDAf zAxwY&Q}HvkbxqUV8u)X3{+Y+RImccqmWF%}{O_M&8H=>{r4V;T*O~c9UB~OCEXfXQo5F2~&Hx9AB1RdADJvWBbq)YYfw@w$QZM z!OXMO_gbKN2q*MOm~H68fIQC}`} zcky*xWjUhF!Jp*0&+eKJ!QZzy5#h0>Y-i`r=C#x%X3i&6e+%-)rh3qhjFxBL6smrG z5Iq+?Nqx5K{qmZwj$6Z~Of888?vv6zZ8g(zYkRwI)*faW`o8K7U;@}3k?Q=>nNwiS zz-VXNw^Wdyzx(0)tnkdYptB9piKReJVJeiytU&T7?}w>z47diiz-R0S)94TVWU z&iOxb7h31(RZ$M1v)o3y>4bbZekgdjZ7dh$YgCB)aO+gljRwGk(5%4xh>ai`^B^H6 zMV2Z|`355})wx{*@lpj*&Kcme(wHTCr>;j=rvM-FCa`JH(nAssBwBD^P{dh9(XZD_J2A2{q zY`b6vrVyDvUR-dpbVEZy8>h!@xO|4fSt|Jm72taDb66H~MTml4OScEl{g$+}*1xC> zEW2AiQv2+OW}gl%N{Uim8HCwxbX&i`3ivtM!6!oxh29PF^f}<{W}c@>RLGK&*iAFs zv4_LsL!%=rCkH@PJSx9TveYUvQ+ImiofcFc5wRpTb~xc(ib>kDw6PW9#MQAcqY^^D z`tERNIvCk}v7}gCwlR13&-tM1Zr68C71nF@jmf`+#j{`Ma^+w3*nS2nPTP#r-*4=S zJLgT)9g*ixoBWOZ)zMba{JS=rQoR~v8bH|d@RU4*y173EyGz5i^64{9#{Z zTqD{M+IM@jneM<{D#1dgIEYYyJBext1#@|0uloLUENYZje=g&f9;)j4rrk9^igMI( za`i4#nM1heKi~a<|9}VKWoT}2hM%*$t<7@%J|!vC4LTGanhF_PI#NASIxe13ov#-u zVcV6%_19V3x*7Vd3|+P8Mzra2T+#r@5#G6?A}M)!_0rhL4M715w!0SE3$1~iv;Jil z1^QCAyLr3WIW<`LX%=FX=Obo#EDG_mb<86Db(_+YcP?D>d6BEbdF5lg68k;k=hphxA%k|pS?8r|bk-&pl zJVhHm-G}@6t0A{|(@UF&@J&Hx_C;F8tIHd+iXQsCvM(lo+0yd9yJkQ>slxIRPRZ}V zeK;)~4b2rDVqvE=0HQiuL%+IIZz%V#FsXaY!pd@H} zNJYqwph};QE?CQd+Na2-$ZPJQ+04m~(e)#TM$w7aK%-tN^(UNAGcX>uoA6Kwco~)w zb!wSQyl1jrYD8LEYE*KIU)*Aw^ugcE_$X{Qd$FI<71441$MO2y5}Sgqr?F3$f;kEY znveGVo9^UYM2$#oYPkk1iyOB8*@uzWEQxB&LUQ3nYF}AJzmRod46qqHP!V;FQKzk`TZ?zSA1AOhJ0yzA2G*6Fs_S>KwaV^282eKzAiH-S1Dn}l?(%-s24 z7h}V~vVONRjWyzD6HR}Ve-YXXo6~CRK6kxXoEx0C|1Ga_ZJXX;+3buk7UZ>@&`LCU zY#jq)40h(H4Ky?dDSg;$lHY72y5V?xe`}X=^KiMiAp3C`=n22z;@1lq7p)odAdZB9f zNRbd%u!8w<>fSK&=TgVk29M&N7keK>XYI~haIq*O>vCFF)5HH>AWw*e%p8G%M)155+|TOkG?+x-0w24yM_U-y6O>WHGX0q5p;Ws+LMXJ1=vpcWrSK zyD;pw8fPmPNLMogXJK)&#(NOo`>^H8uDx50lD7wB89#${XT$o_y0*2S{l5Oov*P8i zHJ@I}{qNQ5lEx-d-;?QL-hNbtG@`~cxMsQ5ZiC%6D{YfoI%X|0wt<9de)^W)nAS%EAC`98P;}`y)L<3p7TY!eQe+~b1P({`q4Pip5y-4r!L?^aCYd8ur;B| zf&09O4h6>1YI5A5sE?U4y?Kl_JTx3M_G`+Ak;(_T3yMYB))tA*pBJnS?uk6ObWdDS zBD7*Gbqr+ReNFI*`Ml^w$SzWl!A$tv zbM%;zTJW8;%R5qbwQcN)-R4QvmP^tn1%LRRS#2+yDywHd?#`ci!pfU?S6pq_Q9rbp zu}r)OdxApJT5EjHYQ61g>j<-*`hDv8icRomu{)Ts8$JHtKz+B`_qK|WH_vm<-oA0w z?NUU><%?Zc_3yeo^Zj_fYH8E>Pm{m-W6S6E^IbuO|2upX{wU_DWPtrSy{et(`2u_wWtLSq#_y*)sa z+GeL?ZD`uBJE*Ep>PEi^t^yBQ=E!g0Yq?gRU8tFFcK_}TY9HTpr)Jq) zvAmRYRx8T9)9KKHP*4+^zI1zBRig5W+0?<*%9J+=l$hj2vf#Bou-k3>5m3kAZmD9k z#Nnfh$UV(d?jGkfX!b_+pWK_dot`D=Rr%){9n0N#b*J-|q9iEL+;j-HlVLyjrrW@p{^Y9yozt#2a7xU*h(hFR8d}C9*3TSPIFN1jnSRhURQ*J32Kk)3 zW?zp74$O8Z{m`x6{C;yT;SPM2mvQ(!a(?mU7dKbs^u38Gzw^!e=as&Y(OMdXGb;WL zN%0#M#DpLWA|x`nqdWfCx4VAbQhB%dY|-DcgnC)W)#1DB*Vt7Wcg#LG=6nA3RSt9w zE)7WtH4jk?cN)P->kUwWIi61#JSTfi+k~r1GcqbrXCMh3u*IBi>F7_J@ z`(hDz*DzWoW5pWo+y0sNRDvF=&d5z*51?NF8Z$I0huPZs4R zzssyX*Ku!n8FRhlJ}z1LjLtH%N47^C?%OT3R55y@=}OUqt^RNK{OJ!Pm;XKlRmSdR z!>=uX+}nM{^J4CWO&8s+_1|@WzVDN2&Fb$5y5#-)CyRie^M`yR{1UeZmydCko#$oE zV#Y{)58AyzMvbiaO7XdhqhF8z+Bw$8^B@YeF;-t)RxVf*kQ>||8W_GXd@#h@Kgzwz zI$MuT8AX@zX!IEnTYo%wVhB4{KCRF47P(>DsiubQpx^RCQ1MZ?csOQnLU;-;O=~44 z?Q`;pHNe3yr4e-E<>0jU(urZhy+7V6ARlO;Ou zsGI*^jG=zw%3x$qeM@Cc#K%KSesLyzndGgkyoTG12%S^r=Xz%W&4dZA7 z>@JYcc?PFV*pJ(Ro)w}D{fRaIUU!n3H`gvNPcPkF5mmpuJ#(O(aSYv{5^fxAZ|7m@ zs~GqvSTQUxJSNOO=%ja>1J=Y>?JCYnG|LE|av8lhbZ5wJ)Ow1_c*5^R3lxv&SX!QT z`Rn5w;<+$xDLYmtaYIUIs!ggS8Hvwd7PiPXq`+srn~6h}^$*KfP&<3aA=*XRo#p<< zHPP;lK|1LPpGbR7&yv;Xz3@+2@pJq9u0@+Wmw)h1)kS1uQ$PAP{GzmYbYTBnj4bcU=DI1o#m0_ahV~Q;{N8CN{O*=dGs9)N3 zyZKFp@XfoNnA=8IOTpv{hl?k#c4eDAd-d^YHR(I!m*gLFe10yIPX@KK-JmLs0*fSB z>}%78Lo2~ttUKQ}*U-x!l&jWQG--FYjq$iHct_2jW@j8VJf}hCt9y`22paM=c#(gM z$9~&y20N%XVRK;>V(5dm8o%6l*JP)tj-};G*Q6;a3?LA7U347Pd2(;G5zSWx>!|K`I2f)R$?`#@$91 z4P!^0Cu3%r9FnYt@KbHMF~Ob>qA}~k=!JSct8X@H4h0~_knMiZ?S z=gGs(zqkCvxBmRPvwX>0x4bJ)X7e)(o4%gxDV{vXg;8}?+5P}8yB}s@CirI|tF||I;pKqJEwF@iOmMy9zHPp1b41~-fvXx4<21jg~ zU9A@^@;3~M2zeX2DKs!BXF;{ocC!hMgT!#DBl`#qKT$o>KD=x6{v>^NmU~^^rI4s; zWX1xK(7!=Jk?)tBi~XIDoN_v~Hg!0Kn3x~q6Xg~v@KpqzsT*wHTT841?d~}?xjc2- z@3zZ%kfEDuK3si%G3bJR2KkEW9i6Ak-^(hL8h3UK^aczwrprJ@lq0khf0W3_ zXF@XJCq~=Ymp>odY#Q!VyefWNTvc)XtK+ZC(T&`2e2L~$^FvPlUi%73QbXFTLy5G`A#wepvM4wwSvK z_fxi~9b362%{s+6etfAo;&b2%@69e}?e1EITRyW=1~CRBH#3h%?z^1Lt<SPCbe z*2v=H4_oOjid-+-J-ORugYVLQCuJ2OPj}R|hue|UV*c%5MdUmEyoZnRc_HtmHL{=b zk#3fr>?|QhB~b5}xztu{|DSEI`4Iyx4GuXGGYqnHv!>HW+WO*t+I*cY-v9E;1Es9x zmxC@4&hO4JxK?nlJb!JWPMv zY53Qf_Rij)Lj_acn3lpwRGVN&UO;|_HH4o$uN$L)CVwWNYnWc|6Mct_3lmK*o>Irp2cC3fmY9+Vl;@mbGVMd^t4BOk5gv2BNU>u$XXVhlb8M(FJHr@qwA zTdhl*F4XM!eCNfhCx3E-3IfY-{;2!sNsku#z-kn(W|{GO>reI!yMB>ds*d&rVpLx{z^x0(HC(+ zFdB9xCMg`kS0Ew$3i|qyOpsq}^R>2eOG$aLf5pXyQXoSwm~&t?h1ucIC&IZoU(U1Zj;753U<}G-@`zhG`69KmQB=)v`1)er;KLYx=`=N0-o@DpjO>uQ9*g@t-SOOTV!zzQ3!>TbnbL z=lWr$wz2c<=p3t6`WK%-g>^N}F5A4b+i&A+?rq?wu}u*J7l}OQYiE9suKd^8x$)b# z65&g$ho`e}na&v|7am^py8h_?c3?M})b;$(?0(+wJ0YEW!oMSDWAlmS#CmKjn1qa@ z`3?v4)U_P@vasB>_+*K7b#k+?=kHX#D3T26v8_J39Q20$1B2Q^K8IOKKe(-N%rHY#k0INcH)&6KTa+;_ z#MsxHHTUp#2-A3>8kP}659Y^#{H~+z-akkUuS*LHxVhhR-se9r#C&_&b7NAIyAe65 za9ZuA!D7p^c2c_~))>=N-M=cIh~9_+=qhz+a>dZv-jKG_b;_Sv&rI*#zD~Jpo}r)d z@p8h={~qTTa7vMenD(gN`k`=;BP-fL<*&=zjvey5y&YgTc0|mjVVN1iGgbf7USfJ~)+4K&`Iu8(cG5J#kqkThH zhI&VCO@_>6^KKxHp}`ozv#{Bc#`#cA($Fd)~`4_D0~H9rySNIm>jVlwtHzyx3Dvc z)w-u-fx9Mo$L0YK+VX*!?zZphRjb|&Jh8u1bXDQf*oBddo+|@)$az^Go>pl$_jlg= zt1sZPwYPJA;kLo! zmb;_#56g0`r`Q^H*Gxb2ByN|*mXMJvb+UM=WRf^pNg|@5Fk#CTAhYe)CrAH!8FH`@a}NV$^@j9OIpV zpVKzYB$byWi7N*&h9v>>o*~YV-K^DSD^HtC_JPiBz$N)F? zhYA^L8x80dQrqQr7p%NYKIj}!$tRvf?(+{bG^S>N&iS!zs&3Ec<_A`txm#J*$VtrqWqs!tba%p_-&XI)}wea+&MKL;p&CDmVYC{Zf9b zG`fQI<#wBLf8=bC><{Iieu7P#>&gXh{quvSLQ+ADVE}Z#S9ZQ*#?shHG?UWjRcPnN z7mOqgtBxj2ex9x1g4zfLM@<2!GOqS63^DdYz zfd}k#-!|R)wKdHh35ak~mSc;B)yF&H3k5rIy$b5z-99g44d@`i0Ycb(aMK0aqb zBB-5Bn;z_Q`Go;5cNPscOKdzX zn1(yGP^Dg6rgVlA3H%K=!=i?&t<*2=ArB0qaJXTo5_aOm3*ALyK?nf}5zm?{uk zPX|@T4*soS=8Ine55j*bv1waZu1GUWF^iuAU8QOQw|E}_-8G(B#aO4zyx)Ak3El~{=gU%vdNG0+NxsDu1b|agRRY)8Xf%qVfh%MrT_=Ep#M=l{Rk*~-o zf&nwVO;)3w#NF1V4ta!aLyz*a${2Qg4}^b}fwLeMhk2}Fn7F-I{C7&Uks`~{|B7h`u~ z4}c>D>xb3A4#N*Ymj3`|CkBBYL5slZw4;yF!{|=%EI&{qXgBlcI4|4??L?40OIS7S<``!uPh0np!;BIeYAWS55 z0v$kd5iarv)x~TDGjCLII=K7T3b+tc1NP(rdJw&e{zRRjXOI?VKPC@+D-2T(DMQ=P zF(eD@!3zY7UI6Qx1Z{`HAQY`a&!I7>E;@?5M=m2LkqqPs*snIE8|()j^+h+JOVDOy zP~IXNk|s$PNgqh9WD~MBc@Hv%RzV(^5R3>q1`VTD=wc*UenKXa@}-AlOXNX_1;AM< zlnJFmohT7CM?&ShWuK*n(%%w}g3zx`{n)eQ{Wz+po0MSP3SFvELF4@DMAX7KZrS4B@DRk2dDyi0Bwfc!P@;sbI^6D zJHYJ%@YMGKZHQ1JG>P5>s2oIC$We3$bP00}4#j3+Phg#~KLMWh!h+9p)Rf5E7v6Xd|FJb!a7& z5A{JPSfNW8F+fW#+zZaR4(4D^VDvCu0C_i|a{z(KP!M>^FlaAS1XjuzV~XJcj4Xr@ zbQtgnEyxdA3`K%##zH3m#mzxdXb{SVe4uf_0nP*d@B*zvThJnaY74XlIe{!g{18{f z0s%!N2w%>X&&j*xFXcPs0di0I3i%^BPo9djApU?S6aq}r0bSmc+snmZUrBNo`9^u3 z{I8rZAC_N}ljM740%?V`QK~50A#0Ffz~9Bl&&j*w3jklh0!j=<)zL3VGBO9wyH}nr zKMStZ4z7sE8?_7}Dqdl;*Ot%i@n zE8(s1Qy7CigH^<3;^uI6_#nJFz8#?DDz+PTgUd0SFm4z_j2WPht(a^~BL;#OgKG`L zD9nTl0T!t6Ps|5Q5oQ7t1h8R@T?4p{A+`h#0`ITEOhRj+KEOv!P%Mf^jnG)|yqbXL z8DkD(?qbehmSMCovrq?k>buZEu!_-83bY@*E(dqq3$*}*?SniaF_02jXc}sYP9Ozf zRXq_^fQ=}y&Q549ItJuKCAtPkgS`lh6oLK9mH(FOA!$e^So>RmV;du7068yYnz9>! zN3=;^OUfleNxZZapkkTqwCttqi>yQTUG_nCPPRlwk#$IOq-Uh3rMc1psjKWRK+Pt3 zAvkA){2)NVa@kv{w)C}Rt7L`bjHFMpLdue!mhokw^6m2D@(c0|fR|MOhp>ED)+HO3 zDFXD=%3T3x<%9cOilzV>jRBGcLcbyxkpv*Er~quJTnh;S*vJRC7y-!i09bkoIA|sM z3cUgN=nWt%IcOyG9Fjo6m~EI{K(e@FaF}lBF|-CU0kl*I=;03f8b}2estQ(Z3*c=Q zm=_oWcn6#T?}fu*6IdT!03=iaJPn&-S7NiV-?3b*Ce9fbfm@7o!m+WBvEf)Ob{d|8 z30PZf6gD0E0Na73;Nk!WX~ofS6SxZ85u88H2xpH=1AL_zSB?9G%g4RNHR0$u6}$&N z5uc9VgO9_L@lSC2xQAFrY%iP*Z-fJ3b8vNAcp2boKVb^i73+!B#nJ(P%Yn1Nd;4L3 zcmi-@RZKPD>!$%m1|eI_0nB?$Go}J_8e@cc1i{cov>RCu_EQZ=_qzxMy#hG+dLS2H zL!cilpuh}N3B8G!BfsTE@>aPvasfe+-RKu|3jGIGGXO0|w2@8n5}B#2PWnVzD+P#< z>ByhTbpfT8Aoa+7BmilUd&ytP3}yM!2&uA^1SG*xX_FL@s>>kRcj-PUR(f6nNluHY z;xf@`(P7a`k)k+9yihVH*$p^NgY>pEL^>h4A&HeZN~|RAl6c7}Nhy#^w$dfi#Zq(W zh~$7==w@iLVPM1dl zG>;&vs5d~+L4b$@XgDedGUqt51svsw2H>R1fFoluX_yC?I?PY7a``}Su*1wj)qs<~ z1-#rId_sl)gPVa~z=!*Rd^rLK!%FZdrWzn64^xVv13E5%4S^gIVi)0#;V$BK;#_f~ z*lXBOtRj{TL!j3F3DyYr2Iqv&!^`m@gw2Fa1U~{3pN03v3vj*QhmEtwAH&n|n+U^% z5aJQyQDPL4ML15t5$@u{@%n(nq~UAuzJxD?0Ac}AOf*-}SNKQVO6(?h5MJVa@j_f5 zZU_g1SNrhU_#5~nJQKGbSA!*Bm%vW}H|m4_KxzOhGRzfN2YUlMfStkSV>Pi$;Vqc+ zK+m#6e}Q%RhVT$~AX91pM*N_7C;;MvRTBVRu1;<(e=75o@ukyJRBA6GZrKyr9$AdcU*;iml{v_aWD2r*X}`2xS`RqKJHQ=oN{>lXq$bjC z$zh4Eq*;7Pyh6M{Y${e4tBUo-9^w>nhPYfjBgRQ!$v^RJv5$B_bV;;Oq%XpYh$3TA zgy@i{K=eOCS-L2-gS;h03C>qDm1-oGN}RmWe|p zha`_B)sjJpf;2#SL|Q1FkSfWXWD8|0WNW~)ESE*d{A9j>lkJz4$SB}>{>cLXvgwEm z&>Eir{vbqMpp!uFJc2QU2jDEMF>W{5>4mrvz`MJEKG=)dhj9iJw+!78bP112%m`~;Qswj zs(9n)@D~X@f)mk;s7stCd?s8Z93Y$_d;sq)A-*Bv6;c#(6gm`U6(Eup$(0mM+DbY? zIz~z-#geQ^h{A|MFE}I$+9X@>qeT)ZbSr#TxS_B^VUdEB0!0BK3W#)KJ29IW2~hT& zu#FH#a3)v~ObDg~0|JRKg3kpxER(pyI5BoD_8mL}bf5=N6choS0s3+T<|dF|H!wDs z!_Y}|DI$`+lwOm75v$@el5%OV{09O7+PMvNqnXIOEK1rb{veVIe+Vg}QqgO1xui(C z6VT~9nWHRO8Y)o|_X~drIQ;GW0RCP+Ngx-viOz_NCHJLx8AG~Ux>zC+-4-qpr0^$r z5?&VnlAv0Mi1Z`_5*=xcWKjGPuGh#*5}gq;1P=ud1a!ecp`z%h z=%Hw}=%)}B-~^z=oeObSanw1sU^hd!s=RUDO}+#mr;2aRU(372?c#WFI@uL$Ir{OiAC-@<_Es*fZ{BiCl&Lei?eE7WieA@iz{3CWc$DcdLUB|n`OXPjyPJr)z zod3jG#6*Nd4q`hPgIa=|eVu50# z;*6pWC5CdI@}BaI(oFe6DW()qo>3lC?ozTTPbu{jDP^hBYbBg=vhoAv7G=7!Oc_-c zDYKNB%2H)L>O$%XY8jPBwNr^xS*Nl>B}~O$MMp(hg`z@IfmC?Z8R`gifZ7j^Q7Vf{ zR54cx0e_XQa!Tc@$__lkLeR zq&=iHq|>AyBop#l@@g`NL?nG6Y7!3PC|Ewm7xN2v79Kz^p)%+*uw5}w0P2Nc<==t6 z_*HBt9uz$?sztAz!^ap9!!rf^&!(Dvgk{ExW8Go>V$HDXS*fhAOcUlKMlxdy zqnVM$6f;k=23X{I<@q^QF3X&CoLR-dGWN}>&kfF2&*sfunLRmseD=cZgW0NC&aB_u zxw+4CWpmHxZqDV+jm#|s=ZI$hX08Bdx1CP}Ki>0d^Fr1HtDDups${jXsPnhxW7+N; zW3HTA!&}84QjuYcPSz}ilNSwKfCg>;~sz~XHOwqPhC z1D57e`K0WqOilJ4Xo^!nr{Ia>#dk&Dg*f3B0W9d`SMs0mxABenUA(KjSe`C#g!`I% z6i{z0cOf^3>&p!U=-9`-!F|NN#9hXn12o;q_GOpOFPn$v8v#bPu)J7Y=53}L^Dv`x z&Smb!toQ5`{UiMj{Wd+9o=3k(UqTnq9?~Ldf|&<1`ZGJH&rEHaw40b1dpf#tByc!# z=+)qjL9HR1;oBp|V{gY@CX1%bW};{;nuvCc_IYM#+JBlgMV`Jky?f?9ZIW&?=g*)p zvzdd;8D=GOE0fG@V0>guGIlbTurADNbLP1+zJ(}3a#VH=xd5fYa%>7dp3qO=5}%|0pyL%|*;s$vb=)Y<5x*1v4F3bFG=^v*A*{Q zE-IZ<-T^qkTa_7=DV0){^(rFjS*jBCo$>+Yoys?qJC%*8>C{gEAF3*zD$7;2sO(ia zqLQWZL&Z_GRCT!;L+ymRg2o*UOU)8ZAFU5sdfKP8Y1)Z8jXJKncXj!?@p_eduKM-* zTMRS}s}19g294Gk&l+Dc2{u(Vg3I0d2uBG3()0 z*ao{B=-(%?3$a}I0?fr&Vbq`oBu3sNT`ysajtZsx^E^8)%Eq%@!BoC>rWf-I;}qjK zqmZG?e9nwwDa;See_`F6?PZKIT$stsM5Z;fjS<1PG52!z zJl&FZb-H%)>-d||OT$M8@AOap-PWi0=TlF_?}jd?UoU>9bR227ZQtAO)v^0$z%N?& zt3R;=iKG0#>iwGWV~Z6XC7n`*nONr-a5e#;e_bD*jlnmvQ82uv6M)} zzrC;6sUUc?s3*$b^hy9Af;+pfr1ir#)p^wO0 zBo;mrS_|(8{__;3=F6c(VHR2xUoM-#azh;il3F$L4B~z&r{iC77cL#p|<@WyT-q%^vHvZkG z(W-%2ccJ!8jb)8uO><3io%&bX=783cj+4KT?&98&zqhz2~`nwY)NF4PXGmqklQ#2KP+p@U#GU(VC#*YXDh8%4pA6j?UX4{2ci@JYm- zq(h3yN;2gYD#ulisHLcDYrNLLYT9esY7#W-G-5SAtM{pOsJ>IVMZKr|RY^_h6h)mf zp-84&p!h0bmA@-rp~k5gtInyuRf|?{Rd>=jtI@0>(a_LT(VW*P(paG}uAZp=7T`x+ z)nDZh^)KK)w#ul|gwmLjhH{p25;amKP}NDzLOodHk*23MU#CIuqCtp}!1$BtA@dkZ zZ);Oqp4~$Ss?!GN3Ku)K8ux9UM&2C@4*9D1-wc=zln2!Zn}k3ifx)$b`}|k>ocA1a zNwe>fn}3Ys%(9rVA*9X4zr4>&BD(gWpC!T@ZX5!(zoaXY%cMU;y$XD`f05fy1NZpjNX_K&3epK z&A*xPO!G{B8@)CN(0i|~qy{pUk#{FU5N&WNRkj_*AL%{nj zwSeo1*C_{8wyW>byr@;6)u=hHZl+qI)J@9AhhzF>&qcp^kJu_KKZfpH!R)`;+&Lbj zhZVrF;%A5!%i^I6xF!XXQn>0d%}QOlp}85$($w~hJ=0;W_fniNSlqOd=01I=whyDL*VnCJ z@wkh43Bf|4PXQ)9Qg}-YA#B0{Z#24G)*)i^#^(RdY0=szwZ~;6$A>QtQHNB9t`40U z=8p7_X-}S>=F(#3GMG2!cX0H8r=(c0P54k4DZD7S#NWiT=Z>(?%qy`n82s5)^v0RM z>CwsW6Xc2V@xk#E6Hg}n0AG1M8_X2U7jokTA4S=cG3hzkG1-W;Rgxsm6*lpQxokFv z)xkJ9i=%CysvXCU`VSrIukO?AJ>1>c`KLXzrK2go!LRmr#g~#zh47~{A8x*HdN=*n z@vYC>&+q6TTZ(%sZ`L<`-_v=&&up}srpOr(t7AZ>hSE{BZCbXvWqKC+xAk;&Yqf5w zmr$1~UM9T6^vI$_=Db7mDU5$~h}JQ^c=|Aqm|R-I+&R`Uu8nA$TopU1kgu$(VXND3 z=w}vXMFV|TvCdj9S}tT~MaKXzousY7Z!&0jhj^q&|WFzz<_WD1#mHI`9>%oWbo^-yOA1E zeoJhkdCT6$E?Qn2k0!_xA0^c!IVXKg;Kx-)7ccw}^xji$>tpDrBE}|)x%29?XQx{y zlO|71Hcl!|U7X6CP6e9ZGS(#Lu%JWyOLh}=gMZ;p63xiRD1pje)TPwh%3ew-iVCCv z!Yt@=S0d3D>|;;P-JZ#wAdl({{p$Dp7ycLR+y3|5zkq>5LzvO>@pDu0H1oMh<|Q@< zSQe**>ws^5ov2v&MerDS%$S@V>>n&SLt#!#<4hY&J)3wo?mWJ1TrjRT`DyCyjGTUt zv3@>)t02e~4M|?eCgj&a%*GJWm4BAvB_5(EffsL_9mYzUbD~X5UK#Tm7Wen{wf8i2 z<^FVOOZblemR5J8a;~KEv(1O-w`K(wUafff@WsCWL(x^RHNmyvB^!)}(aosQ-O?%D zNT}G|-QD`y3Ift7AfTiuQEEwyQ-fx;{?kmmW>7 z-mG7{Pf%Yuzx-%<&x+D&-FhJLJGF!<&u;{!!_%d|E0(HV)>$#*k%{Zh7a#fk_O z7j+e_M>>b~zUu3uw)O4wS-N35Zd%Rib1FGVefd|?a)^G|G{hSu3y2q3^J{q&-YoyD zun>3=f`d&Uykt3wq7gxhBj~|%9y1~(-bLS(&}d4dgCfyv^EnKFDa(o+9DD62YYskkBJ+(Fc8x-+YW6ZHq6v0 zS522$eOD-Yl|PgV&kf6cly|uRQXE^-QC{&2-AHMFHTZPu;bP3zJVO;Q1n-vZQU0jO z&}~6&7+f^Cs*l#`QO{OdmhF|e3b7VAu{x=|E!^6Xl`o5L=8xdb@l*Jd3+$y=s}@^T zR4nVTP)lr9GD9IuZAu4X^q-l(wZJaZ5#j9Mtm!mjf7>R};+07>YCub0^^Ss?w1#*s z1PP1~T;V+z@eHQCPyA}(A<#Q0QoKX*wycrjH)WO@SgT5BP47ACxxtb_hCvkyrBBk) z(&|>zQ1({XC373m2ipY+1l9;@c`4lABDS=f`-l$&sDrD;$|RW5_Y{0o%rx!v!i)}^ zowN>im~&C|Sn`haPYPo0R1fP2mx>gRnu*Gdz7lgZ_FUZ6c<+Q`2@m5fW0fO$!Oh<1 zos!HT+97fdkVe*5lEIqfa@RuTyuo~*C|x0ZzI8!&*=4nEBaAdlO=FPQulYNHD$rH< z8_5Bg2>Dfo8;Tl=Tk-(82qCvC+zphCCuz-`Uq;|+Q^5| zBuvJH<1}hE0pGiLh#G4c;wm#`uP!CR4jr9z# zKPrmUxM8q*cWXCxcjw9FG-VUB z*K+<8gqNJHTB(m~J2>!rlDV+7d6;oUC zeGB#%fZ~AZ?}_X+(-pnNMf@EcSJaM?gpXT@Sw6c~LuAv5Tn})L1Ws;B<-GQP22j%q z%X7AN4g|*sPU23d9DdmnEq9tq8{X2HRtrOdWR(#mVmQ#0uv()VQ@W!zrCF{+(R+!yVbE%D)*v0_t$$2cUVDcISoJ!xTMj0jATcSH4ekV- z7X0E>a8HWZ3Ije&_z3s~;t4+>NtXSCtW;~&UPd9%nwC7ytAl$& z>cTEXK%cz(;97{Ca<-02~kr4MH3bXT(cb&tkF+dH4xXnjWudV%AJcVDM zJ2vMtXEql*r-Pft=Pp_iv^Ug9Z0bKoIww~!2l9YrA%4inC|pH$DltTu-y=l@`2p#2 ziC<8ju$z6F=DKx|AiJ=07CqH~ksP%d_8*EKiXFBZEy6sW{4?W;lV3C<#BUrX>4@eK zJgc1ZN5sDLauM8B_EFXc#tAx!f+jg`IRrjR1RqN zp6qV(Z6y_j+0!Z1;q za}v@iMME}g0QJ5Yd@zC-F&sbI&}J|JzmSW&KD!eum?^}b zoVz$*vix^Fj4a0JgJR2^OyU4x8Zx&t!U56IHmk{PMm*g9eR23NwiqTss_`p)(BEMIJpHg{70%^c!P#rW`{Djnm z++(Fn>i_9f8q}d*S)%Q3i%!gLPm)hSz@gxsp=;qzQ8qES*zov|3Ehc=U5iPdllznP zlO1+_jO&ZI7Wmcujg^$1ib4xS$b7n0xg3QD&Z1}Zr>{&IPF)5)b|WKjxS%NcmQgHc8ZiZZGd3m zJ^mwZl;|%=(8=WYTk!R$m75D+=DMa;CtiQd?gbJ^+i!hXg2iupNXuzsrMZ)Fd88L1Gswy4V+AqeGN z6lpO`d2jfyg;Jmmh${Rg!bt|KFrsuzZAEiV$6KFyFY^Od2<(r=q*%eF8HvBviNNP+}*Wu6_tH z#)~B1T)BhOnZZs{CO%B0P8^)jos^#5H%pv%B}{Cdrc#)f_y%Ahd`-Go5u*yxn$S_w zYtn`4pfrP3A1L-ptHKKa(<}|j@3pywuUN&2)RC_Po4vt3-Q5>@cJ`qL8%M^+{bm@r znWe?Gbz%$6k)^=X6}kdrL3cpQz)}EN@Q0_)QDFY0DU*{n3syCkiSu4K>)HMp!b%C>{LIhk%<0^j##s!$bLqrd0Wq3>gfj(r2YW5uij>jxL!nG}S-*F9?xN_9 z+JSKoa(n08W>2vSG)0PfhW%AkOJEJLp0l|e0ROS@A&3I463>&$ zkh_7jQ!Uo`tsSA4f*LZ&Fsu+I2R%jw=_P3|t81%xD4v$>mrN4Z5<`R20Z#-Hd_&$E zcNgypKUg>b6o(Sw$x^2B4$6l$Ds{z-63kv$zi@KEHT3v zzX{S5br!MMvRXoXLigot3g1Cp5goF8mYWV(H&y4j)=qVC%Uj@7iqXXvrlKPPy0--O`pTg&dDuoE&H!;5WmwRSoyq@ zfGgla=(B->s9o)yhXjYb|I# z(dblfTD$irw(?MUR;klBp915YPnnS!tLcqjIA8A;vC9{KH?^ULT4sU>m#OM}1WZj< zRRyQzhq5$&hdygMgI+SuF)-Erp`L_1BW(>E5x!!TQVwiPEFrK;R2Jb{o zWd*WOiB0fp0gBVgxJD17S$%MDQKB46T;{%N8J? zsDBmZ-8onsvkP zu{q&5f3)kES*wPNhxQK$`_lW| z`w1e%y?gAz?&44Gj#|%gA3~uyA_M~?fwI#PSH}Zc+*U+kPw^I4vqG4i$Xvys^N67JEwn5?Vt9-TH!Pn>4eu?bu@bp9l(M`$nceL zTGfWS7Gri-T-tVA_j=&H>ecBH<@V1p#>T_!m%*YITiHaeSmGDtsW5`8%39lQq^Hv_ zZaXk**kim)fX9$6_zS6Ud8BfcIz{`d{yW2JW2VU=w7BRD^9)l_y1IuocdKe5D`m|k zD_|$U*}^M41F_<)ID^mRi=Zbo4?nnA0{X| zG%kW1WfQ9#-;f}-3!XHRbUJw@Sucg2ERig+>q}fxBra&lcNGqEO3g3#}> zVtFyby&^Bc8PI2-6oA8j!X0Okw&$pYq_EB9)kn)I3-56;v(+y?eTl?WHZqzX|mjHB!~RN~MnZG+Af8gEknc1u=(QWhnOLANn8X@U_0MXHsSy-*Nxc(m6RNP=sh}+ep>}Z( zUTaQaHgL9L&SL)2((P67mMpc1`H#N~vIkKqudL=JntDsjpW5tmFms-BIpsR;qUelv zFtzbE&o_Fd8=|g{j2CfvPoQnU9>E8mkw{Bg#!2T|^P_}#U?)TfyNR%nA zctTWVsw53mFjcv&Nz~h8+-Od)X>s&+JLc)*+Z(_O9t`!3*d1jV^Dh=1e=VUk5t3w; ztdVj%MJy#Ei5veaDl3@mQDJjm|AN9du?rh))cSS6aB`#^!09!aCnDL!Gj*DFATrOT4-9l5ZGH!F2{7S$lPzjg{ zz74(zVgihWT6`=gigjr_jJiVf+c-*yT~xu%OgE1Ajj#tSdk=PgX>D)nZuqZOx4P~} z&G+X;4-0gy{%@dkcLPChjFjbEH>+wcj7rSJ(E4-(&KsK*CtQRgyYDIUTY#o zo^gop0X;1>g^be5F}!V&Z{O&8*YmH>KEEq|623-WD{f~Uf!0$d;d<3-!3yD$t59oz zC)b*ZqB~M=QMi;BG$_N6-NhRP*h449v!o9yXsT3bfOR)fF2;Y+@n$5mduA%84aQFl zigbN6->Gyd2&8vPv_qc(+xQ|zLl-wb2p%S6>2=xp7 z$Lg}ffNQm9VHGP>#OU+wXHWV{TZsO{8?PVEv0;`FG?+}E66QSD%31$ zD>f=Q{bQ!8v`$83Alf0?lZ0!xw~GL72r#lrlZZNk7MlOG{B9{`v4BoBtk6+an~`@% z+yyUl-_R?zP7pu~#j{VR8z=oHHK&|rZqEH%=q4Q5x=(|Ord|@vQRa&hSS#Eh#cbUs z$H~k+%yZtW$4kz0-tCMN!=}y*W{B3_tFj`8LmUxH2fpGbab#JIi~|e+^D^rj=On)f z;0v*b@0HAz9Z_6VY1fF?xuDMyr5=AbZZzH&`F?>Yp3YIt`3|-{r5^eqh_vJqw>*@jS{nOdkfq1DswJ;b^glu`Ziax;BoP(GKZf^joY26WB<)J z69c%v#a3lIRDEOa0Pb$M=N@$Z@*S-?0T*eA9rJ*~W;Q(`h@E$htLk>aE1FB1^$&-79E+;l0n zOE*Ut`e;2>(v$IkgFugXt4w!#Hbs-%NV-Axp{~-sSSGyN01K$Rgrp2W5uOaoKvND z=j|@vy^xAec1t`F%?!@;cw&8AcfV}4@GV(vDR=t%nA5P_kZ{msC}C)2=<3KDjLq~s zPGZG-b1(HiYfO*|m69xxUspMzRi}4dl&imKFsPrVQ>WgAd?sx#=FT^vAKCC;?4E&P z)COI8o_46UQT`!YAGbMlZuF!L?jP%)`VW`6JhZV+$q}_J^#F#zMbKSh3S#2Wli-6u zfxwBU$o{xJOj+6jtS79fE*{1w&cSBiU{z;x=M?50mc|JGHkL`+bWawDhZ0@}Qb3d^gR?$;^uk`;l!d3jxqgnJY(d?z*rBf1Jb(oH@DuaX1#K* zEb051B5=W4u3}DZ_IMU9t1CM{=Ucw}w~q45b!M$c2cKZa)*2WKAQ@=|mA^XkMq%b# zqJHph8c`>8j>>chFHb{?3vf$9&xUPXq}3*}gZtYTV`=+^iH$@{o_H(WZl)+l?LsEa`Y07gNvASpjOXC3aA=Cd%`_LvPO@;;f z+uEb*$COv)4@#57-$O5pUZorkij~ZW-qzX1Z+~LCb87i3!0%#9h%0h&$_F(+=#Q9y ztRM~*uB)D({n~=gg;qt}k6w#ih`*jVvI~-Ik&=@7X?OpgiM`j;PNs$K%} zkmRx(y`{1P_JTnp1Yn7yqXVb=dU_{&CHfxpt@if~#bWelKFr&%ju9VjpW)?#L5ThG zPgRw4-WohG`C>X^8jX%OV(VFHE+F-!qQK(pQKHf^6x%*}zwc@XrltI^WaHMKq`zS; z@7rg3x`zxVFtYL3|WRbNH`?z3`g z!5sGn`(rwPDtD@L8b0fS*I2r=YO;l-$}=ap@_^f5KJ+2X5Ke(XVfUc_f&GD1f`0Bx z7M(6dS=hX~Ia>_?GjTF5+!4)+Neu2&a}91bKCBjU4xB>aWIS z#RG^sU>P%SOL6J?jK^5s!0(<*UDKVUuI}DlL&wJ}W=EGF5nnLt09)cn1$B)L)NXSh z`)D@@?{t5UAaL+vAkXiiSDP!%ZkKtCft{usGFR%eSSSF?NoL@vXUJNlEh3(@LK&l< zWqsh80CmL9BfxSWm6+;8ogjlz<7CrbGi~$3X6@)$V{g&!_E+VimIWsBG+)(ia1 z=dh)j8}xLV4($nThAzjH<^17;K@(!;k`y_(N{H5HR5!Z8D$e1N>kiLjzH)&MJ7+@` zBM6ac(OEG+V}Hdp#4jd7EA);>zJd8ZUv;w=$0{91ZMMXbb!csSmBSscElK{4LdZ^dF`RI@C46$6Z`q zC(~GHfV0@DgoZR$CPX$@MnifHp({QD1%fL1YpizK4PwOF^(9mMRqUgw+Y_J1spB^% zrDx8~-CsZx{5LZw1B?gU>%uQ0#Ymc%B1{%`QS1y<7jhqT6)?{);Y>5GQr~V_uby3a zj;$F-4wv;F>acII{`07IPxU}~Q>oyaXOVmU)Ysrlx%BCewjU!tNoCk&|IRNe5&zlM zSkv`&Y{$GUQIUHFwkU6)DP|aL-erSw@N(34Alisq3>ZDqIiyk`^FS<^Z%2Q$@oBLd z3!V5fa%u2gzhuAkK^8Ty_i{7#e(7%!gbT_G z%=1(Aa&Sf28JlJ35UNUe@b102|*nu|-RxfhICW5vX~c1&z}xda+*r|9wrAYL+t;!y!GhzITuh8d^L12oDlgcni^ve=N=!E z@FEeJB%N|@w^myH{`P|zhyFXbl14}}kDT)U&-#Iu1%kp7TZ_Wljo#|N+_TwL*6Gv% zZkKI$>MZS@8J?fiz$Xy~h%Jm5VG{hl+;O${dZ$gUTb#9y6LkYfSely_8rW%#DbmCv z1$opYLJ78DrIZ?S)-CQftc)ImR&({&l8Rw-FTS<&(f{##lM3M|$ zPDcTuuqwAAV<7cQ{0npukj>?8yOImm&n@@hyRdJjc1?ti-x*(-2%mm5dwhOv8NZGs zn{Icqi}|$x0QdvsiO8ol3f%>L54jEI0q2F<{0jDm?Gf^!jpNJOxZcUqk?Fpm&ZU-& zKPPMVS3ND`7O&*r%)w@DeR-U5JAL4D(dRwsPG9zCtK{GP{;vx2=So)~rez_Pe22d# z9*umfebu*f(8H^-aIOQz4lFX){>59y|q8Q32APHDA;)$#s^0R7&rh%?1D#q}i zQHrslv5rx^0amY7TVF$2<)1>Z%$!7_*iR5rxWKhz>o9+91GeS1A&gn(GY*HZ1nLmm zLhP55R36u;)_ZLnYSC$nbvoj{+pEvFE8tjgTgY5kd&HwC$C#Da{P-t{6-kDvQ+u-Z z*&p;i9DJntFz0~F9%>vYc+@$2^HJ1}Ft z60NljN;Upf(G?*TzEw`5Cf1dIO+Ch=lo^nyzs`htL)azODH$i1s<@1lRze_^6q02* zl61H`WL$t{y`v^N>z9NptZVDXbaD0oh+_8TzZ}1glD0 zydBvVVjXLyV_2kRqa-c$2t37hAaAT3oTvupdLh8D);XCfBd*WXYz zxiw%P$r8mC4Kk|P%*YPs^3jv!`zzpUU}XT;x6Bjh>SUL0b`@o=0aWyqG={DT3fUL8 zcT;zhkCM)k4w0=z8uU(PEH_5@2Ydy7SSnfGKsigjRNGXaVL&rdF-bG&GmbLip_X*b zw79BQk;Ag4lHXx_L_L!O+%eW|#sIyZ7EY_60k(sgw>b|5w%|y3g_OO*yh@{1BdQgh zWu@nUcKzaU&qv^I6buS|8vZ9TJ=!w%Wn5ppv}g_vPQI6_u(xgBj)TC%XAa{JzDVoe z6%!umdBp;#9tG>6moJegCS zz4M-ytdWuh%9d|m;&9Ubo($TH<&JJt0&etRUIjR{Nq#k z`>NR5`;8rK<9&BA#dGqjhbc}RHBc=aD|JflqJp|&oDsLmZC{y)IYkK_W zrH_OUkdFLNZE}!sN`9(hp5|=rtb`2$A-enu(bj`)zWzDhDcEsP9gLfKD%e*J@iY(*QlRs-NsCEEJH#2GO6Ac5cS37pz&W z&u#oiRHMc)Ot=pKfnq_D$@0M}I8BmXw9zCw!Mx2v)AFQ6iy0c-ZdjwIuVt$$sW>KG zB%TEs6z=D~V?L$FQQ72EBK7Sug-IhbMmV2@8c=c8h zAc(i~NZ5@C_o$!I#29w$YTUSJqOsY9Pokwn>}g6H-M@Jt_CR!+P4dksTfa^_8@(23 zJeRZXI_ozo)sN{;6n%EN4ocf-+q;ejJzhh+amBfaWy~g#-pvn%naGjVlu%UD73;_L zeGYW{6kB`CLnbY{7AgWs9N-R0ve*ru&^ z3|43P{#MDhGam~M6W=Yxk+GGtm2;N8Ev+wUCjJH*4!pp#WVTW6YR_w1D`7xC}ufM)YZRb9KXi2?Cg0xN=)>^!FNOwQsQxo79 zEU{BM_&|V_PnP?vgT7_2p}kfEvPjB8?6REGIY84l!?XH-s6G zo8ot*?p45`e3`du%7> z=j|N&9{L(RfN_a+j_V?90FS^!q(O=^sw3KX1Dffkb-v@8Te?@RUu4jY5TEdZ$lPe3 z*sQqGcyMCuE>hB3ip!q*G~)yMhjb2KJ9KCNtyE47KH!U^lEFhcFG0no>Rj~b!#=g{ z!A`5rn2y+Xwf5|eJv}-@S`&qH`&W(;i42bLpg2L^M57s{Yxd9D!~TrJ4f`@1Q;SWb zUhNU&J_&1qfD*Q{XC`tuu>wR(@5+3JYucRzD$6aJ+93+Qeh%9+IBPp%=UhdC5r z2;5HUKiLEFL-GPSQ`vV?`y|T6u7g_m_gPC+{jCp#dkczlDbp7xo?`mO_G2O^_D%=P zH7yhnmN%2Af0-g>BftZaEv5!mPPX4j1hSHZLqb8~f>wtGtn^f!^S{P*Mr!=Y->d!=e3C zJ(b<<-A=tu1H&UzlVH5WY6F?XJ_}|@nksE+1sTOyvK&_2OMEZ^YQd+2If09QkzVIq zAK0~jj!+T_s8ZruGv<5j~gcd82W7*{B0 z0+xX%A-kc6p-Ljh<{PjJCulg8apZHqUe~pMrGLh2^eP)m zu!Xg``?I^g$LndZ^V{2(SBfp&bie*9wSKwF;?qDK z?xk%ZxpQk|Lt*3ghV)h*Nsea0#Bw3PmtskhzVb>cnVQ9V;zqC0YUcl0uq^gl5X|17 zuNnQ-zo`9J?I-evtRKQd>_1>MzldGP*i9d&%2Tze@-!O#7t@dXN_Z1O6t9)}i5yY~ z=-C@bSy*1}lUXgm*-qiY|*Oh0MuPH9~ikdiVr!6L(C(cYvO-9Y+&3#&sBCKp|lX=@EoC?7N5CKVm&O>`d$v5s0 z9_SqKjWC4&o^z1dLdzu~HpEvN@X<3o%*YVFSEuvFznMmZ-{C(Gm*;+WD?FHMoPFkt zP5O;bPd+~WnEi>8{xi!g|9J^c)T!0l_iVa(wT+iZ+FXobnp#=~h zZCMbfNxP}9wjRW~|=-(|Ik;%FV4T%FNMbbtYE~Kk2z?-B*3C zcuD4j#49Kp(95%6?_fyM^QlPcacT*zbGwFho<|30i2X)n$^BBMYX+k-(LGi_98BC$ zULXCQ1PMZD;rpZFW9DLY;(Zg2Bo^*cOs-FPv^!}pWS`gm-}^WA>Fxb5>A$FDzZLtZ z`X;gte7#NWx#iKf{W(1o-5uRGx&htV-MF5KfsrvW?AJx}jWTL7=Mbn@B3WTry+!{E zy4kYS#>KY4I>h3dULLhA5ix7R_HZPHNlom%!U29$XjgOkm zn*Kf6KLMM(IK`jYgFCcHBH%aGsk@lYycEDwa20e*EDY@6Qh9e{UM?em19kl+8{0r$hF!5tqNc#emmX=e!s;7zmXBlqWZRckU-9+*iGp9+3z_LIe8y2}k>*D}rss$Ht|MOp#o4%oqQ-HxEVAd)xFZOU)85l>PGbP4t! zJ`NNLpOH#aXi(|WJgRruu-(Mktk_)J;)OZIG{uBwu%Mfy`Ap@DLWMM5+zHwS$l_60 zE8Aaarqpi~Gin{pf$@m_l5Y*#1*1x?%3G+GYx^6vnK5mCJFUB4^*-T06*L-hDExh7 za&&9VWNdZZiFnHdqr}s@z{xEs$9DhRpNc8B%q4K9og&zLOUTgOq(viAcE#AW1y;kSn!1ZOTP2dN zFb@bKAuPDPBwy;FbdJ<2;+psaF@5kpp+C2m0j8>LMXqixD&d!~ho_q+RVF`7x=!P< z0eG*apQ|so@~PjM9z0cmJQxi6rCW;fX1?maQces8rl z4}QZ+uKO`Z!HF_?s?YTnOpaNyZ7$eN+S*yyn^ha0(RNgJm#%_fI3P+5;VkacWbA0> zU_ifZ-|oJp{^g+q7(dar9kkA*YVj^ZYo+s*&2>VI8J4n+NuuvZ%^wno3Vi8*(MQ4K zg)`7L%QR0vMO{n58ZivEYhQm>HQw~RK;HvP9wk={{XGHkesfK6x*qC>7&*-qpO zxM@f=xn-tfF=Fx3BEj6r)Z6$yDn=(?Jx}R^oR_2(Y#)ftSL95I-lj?_hJvBAQOoHs zm_ghQ;T&Y2gq5thQjA899@r$-@}ND)Rp_z9_g_G9uwJM zu#OELecHqRNBWapr&JU2%cF)~7uv}F_py6;=-lKU{LR&L@?KFZ?n$VY#C|CcnE@G3 znL()^2%z{l)CMFgIM2RHPb4L;w=9>>ThB$$I87-}s!xVZJ)8M3=d*Bg#d^bnjM{Dx zp?aMFBsdRp3tA671}zokc-n%F0nma2Ty<6iok!BxXkJ#vr%v~bofx$3fwYf_l;X9& zq$|ftb-#%hzRG)-vypuvD>@VZ<#J|Fc2w@&LR`s%%V41S^3bza^vbP zD6*-Ab(~$YeVARC^&7K2hJ3AWO7EoBz{~7ulEq5s>_<%WU`0<)XI00gPL-Z>1Kwi} zGvbSPHZIaf_=jL5SxYsDezK{Kt+|Vzr@Y^ez>h%&K?(sGJ}Wz*&XP8k=r&z*)ppqd z_zfV4`*_=qqDHjeytpy45xRvVrO|Sj7kEv;-7rfjn8Gg=F)fT9%;*MM$-KehprxGU zFY{fdD#j|PJK9&&43U*GJ`w<^C?kzq%}l4KQDrDuWF^W|DxbcGmBD)nlz~wsp$b;2 z2em&Ll$*Y=mU5JIyX5KNdp5v4_;JYVu#kvfkpod>(WhgaVy)xu##@Qbj7bVR)pO6M zJvVmyCVRzkLiTyGttzzZqyl+wHVbj);~_)m`j7OD_L6(Z-M_nidRYVa#&l*-3p>{; z$uC$8K$m!@e6czN6=FJTU?a`dF(-kei&tp-Jf7itKxqh;(|_T+yfxqU4i8_j+Vkeb*^kFu(7Ifb(Mklfv0 zr?TuauV)yh<32lQ+{|jsTl_v+efsaao{b6GGM|Y3<*jbC=$6U0ZL=S>pSERK z#-kne=hO=2aIkKE5$(^~VZ71g`Qg`nx4PxKl)A2V$My9MO^^G|6|EGK5bPSz4M|<4 zL~Vjmxn-rpk{im~*#A|aN>F`3nePtIau*Z39QEh8`cvb&4AY`YG09_TRZ80sA8?H}Hp+=rhh{733#HUhjPAc`59cMVl6 z8f=9Q1CECsY;Dh4Xc!B%m6hrw9t&)#?klY64@2Rdr<>ena;8WiC(?SOsUhufz}*VlxLI=Hpz z0~3G8>_^2%ea0$9E(P_ufd!@2j;(vNDb@+TGH@0=14Y4lVN0;ruywHw=qX4D=(KQ7 zq^KCCCT}GXg!nttieugVnVm0Nel#f7^i^O=Y>NU&B4Zx4^H)XbRF$9?K;|HIFL9xHf1+2xu#7?V%GzWB(BSU5^W72w6C?ilkN^l zp9B6=0nq_eUyf(J>j8Uh3vI)nB92m7>J4;GpvgW<=aJiq?OO|5K$0|tNV~;M=V}6o z5T3Y|%t6Its&ZP6dMySYjq}hr(*Uyx)90c_iF^ZRy+AFJY83L5>ap%r$NII61k$_qyOWABf+1ChSc_ zP}KM6=@?AZSl|UxYI*tUnfQT zNGnOSw%#!n6RAzWDSFr{4(mIT-DTap^SANOm5O)eK^2nKt+gtDKeP|^-y464!>+nh zqq*haRf%7+%Zf*oBUSp9wUzEF=*#LzUWeI%0(m3bs-zpMNedfT-^nXumBXe(T0^gf zgT`1B3D~gtp_Sj8_0$8bME-u@BgmB45xBSb8F5wd6nHSK6Z#E23~=NxvZiP{!~ufJ zeBgBUs9V2sr+&-X2Gg38m9AyyzHJxO=VG!`GZQmI*BoF8}rS;!2f?d2-_v)W*VsX>XHgm5>DV~UJ~OvrEe>21Gc`twzkgPgp%pB&#V#tZSW=WYce~L zwQ9NAO#LrLH_^|{ew%NbJDOiL9W;(N@X)Q)m{wkq2TMnZ&xyP(!@R@nCk!8Y2^CL~ zr25kyZCA1id4a$yVrr5yB0TxG)((Se({1Y&#{=%s-o^fhgTI9OM;wfT$LxqTiCc@y zi@%c(n)PM)QC!-|BiXqZ{B^e6Wbxt z@ue-Y^-k-Kjvu|SQLP!R#dXn(@HICM+vM2TnUSdBvf;aPm zV}Hl$BB~{SSbtm2PtN(11U)Hk~3m~QKKckvn_3BI|6E1K6 z1vN@1sg~*$q2bmi>|Z(_bF{QqunsmA>PM-cm8%td%-ut7SvJ7(N3;4Zx=TAa?eiVR z-SvGL!+$3PbNYmJk|a9_bRKb0(LwWr!Cmt;yRWWkUc-Jb0%L=80uB9|J$+m;cF)Y8 z8fa@4D?X6qK+FWzEOS~Ysch4CL$KbnQMh%F>_z{}8s{Gpq2?(vyO2`q!8&x*sxi-0 z#zM|g!V+qsWEN>MAX0S#Gyy7;@_(fI;4+ZMBJKHSW+wd>)r~St_N5e38FVzug0}{6 z6=NfWa_%a{T4;l8Q>^t*M}Y_jzUwy_n7dOdOgW-4QW!;!t`xazgW_(-J11UEa!d`| zdvE`RL!XWqAGJN)oo1gHv$M^)(|{%`%17O(!5$ky_vv>pbuM&xwTHKc{JYh9qVr3? zIA#LduteWn-Yyp^N>nTAXipitSig4M?fSqi+||P=-!|1;+n`6SU3vuAMmJjx#ySt9 zI`{mIs5Puw{gGXE@JC3cMNQTpr8c|1i81)xKSB*9nkxZ0k4TiuM*674t3p(tDO)1d zc03!e&5uHh}wJ zS+RK-4}MAfxG3up4u2)K7jhK%gYUvtpnDP53Gwr@)3sx(1J2#YTN4|ZH76>B--LOS zSE z7oGK8P)-(hFD%X)@wFn6MG}$1YFgmx=UJn%#J;o+kAG`Tmz(5TI@=!gKu3nBk1w4g z=Ce9LIg)ZplG?A0(kt+{WU@))tgPr$1(=3*eBS;x}a+k(p|Dw7c~88QG$h%(!Mavq95E6Bna( zeQBL;^&QHu<(H*m#J3=S0OPzg_H)Krx`rsvX_!hEB_=GeKJz4j>SA9IX>y^;k(> zkD9nyez*JROmhF>MezL_urv5WNP1XwM0ccObaYHS#e6rA=Yef9bLSKLJ5`oswBR(EGUU>uPn2&WRcDmO6g+i1}wi@M4Bq$baX0|F;ce$eZeGFImvvMJ$$xjj_A-D*34+)G+!iK=>Yfbju_1P zt%)%t_IQZr=npccs{iP^8U3Q+IWjW|5)H6^a zht4>qm4oFRCDnoastqy);>0_~RouGHyiQl4y`Zj8z3Ht?{Pu}m7w{LvF~N(XmC{(H zQVnChOGf?{Uu``PSRTCZcF^;)cNV~XI3ExlC>PWn^fP!W`IsjdEn^?5Ny@AW7VrDegO)_czIC}aMOL~NIpu}? zdXzi-%PYUSxT>n9>1t=%kl4)d>Q}ntZYfMza37;4c~9Cx=DBo-q>1<>x>FE=dI`C* zJHtY59$4L&bDg|2@^s)sFSEP8Tco$J|H$zCxD?O==Sa?{*KLD&Hb8E93Hh4uKmG;& zB7O;ee!j~{Z8$$fhIf<$X6{p-u8ht)jB^JhyRWpZG}_ffmL2$u`6czWH@hN3IPG@| zP^6b~CPgCEFU=#v_=DT$x$mL*ymE3gr9WccnO+256}c|&t`&pJH2-d6YHwrDu=#G0 zVI+(-S9O)XEF=iI$W~Z?KYMb7zxPf1cxz>|Ml(QDYXf)X4NOcZE%9v{aPZJR!F7pi zipiR102s5m?Kh`s*C@|sFRrJNdy@;po@~*F8`FwV>=I8AfI=;HqL`mIj7df-f0jNh zQI_wn8BzvmmRs1pyHIKV7PPZeutJY&8sJZEG?>S&;Ct|2a2E~Sv6fmfsyz7ssdNlf zFc*;wuHUuZwq=57IU8n_O0pHDed8QWmDRve-WP-i3v^?Gq~{e+Ys_NBjh4)Dw*8JJ zE)%XX9_PH&d=hSF_WWPK|!)8E+p3e2QmU4Vt$a+#CFwjM`*+#)p3ZO63)x0df_jCh%E;tMox< z06%Q5XHX8EICy>J^+e?C#M0>c679~G!>$-e3>pU)N1C9LFlM=Qi;cV}xvCnW-*2jEBj6C=$nS8}ro_zEFh2y-A7aj+DEnsHk7=@G<<;D!zl*v{uoVqb>_#Hv zG-r0d0znY!7k?@DQ)OM#4x44b#km?iFv`U@8usf^wC&WPO7~^RVhO@1z6t0G&x>or zUZNkNe%r{W{0oq5eW=G754KM1u7k&sQo_&0_2g(O)!KfB7fhK}tw7o~^pGpSe^~NP z^!@4Q>7U|X;lJ!36kr)x9YhXk2$zoj8-qQ{N(elWaNH`M7jeX=-7XCKR#Fslc~fzg zJjm6vES7G%J2yv0l#57uQpAp^xtcWU|bdx#ywbO=8d_>9zns_;H;57UJx?^kl>1E-6}7e|zbvxZI# zA0Bm{Se`atz^&#|4lu55&+K}Dx*Qo@e5086@7J;UI-nT(C2{er!kovT&0NvwXJ`Y+iOktXQVtwZbAX9@=I zcDOfN)*Y;lsd`wQU6<6X*1@r*e0^kujodd8(#6j%m^8aN$siC*Jq7-=6OY zZ&mjg=RjK}Q!dtCHA=cvI1TQwx6G>E+$5y}1ksQsx8-ZAE$a{}i1mTn0t!Xy3iE)k zCRK%@`3S3PScR7}K45HZB!yek>(E|NyQyuZK6uv+=_&2q`BOR$=K?UP1iGKnJPwt%&iB@@G)x7X8U9tvTe1M z)x6lK+&J5Gzb(G!*ht1q?TQ2y%=r$P5VVyFQAyTyHp(}@VD-!@#^RodrXg0_S?QQK z6h-60Hp=IWh97pUHuP0w7M;qs__O=FDerBeL;0z?cZ9&+8)Mt^W#p6W^!--k6X7he zZOQM_1JXrOi4t!`IRLfB7(oX~?X)q2He^@h=6$C~quxVh{ipjf`wRzWhyEEWm@1f$ zU;TF@lPSaf&GUrF!L5Z?NghpT{#x zV6VjPC_lyiG%2(WbvS*1;V5bkvf4Dl=>AfY6(=I)cFt|s&#R7FKQ_mj6asLAVpSG<-^EYcUdmuJ=(lpeb4wl}X2RxZ#h+9uHx7UXx(A7d1cf0Y z#Sb5g{e3jy_{<61iO8e>MFsi69G~kSmG*>UsLr#)gX3K{+qH-aZMLnynm#pTG+b>K zZok}@Ikq-;jC6)!w^xV!F8W+yMr$3%GLN@m+K$_Nu>5TzWl*3IBX?coDUp+}Y#)aV5F%q%#ls{|N=8bY z6YEAl5z68dg!k-&xpRzK3VG%8JZp+OHaE6PbNa&Qm;SxZ6NIS-|LT@fi@y!O z-h88e!hBdyw@+<&ADE>7=JzX|SG%t+zojLQXJvj*C}uTX9LimZ=QQxSNl&XkHPo~? zX@@?5a60aI&GxbRfMJ>@TK*2&5O!s&nv^nKG4QoLrRiamGs74-X|6#R_&%dwOC>8N zX?W|sHnOwuw^5>2u0A(r?|*)IY($&i_HcRNz$bsj!ogg@?uB%#S@i zjy)lra3E$s*w>X~8lj>H6wntgpBroI4e1Md6s}Ed-uxzCoG~9evVW&~mW$NBLH< zR*_y2yyQ$ENZb!sG=tTB{GWj+0-tK)Uj?Z6cQe+MN105z}BlLtn3ONj2+kdc= z#`dC-*TwyoCU_zjnUYF58crAxRzh_!&Qt@`NA`Qz(2=x);>yS zole6iFC=ZeJ)30oo}ThC7EMG+?SEt6+-zC>a zGv7DgxyZNbOHQC+x32B!!ZZXNL``Lim0oI;=!zI#G^#Kmnx>oTnmoog>LYZXt7Rx$ zmGZ$j3!H@a?oO?_r2r+nWDAu5Ctmy)wk_17`Ly)Zju zW8)a__{jxn29JhFg_lP@IjkRxk6(yCAGaSp5lnEG zu>P&xFTM?`+4wcnIT+IY22i-m+FOXg3z$G8?6hC+Jv+jke!uLnVa5K%OGFl;*)l9u z5$tt*qAAmC$~4cYUEf1XQb|dolJD(aEUkE{Zv0Je03oJMv7)S4yYT4W3xyFS{FUbQ zmk5V@>PGI&K3IE3H`rl8Zt*=8=3>Uh4v0sJC1Ab?I}2Py+C#tcK5`B+TQ(Bbt}klO zKAp@N`!G^4j2Outb(zSY{yDF+Vo3f#Q`)lFy$1RY?Su;5^Mb9|n|{n%I|-w1Sn?3D_KkI#lK6si)6brr?Er+9!lOZ zzMB501B?S71wIIj4h#wW6Zj$s9>N!P6-Xk?A90VXjgN~riLnib`jp!{>hsC`f_2i? z=LCiyb@#P@BH9o`+PYekTZCJsiC?=%hH|IwEd^4}vqX7D$WLfR*>E)?Hrq(ie8B=_ zv0%b8yrQG4!jse&ILffWLUST(T~t72kbocx$?U zWs+LSp@9YY%7kl0r6l?##3hu)4xlRqOHi(`fA-PbgG{H5@YTtA-c;{c)NtECVE=*s zoB=l=+iEy1v5>U-Y~vd(y!fvA-TeDQsS_E$KC-{* z=T}ygx0VleFU_-r;FY336??QXcwO@uD@_{(Yqt5Ck)@u#x}cmACLe*=Jwh$dN_f-hv)gBqyg^`f!RzvG87#msFI4T|5aG&t(^qh7N zICSPfxQ&Uan*K3$KRH{`dwfU1IslJPe)Glp;k9S0yw$IylN4=QIctmC1fn8>glfeo zGGCO+)WvnO^^6V6a4PsqxN-v~)=`_FR;PGIMqGSSc$`lHo&vhMJH5Ti`osX!k+d%A zBbpBb&lcvE^FXjBzF84#$$I%{HM-6LoD7iK?yreM%o=h(npI~1jKZrjK zAVkau$%hVvuSYq=Jc~b;V0psq#Q9@FM;-<(9$YeMSC$k!yM19Ld_1R*(#dI;XkTs< zBgD37wHzlL>J%9GJAP~4hGao+=59lO3O$e#QYq1?!QC;<2lndXro#B^SPk__S)#~2 zXeT>{lrvp9&_UE_(5OU~bp4Gl=q=DJI#G6{=56!c&Y{5@Qx}#$Zsu((gD(NT=F6f> z;>8jo5~gAo&?q4lz7d!%NMz>`t6+0#Eo$-9jK)OL$iSf7!1w-4;1#SpW;sQfJFucd z31>ucN_YZLC&U?4KA$E(gU^yr3iSy=gq?%j+@Ia~y|qCvpzN+}%`H#J4|n&1JCg{3 zO+s~vm4zi)1^@jbetYwIv!AY_2-=&IYd3>q(RZ@y=emFo}*ka(J zo9HchGp)CVBc?r;$F2WZ)tEOL@vzNm=VU|C9dNOo3si&Uv`M8wm98OzYxC2_g2vHi zYFlY{+Yn*u(sKT0AV(eABd8{+tTe541b5S7(4OIP%6-@Ky;r#BRW~V@Kzk<(5uBh_ zfkM3aWdSMZ6<`8z*c4trxVo@Bu*|=DjfB|vm)^PceUAzKkKZ0MEG3}$MeUmQIla?{ zp?Iv(Dn1EkYA~&vuQ{fYCa*4)gTV>*A(Fsvb`jf#Ogv3^vz%fHbVs;sa)5K@AMV^f z8-82RUo2equ1bdXS;I=x0BdarobwGp;ZE>$@h19g0KNz_|5ShB0Aj#yU~8~!*lToes@tI*cdwA}lV<(5I;Gn$6ZhKY2$x$|T22w}bd>aI zjX~x}t88j4#})EaU|gJ~a7nXHU&46Nbl)`B_<~`xPQI#$?1acA*z4_eGH-5mh*@ab&SX>3N1xMm|H0gW&Cg7hrt| z8Zr)Li%LR1MOeWLp(Ef&`{}zF4vC4U(n)ShS7zGA?hJnJk?hE8^=zE2iK!SXjx2!u zp8dY@1@#e>Ii12untd(z3i4|F_42#J8KF51`F=GQJO7zHNv_^m;7gV)R8huO7#*;9 zVSU49-^$MX0bX18xe8CJMMw^6wjE6YFJz6S^;vX0Ykkwu4&h&R)B*00UC!3*g|Igo1|W$dV1sLU^wA@mJ)1_<0AEY zv~Q|?P`D_C#~=k{;P>|ZxOuErTFpi(IdmPlUb~)7$)@HqUvkv;z2Fpqc~OL{v5KAc zrh&L=hSdZ67N?Ly=I*yWUA^;tntfmSN%|l2|LDK%|21GFFeSJzG&({)di;oa+|&4p zIGH1Xp?FUz8#$e7@pO>?hUd(=L2{R1hhICQU7Yxm@T4_}P}}~dmo(BlQ?>GEle$$2 z;_*EcqsxzKr0QQZ?lZe8+}c24y0u&vGnl&X_b0Xxs?sUA|Mo1(;y5dt#BInrJzpt3ZZS1AKq?%9beo z8QF5>%)I~f!nn$)-mv}9>mjX?{xR37h&k?(_Id;L6#LJPBIpH>-%dn&q7I`LkTB#T z{4uN%at?HHuaonJHASsncU(@Jg-_HBb@s}2{!3ss2G-_Rh?cx9aQp4^qbMi#lgWqu z^tP1QcNK4mZ*INCz1K}o{`BG(qP(DWYB+UeXsZ#iCZ?m5q3wkwznWtf_Egl zlsdFe;}b309jXtq-EF<@d(C-dxze5Z?U3fmhMzP?6oe!a1^x5;PK$IA)2App=ZL*hfhU(jrwu8E~YNd@96Z==kbS+oC)>zbhio9 zSr>l?B2j{-yZXO>lc91_;Fje!zjoBouX!`Z~t~=Lbo6#@C%#Sc1?!$!Mi-T7w3* zCO+nk<|U?S_%-ab`UUwc(KpE99XTp_@yYm3Z%iAzUcO4P3|3NI>`c@WmSKHIIS}gH0m}i zG(;HuGc-A(H{m}6UsPCo0l2T$I6C`ppi>AipA^3fe?H$`pf`#IYlHZKF7GLEz1T>4 z2*r7IW#~)QcIAscCd`s8K_>yUx zZS{ruqrHGt8BRzTGFoh>-ve<3Wu&K7G<36YnapY6;B07r-C`8?N_#`eO=?k?g~;8&H44wHRZL6wG@Dz{2$$T>(Z_X zBn(w4tSsRtC#T}2S)q$JNXAX!QASF5O+yVmbL~X6aK#1b0I?pSOQOI<4((t-ku_B_(wv1T5SJhHK-rCV+Iy605u$W1{!G!E~K+d4P z2zrQ|M(dz|3!4cF^PPe}03Y8&bB;1kZn~2KmPTgON`^`3A8GlYk0>8+a0ck2-+mLhB|oRtWP~rVflo4a|18 zwzFEDn(o&x-0FX6__&)Cg5jUEzlKkd$TZFiA$#8|V8 zVS0&beX^ROJ$zyi!ySKC233smmvm+A@>&(in$ktJXGL=N_xTaQg5O2UrGpiZsu8tf z0arwgVI*$Z@VEgB`&s*i`iv4$_LhV)dYXR(t^{u1rEcf36d3-rNUA^eAkCR^kZsQ0 z;hlg5^1ntiB#$Tzs@drNgEKdKXl?G`==|%@J9kB|XdfTHDSvq2U|@XEV$k#8yCMCd zcfw;M{h}q0_{4`@|J!cdewC;}^lX3A zwcXDc>zsp={-JMh??J@`)5Ur6Fb#FRZ2Y)Mrm2w0Q=B*UgnFag2~0aYh4YXCoevnv z>k4hjs;#RSD6J}qF0Cr>0Mc>7#MoZQX!lJ0O8;ihmdE}OTv324?1#}7O~dqwNC=hk zvEWv1nPkczw5N^k_ z+;(PM-0UYGTgR>IlHE5>(A-(IoIIWgtb?yo|&rq46K3jwo%YeD(J(IM)gs$nO>nGt`Y&K(wuIUXw;mmDi_ zkz(Vb>Ei#G1q}-KR9Mgm_mG zD3N?A9c6^}7Xw%0Yo^ks@kX`!m$lNA)Ff>M&hB4gFjhjQx(Cj8#5E7s?o=N zY*k_FJ6rB_b_|3}Fy`Nr4Cya85ugJI7QcfqKROB>B7zgb@qa-4hFsx6x$Z1?s?s`d zNq>$CG!t|WD-GQm1PxUUXN_H&+Mg3%xl1;nuWp6ysX=z(WhhVnZvMmkx_t4-gYYfL zZBXOhZ?5i^6=Qlsmc&{7G~+++Kh)jZ)QKTJX<;@P)@oD^mN@)<@_YV!_7`5ZPL^ec zM|xs9JLANM-=8wSdgaO%+%MazPw(W6nXe|Wd!Z0?rz}GK9u|ZTFga^_&g3?}P|sB} zNpVx+li)a{b^GVW>f-)H{9s%+ru{tOb?Xg+Cg3MG88n#CTY!-7vm*Aj`Cf`1kxN%Q zh&^cpww$voby7Yw<=W-Cb?~-Ry4^#I6Zoe(`YL(S@#rkn3$XVNk5x&_+NdF`k-NyB zHm=arSm!w=yfA1d>a?(k_`fn$ijUPQv~;og`UZv{4FwHv>9cj;XkAkqQtX#W5o;C4?Azq3x^n@5wGA zE-}*=kB>$HDKAdDXoo08J?tEp})3V4n0F^R)x_rC|pwBuF zDh!$qT^-3Ce?Gl6Kf7W}8Kt{#>+Gq4rD1{yF{C@P2SJ1%g;hXmK~cP?J678_m`>DJ z>#@tLv!^Dkhi~@DcahqDHskBhSDh_&{44p}t#d-=$K5@ZZqT;ywchp$PNKzErz`{eo{YEjNE{e$DhZK1Q!bgQB1+kty&E{CMj! zrDs8OqHtiVi$g3W7!gjjMR#y|B!_QItt_c+u5OP&UJ8~;s49+X@bvPHS1qsDgPmm$ zCAfARigh{XXlEm0CT;jet4e893X3M8tRZ&0(pz-;@+N#El0v5Z+&o7|0<85R-VjuS z@29Z7_$8S@#eCHhnsGW$u+4hn`d9SGx{tJ@HNL1^S3t^~7Vi)_Ag~EE+PLnE?M85L zTi;ki%qiwDi?H>T8_ny7j3EySfy7wSQc8Xrm$Cl%Mzd;bTZe%yK7L>IAv`Uvy^BLv8Nc$5(087I0XB*O=P;RZtEj*hN8|C&N?RIHD z-J09jRa;USQ9AI~?9ay^raAH-A7}nZYe+$*WTl);v&#g3?9Q3Wy;?Y5WlQiGygR>5 zW%3pUu1F=SfOJ3NluW(NbEa_q`sGpLx8JP1WU2KradPNcJnmXh-1+%#G}RICUP1ayRrab$@c`pi`P{j#-*P zyT)hv=VHtJG|24EFl&QqN9ia1T&rB;l0qnds08M9&QG2LOo3k-jg+jG6I2<{SkaNw zcQFjc`QaQ54fJ(&gES{qDDp*80itBVEaY>wtcMq`2&vy#Re;e)Py92I)@z%Z;SAW zB1S`w6ds8^5+A)DX64U5=wq?3i5GVSf7@)FeKC~KO#<>NT;dY(1W}i0+kT;o(vJgJ zJQPwGFg49X6$B&2pUYoRe}PrUzcWcTwKG}A@vtcxpA@9U5AoIRDbqKX&rY`VtF(7C z3fD+hjFlcJ^)EwL9vhaKyl{kvL8&DdVqw?H@u3D3McwR(xsj zOt9tNiETT^3g!E1>%z5}!3o+Za~LvgKAZ#)(WR#5X04axNKu=Am>)TFdv-u>+Z;}Z zZvn~e3osk#09XmMzZbP*zWs`MoZ7M8zWin`X7b!fM}J878Zn^da=mlaP)R@mCs+7e z=cmvQbs5yOj#Tqh_0+V~jx=0m#7Dxnl6>{5!8W7O$W@b2em<&Oc55$mRq%1we)3jVlcN`z1^BH*P_@8ZF}4C3+R%&I$Z+fR%AKd zkcWbjlBboA2al zp0xIDmA-nKBt$8sYOwI!g8irP41qSxf>f1)vf7f?D7Md_7Uy zLEc+x3iFSkEK&q=W-pwx#xi6apxIF^sSY%6hAUeTV9|Vq`tltY>5zy5@FE{|b`2S( z=dJ&7=y%R??e}=%-R=7qXvOdf;tzfjOad~M2ST5OVI!bXgV9Hi9FDP$F+Cg^KIM1P zCEBz~byN7+js$6ZBDb%g!;L6Sd`0|0j3z!Kx^~$2L=4SMG8bVKCUb3gzmAz(t#Lqh-Z|3%z~V0fW`+O)cHVa;Ok?abea zPopP>RflMUtRd~upb68N)P;oAR0@I-y=}f{4Yq|@BJ7a~039L+E(bda$ppOwrY3pL z7giz7kMeLease~FKB_uc-;)i{^^BU{*8Z;eT%3|$mTUR#@aGfR7qX6KA~NMO6Eowo zm>>Rr68m=icTaIh-Aae}xYC;3wlQK#bV0#PtJc87iKF2qZEs~wDK8-b z=%?-Ajei$wCe9Deb%Q(d+hzzkZK@sdJq|rqdn5&YRa)*_3)ZMgouu4GINz6b@UkiI!dsMwhSx(+Y>VRm3&@YrXECkfQ z+s^UZy30Dvv|w&Ci`d~nKN}C!3KtOgg?=jeR=z@YSi8o+*W`hvyWKm$MU(D!!IR=G z5@oE)_jvhu}fi_YQF1uussNDIZn^7ksA5 zM(*_&cIgsJnluC|{Z9M*Df>*8Q|5TaLWX+golHh%SJt2G*e}IDm5Va# z-gkp$ayGB-cL@c^vem2g6HRn1Z&^RIK4uwXT40#2eN{P4%1HPaESRf9HC!f5E)Txy zmT12Wqg z9}X|Aju;=uZmS-aUBv7>tYNQfN2)g{P0991c;uvnulb0ga!$0>kAgcgvnBM!mg$f7y19K0zM#@0aREwJ*0kZ{SvY zlz%P~$$yqB@Gb4rg)Da3qZIdKgJeqbvDD%8h7TWezWuH({naSh`*=El(zavI=PJ>v zRHZF|J7xOJ!pQQB`Ag$1eIYFcC4b2=K_G*+J-_jKDRL@l*tsvXtGxXbF$qYaUh9?{ zz>HbU9$Ss4EpYF_)`SG4SW54-i*U*oU+wmtXoq~PGnyoLSVIhA) zY=d70YO;Hh-3(A`$JSqxj*~8|f27n=-!i$|w7o0P<9x3~en?!FYgN9a5utNf@2Ek9 zp`D?W!4{UM?WF-yF_jmPD!@bw1|X{-c|bZ&4d{<3VPw%C(;qWlvF>c+cVB}N;V^+! zw7k@71#R^LT?($&Ovy&t@v}>zn*)$@YVa=)vjh_I_v&Y%abz|{Rh|q8&ZXrYR1F+kVH^pR<(3R zY*|3rc==9Mas5E+TG#0z=v3k&n*5!ixuXd&M9m6<(a$l-7zcEt&@uk22s23go*~DJ zsk+&>_IYt}W^&^DsPFLlVA|l7p@$<`<1eRm7kpQjC^d}7oOYfe^a-LJ#m^tg-v;b} z^AIm!j*$BOrQI~n46BajKsmnZxUeD6?sLi)Iu3oSDb6HE__dmCPeExDH zI}q5-q@_XApJdRp(4RVU?0){vyI+E>CAFmur7Z~26+o&&mC|LZySiccOw-Ti=grkk zr*TcX5^8#~r_inl2%(IyL0s+%9T*>zm>XDSQjc(8kT(9u zVxscF>Uw(7##NRWd%V-C3;&_SgO{C`9GKQUruhcFn%5K|lD$GWgztVB=Q6W~Y7TUN z*OMD5y_+5MB=#P6YF`}wAHO8}nM9pzh7wG@Uu#5{q{q_V*5B0=#@cKDR==#=DhC+m zF^hs0s5vNg{|dmn(%d@FI?L2&HZonC&4;SpW4#J}KKLmCt&^HTTR|(qDxpV&A6i{bdh-+=^w*0m}f(C&>FzDC@7*%p}*=r=49QOo-!v7MW-X2s>!iM6R zCW2-^OmKK9y+n-*3MFFqP=|NLsJ4qHW2!yItv_o=%bCTr!ootG;(#*M>hQ*wM2|lA zu}gE^Yp(Q6ZZHJQcL;FL$cR^qBgC~tBSj_z#*vqypLlMZ^9)yt@=Ela-=y?t)u3lT zqj#y-rhjno+~~mM@Lb$V9OWhB66ZT_1_DN4P}+P6d^;#H)Hosv{v2u#4&n83^VwWl z6nA#VeiIX&P$L=u!A8Bv3qk1XEJr*?UWt$9ZIg7VOF4)(qv(j0@YOqSqznk?- z)sv*bpWTM-_Xy7cb#9Sp(ycmpc;eoI9$BB|&-(}IitdpHsjO(t5-4-sO!$n3aez1p7)ADf=5!$#)bou%pL*Pt({Sud_*xK*#VuoAQj*t#7+BkZ$A` zp>tw_z?^NUc2`RlJD~pvXvn>5*sU*zeXixL_CoQdjI+3)2#Ze+o(6icE6QOn^eOwmr3b75o|@AUKSfmJ(BpQ_lg^5M?tt>$mn#02U+4J=c@uUF)mjFB{Mv z5E8fZS7hQcg)v>A{MlHPEJdBCZcShMo&ttDx<3O29`^#X|pJ zZi|7$WyKH}0pSz;kq9^>e9v*ajJ`-#SgD^wPic+`4=)V#_ag_M4r+{i94Ah{SeRe^ zv~iX>!nwiI1zOX(5R*t%R4I~xcn(*99fR0|o&%1n05*Y^P2OFWoAaNTADZY@?YvJQ zG!E6|lpiWu`19>Y#TV;r+l;;x+4ufQ`EPxal-`S{24@<7rvEH1I$B5Uyfo29;^W>! zrAzE8KhRY(BA9zvC)%90Mq0c#I)R-~b(C2VmW3&Ej5oe4Y>s{HGw$eVebj8%Jldj7 z1a&J8;wI?xZtGa)ojnBd4mwZfifX&=C!;Y-Lx)2y4X#n{PG=VY8Y%MY1FjNr~iyO-n}o7ID`YGK0(&x*#Sb6Rc>Uc1=qNTcaOk zI0@WLuk@F76SVBq(iA_-+!YT3_z?fVH$ZE5i1dv{ z9!ZS38EYR)JNzhI(=XfUu92V;nZIjGX=QfoRj*)2N*jaFLGUHywGOq8w0U<)4W60| zTe8|%V<+xAq7*SanJm@Ux<>eZQ@Z&%^XDcFh8J{dR5GN+gs($RveQWSXCj9@JI^=6 zYuzhCOVvw0m-LtYt&(r3CMfhw54TPCEN^bWw#ssJ|B|3f{IjDI_eUj%3kEL?UKsj1GBn;i?Yv;O`jKMA$lrdu_aFEIEEo}h ze2!E`;t}&Of9L~n(0<`=5@(OKO#>Jyt49|Q)4ij-fy|!7jwHhKrqDWSWoT*2-RGA7{ClMEAinmy^ z_|F_`LN$=q<|%=tZU}vc{^sOuvX|B-w+5eeuM$-WW~~|o3h_#JBEat1TF56?ux5EI zQ#bB60n_y64AxsEu$vzNE5##ib1t29c7p^u{E!5_I8Rw7k_ zvP{}oGa~)JGrXUM12{A_pdtiW5GUp+v#tnM57+L%ni~9P*kdSa7^gq1`#|fd8cGQ( zD=IN1lF$DKz5}Y=Rp1!0g_uQjEr53QhLOg)vMsTj06Gj` z8;5H%t~N0>er$-9kuzEn2!fq14|*eA(DjO)O6=<(7z+^;MYGN;k`Q zbocjCO*!8!esexne&*F%>!9 zJAxm+JJdhqHZnhUZmI;>=Y3vRrZus(cc($mVS>oh08Qi~>Ku{{Hv+n&6+k(At=t=1 zO^mOb3hTIK)ZE&H)JQ>pW_MQm^;WUQQ#BvT$BJC?A-^=f{{|H8oGg)y?bO_qQz_?D zdFkQVgs*4vd@Gz=#|J$Yzc3JxWnl@~6txT3C-`jBH1iAQuBJ}-Cs=QFsvJSooG*1> zfSpD@y+9s+J5bnljmT)#0A`0qqGh-1V8+DMLI+umox5+!_fwQ1x266@KiPE1M#@PN z_;)~FPdugF*Ihgv?pikDgLUpHzmOUeE<(8NS8d}MEgQGjL)Q{k>sI4P<`iLCA&bea z25}KDgiOVM$yO^{YBB)#%ssr4@f+iQqfH#dz)1I}Mv}6O+)zeGD>I3ti4!{M8 z1%D2PgoK1NhQx%rhg}G-ju4AF5`FA&_F=tfa@eHbJr^@mJyky8SKNTLyAzdtGM%7y ze7ju7n~vxXzm9^=lf7?;qo<3On>WJQKlkA94}x*xit^XhHgqNoituVi*0|$(%32?k z2c&vY?UT$O%Lb~xowv+J-xg-!>gY$D= z4z9~rEI<%U6x0zQqa+ctfV+;j6TW?dsYHFhF0wK|?=y3GGHe_*_F>d^Y<>LE)ZlE+ z;_zw=#e|O8O4wFt}-7fTyy%&hg!HV-8cfIXu-{Rc5FUvf znC|iGyxL~c{9oON$`2()1>oObzyJIq_;E7xVEWV4k(7v3&q?uifaD}$eHVKB*6s4aTE{}` zbdxH*K=p5OEYZjOX^_)9)+`(~o;<&nyIQ^qCEX-*H$9nloIkv$uo8YDOoY@w3Sw%? z+M#-hhVStgjdYC&xCn!N-4RUzRieC=)O}37fFhzDw7&Bb=zzLN`@Y$^!Q3#Rrqa>u z%iQe!1bDW9jA*{Jm(rX@klrIB7mItgS_kk4Gu$qD4tw|cp7XB?C<65C$sqIK z2E98kx9rp@RIgTeRUE7wtftqWZzXq<2V^IF<`dW2s7qV_@w{N;sC|K7LYqPxf)o7v z$Q&39?6!B6bAhD|C{4R7Necxt4=1I^uaB0Ftd3}o9h*ni4?OR-uinQ|GC>-XuVb|?b=k>}k_{Z~d~XB=0i zHX)o-kbZ$}@nQw4Mvi``NvO4;;}e%7uEB2MuCHA1jt{MyOmy_Q>QCeq#Q6jhVZ=T5 z7LM_9Q=P(E=d7zzA~qk<&$2mOe$c;gKLJaCJ)bF0RJp79Ubjbo$B>8X!~JXMtgoi) zs9B>@D}Pl=TC`E{9r8CsohQlt$%Zi<>8EIqXbMXNBju>7Xmf{f&&`^eS*Y;z z(j>GLoYmuX7Yr=$TKHjud|g$I1jQSYZbB>wV{3(cWd7IaT90{KOG97v{fhpw(lVV2 zqiRBZUhAE%&OyIP`a;S2GX{Rg5#o*76_i4!VX`pZXp&GJKN=|l9pXiCU$ZV!vFm$F zc5?<(q_Jxwi$iWh#G$hzvg2>3zRy`MTdhB*uCmBn{Qgx)K8yyBLFgfF!!N_|(7)ix z{nvZ-+*4cW44=*aNHI%-vjgMwp?iHty26RZElu^%YDn44-|F8r0J~`5gHJ|H>iLwS zl-Ft1nN1%uf$DM}P(dq{sn#Ls9>@06gj}EzPqu^C6Fl59wZ3$1!+49e{}H8vIVSaPdtUO{EnzG3|#~A%pjZ61dlfNP~M=ly<8cL$OQdh4^8SX#RA# zCRlzil~cri!ju3!5O?U$7&$EB_Q39c;97*Qpq}U<>9>kp^)T#hyp{P?8&yYrm$$A_ z9-qA~`^@`p`?Uk#3?{HXF!_HRodr`H4ZDWp2^I+M4k08E+>2Xjp}1T1ZA;z1y1TpJ zP)ey%!J*LN!6iY0yCo3!oSifLfDAJ`yN})174tq;8kd!@C&?{kG_^Y|Chb77LhOqz zGMk9_QyQW>;Jp4MA&V$uZXA*!;?m~&b@ z!wzhu)rt+l4sP3QHE&U3tf6C|Jb`Q%J>Qt0*BOf&$m&2f_tl%#@~b?nSXE}VgY^qd zh>o_tp<#uo)Wuplh&v))hW4O*<&Dr+(JvL=%SljE@Y9ff$%degLtt!P+q`&r#$)2k z=+ck~xU|wGAET@Q7oEO<+5F6MK3%{v5WJPBLXN=d;Y1*FD+{lNYC}9hSV^N$$ZKH} z87{PirJ%WElUbt@@|V81KrM5(+3#;dExOYC*YR&XB@c^c@);KyrWUg`Y1e21d z(2pn#`n8H!Q%3)t@qP1exLLf8RixEJ!ldO63m3C1MhSYunr5p1DfY@fL{vaxr3XY1 zfdOxjh%xt_uQ2=0?XDf?~?)16P+B)oX$J$vx~OMHNUE_ zsJ2ITR$|I*TksjH>rW=RHa@Q_sLH4qDDSFBsy_cmyJ?YhsNZcAK2x>4ld;Y>0>45o z$=54wC_hjsQ+};@`RV!>8g{XDaW`i8u#?|XMr z*S4+)-THm9N=NZO*=uWqAvie*?qjLA}uf$@kGu7Q?9O}t7`Pj zECZK8*lQg~1Q83Z0`M>kIn(vd9()M^Yf1T8(VIT$3NT-^5#vD0dC-m;NV%Yqneu17gmRXQKbbP-43QHd;+WQz9j4 zGPy0~d}>pwU8-X8;kfhLy8PZb)EVDXyeV>AnWvuWQ|WL7Xwt52uiIX=4YY-ly1MQU zps819v1|B$T-MSY6&pNr?{Cc;W~Wn*P`;Q|HQQs7uc%*o0Vd*#E zJLrJrD)_4Z)7QkR5>Gm@J-mJ80(FA71s4Un`)&5LaKYI=z`ZuQua$!V%hDkEB0uf| zBa41yZP)6F)y%a%I)^dLi4sPGy5L1}KQKQv4(NR{-i$Q_zDsOktIbUtCnA;b2zTCW zz_3N<5Ry$ST#l@X-Kf~bUOP|U}e#8~4vwRq=*Yl+iInknB>mXcc&BBNG= zU%P4H`qcJ8ZmvI_I!4~n%_5nQ?vd6>qoi6=W=BT%)qxYE=`+VyY?)UCkH9%7s-h2& z@!f7lv%F>9Ml84ffajXe8D7?EQ5r>HMS&a5^Pn-)f$)x^rr7#RHQH5XmA@V=((WwD%)zGK zj!ld#4GmIAl*u9K2xsik)cZO7vI^ajrOe+io(JuM&cV*Zx4^FeGnr|yKWLA{6rjkt zay~F>Xs4H{bI2)c>MaVfU!|Mdp4B|v&{lJy-0g?Mm*>S-3JH1j*+E%Fncp(EWWCO& z<^C=-E5VmOuC)J$?>aluvv7r74e3CqX&p31SjyPgJ8W_CcXD$`v7uT{oBYz$C zl-}mtSks()I_5&z)K}T{w_{&NY3GBUiGi~tW>bZWrRxxW4ET;r4(5&49;0cCRbreI z)BTe755LU;IsvwRbzTT}U&l;qKkOM`mRF^?AJqd^76oxHG5@XW(jU@v>A%-)ncF#L zf0`BG{eWmjEVqipV*u9ceS>G(QEEKJYT04g`E zNN|08i)TE znHUX@O^!Ph@0BnO^w)|>ElGEi{Zsl=mQp0i?uq%)8C#+~2dy-8J|ZpHn7NBXYuyf{ z`)w6%yW9V@FSHksHaauE0#LfTe*8B z(J%*@zw%`CDa8i#vb?kGGQu0WT^cV`;+_T^Z;uv#&qPh+jFt_3A-^7cGFU>U4ADkw zCe&tU7PV*(m`l7yaU-}K_5cxqG(p+{{?io*9R$3&M7#O2oFIlZt$9glPG?eO)RFwP z_ikrq+uJ7Zh8;CZ<#$T)pOZeEDyYcS%!$g@%y!Q1%qHZ%%XcbTEP4FhvV5h^sCA=H zdjhmN%md&SiWjsV8X+yJ2)BqwZ8C{=R^d1$(@Z_0x>R8kTuD^Uc)eslB^-7cfb~Rn zDs}jGK)T|4UCGy|yqVxt6}Fs2i1@9jq{%lpial!$b6j?t_j>DB8UPD?;eXG^bW@3Q zgsqolwsDDesWMn@40=>d;o_Nh=(20gD}Ps(R<-Fw28eS?a9yem*OiOFoYV-{`(vDq zt;Mfc!);l%6}H=Lq*g_i7tDVdo!13xWMHP{9wXj>b;S0-Jo6Egvq9YO+#oV^SgKqN zAq+Nk#5vQYSqH|*$WA6Z2gX-A+Sk1WH zxMT5G5Pu-mtTdQ6sInQFpU}*OW)n>{}jcn|MCIb#0mHCy)Ux!g5eZIUV^8xl-9olmxB_ zPFMri=}sS3e&KOC)Bo)?%}TCk&y}N#|gQarTI-OJo+T-Iln|q25}&A zFdNuo=pM)#C{+4PoF@$9-{5Rz{-Tps-YwYA)Qs;Q2`B%r?^hR4(Kg37tX4;t@xD8M zjx0`j?^V#4SDA~-{gRWH(~;wt>z((#U{5jXdwrE@YcwTfL7BS@_fe_Rcd@7;20D^l zT;1-v_Bz?yQSoR~L!JLH4#-~7UB>st!iiqWqh5v1*!F}rYFja>po`oWJ|r_SHUE;{ z%X5a@k^7)}SI^S?ptXS$$0N_TKQMALe{)@MF2G;h>$YL{$#TMoqB*AMf!rj;@%$MT zYY&%e7F`$li;K&wHOU5vgArwdQ;=Z_aVjxdh6eXdcj69OU9dT5hqEuYGq=5JO|{%* z9&0qGW2+vf6fb)PCNFgt_;Q?>DjOtv484|axbcb!(8+{cP$xo8;SG?RBp9t>Pg%cq zAi7z2-SXQSbSVTE8ov!45gMr#^*Cxc$~gKyu$$z^pyD>i7bXZ2ammxk_me{t2{Ajj ze)oDn)YqGm$>8D_yheO_EjxnS!`nN7zuoOO+mkx(^{kSAjq~OW=n~F%NjidvHc*$- ze`97rVAyO2NI9K0`w1E5G<}BJb2)!d8SCXz_=Ey^rjyy6(eS@oy=up*@~TfYCiRL< zMx^;($&lmZ)rCo#4aZ7+4%&ojm*1)QSZSvcO!2e)TNyY)A0iOn1;yb;9b~h2PUZ#(IWq2L5%&lFFLf8(!CVmQR*`{yg(xsGuviGy7>)WhN>!=iSsh zk1R;;{=$bP2Y-mFty{?b52k+7ABa!Mg4Fp2TP+5y6Yak`_Bt-u<88>6IMYMAOckDN z3D}i4Ory*djr}4=^nUH^C;cGVb~^NA4S0=AO$IKytl#7bLI26*VyDQ z?z_DI`5g%G3yAj{@Zz~?JKnTDhqW~v*Zhr{k-Y<}mwe`*V}~$s>w0u8pkwOVNMt?X zCJIZWXJFrCj1}Lg&S?$n2bqY>J8^mVelqWQ*^a@Sh;O-FP9T(g*yzBg%f{8%CbRZ%u z>Q6K|rY!b0aLc(P;Ywn6Qcy~NYIyp=?XR{A(%vP#jk*<-?MyYTQ(6#Fmq$m-ddk|a zHS09XwV+zxwr*{6C53c<9Q-mCJ3mI_a;kwRMios}d#1Nyx*H#7gSEeDf5rBQRVDU? zAzITMtq$G8ZC+`etR;7Knl`ik9IpOY@wi-}!k}un*8bm8+u7c|!#k%!meeT7Ic8UxDDpeKj+fwLE|dyqB$$U6a{|I)E^PeE?5Lz5raSRpw3l#4>koeDdGuJo#AP z_O7$-$C}muCf4q#IP$aeYk5i9ho!>Qf}H&5e8v2Sd84^IbE&!V1?N9Re@!nB`di)= zMm@Tm#!H2dD}B};HNJ?uZe3wZvoojxJSCmsx?_lvqC zx~#fFyRY|l444kz9p}sjt`b?hMDJle@|~)WbYZ3n_#3t%&Q>0DuRvdvpS>^D%gn>q z`H1bfWtoYU?sHWag?NNDh%4ykd}H3+h+nr{XRjAAOxd2i8sS4}GxRX(fWkfH9F2>* z48v~IWvq_nR{T}`pk)%y47=5I(GacIqZy?7QgKc;6=4lICh-vF@_upduyO1h_8Lc# z4;EEO4PZI|eZxgnRa@3j!5mEZXY1hX=P~OI4tN$^xWzN{gE!eoIU${;^rt}=+9unfYyN0pe4nAgf+GWaNb^7HDlCpsUkf1 z6zm6L3F!n7fol^D&Xw#TSe}eB3g)$#3@0xZUy*l`+_i1-{_k$iu-)S;)n@%@N+7LY~%IM_sQY|A+I1ha$ zzg>->pJlFPJ!QYuS>lXz>b7mgJDb|*G$`TWY+l#umZ?AF*iMJ02X(J150vqLnf<1f z?Wub7htS;INg0%mDbFj=R@pbi7h$JmO%$V)g(}vnXq8T-4+^6)#c*5jAyEML!^Y2* zUvo;6`lAXIX8&9-y!T9RaDNPW=Lliq(yY&N)cP@wmna&%3m%G+ll>)oT=tv{1m%Fx zhy4KeO7;sca21(YTKl5n3~}rfMZ3?m^Jr_sznQw`%1gh3zU?ouDeB7Kn+wgklwFwZ znq!uGI&WuzOHpEp?DyDm)B5Q4&cUSV`}AKT9T~jpQ$1g^ApAQb)~*k5LZ7#;1ne;| z-C~u0viabXyhQqy`PlJP3Zm}{&@W|mtaZNZxiRo{SUBOa;6ne-O#;yY{y19eis1|F zX5gkj+AZA6&hKRaA+Qsue!qC+I<*lqEb0t-n&B9cj6GmU2JvQ@v+D?Y2(6eVx1PY* z$5!H7h_k`R5IJ%P%n9{!okBy5S*OJp{9~&_)?2L|tZeYX7H>?q8a~x|s-A)Il($Eo z0|>80f-3GEwifFs^DXlg>mnT#Vl$YB~D4NjA+7}kDm5`A5JqeNGkUEokDwUs<9NV+i#EWHhNBb(`8PjK` zgq+-kZ?|llXsc^qY|m_Gw5xaK^#%_Sft$pXbsl$zv>$N{?Wr!Wf86XJ-pwY)j$^x* zXo-Jj_Dz4U`agLk$O4D9k~L*9^tC&(HT>^vt!8y!C8X+m^-^8tzuRqr0PE=AxcU6! zwRzU85D)ne86(%HFo*txj#SW-3qxtc--B7=4gMu|@p|@3>AcN!=(z4^=@6b$Nj^!5 z7*?fTn%Fzju~4!)v4Q3`3G=1@gM`4W0or0MtOA+_83Y+fjl@-ge(rwO^>wq=q=nFF z$Fb0%-~EZ*3Z&=Fe;aN9_EPy$w@>5mFXlbYCSdPkNxxRP&ubt8KyUsvYs&+5^5LSyR-d4~*}^GT1!@Idx-wk{Qx!#NOVm*K4!CP0*&`_@Gz* zcHYO_3hk8$Y?IeIAu3UFZ0HVg8Su0}p!=*5SGTP`SsSA(GR2&8!hN8xa9g=PrCsX3 zbTSQvroSz6@ei!ht#z%32|q0xu-c~620l7F00Yklc~w*^v|VZ>n&$;_j1lYBM$XYi5>)|`e}6O&eEsB(P=N#|PmEm5t0tyfz5 zn$Ne~Y{&LgQ@khV7q@RT@QJ`x;&l}#-TS6ue79|a;})ks4yLwi_%O2oy)G49nQvl1 zeY-G2J=rf$n)~Np7h1Jmu2tS&?p76DxAN~^dwH+H@Q2B$MXmLE?ySTRZYkTV099&M zas+&W8**K!2>285WifE+%DhHnFBZ)#j8Bb}P|^o22J8kN59$rQ7%iKKpFOlRMLWVO z<8PI$fiJ>j5uXq@5k2ra*#DsNka&>24|yR##^<@sNm z+B4-3O22;!Eu!Zs=KRZgpQW6gnVp_9k$baX&xcK)>q}?LL4TgL(0W(L)|O3pRM-=x zX(0c$!_tAswr#L$v^62JEW^xp=>Jchp&DwHdacatU0s$u&^|Bx?*z$&IBhiwYv1M^aV+w2)aU4_7+)X*_c}2#S(=iV z22W2)yO?}2wsb4UbK2^g_96n$TAT5w{OnR~f6+>5-O;wY&8RJ}4bd^&(?}Vea9K=W z_vax%jmUe7ks4fmf_Va=!KUACx7~N51>VA}Ll3StB3mE@v0g5Yk7*8^CfPP#t$SXT zSn;|1Y(;NXL!EWw-*#BvlVQ6l>f+sX4W5nkF#NKtB|1V$suZbo9{opd52_qS1r3Rw z0M+X%t#0Y}todXR6*oLizB8COc#PaMq(Bu<{5R{pbepEnD(3%`3`6GN-N@g7xl|LN za~^}2LCe6A()}VX56;eBZ&|rNuQK&&G=_Yzm)x-itKb}=Hz?bPCK(zA9Gs}s| z_RQX%{X4rjryML*#U@d7ZFfmyX% zD48hfVpUt@wn90AS%&k9<*ayYZOD4CtFOA3-g~M)o&0qqaFREFlUBwFlCB~XlmayW zXTUL=#wXZDIz4e~+4R{<)mz|s*yFLwJ^N=?Q|6ThhcqKFA7nFO!O~iR8uu7$iE)@Q z%P?S}I1hQ*LNlo{bQ`ioZif<7?WR_bUcHgE84cTq`)gTk*@|Of1I;K#-FiE<+EiVX zdgOADU!d}!QBjEC0`CIXk$at+#OvZCMS4;&^d9oMd=&UPtwrKy;atAPi>}ZW@?P`UQ%DVrOw@mmfGS{8?PGB7wu2QXLfMF2U+v<+( z8+!-)2R3?yAaiqr0`;HrkHM{MwPl3~;Q+WJxKXa|X5~QH)bDp?yo&XjjK8{VcYA_| z^d@-=WO^P~LrMX7Cv}SZlrO93sO-XIp_Swy$gdD<$w?r~kD}jPa+uva5i<%NIxzUP zU)uMi|LEZ1As_0e$yalbmA>@~j<*N|u7af@`KVl(Gcw;%r;w{~46GTvBsn2G%av!^ z(bg9eXNt#+hWLFpT~FHj8~^@^s`~wF(>L!D@%!w2yWEoOk*wQUkF!*=kL0N4hZgC7 z_WQZN`dH(suH507xn{;g=@mIcb$f$S^P7aLz!b#U4ryaZs4|BbVl@vcdLTq11~XzM zZRRL-fLz_@(1Yzh)s5*z4ICZv8xNe*S&L;q72klXD7dK#wPTGUutGwVor`m_d%WkE zSF4w?r;>Yz(<|HecoQ>UeP<09rE4#m6C+a&Q-0pb3@YM>`+Wc|LeCYhPZxLIf zYNKUiUE<>6FDKLkxs($r6{-1Y)oH$|E{Pu_m4mXJJf^2bFFKcj8pefm zo8(3kwaawu?hYTskIl~ArG4c1NbbTL zjmE(7l*Iwyv#`gAyU6PRozn)M2#o?0rBsoV0L%T(oTS&TY+iUU{bg)^=*U2F&x4Nk z){(|{_23%aa)lqrFVV%Dfqj8|PD_?&*3qnc*>$kLUr7r~EIkn7=jU~Y7=EVqPfw-FmNC^&-kJu#_uH>S|)Y_+i!`ReZ1!soe zL`We#!>{4aV0}$@7>afLH8PZo0g@aYrVlO!YPvXH4kwqrlg(r&bHDNFA}F{C4wrka zl%VdUYiz7)!Lj;aFYk)+%=Ik@#Dp-nCU1+2paF?Vw;1i%4S>x#6R(lDJL!A!cuH%k zTAFF9Oj2$1{!5e~2|V zsxqottDo0({Y`0QbZL?gkNugItXMKl1lb@*#1q+*3O(rG=xqukvTu+B&>m@xFrT}R z$)|-cznD{=QUOSd$&~s*rNRFOC&`D0r>LCC|INiLU!b=GWTMj&Lr6Ky15tsHF9X|VZZpEcz3B6RPx~XDU|Zr~3$RH0?X7H> zmhPqjy2n(ovX!76+$dV-obh-LBU1rZv?y zB#lRJW^Co`7OY9ypzEkebd!p@mVthQ@qoFR;o>!G>I~$$B=2=~~pK~eOv)^NtJ)`jIDbo9PIh+o$Bs-- z9$0_@v~aqh5OfCaDDy*ZOukP3kesEAFG2vh0vO%++$yFaJ#_izoX%9}nEQx`@`=2U z978!ge4n~^vU&FE(o@{11gfFi@N!9oO~v7U19a} z0uAtSn+!i2NbT9#alAFP5n3Nx9aE-RO8&G|^fUi*PEwXi=8<{(nj>9jW0V=q-6dp5*I=Hq zRf<+>2eo4iNG4ygot9#PnYE{NnAINqGYh(DzTu!wrTR5YlKc+jPso0t$G*xnWWQoA zFd)nsAo-@jyDsdPF2SD5zEx^f7wVds_~Sx|hK}Fe#=UO%Uk~ouay;x_I4&|N$|kxx zS|uhn<}=V|JH*|NH%**Ox|Z@LH6}GXDLCdv$QJjz7JQXAQh$JccCNpxW3sKLP2BF% z@vY-;$H&f+o-nf3c>laFy^V8OJO&Mug8LqeomcH!8&F@^7~DSF0~&Ie2%QgFGh=lLcpz^?plq9b zlfr(54Y@ZmpAf0gdFdX}7|()jy3xAozDS-CPOMPBj%*r!HAES*9C<}$Pe5j`EJm-L zVAOLLL`T4Em?v@@Dhzc9NrTJ6cwn;hwOCnb$g5|;H&DRsM8fQ!37gSnvTXm6?g7$D z%fo-|b%T{_ze2v7fBsdBDIyfs=U>j-o?DTF%&pFodB6HG;5)lqT7QnTk8*OBvw@Yy z%W10n8g!b!Asn-@x0|yqC(`i^=AnjFn%+vAkh&5a`_by{*^IGV%E^9EFW|20vF?)& z7z{rf$Ikt4)sWRE%z)0y1}VSQ8a8BM`>i7!P2C5*mV7n*6Z}TK*F0984ed(sd8S0Y z*J@a_A+j1|F1*DNFmA0o(gn0X^t~Ho<}&A|;2n_j^Fn=Aa8}9E{H_;joM8SF=T4Zk zdS#t#jkiMLxmZ=xy9Q6S_o%rmxyxNeXhGy9Ck5xYp6pI0jv2>HV})~U_)<|Wcp33c zzD}8?>1Xi4Oogz^F2hB*iSCOFDhN3dTD$Fege*V-Hi#LD$%v)JUW{{%$0vj&9#1-* z3`=>C?2)J#W3pA>>!5X*&T(WWD`Ga2!t07?7q!;4>5*U^5glV4lU;WG-NS2BHHT^kqu_G>iM;YWY60Uz{TJikrga0Y%7bas47!?lvy7W+v)&-!G%B!x+o#yK+n%sK zfnyna1D6lgGA}?!xo2sdIj8aalz_hHU2i-7>tJ?j_LdGl9!;A5x)ioy#8(BY$UrdV znyQAn*afSL4#jTMUfF)v0xkv=`8j$Ya)0R9YMp?6Y*3@2r!>U)wLCjp^tgIHOkEK5pi!(`-eu)`ZKj|HM?s#wZi%XO^T$`y$(aD ziHW(g)eB6BfG%ahdQmZQ$K~DRhh$%)`rsXqFVg=38NW!jHIQ?(S)7^CpG1y*9?=@! zHB>odH&R7aofOabEmBs0Y!q;|2_vLQkj*e-;DXZ~whl=Ff0E9NS;B985O$SMG8UGm zrzS^&2lw~>*KN^#r6;gIk&;K{PMa=IZp`sl!L>5(m}J1E_1DamaM>>1<@BZ?pPhbh z{8&B(o(rz34i~I;m_rP5G>$2Kmw5=amsIerIfYDJ#*+;pzG zww-G$ZeQyB(SL9Bz-$7*eW(#{f&Y>>R(+;3WPA-bWo>K6veU7ZvGTzh8a8VSyMQ=ODwU2VTgtEudprOU5=^rs^Qfuw^(#F4&ED!nbTdPu%bjxPy?9?g%%}O zWqsv*B?a_X*-k`0BwW(NS7d_$e?`ok&t&tc&QRRo_5O-J)&B1T=PBN!l@q^awU#OL zGIoM60<;Zgi)5e*WikL~iUIN*{1fygSXMeCH0Lcd{pp^|ld};My~B9}v)z|T?kyvK z?dn`BA;129?fCfU{e}Fo+~-y8hhpVohNfJ<%~ zX_{!5JGJ_P*(VTyIjAPZ?do;9BS4RtXq|5#?gIBn_tfz+^L+14byl^1Vf74aYxG*1 zukuLY8PXB*Ry@Vm> z5JY$qG#ET6nGx>g9b;kELszWk`zFtfrjtv0w|1i2zBR(@#Qp{`-(oSe(C{ zSDTle7o5k+b;&EwUw@DI)L*JwRr9Z?>)%M-0*_SRUZFH#wd>tUKu4NA4l_IP@(K(1vj1XJ(66PBI?}e?x!CWvEnX z-!N*&zO$0rk)4O!3q8lZ{_{%MwCbAbxJqopS((J>UQ`=Lm!MEkWyv^jeJRg+#872C zW$>AJ4wxS!QU!Uz`cP#Gf0S#0E%vZsw&{CpBW}u4Y-w$I&%(f*Z|rCw)IOz7#&|3A zpbBAqpu^%U!Fiq;_YJ3olf~8K`wH=r5wI7+TJD%qpPGfv9>Z5=4VF|Q#Ua~O#Z%Sy zPQdZt`H=Ok@4|T7v?J6ap;4e{y_lo1i1_w|f~4&!-%~}Y$5PZ25D^rAvV(%LEc&Lv za>;M>cCV1cY_o6oA~8s)4*QN5ol3o}WaDwdyd90lz9|O5ugc4+p4GW;{MX`;m568r z9K9^!4w#nd{ZqRy?+c0L?q20gg%4$SE4QvRWYiW^ovduAyj)#Zck17Xw$Pr3l#TI} z`Q9~e_HmH{v=pVGfKbZ7gkeS%lNGSC*Adx}`w|~PF}r&G`O2aB%&DDY^TW=RLxW!i zbO%Y~cf;Gp@~8frf3;$?(as?NNy!&52jpK=jEu63IjROBh6y0~pl)%7;5?1el2y4tjS53giz%yY+oSfo?C;ykTO)C~#z>vZ%IPv7P!Z?J8VVqV zOpqsgpLanz#iHB#2Desv4QZ|TUVU6|#yckl(7TX?(6`$XB3?!Ah#HG> zh<+Ar5u+P>J#Jfqf0A~}|5DddyHi3EuSCrRpK%jg)T;SGbk{#jQU{2g2il5S)7o^~ zvF!_Om)q4k_4@F`Tc(PZ#y3{@W8gZO7nlUCCBu1au2qcfMIeu|*=h)@U?kLhujmNZ z6s*(2W-pAq?yYOX{WGnbt^#tZm0zkJ)GjyVwQT7+G+0g*&DgGlGOYP`r5N}{nSA+u z=y9|mdZ+xV%myL{ssaiTVF8Uv5$)kp?ksWg5J2S&q3Duz$@?hF!_i}@Q-gC~mM7`n z0GFRBxdK^-1tSW81d}rSCbSkjE}a#B6vFvy>_d!awDjfvIhiSE>MKe>ze)E>dqVTJ zhWYBfW%i}dKerTbyw@yLDY%iZkpCp_aGq=a;X>cyD__QbI#ieZd(^2u%$~cz906@n z2-hq(I)n=++S|h%`yEJjs>Bu?$b_v8QhtEqNUpFCt%7DRQr*b6d*60l>9p>;(6f0U zWBAj=pZP?Z9S1GxhhI<-suFdPCZ}*mi7O6&TnjgOd58P7de?i#x&Ly)*nY8WFu9@Y zrM3xOg`5Hph`#ggvyU>jGh!K@OfG9XH%%}qZUt*2T4YNV^Hg_eb?DU@8Ji7YzvBum z%PpC>bPJIAJn)v$)TvVs1MIe$GPmG0;7G|np*g>ZyUZEmoaQ$2D1s&+zYarylIl2Y=U0U*BI%R<2%(U}Y{M#!nB(b}Tg}{drfN zU+GhsT(wj~uiw?o>o6S17%iIaTavD8@rEQLu)i|f6#i3GSNfmgF9k)pKBNQeKhPOb zIDi^v(I`tTvj&p})cK){WX{0Z0pJLpl0K3$zA?=OI3e21b{8`!}Cde|gpctUxk-){yxJWS~IR7&6qh$g*;=t+6w*drsVm z?=gcL*lB!3_rf9K-7L9P_1P)v6!~~xYxh*w`|j1=%)t*M3zPDTU+Jf~_EHi8hjv$6 z(lIce#fDfV+R>e=+~PK!_LOdt_vmuD>hK@26n6!(KxUl6m9!_u=NTR|C5iD$tZZonlOfOC@K|T% zOX6S4uA}U3^R_L3)mF8ope4P9-~6{_vAwHjWQabcy+UUm6Ai(l71q_R>(`sBSl8Lh zJHK{5>8N9?fPZb$sr^N1H~b7gd+q47*N|0rY74j_v?jU|RAE;!Q)yVc-eA_ct(!rv z8NWFnL}Rmeirrw^vZd%2Ot6ZlN*^XjaYIfM#e%+*LWCGj-Mab8{kg4^HKWiWtHHqj zBYl*<7Xyzd7e>`4jpv>%?^@r@aTgs0e}-}o7`O8q_RehO7kV?pJ5 z>q61Qry-+$pKhbhx(=DHnI6-@HzQh8#};?5f8_B&W-@Y^x0+oB#pXn-WP3T+jZK9< zWquQWD!%7EPr9btKP7~k{ngV}zk?1z7J()N#+>sE8vPQ@kp`m=tY2e}aXt$=C2mk5 zQeEM&GD(B2TVupDJA=a#My;+|8(DV{9$TKpW}6ro;ItQ2?<#u9y1?IpZivu)Uyd_N zp4r1V&KzSwxa0h@z$;-45hIUOZq_)bXKvDH;bDEmew)jH2haP5KQE{`L?@IL76(}1 z3;_dNY?LIb58y^`iCd2UnfNr>E7dqHDD_n0(@3qrLym(+>I!=N;swrdQO^gGcKd~P zT~asTXR2#0Z@brNIIx>4H|M_A$1)b(g9gfNR!P<|HbGeW5(##P?96SbcoTD91ENN+ zLNFA=n_rEYem&IHZPH3jyPh}I#U9_v*Y2+DbtduWs;XpUeuQ2A?CS$49LvXV1z|(%6fu+IDq4U)8$z5{~ zma*$g>|`MV5R8HlvB-Mle!!Lz2496{KuSPoB&EVg-cHs6eRBE09BCqAWYgf&9>b20 zfcs*$_GHE1AG%+7A0`U?^PF=dbBA(`^Z2=MbD!lt&9g6L7i)ZfUwNr%OaJcav5gWC zQ^8Z~obe#;5Yg3M%~9weW556ZiCyJ7rOIkD`=n3~Z0*Ku9aWJ`?b!q5BnL^CIzRQq z4{jelIIXdaVK@l3L$1kQR}RwtY1CkGj9BiNuKY5-a*wGi=6=W z*eV!B*<4^Jslvyyy&1>W8|gOd`5SyDg!@47KS>QF7P$%Nn9|k5bs&aeraWw;T3o2x`uzz`-+a4LOGa~AOJM8P*2$LmRy65hPsEVk)WDKp z;~PH$Y$4-?IimGHqYVoO;x&6OM;C`Wo89>LrXO@uRmiBrfGwqU{xx-1zZWUGakb93 zI<8V&p6N)tSqP(2!YeYL_P|_l} z%%N_Kua+&;Ooxvbjx zEf@*Vzw#yZB258<6T=Low=7T0l}=tC%_rOUnRMB;Yc+puVAf!O4O9Eq(UR;B`tN-T z`tpi$YjeDF;&SwX>F>Ql{g0^c*_D5r7W?gI${EkW>WV$u?@X@}9@v#Q)wndeOgp*S z&sagQUHaK-Q*sbUFmINoGOs@#MUnLG?t0%**x}W+zgL9}rqZV0F1Is+gcH#1^4Y4# zbcak9EI->yoG)+c1TIr@0?7VBzNVg~E-rSm_%kL=I;N^^@&HFc8ZPK&r!X+ zC;i99G1dxqLzn3aTo-Da_#=;?P+dtVQNA)-c7Ms>vt;;Rz&BEr`w$oibgAwD1gias2-8d#?0LHQLVm;w&#EOH71oZr77jxDy_-`N*sm%$rd1TAcrM%K9pTbw_YBcg-$MvJ{!^| z=MSU~931>fnIHKBv>vd3(U`y=RcX%Q^HDtjT*Jah2f`*$7h+Ap4vN+B)7sZ9PT0(mgZ~Hd;Jgy`0Y6F1iZ8hj!CQG@t+`D?^8MSFY!R@8N)` zz_S57U#QoB>l^zkgeKD>-J_}(<+b3aB(*$6)|GX08e&anZ42$ldJ1!r(=WhD7oqYp z$I(kFURrVbY9{g61=#R}ajaBVlk-R8##A$DWVYMZ)!CIjp@4{c$E7H@+^Xah#3 zFHu{gH=^re24cPA*$LxG!zoYFwx`FXMJJ_1DFl(6T1@g3(W0#7+tjyxq7DVpeo}PD zfsQMr!uB1c#;$>ZZ&c&Cgf$$yO>`XQB9Bz9*TI>z;O4EzY`56?+V~PE=3a*BnrezS zVZM9>Eq&(xaBk1PR-eDeYX4VdUwNX^vHDtF+P?>F4|+x^))VLFht}NLX`()e8A?U| zI{L1nzhb*W7*NZcgnb0{i-vf2S%dVkW$9e@lw=G$3Lnm;m{3|MABNvj!zM2P=8Lg4 zMP?E&Mtlog1j_+#A8sS-5!>OPp=2;!IwIaDyvDO;pV~-Sqb`bPSmR0~F9)CZ&U6O0 zUuaJJ+fh4O@#|;V*T|B&qDO_Og6_N*xuQvtX1S<&~V0($D`7&G>o6J1KtYtQ_ayh&CisDP)8;Ete zXP8h81-)+L2NrhLh4#%Z=Qri~Xay_>IfdwM{T?a_(+<~+kd1^ysYfTrOviqUFHP)A zUQI1d-?7~^y#sh=4h5cZY&60s{2xbW;nsBfzkSA<1>K`_z!;3~E@==&FmJzhcembl z+_or}4FY3~W_0(uVZnZ%=Q;Qf#&ulR=Y77<^L4teb}eWRf9Sf=KG0@FE+!u$ zA8%W14J0R0*?s0?jdMmUZPB#66k3d_(ylkUXtmR!*tx)U(e*XS(=pN3*zB2JA@&Uz zwvx>lpJLM%siMET>mC65FQN2cX=r(Cm8kw|>tyFkTKa_H!U*fWXit45scJIy zA@$p8K3F%@PdFVcRMbc<#9F-Xj3|I%H9Y1yyo+|S|4ARS@72JTA=W5*Du1qeIf0`l zx+V2g8U}BL4Z?RKtPt^VLs$ib2;KxjD;#CzE58I591QRkJv;Hwa72Gb7m3o{64JQ8 z#?{Bf!@PkGovR)A*@?h4@x{Qqv$hyB%A;6X;g6iJ=yFVAW zWp*uJ;{B4$EAvz;G>ix{I2Wieu?tMwH9 z9Ga#;NInU}coV=Eup?`kmBaDiUlm14F02`W35cf{9nIrL5%kViE8iY08>cv_G zQ(+J9!k*Vr1t=2-?3;49k zH&lqLzSWI3n^Qo&8p94#DT`0pb)xI?V_+XdF{%P{1}n#$LYt{X!SRq;K)1|ZO%Y~r zKG1vT4@|!r-!~!{+(H{2$e`UG+B+(n(3$0B{$~? zvQB1(zcYUKGEiQyQfY^T`k?~+)lcj1kTK? zdA-4i`cni^F(srjLT9T+zYJ{cp?20%IaL3yZ#{bkZjA7!&Mwt)uSrgV6VOzxCV+bj zvp?Z{%!BN!9W)!l4JCxu2l4!%Ud}EV4o9unMyWb;*dh2S(1J8n{DQy8iC|Z4CJARjpM1 zg$9BS$?YZY!~m9E@L0eVNQ5=wG|9N!TR8&WjV{o5rT5(UspWY)SEsLTW8OId9U<`% zuIt{#6vU+iiIjyTYVu=%M&z_1d}Btcb=r9P$1QH#7PfV6?MqurnhNiAU$*$8%9Oe< zvq$LNA(Q~}S#n_emiDh?2eNB>6?LeuarB?L8KzuVFW&^6MsL-sFl;r~!E*>doWRa9 zM-BTXt92%?bzfnRK=M~-Sl?#Xjr8;!Yv0qnQs-W?Qe|3QRx?t6@9#B=N3Zel%;cp7 zH0!NEDrr&5gnA(_pmv~FP-!Yv@Y9fKrBM0zRg?(NTV=jpN}M}A6);{i!W~*3Y#A&b z`ZSU~9y@(`UY#yxn+fA3Itnc?6xI#DhloW4z~4aMf-is~6f-hwiA1!6zn6`p-jIZshX#5@et?bkH_kVK(vlW>|nTkwowr*}*!Pk$d68~RY zE1Mf&G4zCQ zgEaiQJ-#`U?ZPa!8gABnf{KQah&`*!_8Olznln1NE=&C$n%n zPiJ>`gjc?orDwhC2jY@#p($Q>1|6+jCf>s=oEaZJ-utbitnEsR?5{_wM?1aKYT)CT z<$NIf(~7oo5K5*Q4BRpm_8ig=uZn<|p|l8}sPf3O;Xi|O{f>L2I9;;!H0{xSsG0@$ zRmxbM=LfT!=$DtSF19TuEQ6V)9CzV1iGflStQzg1d0GFU$*g5PzK<~J^n>K<@_3ue zyiIbfr1lOZ1JBQXRl%ka73=QBX2&BEClVu)_9Y!nx(=u_e#zMNE`a~RAocC0@wENv zSJMnPdL@L0{o{VY60H7FuFl9F^X|3jm?9I}w@@%0J(SH94yB}1)aN$30qCk=@z*3{ zpaF!M+IihB<9h%rB+3y_d_7+%{ti~jEbladozkZKSXG8l;OM0Vy&7HE&A7_f?AHTf6oNtlm zlUtDUC?_%3KA%t+`RUZxh2NkWbgQ&CaVnGzkuM@|XumO0*xYecaXIZqbBl46I?3$! zTir6s*Rn$$1r>>9%(B_E(X@VO*EvcVxsrU5!ta##C5}9qPFvp3`yhdXFQQnQ5xB#a zQ4S3*U%hJrZ-%{%Y>Pri-3~t;Z0uL+exCT&CfQ_M=K=N$?4km{I>gUsXE1t}j zb&T_DWxk7;FLeb?!1~Y&8q0bW#PFY27x^HOsaEIhwl8d3gkgLgW#l z(X+9#`256K;8ohczInZLy?x5L6xfFG4YG}Kn?9#~N`IApWRvFluj};ur1n*M8qf+J zVdfBx*Lj0tN7>SGo%)%IqhhHOok4xvVaBuu{VVUoYJgHV>?P(ut$f3i=38w)I5aw5 zaD+Kb+Z;5nG%VBHuA;2uDg3!SGbyDRbRBB*Z2DH$R1;BSSnFN?qv=XpS|_>xz$j$q z&Jv7sM080;21%iVi1jLWR9+%K!!b~0<+inlfZjhU(BdvL?kq;k-k3Z-h8wv)^mVXl zkUnHP8a08L30oMZH*sc#bjd!2T=^KZ0fvO{f+3;qU;;>2A(Z7yq+-6{8F!H>S}Frr zdljQ62Q&KYx&<9y$p$Tm#zQsx$|HXr`0D(5=)<=6XY#9aF*(1olCmCWlk-F$N=v@} zX{ZH}FZTmaFnd-ihp%ar;xJZi_Bl@5T%fMiq(4M;d$#3GBMWU0Gy$9>>EJdlott(W zHK!%^_I5RPMs%I+i5j>)G6wWT@8lS-K$OJre%153ea1^xwGN>!?p}8OB|!&5B0_ct zq5MyKjk+8m?696U_SMZ(-HE6HO-bn@E)UFcVLfD`S#Q`{yab{7>M^;aax}aIZL4uj z_c6}ZEWxVMcAfpG!vO+>@YDVxez)~)bEvVgzPc7x)m`NkG#C^s?^|6HEeZ zO)x2HS-mGWQr-wxpvN>i_1cX)EnDsWb3(cs`1}rN3h{~1Uw0rTFs?YhJ>gs8ktEgR zoMd-^Fg}x_x$#6QV^c`FFx@GAVk0l1HSCT%$#SdOh%A+EIVS0mQgX?)0%DBW%?IWqt#`2)qJPzh(j!K3sILaXB%aaft%OTNBb#%7ppR7 zrY{a5x_`ITHSVcxu4=4ws*+Ya)(S5g4BwxcTr}j6#6r0a#2cxLIj6c&tx0tr zqfprmKMg*nI3qnLj^_`t%$E<(=}jFTdolcU@F2~Vh8UC%2}gfUa%OKW?P5LR_pS`f z-Ibp~Ti^qTF$5TK9(Dy1qYP2XkS|L{fvn^^&UprSF?eRn_?sc0{vF-ijuLVLuu3{r z`?sR>_q%UnpC^GFzdWxm7nQp+hn_9V*2}HSPx!b{a<+7#9!fnulC@MKo`QT*Ycg;K z)NXfT1_|MM$wkXq?y%41j%mK0p;`j``Wi*(#bnL;j6EI*>3-bty!}ACQAbhNa{v8N z{aI5+yx@u~6Ow~It%b&Iw%BJ!aDL*E;%6LuJZv#MF8o(WTEIK6ep0-ByoHhBng$WI z1l}eu6)W>o*iDQh^dt0IhCjQMHv>$ER{)090hGJ?n$CZ?CbM&ZE3c8jBl4YUo%Rzo z2}Af%t1zXNeyn7#F@XN;w7WI0ALlS*FBP!Za~?Bf({&SIE5^4MQv5npJIp$|s4G3!hHg!aEoIxi>S}Y5?DC+hXN;iwz4L0=Q=QX ziw(2P$bI&@b*@-<95F-c!{7dw68>%fdJ-PQ;ftLklq5w0m)4 z3!2?Y=M0ZI-^oD7kgO2@;0*!pJ}U0ZM1}1gvqt?D^|LD1z+rNRIGcZ(bDh<~bYXpA zV|aGLffcdr7U&YJ6P2Leu7kk|Om|q>;WYsN!y890#}S8Tc1HlV_?oer!HU+5DqY18 zb_qm~Z(ofPX$iW33|$Y8#qSZmS_zkRDXGHRQ55xAU8xb$QiiW1hPs{db`RJZ(idJ3 z#fl~azPz0Yq{Q~b_@vpSk3eEllyYXH)~4b#mCY5Kk(-q^WhJ>p{`Ok33D7#Hw1u^2 z;=evyYDK#)C9|WI%B2=k13Km1$+WU@l?5-rFWw|S0zsg@s&CSpGG4aqz)v_75!4+{ z+NN4)8vWEZ#q0u)uh_9TGk1pddm71=P2qL-s}EO|RVCDT*ZV5bc@F&)lZxS?9wHCJCX_7|2c)IqDSiz*l3p?&GksRDgDTQspe~&eo*QAuY{8IX=^Qq(gmb|~&;!H%QXC^tTFV~~6{IlQn>#scnGU!_!62Ma|iTkOkZ_5qfc|`Y?rzAZVe3XNhC)Xm@)J zx)ZuE-PXO22ZBaWQ`rmOSxTbq@+OD_`krRJL4(2UpLn<%+@@NZidnnt&$(2kNlt94i23I;)(eAqJ`D>@^(-%%nL|MzR-SZ;AFDi zV%qu_zR*6?;VF<~`ikdR@3gQoIcRW7`@GsmlmUE98LTLl3Rl>oFG3q(q7W~t5t~Tj z2DK)sRwH&cPI$LLFDrj(P<)t8!P=Qy-=EZm!z;bz9xm&a~d7gz&F!F6Nn-*46aIr^9;P;`Wnd^Y%c>O-fh0d%F*X z(U~-Gdpvc4%f_xy6kFj_*hHO|M&~Rq*)2M%Ip;gI5;X8S7TP$O<`%(U)8_++fV84wHUcOy|@&>y|}VX@fcd7auWMfZLj)IwI=L1 zDjBgCvO&pJ#u4x4-(>AvS_fz<1tZr7{RbxdZuf2PKTUf#e0_X=`pd!y;{eZK<*=Lw zN{40uE-Nu&3&IS38CnP~1npK-%U%P-FB$h0vvo0JCUP7He_cF6GRkO|VMhdaT_kQ_QySKdP@ti1Nm`g;k2O1A?GnW6_ zr#g{bP{20Z-07|T8LJs1XYC%8hw_h={p{QGG2d zRDhEG20H_+kT(5h)15Y1gkvt{o_N2lf$(5OP;{WFU%Tfmm(v7_^-q)SdT4bnG8`Nr zR|Cioqa0QCRhALEgL9DoSClWAUAqE44kQean(=y(MqOrPD;@kTd!|DO;f({t{uR(j zy3cGFx1>9)F^w@nWwFLwGaKSF&IN|9mjoz6X z*&Zd_AjNpp_*4aWgb>1uA}iJ%j3LJ^$4$l8C*&kPPx_gxmQuXoM(VA!2b&$Ye%}h) z0!tl=iwfcpt#Ji#XTkqwP7FvpdfFtd-EDc~qvQ*1DsA`4ZPdH{onyD>k!+&aT!Do{ zRiU~(;}h1C4u_mCx(tyTiGS_3TGrtfG`o?MwPXBUi|XU=`ywbd%@1meEAN$q%4Ox3 zt1{{W|EhLe=)(Xn)8I0K2U~rv*ap>9IfmJ++ONt7Hj^-wY#3jepoo*YiyL?h=Hw!G z=Hx`y$n8PjfkEKR9PfWcs~OH7SDqPJATb%d;uVQ}r}9T=4ZIf7h0sPcz;vO(fR_`i zI3i13Z5MWOcQWrSZlAFPl1wl9E_anv5N)JpQ2jc96rJ+@%jXw`kMpS6)&O4-oB1YF zEBk3K{Qd5twvrRSe^s}%WcPMWeqrsGB_Kz&sKy#LcL_?QjjqpJX{0!!gWX39j-kKi z5^|doThz-;o+FPvqX~Kpx=@`TJO6Z}`X3JIP28EQVB8lp%Z#Ck7l0k146(O zDN6&X!7wO)wM*JB4bn`$Se&tWYS-Z)2f70734!)|ZGT$^nR*!ZYyVHp6y*SW2HGnB zxcXX@AeiOF@vidD@e_nv0N2P`$pm^y#ZYZf`?X<=*_?H;qN2A ztn-Q46l)w;66X~EH~ukjYLLkt>jyWWHU*>;wxn$3Z-J!WS-%t&;&ToU)A>)im{T%! zb>LR#UJ91dPSNf7hqAT(Y&)w1*ZaTWZ_|2o4?bL)qpYiP4q)Z6OrBa}9CC^6PN#@q z2dQ<5sfB)knmP<4U1EpM9U8gOQ$i*-ZK_SJ(yUCZ6jaG;&o!+hqr0O93nuvU&a7mi zlk6;@XDXpvvF2(gSfE`Q z=8SQs*3awH!#Ur89*9guJa_?m0g6%cPh3!Vli)UQT;u7}n^! z*!i3i*Z#CUzT}(hD*vc`(=IpI z1Du(YHZSak9CRE#9sLO|_ITR>%TFf71`o9_sNF@?!t9i1zKccl)=_PY%>`>2@_KyJb>~WjCZGYR_ zR^_(d_8r}rp`TO#EPv)bmqaS_k$==5>PML!u(fw=cCH1uzg~n&8=LM{? z7tAV+g!jB8698{sSXFmLUqx`0Rqelxfo)Tr^8>;$@vMX{=h0T3mA*oiR5<9v*az6% z7$V9Y(FQRErOQtNxs)l66XWy(Y{qgzJo4WVWbh;nGdMEzXLQ5liCNBKH&cs$Yo%1~ zs{9_h2uC9AkVg^f@Mvf%cmv2=F(xySa74-c1Yo-fo~KVvjyTZRJ?fq7+fM>}rjnZ9 z0GB8cI5P(eH{~bg+T}dT4$Dr@Hp}7W>b);7YX2Hp8d=98JJNDzukx6RV6?UFP16+H z!;a5L`L2bo6(kg~2G2F0HDIdmK@_hch4pl|nU0ZufO$VhRif5VvEAc+TEmwns}~Nj z{lsf)nJ^9P2B0+-XK@Q))9C@Zd4*qYU_lTw@P+@hw~hM?CqFxH3yNWo76WYn!zj@u zO`^B_bKC=*Q=DhqU;I*0y5yg=-^!cd@#qWc`8p2_QKm|k={6`kw*831ABQXUzIceW zviWhNM|yWP|HC#RJ)sbgzg)7qUc5=DE6CwX_@+WtapS6;+!w@vnxcx;cI(*S`pmZ2 zd~x{VyutmG_gjDcV1uxC5$~hiqBq5mV&`L@#chgDNyty!ntU%sJ(ZGncME&l-W~co z*jpwyY>2++bKSOIGg0xIact~VkD~od+qpJ>ayt1|+XsLdolXht!4EG^KcKhq>!qK- zpHOX@EW=KVS-ag%nJ%`jW+aGXy6qt|SN%-Y4oJjmD|2CbVQ{t+)OxM{PgP6#^D;qM ze?>@5MC121Sa-$X!AaS|DfYC;V66u7Kb7Cuv+AEUj%f(gj$z$V|H5B@FDR^~CqyaS zaeDH+?$p)Mia~0Bcke<^P_MXenMNBq1+X6+>9*WZF-EScEQ6LJ5>*ydUaLGoA`qT1 zZ^#-bP2noLxsoENU{@?}pBtJuG`zi^+Vz%lwKcG*x>iwP_vhGmB|yu2{GOIKn6ooG zEbBpLex^pYPoCL_GsU!D*lO>;nO)JN3yTdx3+2n0`?>+9S8O1J>rQ>ny3P+B_t-UC zb{TbOYhaWiA_V8F|?Mx%*gW54ECGyNA}lIBYb9U;NJACpJ?w!2+P<)kaHxF8$_2rH+%N1=mIeDX zr-D~53|@7UKLKrkokO*%t!d91q?@E#kgf0GciKBT%-BD(OS4U}$~D_%MAnmQTB{yb z5km(+xV0gP#frM9LVy>f2>gT$(a}|kOrTT;T~XPkHm;pw*khVv-D0omtnc3HEd}Tg z|Am1g5$k?O8^>;myB7Zn&}Sx+g4Xj=#2dZSUTvP(`fK~i9e&#(o9B{mLCmbuC zA*3N+I+jG2d__R zE*7!9#241U&?71rv2b-QjcRpMwNn^16@Q>#61(A!%!Q^{&u zx;cxRm>5zAx&mnwXq#5^SY2$@zS509_7-aub-y3YN95P#?a3qO#^!#=eU!iJ1F`t` zulnl1R(zlD)G*6U_8Re26KSMpRc&A4ROeFQdcozs6UM>Nx(!ggA(*{j!KyO1Yw_XK zmXWl9|9T)@&A@K5s0-7lKlErqHZNw`iZ?0_!uPAD=<1tfTDK9-xSsYt6Mzdb2wNBS zIb>(xH=iCiW#W08YbHB&_o{ZoN0rJX*M*T>JrlfAsiH5i-Y9tM!Bm5Q4T{fQG z$oA#l;y)GrBN4CpLxA5|?S&2-=V}p)Hzq!Cz2}AU2Ly$GQCKwa7 z4D}rKL^TekPbCKa3|y`FCJhnq;(0KUi#{{D6J;Z2Lpx}%2LuB*1}#SJjbEG|o&QW9 z;aG{xq=yyl%2v>OFbtdw6F@1D+hBX;r%LzNWYW2n^}-PDXU5xwb<>zJ`@tW*XFCJh z`~Mm?C{^Dr9sHi~t+3tr*#r4J^>cYtC5^<#k z>a3w}lxY2)&`bL6mgLTIt#lr9IBH#DJga>I-K^}ks?0gR0GeDH+R*RQbD-;QXG#~L zXHP$TcxdA0d<8RIm?Xap{e;QTCK(;I++nXmitsG;8xBecT@Eb{X$`#LYwkgF8o=)` z|7#GbX@tH2eW2JQ(HDK?`EiC=4_N7JFRq+_OngczQ3xUNDwC?mv^x!GCi^VYZ7ZzI1$U?tusd9-#A zOhw$n?$z35aKiMK^(}{V64%4huPNw97(Mb@^bNo>15Nmo;FkCy(J_geq`Ll1%D)?b zZ{nqcx8B)C-?nM%$fk@$w=mTIZ}IY%99cvSBfE0QYHf9G?c`;$5&2PDBe|GL>fa7< z5g)TEM73*muoi5S&NE}CRhYw|laQ1`@+SJ)&06fim1$Ctqig5+8y1(x_V)4HTbgWZ zqbmvJxn&Q^S1RSTPn&mBIKAIT4$c_STX_kRBcKL28~t02p>bF9okon>47vv43c01| zlmL}n+$Q?5`IIU0sP<6Yz=^&my=}eG0Q(F!`em|y&XnHBc_-Q}D+AfWjw5fQ&Y-uU zccJQ#KjBB9GUY%eUHS3VG~q1Alz~|&ok|+Dp`GbTp=Og!THZBI)pk~HEv@{qq2%i) zt&f)r&%WPNAj#XE8<%rDXG>m0q2ZUeKc7@B{LSgPHX&yCN-|&{)T0gmvp8;7M$~sX z>e}q$d}5cg2%JTJPXv_1g#y?3oV3r+a!`9|B}R&r~7`^j#Vp>4nnFu_Gi(v?S5E@~LzA$_XBw6`>>D$oRO1}U1L_=DQX2o$p0VaHQE=1;;W#7!~d-vwu=Xdd$ z!Yq2OXJO^%e|~JP&~2i3ejR(mxGLR^{Hg6|+HYGxJmHG-$nwCs*N{FC1lGOAZ?sEM zPeJFz8BD@##>l2VGS#F#s!gLUnGEZ2?rs|>9J@A$WvPf0l-iI9n#H(JR%VVuH;A8B zNKXV~oo&pX=r560p(g&z?tdM*R;9R8ns-&AlvgG7g5T_EdeqX~Lgm8fVi3KB<-!kJ z>5zX1Pa*@=@^sp8*Uf*}_&5lO-$+5O4_%+R?03dHPT=z_vyIL4E~Zx@1@= z;*PK?8I|-2x(d^jt<9Sg-jUE1OVC8LK%-DU%(TXu=TJ`Kdt~^24J3wQBi2PR)1~nQ*;~3cu8+;|f9&v6?++x1*EAhK z)9+$XPEv*`S1A+ZE`Ya4Y5PqT_J@wYo`1&LBJy5Kf&Id|>1LRmw$X7cCjEA`blu@B zbBMADGX1Svg2_;}5wq!`Q~oprb+!3q?VpP8rGbBT{_!m9uhgo)+wzm@HozU@&$+WM zi~d(80 zZ05k2^`KpEFg2hJ4)p#A%c6eP7QgzaQ4p8op7}6C=k>^o=;z4iuV0Yf)MY^mmr7oj zNB(8>jnAqGPeZP2j2Q36>yk=5XMNxKulo7<uJdmV?d)_kDpK zUt4sV&NcKkXgA~9nyCZ*;Bn|e0ViKl4f%~t(mP}(!Y?}qc=ZMB4au?6V#DE0Dw`2ozigFlp5FK*ZZhx=amla>UMu)_)^%`0*C&cLg$8sPL{Xjr zcTEwQLcQ5vIEJ1#Vhsu}$s?eVm}A=i8AVxf?2Da7Nf9IuVx%3|@;PovQ-(BFEb>T4;IgjbI`8U(x3B%Flp?ib)LE+%au+n(r6mTtfTB)Tx#|ftU~rh8OWw0C6UT=g2GV-!sYdPIKxei$ z;Of-<<@;6g>Eeg41u1!i9FMG)cggR(Ge2ZM%%^@l^z}%z>j z_NF8?k0!4u?+(w~ZZDnCc1ZIPJvufYk|43+9GQPG#_nfzzHFzqX0({JUM2sfw)NSL z9-IwkUKS}7PmwYW6fV!Q)FH?f@8cXK4YP?lw5}vd7=9)Ay>F=-i*VVh7)RA4q3pn1 zX{j)mQ^QbO&R@K~_;bmLL1w!OoK~~e4nZEN%mWRy`;Ck(d~CBFjGgX~DqTLgY$x%E z=N&X`2h3M+^*UG8j;mBd4l5o>yhItiaW;;%iFuEi&3ef>$@dZuOMO6i_yJ6Zrmev# z(+cYehYFI3C)-yo=xC^Bgl<&My1&s`G5)a?vF35t;@EM|;$J6dB}tQ=0VTLNEeYr| zxR)NYF(%$R#M|YAsT4g9)GeGGN$h#iafIUEVN4zEcujfQo=O?%6!-reH!2URPJ;QbZm zm0s2Lb>Ev?+aL8jAIh2hw$RC%6PCzYlzZV1Pyl}eOTs=wtE#NPUV}}Pp2_-GY6TIT zXLR=b*J;#*?&!eK_Q7e|e}kunQ^yu3XJ%cOmYH&%(~7P<0F(-eg}K5>@H4PrXfJq! za;p+tF(vboXo+v|Z?pC3!Sn7@;iKiW++JFz2_>%8uc@WBry~7###huQxA!M&Ui%y=!9O62#7L?GK)AGlH`x^>~rd~jW9i@TZ`QR`?NMJw&PVYUoUqq?p{n@ z`j{ikiN~&9eb%-yi-}tl2 zRq^7y`fzsl&5jYuYKN3sM%~%5g_6|a(M_gJPk00Fg`?tgYgeG3(NL|^hNb2te1v5AXqBM8#q1F=Dg{;LwYO4ucYaWQDpI50LZTEho(%pZ1veF*-dwFjO{F zIlMTkGD)3bFKl37xo8nunxohR=0H>7#c*wSJ(LUPf&>bndPP>Yx+-enyKq7n(uE^4 zo#Xq4PYo3!#J{2^(&lRWI)JzSnRrrB1RDs*pPzd|M@8@UmS{E6R# z%fLELQio3B-1csOxdY?^E!`aMwuPNL2W` zU`xMQ_ex@~&3=eqd{kVV5PBT zocjQMI#e15?1i<_+com_nvI(+-`SCzcDb2)C;2Z1jfT2KK%;i9I~W}pBaJDFjf!K$ z{fuu&a81IjCvCWxT9uZy`R11Uo3m4C3B#fKZokY;RT3vp;IAdd`v+DI%@0p#NgP+Iw&}Eqd{H9O+KEPUD17{1J;+xI(SlfMac1 zbdHe&xMwW8scpTDw`*6c*p;NJ+Ul}8Vl$h3zB_r)cfw^pnfXMJBSizG@%<EPp-S3ORM-RZGcQUUa7n`e_Yn8X7;Kv8a=N;d-l%1+)QH~8`mcEPcK;aq- zI4$clgb9*`d!R?Udyz{Jk%-SRo6$>CJqo=crE(uGYEO0yn)XI@`gXKX$~(lJ=X;|D z*N^X?3uR^sW7mA)UTPdY1G5jdc|>*hWglT+Yp6IpG~#1eV(>%1_Z}Ti_IR%89=&DN zKKKr$hE;PxHangXyZmM8!158sQ+5u2+e(()7i@$yRaMn4Gmx3IS)%bd4spaWCp%{! zCr3wu{YINA^Q%VFx_FJZ=soba%C>7TNwmnGKhOEZKE^iSJmL267ezG5GX)1yqtd0O z&~Y<51kev(5PbpK3?e`p>=)i2*}pC(CNQ=w78^&3ON_e<%uhA(+=N$2S?hZ@@Kax< z*`yC`sz~9+>IeTz3NrnRu3ha~OdWCTIp1-eQr6+q`J+?0GlUB3{HJI0pvq+6q6g=P zxOVL(6pwDxIHiv<)v>Oy^B`Cgvh5tLcbZ<-KcgOv@Li+upDjrzTxgp*-?tuU6xN2- znAN1!F4cE6i^&?@Uuc`g>9hOjQ(V6l&$YAQKkz!0GiVx`kK!QJ;h(@tN@21)E2V

W5H@sdSaYmm5;pg7=``yY|H;Z*V0R#ZK1E27K`M8VYw%fs z1)&f6x<&*}Oth$j2WIn^-_E0^kBwo6^niwn%~Z4YuPrl;ziWLei~gkj_);?PnNk$+ zaiH+r`|Sm@`Mw25-rxT4_tU$t2mYL`ttXGs)aUOBjwQ9jZkhOH1u!18!flkU&K_JYCL7);DGklfyFO?iRdX`6v$ouSZs>M(B*);&{{^X-=@YSe0KG_|%Pi@MU?MO!zKvJk|c6D6%Z1>U9~nhgfEW_GrA zfD$Pn9wtoNE||9%-qti%p(#khj%Dl=ZV=ujZH;b>uGO!8P<5=jymn9Hk=94l=zjN6 z?U~u7V$MI}die>k1>zYh8xw?mfGI$=BQ`>xgUaP&s~llJ_cBv?DSx(Pa`RaI@a*6e zZHY!0`ZnS`ku=k~aGLQy?h{d^^s3Tn$Y!`DaspY1e2JKZwL%^#M=P=9;ZowtX91b> zilMidI&*Ejcj#9Chi)V4cQUc%Xk$VxxkBlW$9KvX)gsHnwfysWZ*p^Txq08;=NHA5 zME*QgW?KVkF6amtJTv=<`(w=pwOvQe6lrVfNFd={A+9izuVa(#nAwcJpL!(1S3wkc zGGES?jv5YVbpPp42VAjOYI*nCz=^TvvvT@leu^{=dyEmlt$1 zG%E}gHWhp>V8UC~&A>6zT3~cm+YxgBx^FFUC5peFUBif@E3!Xr~z-FvVKo@c(nDaFh_WoHU3^geCl(m62J$;d-4xwMVG?uznz;au9HYgz`6V zy*W(w1&*BiNI+U?mEn~6aAWLAtr3GzvkaR*gflKZo|S$&!Q`;6NY7}i*k5t0@oNcH ziNvJ+NiUM-l5QrSTmLzQxj{9Rocca>bi>i4Q|qq!a~y@nvIrKT&PP1GeXF6+@XqWGB(qRUF#;Vk0RIg9% z5jIayfQraOEf z&O6IU^Q7+pSyuy~G5<7Q!*O+n)R-!rpuCUDoI+?Hf6a+el=|`o;2;+DO@kx5g|4WWZ<|SQ9(n*?3Dt#HfZoNDDP=l)DXXl)l z4+Z~|c7a52F-EM3Gys{#0^UNlU4q>e8)b`Fql-Ehv9VAe={Ton{@mDV-=Pj{i%Ww^ zZD%#C=27jYh7*7L+KD}=A;m=Z{5htwAWh<-6a@7|GEq^O^%zU^B(e(@1%9VcNH45# z1TI{6ruq_iZu3;?IAnDHaN*GKki*E^G2Z0dtmo1Yvz@mp)|3~4QlWG3aO6EC72yll zgML>IQ5u);mX@q!2|ak%Sl5+luTN6 zo+5fVnA-d?b=99yLnHWW{X!X|VfNbCRoZM%Wv4Dxm0H@V(F-2*9gm-zWHbxrWClj9^RUo7^N#e%4?H|X;k-g-qw1?C8w?{*gm(ZDU!OT6zG=&)+rYT0L!W{|7J z!0t!71G*kU8ZHhI=<~WcJ2~|nI(LcRCVCs6fc}q&%#>Q0bO&d4fN*ah#_v>(o zHo(KRg?HyNhq&Drsr#rlU31+RdX#!TbPIbX213Uyfs{5;cuYnFze4t?^0eiKt!8BF zAiHPw*X=@Wc9?I(rE14xNRSYT8pmxOJJ!&5v?H;ls)1L#RP(=Dr~1IAtX3atRbTGN zg=xK|ivTaNOd19P!LpExsAhBk`ix2*TmxdPq%Jc9Hqy^H<&4tBg4u@2ZDZet{|*+> z4$vG2^@j;#&QtAkzn0tCYQm$E4~irR2Ju{lhN7cHDz?ZLm>Faj=YADQq0A&8S@Y;q^ zZ2!5nj8yZs*`;%J*n4qNr~$^Qe%JqEzKnMyhLEgXAS4~)c{@MLw>Yep9tx)%w)&c5 zw+N)ihj4w{x;9cV)Ek}Odrr~rj9mv_rfU92>1XhFRHml4VTw83R*$&k>gD~ze<|on zh);-l&>_F$o+n7T_O_PsxXoG*(SSc|Ep25t{~4RZxJD1BdodzeXH?P}ec17r&M zTlJi_%s>O6=iRfdvR89VBiCHgX1d(%9Loq!))KqGC zr=s&yX9;yZRoEHOH#*!py|O&Q+ah@e%0N6*y{EI^Xu;wTK9n%&sOe~Af71Ghsipoc zwXZO!%z;}yj~FBNZJ~@b!|JtbI8}+&Dz%!xJp-p4>mdyZCqB%lF%1RH61mc5fKh)8 z!^Elrie4?M5fKG_4eFQ6R+oggxHN{!;@%m*iHZ^4pm>1Zujo&sv4$>>RZRVFemA{} z6E6BDeW{cMc??fQ!c=}B?;yHhLy!*T&r0z?)@A)liQpqAjB#z@?DYPz+`(voIR2BO z*S4$qc)fPDbJ^67d&Sisr3IJsu(^IYBiRNy|KzF`5I^23?)oXIFloF=iKIEqWU__Q ze0YpTjp2aBPCGMVkMjYNs`DHHgD*56H&E3mL&Pf#MWIaI?9MU9K!0~6br;2h^1GwI z>t+AM$hMg`bVEUoObKd^VQ59;0xbIQI43pti$2@{VX%GZ;SgHjFW(&=w$8qGE#@l* zSfHWF5K!|0&P=jlKHPjiWK~-yfH4C2jc${*ob#X_N-ZfFCs#* z30g-DZknF7wsN@Ue9B$qE%84ZoE-Kw;&~K0+BQZWQxNMM_d6~u9+H3s5-SFPi+q0L zN1%88TH3_M;l$R6Z(jRscW4JH7jcxQ!)U`@N2trxmt7s*joqxS-(7cmFf{U5&fEj0 zrqE4>1J5DftNo*kGLEslher^Ijy(=Rc!cGBqa|$|#uNN@WrTTahBf5X{h-aI@nKC{ zWot!ZWk_{KU21cByMNEkA?oDXf(;ue`H>fa9gycRTh-dtDeA}7n3%^Z-(i``x7PMa ztVM6Re;I=d<}=dq=OfZVAKKx8#(_(1`nlk-e~I+Hq{%Agfos>oP^$8sEILUaxv<+4`ReCDldZ z_ZIoiK(eVTyCFv{|7qdir`=yQep!}B)CRY_>2?_RV0@HZLab_iH#uMnCmwQn?UwJ> z?BeXCW`E1F2bZdK6qT;*ze?g9Uf4cye=xeYs&k;@LB}|Cr2G89kx{RiL(5~_d#h(b z&yl}?=4>Og09zz+znh&8BOoqB5ei)2!O;Qxy)V1|Ap~2e8;9sbV!y&F6q&161Q$5( zn6vcFbXA6k$>LNCELX*HOYmDn2zC)@wcT#aG+(mzwySc8aqM*TbA02#!Y5fznAPL_ zb#v7n&|rWM+aRxAjS$`CXK^2K(l|(N5zk*(u>z7aK#6b!hORNEH*Y*`* zRx606hteWz&*aB`v(5|(qN5&oovw8ybWL|%@BKLVe;l1$h)@2Z8X=m@^b9jZwL5uRY+I1?hG!NB zRR5K2W1gQV?6;>rCFf8+bTfLEdYpP(dXfQ3KW0+6FvNBjA!HXIZ75aMz1rUm@0*9% z*x_n%0$V$)F_XP|gKGAu|3I!nAw6(9bttKOe3Oqya1x90l~WGlYA1#;lwr{kfUR=&{?wnS)Ph z7iqT!>xWgw9i}_yztM>tb0NTP0zsfV5w}pM(7|W}lsjSu`i~+5v`6+?{BYGku#LNu zX}Xj(E13A-h%@bGZwS?ywBE75byp+5CbHsh+2c~RuZdrr3(w`N<+|DuIW4$2x@J1ZIqm`WYgY|6Y1~0)gY(zw zIqr+sCoP80^%wNyc6;^M_W9BdjJ%x81Pl&aR^EuGz^15Bz&T@O%(Q%N&j7ZaC%uV& z+X4jsIle`kPHospD6~Cg#@35gA3%3PcF0;+9apM=Ta~TMqs#) z=oczX&2_yO#$U|stR=P*oU((x1CRr^qgvZq{4oBg7oa(-T#g!sZdTYN&0YH{{C5S$ z-^Sa=)8{{3Sq5G~hh?#fpAe2pZR%Te=|(p#Ozlb>(QcX>-})R6cphvJ<`l6Q85O-Z z1|ORjI~*&H4T%%Q;Sz=t$AGk6)s`D+$F`hJu8(H>A9YSOal*b>moMdx#`L<7+lV!! zU6dqhG}Vmi(0#7YdHC~G{ZchIXe|w-4==)6Yvk$4O@3Of+UYw~+skZsTJALV)sZSc zg5e}vxK;C{(T?8sE`IZyI%sudrDx@vs>Iqujbm;5$S?W@qv5mH=()TPYjz+G^bKkr zTdi!MVxr8!^dQw?5`|{zl{I6*P0knk*Llj+|Hev(dIq}tntS_t?fZLaZ$_*p?dDD_ zbJ(v0_TsIeW{5E&9OZ}BMvIWJFgWZ^n4D&^A3XW<1o>hwlDL zI@zhwmeOQYcewJx?~2kNC4EKSg>MRy3)Bi`^EVYdD1;W@`^Nvdq5N)bRBIEZdssMs zj{jAzg!a=^GD@;!+x^1dAzURi;P>Nh12zn-uBGZC;yEaM)t5tA+&>*X_H4+9wt1j; z;M?HjNc7~lxg7ckH+XeimJ8fYJXJraCo_q#P68OxQoto}$LE!=#E0S)==s8R75~|$ z%d|xAzIqvEFRT*;m-wwd6wvu`{I3ApRbAA(29w?gB|%aU&oC08cfi$kG{Tx~wj8lO zZ)wk?U47$|7Hzf=M>SU>z$h;9s|idDxf6Cc0v44Loe>ikYa9m#_=~R+4<_GD z8QNl(uD2bzLv6c7T5^JKNbrW+=8u#il5@)&M{Ro^5C=MQx->~YN%o{mM0e6XY9_!+ zG+TJUzAdtoe}JuHLp9GE{LlQUZ7`lhs392R58FDLm*~%`4IwDfoxG3*=vYhdi>?>V znspgfMHMe9=l~D+dIP1^ndI0PH?nhj-_k|SXVG)nC`212!5&cAuF6#jRDOstL54s* z6fn{stMC;?cJtD!*|7=w$nfBofxZ29{k8)~2Pq?>iPwO0r-HR{rE5)5eqM152GFBX zE~tITRk$-O957<&f$m8!tgi?W{6?0^vgMp$Vt818V4#~ra_cyx8IUuV3*MRrM!2PYxK*?&o=c+A*ct!zR%-Vuw1X z>n`CgR!-gyf2^BL%5~P2mtY;zx|Iof(#(~S@xCs~BVu?Lr)xL)T#t};b-Z#eiD@c8 zNY^23fID;2fNDN(SL`(J?(H4p-x_#2C_V6<-(fE`_gX@x?Wk#oZXLi~WP-0s6hv9P zBkcXm3yjZ&#aWmaOT?%z@|3ze;B`Ug@=%h^=%T zgwFdsyuG*iHwQfo9S?7cbd9!&DFjYTe`8+6yo{j(*(-E>XToq2HbrGiOqyWJ+U6~B zR{@PkgT+==3)xRb{5ZXLjMUtfLBx<%DNOPX@(j7AJCxP|v?#UNuY@n9Q4k^Om+Ebu zRO3oZzMU6d!||xYFWY}CW(?i6(y&JrmsgLo?#><@vFe@fVzzv4u&qn271qwzJ2aEp z-;#Cvdq?g}yDrVLp9t3^<>0;W2Gn=VM(j;Y70Li1g1k_$lr^t!6*ce&*?IKs3kfr% ziIvgb;Uhy!gJ*_3MwG{kr~b@Amor&6_-|G(N}Cn1PzSgJ!VVDuZ-Gt$M6^ozH7Q!` zwW=(5#-%W8m(u1MCw)fs22b_bcdwIPbhfviZOp8RDIfk>`}K5DNWOmV`%kxX_}N}L z)t|2CB@_*PmHyEu&*r)ApWD+g)a&jpA$yT_li(D5&+x$X=+evs`c3{X@w(zhOt1z|-_=~lu7E(^ z;OlkYFDY<$P+_2tf2y~qhq|*8Zo7Gkew6xkv^ykIx&&mInd~m+1jB%NlGV=P^8bjK z;_ILj&>tvkm2aA=`X(m7Exy`}0B3CnM>|Iq{1UFw=9>k@c!yq*#+uSS1*}btBd1ZNNluS(siV zB>GUy_E>&wRNR9&YTSnS!T7cWRMNZT)D&)N?-tw^adJ{@X^_W;E{k^6Mp+b-I-c5> zNZv}cAa#?gD9Mxz@;$P8_o0EQv5@&vR*i64mOK7(cwswc zK4Va+k&YICtr~sj-1l=zlP8n)2h14@v3dLUX5qk`bd*~W}|U4|69)BZeE>{ z{eWa30l=BkzsdzlFEIZibD+l*tfkAV-&c}3Ep*j|W7D4FCBsuRTK~ts-F@l(UukY5 zpC+EqQkEjv3IKP;4Mc}LLx9j5FyWYVbP@6rTo0NF7RliN?}#TD=Kjm9Uu>Nz9RCKG z2b8-Hk+>b(T5mP(tJSHb{HFfc@h!LbanWMIk$i)^h}_e;oV-tkP9;&L(z1$5tHzG5 zFEppQoqP`k3D!gRt66~EjN^G1s9Ub*dY<}Ok(qKmK zed->{JO$eGwZCatdCGkeK*NdT@=b_sDo#50jZ>|%?9Vw*x!_~^6>(@ zRji~M1ctpsN2v<69vj%2by}x6d~<%|&e`0>vzIOoY(?kXr}QUg;lsA3S!-u%Nmmp2)c8~D3TqCOHS?CL1T{nnTus5 zh>nAfAobLu^d?PPZBUL>SDTHCz%8(P@Xz2QK|B1(UfS+g37c$>0-s;7>PzH3aD;>> z{LH(+zR9d%STHMD2e|<6U~Nje3=TsuvA@*gb*~s{m`kj1c6Wgm<-d4_!%2HxyLqb_ zGi#$+oo(vF*jI==MU0%ft}GJpe*-NkRn7xW8@CRi@u{yLk{wr+BBqrX8Z5mYle<_&J_#PLX2)bXg6C@WyYJsEQ??rVa7vQ8>1Eo9q{?Y7%4 zq+W^D4UiMw8a_k57240AAM)6l#-6igp@l^06X^f2 zL7JL|w=4v9&mEhc;+(GF=WRviRD&3e6R0QhpcUt(nsKH6P-0ngTWxn`TlvoNjEcpo zrMjIh!Y-5EieH29$+5pp>9euQH}g!>*ui!)c1DAPp)Il-j(8mKN~7ro1X*dKsLQ+tp%2-7Hja^;xuk2!Pf=u+UHDhw8Y6QG7YzB zW@1VdYt|>Z{!9K-n}<1l!QD}mexTvR?!MOl?{NNPCtwlWC5n{?!abC=wcCw+tWG+_ zy1w7I?kf+B38@N+3-%2d^xo~E=-h25H2a~KqUMA84PF=f3x9AESw;*cx)c2oLy3Kk z_d@6|J_b^UAu*b2Z0((fiDo~n((MQiXvYD^M~+^21}@*`qQzU|O?qE6ES0;FwGgrV zjkr|w&&m=vgmaDkmi>@(i038X0k?xi;2nqzrOz51JrC1#>p+JAXN(8U%glc)2o!cN z;%byI8W}qjdn#@&Ze#qDcvXN6p`TQioSpJ(%eAd3>F!&>DIGDJ0*0JMjV4jgL^tLY z0VDF^uBOfiB8vQuyi9T<*^}wrI|i>#YA&U50iq`;4pF6y)HXAsTD-9Pia!W+Z(;UL zR+~*Qx@48}aDwz0Z*~DQZqRQ@ifI+rU#MYKsa9v#oUMP`tk9W3-AYRz_n2Fw|Ke?4 zdjnW8b|d34MC=r{2osJ%!^0I*8x&+8i5sHzYvzFW2joB7s3YCt$0j9SN>a~vJSLW`T2ko&UPVp+GKoc z$Z%k&XPzPrwf;3ZZSx;K&UxA;-erXF+a77HW#X#Su51mzErSZ1n9zC0iQ=Ks ze&1gIo=-hH`)<<=N0HO3iw8LZ(GK}r*k|l@4KMvJQ@qU~{6SZur=HK8-;Dp7Uz|_i zMte7Z#{!!NrVe`TYM;;$sDT^|u%tioE^-dBPp}^V%DTG(_!?MxQXv&qj1E#A)G{+* znHXEXwsFGI?9V!AJ2d0&+a9qxYeq6G)JavhQHn%%LGl2H_Jy@iz-e2Ff1dY+_mUqZ zXct+DW8@Z)>qsAED@{XvZBvkSt-XhHio2qhvETc^OCghC-4TgVN1{DrI)Fq(W~_D` zDQ-6YeBz^INNQ%X{k z(S(#jJveZ6e8++@=iKT8&?Q8Yid1`taj2EA{VPJQGs1ZQ|HQV}3@ApbPQiO6sa);( zXCvsIPaW49<< z;mSfZ2vMW>Ke@8_htQI@nVGhDYDQrqbmYk3xq;*TC;Gn(xDK&LZ%$>-uhU;~4~RAa z|1rMsA`}@@gMEp;f~iK`M_9v3fb%w5_F(Mqrabcl6ukdq4&aLdz+4VUAxupdo#XY4$K`m?~l)lIo*^ zHJgoITm7)-5ZqiYxX_%A0%t`<^OO2$bq&-2=z(ZI>(3l}>?-YVPZ{MDd4f!)TJ+Tq zo*7r2+sx2jag*GGEMN>Y*9{I?T*di1U-Fpsh6LOR@(wlv-cGUJI1dBoAY8XO+`v<# z0@DCJD@U#80}MO|4wy}5J!1Oo9_GshC)U16?*fV19at6h zVVyFgrxpozgTM{VfTylcjel*BL#Rpkj|f2|KdLZVCB`=#8eW?R! zIq9PPj3`Di@dFc!z*<%)*_q(lWWO^HKQ%^w#gU#H7cpb7zxJ?P}%4 ziYFD=DtXO`M*nsx*?1rZ$OshCXL-W4%ODllW|S@Vy3z$D0=6Gj1~-N50=8N?LK z7#gp*SHV)g18DiX2qc^g#{h3g zv-s=`UcZ35c0+bp@goAJbW?pvM`U=%?6%d2?N0kOhX;5B{)qjM?Exznvs6Qb&Mh@% z><}EO_*F(+KP75f>E+dPpK$|uO~6^3zxqNl3aWytqQ9wZ*ILy-Y+7YCjH@Q3xD|N5 z_Ez-o4qOku8TvddF`OU%Gy)&l9(gP(I{Hq`rnp@RV@Y>X%+kElO}CM@nxq8BsQBXu z0s{@Ck5F;`)lfc=PGXV5DBjdMiW6CfWJ$K|DIYAETv(joJYRJMjlmx(yJs%)ZZ}6s>=%tuh*yKN>cZW{X zA_m+B_R#uAG;44B9gI0I@7@dq1#{*}6{9~64> zelZ6Y|IR!bFCGf%-`?Fwa_+p=`n)ls_G!iWve@rWzx>T-e};ehl>OqP^2duGZF979 zwF@y{jepfvrZ;O+PmjH!Us^i=TT&g-_q3R`%Xf@&?swkn(P`nGQ5yE@`)t(J@++FO+!5QPdXv4v*Y^4|2})r-cLSR`P1a zmxu!FfEr(W$l#FaZOc`gn>duiX@>#(ARNu+jpb|8H3N{&iW*!g21$n80o{`bR~3Xq z{D(XhUKB5guLQ7x6UE=&-#wTob$N*POoi#vv|J20V?g zn12-at$DJ~&)pfl(s!Da-Im@&uiscNua`FJx9;w2rzi}(9d({5UP5t_g#Spy3O`|f zsN)zM@Md|A%7#l7*X6_FPSFs5g)OGfERbg)lOv;dhP8*z4CW0s42ee)C+^MoELt!P zcz98y#6{r}v>8D{y+i{XRU{bk779~516q-$i!ZNk5Ljb?SZmEV4smu@XlEn3f?&AXWQI8P}bQgE#>^UKAr=YAOeh1T8ZNE~=D zyTZE+x`P?hdTCr|wb6dq@ww9}ruazzKL5(rO}Z4umLxXn(FiU%rsw5cL; zC*jF`pYutD48UwS^EY4RfMCYrY)mJp%Xs6+H4oK=f^WO`wfwu;g_`mSp;}P$C z9w#%mG6>iBgDHf@%DdL=1y{J!tPG|ZQ=u$|Npco6P{eGw5NpLC!$wz-d~>(9_ZHlSk+7El;rz3sl5cK`Br?vK6g@)yHBn z7O1aqDI@~?N?t8_xW*RHxo?;#;7N69qG$N!fT(AM5=Uz4RBJbEAvb8%$}5U~Z~JlT ztJRl71%`QcfbHOBPT8k(dD%szZ>?ozRmf&@GH+;NUTLKR^b+HseZWNDM(!}~RP1us zCErOO&$Ed(JEhm8`WiuymkMGS7iLOF0{T;csVTfG;{V;FQ&9sWqrYbjn7;(UvJRN9 z@(b;3<6!Fxcn`PeO*{N#fuq5b!Dc~2egR(hH}p7$+iWmd)Gk(TgdYXXukBbta@Y(Q zJz}|e`542CE#@5;Wk}i;j>BWHZt8rUeMV=^m2E)wI*#T}3eE*imV}263$`Jaea1B1 z9QE^n`4j~fN)E2xSUJv3Wk<5SSQvIbM}@ylcz^x8d=)}P4FM@~55sfjxwcOnE!?6v zN__MKUxjQB|2L8uwGe#`m}B6v%CX2;jo5_P+1No~>(rN6n!GK=E)|pu)OM`__l9Pn}uP;5x6a$=*YQF=%y~Zn6o> zavmVM$?Z1TESVoSVrcuT?14X!hVnNowN04Pwo_`_3z{MVtYu|+j`EvFa#{EU=?76At@y5}U zBcsE{Bl|`x$C*>5bL~rptiQa6qTLc2=sLszejlKAIw2}x&5%s+Nl=UoE4dCZo+9}r z>=yc~1-F^L@rq#`nyA;ZdmDLQmwJ0_vsV4Zs=t5GKdZjdi?Z@bpP%M9WKVr;&TjuS zk*EFT#woYbddY-BzxTEaD z%2s;wbl`|fe?65)swWze5R?l&TWJTz(q`F!AI%P!fG3K8p1R}?t;jPuJUmtHLim!C1+xGx14)=BdJ zpr_HVfc-&+VV&7c>-V@}ypdD5bAYp=(<3~~&fluiBwNo%V**H+ zZ|tjBkJy=*`k1wt(pXMhK|*=b{N|d}J6j@CmlJP9j{DrhQ}vS(J%awZH$$DkC!0c+ zQ~v4B=nkcBr$kdBeF?+(>Ep}$dF(Ya1$D%*(j!d=gVSaM)=zPo4tRTA+btH!M)uki zrC2CLe2ueXo;#Y@mrc}Z)oK{7*D~*|)0#jhPB>IJ=nin}{~Jyj)0)~ox44wU zdde?Zt&paI&0r&lW2hz64wNEN7tV%Mfv|g2T zk&TFf9UiTtjVb``Rr}AzA16xqfbr{SHZsfcgIkt3Tbi3+l=BT!_D^L>V-V3`Fnn&A zX9L=eao0X+vSwZ2@Q+iN%N`e^(;a+{t*iMheSz8t@-j$EL}O~sd5@I>KHUg%E|Ey2 zlJk1h2Fu57=apCv!d`0>1=h1upwFdmVH~IJMd? zns({7sG6dT71@$P(RRKi2hLIelDvCaG)~~k{#C402Yd?1zT~Uv>TEEaGF7lTXX|K> z#Y^zh_%eqhI76E`bBR%rEqaFMJJ%)S7YGu@;EixGP)e;W1a-AoQ9T_U5Xr>UPP<>VcdvYy|ACnjqa z$(&=WKjq(G7qBiGOudIdYCY7x9bbyKu&=TPo4M$|6gNd zt#S3As^RKGbvv8#+r?yhKVr;q)`m{tsjgj=D?tw<4`6s$O(h=Y5AdYXgQS5z0EB*D zK`PghS+lr(Hf?fsG=6yBUav(H#Kk_^3D(V!n z4PFhsr|7THEmM`uuSN*sfH&N+#ZNQDaW~*r?@7--$~K~J$5KmBqgO4ZLgRN-X-6@! z;7sm7j_f1uWB$jNIpeurMgRL|Q}(VB)40%ipg(;|m({c02P;u^)DHoeL#g<6!bhhR z!bXP!HX3Gc^wQP7A{#)Bq8Zk4AVp3d%;@{ly^nf_s@kK}e{(2x!fE~^GghD{w(b7sh-nSdb zLtq)je2kc-z=bzp>{YbXE~{Nt^-<=dMerAjNcrV;ksyuxobh>~YT98uXxN%I*Y~tH zqIXl@e*=sm&vDh6fW3wEq|NGJWV|q5>^Ra@V z68B%%D`y(-60g%<&urw>O0FO@)uRlwEz;~J@#mfNoQDXr4oS8_<^tevtb*1BtF0Mv z{#(eMuo~LicL|`q=2AEJ#P{DFVvHxvU18u>Oe78v6U?A`fPSKxf^8V!BaYvA*(cur zK>#M8*H_ES)ZN+XteutlfBJvb^)Ld+U72Wg`^p684l9Z23)sF6aW3)0MQ_AWpv}-? zl$}bJW{2Ko<3e+LYldwPuG@afUWT)>+htvCo@BgLPg}D~IS*9>HBp$5sI5&14)7be zOPm4Df7}V4nm~7TMw|-T0_{ZISGlD1#NdnB7n^0B2Anw-nNill$sLv4p^3dFb+lk65XG-9!jHbAkw&K?4dJ@%r z2&%M&x3bVbcDK)%NNSeX>QoUblqxP&97av^ zq{{v(mdZVthsYn$`wH<=SG_<$Bvikyg zZ&zTupm}e@wVI6;Z_CENrxp7ay!^Z~d*s8V%!bU)tgugC@^2Q8mD>F^tBdR?=`Wp$ z;T;8qU=Qgun?~5q;ZHa-T~4@|IH@=!SgV`lX`fb_f#Ad!x#o*+fUKT+ZwUoK9w1GT zExP~qWe!zOEX;SZOhj$+?}%Tjuk~EbkKxQ+3^!W(F@iM1_JxmyeGXX+==Q$t?mcG5ZFDt8wP!=Nt!Qu7G@)^hz)IpU^TGjfMCYF{G8yov8 z_$fyhLWbi5pqu#9YT9(K!5yvlDkG>2=r&Nb_>~B{;>dMjTd^R3ojZer<$o7?iEn|T zVR4x4YDqe_z;oufZ5N*Aa>*md%f?S7@L2H9(1kE`#CXK{NN!|IRACejxZS%GTNuAT z>17H%4YJ*LXWh=T+YhH=VlMf9cfjc3VFmoD85u2;dX03PltI2vRweaxe(rGWl2RgR zofAhFhd8=x2@3a+6{^7Hs%gCKBgaC(G=1CUi=&ZUf_b98g4+M!%VJ-S;@qX-3M#E_ zLw$1Pg+I^B{#Qo%JyiarhTNpz#qL=jc9?lc2e0@^x)uFU0m=YVPa{VoR{fibI+l#E zh9t_<*KvaHZ1D2lS?7szV1kY7+uw7od#d|q@8AGy`0>R3*@dOA?0P|s*h=9!l!jPE zDPz1aCFqZ+Xe0@agtaOTfSjcCRnwITmdjH3%+WC!&Ayif1T}ZJRW(8CjjN~shWxtn zO;%){ulhMN`+1f$6QB7wGa>6t&TQV(;=G@`s>CfPdom{V*tex)s4T5q6Q<1;$L}r_ zw`R9$7rx_jy9)DM{hw;l$PRh3P@5S(n>bq8&!!^DWTKRKhV0*cs9!crp1QWw$W2~1 zQUqg0H7*$bw%q4%(zSD=zu&{4&7tXGH$#VlF8ft&9Crbn>gLJ%?P?EEB5;W0olwF( z#X>V$m%lF)=?1LJ+)}|2pgF4v<)9F%I@D-Bo8RqSYv z?m%n%jE`A>Y4GjPo#8(t?nk1c;-gMSJ&vl0vWv#V+>0%a-=6eeN_$%0HqH+7ol)D4 zZPt!_y$NFr(KJ_BXE7!){Zw)b@ffKVV3FsMxLt)^R^*qxsF8@73-q0Q4RJX*9i^-` zuA5`pWV0Rr-U;hG>R5ua0T^j@+Rv1nAQo!|tY4f7|Bf%k{YGw7=m$cYhTXYUaJoIh0lRp7S>S zt=qeYnHRI2^Jl-7|1EAh)qNhY@s!GZF*uz>!1=XKaCeJyk8_W9+vn5@*f)0?#H&vr zBS1C6L(Ffpg3$5EAV#<9o26IWrq*ZhA*ES(7Tzu4V~U5b^m{{XID z8DMWhaW1f%*$j?|H!8TjHYRNY6A&`2ibjaub(2q47wp+i^bOlL;e8VWrh^0_Z^GKb zA4DidMn+zY{2i$qH56qPV-Q!K(4XwN33&ekh*G-}*@_E9TvU*T-JPzgBwZm38d%v!az! z{mNr4i#;<_soaeq8g^XQ&7#)c&*irJHP1j#{)P(YB72s_yuPj)0--3gS-B11yC(-5 zyHkjycDJ^BZ4Dh1Qg-k9@adU6hL!M}9D-C(yQlZSOlrGK*zdl_`(41t5J}iS;bWl> zgZ}!y@!ap6ZuiHOsI#hk7v3RXS+(b1Wl5KRE|xFoE%q-BFqSv~NmMKcMZ(9ihc&+F zB>=s|Oj{2Jq2oIzq;sOvGskv&sZE##)u>nJquMRZU)V+k6-lZn2yllrGtV+~8LxpJ zLn!AV|F0-l;sW+TWGPu{mg&2gU9-7}hq{726TQd%N&;tt|Acyk?~QPZ{1i!w?2R0c zG>htwGKtZO`<*b79KWSD{q+vrU9me|)5VDyp_=Y47KtiK(j~gX_@BP-lqldH{1Byt z+(1<8+S>Jz{I&1IX!&dlz}95R7`Vk)po zN;X(m^kIZP6iBWDRAe6^p4Z1rUJ}phOwEj?kDMKfAG99aH1uMG4KVCo7TV~4IC4Rn zI06(8v4s;6X-EYm6TS`h5>gMI0CmWMBu;BNg1_9`Oy#B2*%uQUBZjoUy`|Jn(oiR{ z?OC(5zPnlunA!J!O(`t@oc+-&bM`Ig&A)Fw--EJr@_o5Om&XWaP?;9JV- z`ePPMdkdFD_dT8op0@6aF6s_%Ef)-Ss;47Ov4cbs7-`*qWkx2&F#-G+>#cBqoIhYe%RZGaALwWG4Ly^Dg& zYbQm=bX=8Hu&IlFzs5DCi-;vKRqDECC1~Zkv+pp=8EuS8W)}MrFF`0=-w0wu7tso8 z<~o5!NfzFAeU5zBOP*W3&-pQcXU&xmYG_B;{_xW9U*QkK4+1}a5v7srXm;Giq=ZzB z^i4YuyDslMpRSdp9jd?KoY@lAcim*EdqlaHNS2Zs$(odL(&H{l$DvMl;9GNT^!{uJ zqmO@0d{*&08l~|+gHskSal?eGEdNAe3~jCAvDlK5OG5;XVU=P95GB5EJ z(G|WE`_J;u`D@d`6JJIPhqnx^4HAb&MyAHEO<$WIUH-zJUU6K<$R$Aj>R-4M!WwZ7 zo($tb&MVRtv;bRj{ko?plCQu{SPq%fpL82p8VKvPpt_O#I!)VZn?!X*RYQMTepHmq z6vTZ-eN25{`=;{s`8Tw8_p{D_ZZ4|$QB+mYR?<(NwOFYHPb!D%Pg;DkKkTf(A=h2c z{e`O&!PqX_469eE!iR|^82+K9^OJdlkv*SD&7CzJuR6m?72O52hVk$7X6!-HJCG0Z zhbm7OYBp}W)hWay%_j`l@mvo(8 z(3)1+i8g}iE9{aWR=rjTTrj(td77!kDq=hHJ^|^!QQ2Nd9O{_Ld#y@?db1pxID9q0 zi1hYe^IH$x84?A&pL!y$L@q=cMfpXYj9QE$MsJGsif>5#vblcC=k&kZ4R(~LU)($p z$@3!GEojNXWDaQxOe0Z$k;5rZsNK|Cl+UDP;xL)kt3R@PrjUM{j}Rw=A0azc)BrzS zo#lXCxdYGP4bH>*l4+BkOic}?4Z17PqQ_5N7|f=Qb=+*`)VtNG*Ll~!Zgg!m=+f=} zN=q1TorMB?XuN1x(xFfUjYX6o+mN-0QXmO)1aKt>04K#PUNU=}zH#yW?B=Pj<9|p0 z9a$W98M!yAJdruwH=j;Na0XXsYh$u|iU;Aws5|H~G!X?w7Qmp8{R+#nW0IP+T%iR& zoxO+dxzIBmG0qs$8j$sTpca#Ri6fmK+9fR`jaGFll~@0OeqIAigZa5F*{dJQGSxp! zW{u>4@?RBe{aUKl?;y|!^Dw~#I7NB0UZ?pz+)gJ8H_C>K8^T?K2v_U~<|TT2RLkJQ zQqaob<@ZzAVY5ClaA@3o-i-BHxLNLuV5y|&CYp}gNFD!f81{k% zv~! zaWYw9%wa|XvzBGay|qGI?Uf!@Jd7+>Mrxfh7&KG2RdK9#m3n^nsR_V`Xoa7RjEKG; zlMq`KI~h9?ONyn(9*(;ZZwYj_IVn%m8q=G$y-v4HeHr^K;I~tD)G(hke5Oa2 z;zzOUZtG$8w03`{;=2#@xePy>%2?9k9$kG3q=_=IpEW+}N192kM{xlTiuPA*GR&h4 zL$x+40nRt^Pfq>(!!f7+4$`MKtEOl5Ep_|q9U4(B*bXPMbKkpR_ zBfv2zK~y1qk$G?gT`Xq%tK-S@Y*-1}7Qgf5$AxHjP=0>ra}_tj_z; z3)%WB`KzJQYK523{RkOy2kHmX8nFu9uUHEr$lAqeYbC;Lz9;7iOpx;YU+B`G2eQt=|Ej|CHXhKG^k{yz$|wy`&Aa`LqukCCg|ha&&yvpWibth zC^yG{F?A)T$OjsmjUHGTIP^N*a!|dLF zC|ShPu1sPe7;s?%^wfo@9=nWd#2H!2B?f1JZc|P@(1rCMKL-j&4g0OyZ z8?U)c;J%uN=&!3G(4Q4W5_3@u?|TE>w}HaYI;v*cbb~lE zoOLKJ1Am+l=rl-hcl_7B#0FzQHgeHDr{0ZCMrbSIWIxw>1O+@_&O6p`=4a+@)>(kB zw?(urc2ih^nP4;3L-cqi$E;sFM7dn^u<^F{zZVo8`d_$4q-xZosM4scs54R9qs~W( zqWID0VsFPolbSal+LFGtXsgQ>dV*_Mpr@JjAz%{T$#R{H8Ca&Cqr9X>_keph^^8y- zP=EFOrqRax=0CIg1t%pnU^(KXvbol{fr+`Q&A6QwuEXZ6MV--_w!6wHI8EBYA76Sg zsXusuI@*7e!1~Q>xHiWx?KltCsgNYj5GYfwK_Qs(t+5HzKn6fyh4q@ zLm)WNp!liiCcmC-%gA5!n3GNsCNN{gBZv{b5!Oh_*wIPt*_6d8#v|@FVLWgnJPFB1 z1fxG-YA{4#%l#Nmgm4rLV@BDG=cvlS+3x4$LnJUclxo(O-Ei;)}{V9UGHV)SPo7L+ZUk(aIeJCVKJLxWYKNWl<1%szu3;WfrOCc-jww%D`|CG z{F6(f`h2%KJ_6D-pM>Q3_F+80F07^4bZ_e6b(c_kDH1BLZ}SLhW_|euuVt+Sv=@$2 zD%04bPceLgcYpOUnqw)~M? z)@Qw3k372qoi8W9HI${+IJQsreV?x5gv!37vNSnH&#ZRahY(zx3C_`k5B5HQHTf#Q zHbcX$W!nWa45c~G@q)oCeSO`T)M4t2p1S^kVfMuRc_Qc=c{LK-g$|+4Q>Z6IBM12EHlL6IJsbvR^aFK&t!$YZJGB z#d1v`wNlJOq$``>h7v4*3w~ z9uX5skHiBLO>ES)C|T54G(J`kXPfvfIVSa8+Wgj_t%WJ>ahXA$ZnoxJWrFkq!*)Vx zAg+4@bz}D>Am@4w_$`jQ(&IC@Ya$G2>X!YF5 zQIK}D@+MfCWCQQW;`RwM8j13@W43v%p|9Si;ZNg{mh_G@GPKR4@U^UmaVAh@AOQ_QU0Yxz$Ox(HUA` zUwSu)GD9SGK5fUg>NLHodswyUulOhIdwTIg!QWh?PY<#qvg32EexArLEl&KYR<+Vn z-1BU*jdffiLMUtG8~(Ahv?mcBx}>@iT#O0cxW7Q_pR0ZiH3^Cnp;`OpddJFXfxUaF zY;rxBOmXee9ymW@JKePe;@w(zQ0zi))YxHQZE*>g;+*4Q=5s1wW3XFDdT>L)3m+ZN zyUzMJBrqZERlA4Ut_YPr7a8ztfOF49#w!MuiRZlG_lfc(6ABq{SFDnH6R1YsNxo9q@kQNB$f2JE}dZGioZzHJTT_ zAyzRyII%Z5KGi(!V47yCe!@iPWzPlcXBzGbFW5Fyyn*oU@02F$lb#*D?|am{_fQpj zjt=OIjm8uFd|tstKsH2rG` z-m|R>)Ed#4UJtKFGz2u2weIfH>`tc<$E;@$Eq~|C3ds^xa4PID(iL5VrlAHAOVFL* zr?R?rCDCdA09%D&vFHzUSNg_&jYJQB9wH6N0rG3j+bhE#q|YYxo2`ZKEC}pmA(7(cz!~$wA8=+--b`be}*6n&sS0u<}o_jW5ycR z5A5{_6;5ZI_Bh_dVXd5vle9;a^kCl79V;dDOEdAK{|y-SL{KcrO=RcpGyTU#>ZjSu zcloxGYmoC8GmU5ZG_x7oY{LA8Q(kO8PN048ogno9iT5K96X#XCF!Nx2H}(Ia)gkAl zZ6baC1GXu1gkDQ0GqCLc@v?;H#YE6$*d0u@TEEUiqYCqlHauJ<{v<)g=?P&KA8(&y zBRBtG)UMN~2FE^vp98l_FRj%GzVS|SOxeF#M(nMe^StYVeQWDdWyPC_Fr@^Iw|Yp^ z)7H5TyIo#*n0pKT6oXPjw8B!u-6C2e%p+4G_eJiCJQ~>?`7mlUIxm(O@0OIg`C_Ux z6`JxeUJ#nP@wKgv_A!Vje{uHl@W;OLp3L5({YM98`_J|L=~d}B8#*>IIsY%K7@!yp zfe}cY^8YkT^z%($Sryyvuq(Dvv|Kly*CndGKqV=h5d9xzXWPQB<2@#6?_456zG(PLp9Tnv$ z(-HMJrMiipkx7ZAx1GRYtz)#kh4n2{m0p4RHp~juCgE;6cXIXMdkVX4&);)(yKBsA zvT8@_pEf;dZ=v)Kcunk^U(Z4bcgwd!3sGcTHjzQ9C;1Ui;69<;V9Cnul2X1eTeQ?T z_ju~^*yND7pW93Axzl6QTh(`PFl>}JX*>Uh5yNwom;qEUGo*~*skTPlL!C~lCP=Ug zs5+3yh^{RLO-1YrjIr5`P zNplgtkXQgI5EQf&Z7BKsaphN=pCh%`+myY9Q|0V9#WdPY)6nR#R~bHUF! zaAQb7I5ko;Wk(RKfG~I8gs{N;W|4+;BbDv3NpNoGN_~jqTrRChrJ)G}d z`1Zrn$G6{B{SI%6r&f=DU^>fRqH{Fuj18^R9Y49^Jq~$@-SV6-+x3`349=>TqnCiq zqD0o{T+Br4(DA->+9iq$;Hl&0)|;muNtj zQ9L@nHSSs5yEsxjEa5`p=~ewH8^KBwow+je$(miOd?U?#6}Eob7of*DSEh0X^k|zX zp43{}DNybC9Awg9dL9e}jjQGcSTQ1hWh>kqcTjy$H^9WvYTPczQSK8}U?}37DO%0Z&t1mN$#d1xGj^7)=X;nZuK(#;iw<4P6@CJGgD=`pBp8d(#v1 zrxC-cY58D7B5pqhaJE_&@wf$v~03>bc+h*?t-=&pV!C_&)Bf6u`#B|2?#O24w{x3hH4@^OL zy9%08y}B-~BYk~lS?2fjeJM^cQ~qI2PxSXAFY?#V*bHu^4tH+?v#gHO{-tf8_E5rU z+xy2yi)Nddxk7}J2fu_HRkzdIViIlTV87gH(n;OX-nQC&xnY%N5UvT5C)&=)oBBAI zLwVLV*w|Qm>yP#yy_yYmQ;nsqd0-0IvC-2r8$sRPtR!BALVm+)5~ZYVYWqk|1Tv-+ zp%2+1?-lLmnX~#AU(7z8)E-+kykXE|psC+u;Ps&UNYA+c3~^D1mB6o*cmw<45X>$7 z2yu~AP5O_x4*wNHMbcpq$fDw?^p?rSkH^O2@hv?Zy2+W(3?ffEzADTVl+z zB02awp99epO2^A~e=LWMjdXvI=27E7pGb{8KL2*|_W#>U@73-(MvLib?4u7|n6R6_ z0N!cwKsw5eRI1Z%{1$W~JaIqabHzU^=xfNK(6=FLK$20FPp!Muq0my@=$zIH!b#*Y z)dpEIn6bH<8^!VBm~hejQQ=@j-^+AJqO~G%|-vQO-HK`5u zEhb&lJ&+OYY1v`}=aN_pFhO`@k;H%0+|+$K?)sx?=Hjq1PI^i&TVoAg<5FU~f!I={d*FlIN-5^zhKYYMK(7uR&p&0-} z1{de>rkV2#Ez|GE{tW)xTTSWeTGwIO#%?bC8{3dyd!rhhmVKWAi4nI-HWfD%78Upu zd?@fLn)}fFarkS@ul4ou9rFIs8C@O)IF75=E;P}z8FKvKy2m}r{kW^Hlez6jGb8;8 zwQXn)a9gy3VW zfpc5u(5qoiVa6fn1Md0W_iT5%U_Ec_r&B?Eg|dO%k)cIJyuF+Rb|gEF6UXxvawI-V zDzpp*x-K-f>fSM0Z~nvjl6{er+$F*7yxV=(E6#fy*4tb*H#0h*^IL5NP7Rp?QCDPw z9-a=KGxq@J73V$o65mDiO!`^55q1OA8CPf?)VDEhwhDGQ>Kf9n!|;cZ z`q2(CgE2|5rLmB>&2g-_hIlmSuEeL5q@GGQ$eLO!SnHEnl0u2%`C8a5Xh|RoZ0MB! zz+UPpGLH#iV1!OJ9g*7Wqgp}!QPw(f?Qn$q8ORRO=De~jy1|J~RwrZ5K(6Rz|7S><5X z3IL12q!4%{Q}qe8)ugZZ6wGPFAxMV8NkZcXu}?02nO!ltb~I>csefbN_g=%k@1VC5 zI~FiCIme)9aY3K9;sEpzG7DpmTf)`hrm+t&X!K^}LwFYSGN6=EL}omIadTcanKRPd ze}mT6o!Bwka^kP5ZquJrzq~5mlq1WkistjL<-C8hFMGwSgjYYZx4q5Ct104s3i$b> zQJ-2lQOK4lG59087Up{P@va4)gk>j|@w_g&dpr4BvyBEc4`MAL7UDxJqq)?vOZ_CO zYZs?|JxF$6+byH59O{_#ThifU6yu0X#04Fd$xj=!%b1s=--jSkSaxJ=)Lg`)(4v5g z%MZI(+h?06>zk`5VN9VvWq!gRoJf#oKedQh+DwPA>bcuRx$-b*5c)ikrX?~cGwZQl z<6!PWbf-pBR1*LL6RmA=72VRaE*Q9EPq#fHbdiu)AzG;V8LIQU;4 zXPq#e=#o6O`sW&#%mZ0_GgYZ;<2MIUU5UmZj#2bz-ettF*O8hCKGEd$@MuKpUUEHI zOluyrnN%%Qaoi+ZRJ&0Lpnm6vp|M4o?F&a2X9uTVyH3j&#z%G1iN1(`WE(hLbE;9G zx2Nk{3($b9YpYSKeO?#W=-6V>IYUJa`j4NO?WeEh4N62nC}Ic39e;~(laPQXVD(T{ zFi%yX+)8p!(8Q@^Tw2&O(>BpNnm6n|bb7F8aB9eVbkD@fnXL;n#y#$B(RH~Fq#J$; zrH;wNq+v493&>!^O;`tH3b>~zmHLQ+c{5DE#qBd?<0-?J`h9y=QdV~*v}?CKXe_8* z{yXW1*O!p8)*?=RT~6}bj@SRZwtM6H?owW0(S?t@E7WTDw#N?`&1ngaK)(|2>T@mH z9Qba&-v9Yj`XHC>^Z=!W)<2CawASE;ApeTdER9*^$hN*O6h;@b^Hx^@*{(-9fEm}E z>tpJO9szpjgKDSr9Lnl8p1 z3X_9qKrV!xz^rFvG4xRDydYQgBGCl2{js*_0mnO zt=jGFU9G&nFYom~8}v2wzlipzXE6h@ui~)r@$u*58^LuwCa5vbTlF=?C2c4@B15c!R8DWLYd#P>oeQyh83uT77q323Z8VyYirJDBM8_ET}r3IXC;!D7C zZrl8gF@wIFU3x7x4TM_iAJ-ak z?Zbw1&CfbsQ!PNby|8?I0x^mx#b3wzqjtcy0>@>QA{;-M9YJ@S z51sBF*BI3tZXR4Ym_4XB{CzZh^4Kh4iO$jz?2~>2j>8kt0QL-i1iupB26_?BAT8m| zka*yn+()uo;K_MQZ=LI(#EyO(0D5GUo!#)xXKmUo`~P04x2aiPHC}P}OZ3N!AB+l# z`8RVIZ!f+*@~$KISply^@TI)Up~;83Z5+Z3mfb-;)NnBhwJLK6bRBfR=CRHFs*A{e z&hnGdM=fvsNm#CQn6rDKdLnShv$vG;qkBttJ-Lgvdtf6t<6dI01-{BRNFfoan``ph zdW%!O$DZZaz>L4EVfEp$;r5{?1GlZP_2N0ftv?vWX+`5X@Po=paTLFd?aUmdx6ISe|_yLP)haa-l8={#>gYz;TRY4};YiKL5d zgA0Ki*`%n2zneS6HexSl2XOp&R>BcUfYJ_j3!OpSuT=uB=yPmJoroUlVD5HH;HJ>i z5&F^Kx?Ws!d{V-Rggprx6V4|H68aLIS22=tsXNyE$k>tfGRr?BAtfl<#ZO?b)R~2? z;(nUa9^g@?x?htcsn)a`pwvB|49*7nC8K?_-+Q&f#>{89gn#tOz26EG-_8`jJe&?}AGp$Q> z4g_Sl>cQ5dHe=EFM0^U)3uBEu2tBMkF8w4l<>j!{>09U9rf*KLN7Y6qhq8w54SgAA zjk-=c%|2T6X2JLfiGgwv3P<6wJ-Ds-3DCc?0X>C?f>na(!)vlDVv@jt!=ay>=S&?L zOB|~0o1#6ST84lF<|nW(Vn2xmBzzFDU&|bn3lU-klujyY!sgTw(sJB1zey z?=dz1w%ZKm&rb@i;p%Gl4e~AB90hK_y-qDlT9)Zm=oap{)+)y6oaQF13j`*HvX0Nr zj{faWrM)6Q>t06AppNvu7}_&oKmU+*OjH7>qmQT+>D@8Yurqfp^uFM?IcPF8JN!`i zg-}?~3cp?6WS7^rXmEA8UF{u42~|@_MXkKs?DfnwjB{XG;2{oCuuT%Gyauzzu!&__ z4hBJ{qn13|4USyrny!3A+sv%KKtH;?W6v!Tz!{ zAuZu>0y|+oapS7=l&aJ<>7O&vYm>9~tT~!!7mD-@F*}4$mfV;>IV7bRcF8*Xy2~iu z)T7{T)M8|C)12)KZ&^*epLvs(#66!3* zF=MAght#Q^ZQmMQYVTGL{w7zu*N!v{wUD|E`i_j2%{-*L@v42h;}Q296E>95x=`I=yTmlzD{LBTiA4 zzz(84@ukE*QakA@@eke!8-faedqGIbTq#BPhHJ{)x^R6uZ%i^c*n62O>qc~Cb^K`K zv`jbcXk1nIpnAhk;`fEmn6hof*aG`J^PJFkW$!lS9(qssu>bRL<)H=`nLoOPaaeW{ z?W48Mglx0bdC5J+>!()&n6h}qG1|J)I8-|o?+6=_++tst^BYU-x1%m~UF`hbxwSis zdZTY~cGOoi>n^R*I_LvEnQu$cgB>c`h&2eDYuzcC~ICZ=ZVFAd0+65|1!+bxS&vd*#U25vX$5*Z2nBa=sHT)VJ%cG3~HMgSk#UE)=JHJAs9p(Lt?Z+!W-b2+y#YA`K3a^ILy39InAs zulkLv)~-2T@89gxDWU;Gipj}^I`(6cF-Q&`N1wpw5wl32L8g5T28(1vekg8%gpDwc zn0{y8Z#sS)J#u?+xL?@E>|^%pgF8=~CYNR#Kp%IoutLUEokTz}YjKzH5AX$`zmkh8 zN9=@YK`toI%V1&+ej`Zq^qF;=NF5gUh0^TEyF1Bk%UUk~eOB*R6Ik`WqNJg=c0PXEY zzLpL47*JW6?AI7L91;=64iyIf7f|S1;`!T2%UTM$s0Q)Z5gNd2NsvIvp|O55tC^!< z9@8N~j^u#yBWyWliTF}W-9X#)rsXc%GKZDUe3vh-`&{i@MjfBnt+&bq_nqXLF+>sC z0^R~l%l;F;6lCyfIn(SBb_b`8*Dd@e4F_W31(;Bhnl{`}9n9vMb4v1X_c`XL6^IGh zAGSZjD(Y_Z=a^fuj&U#Imf}L=+vC3{SS0BuKUlqI&6Z5T+70VpuX~YkW)(KP%?mIO zBd(UUE;2?g_q-&>kb5Y8GzVHOC5!xn%%%+trcZhu{$Y8|WI- zp3S6x;LeMim5VSrsudf6Ux)X{5ilmmDv;=TUxpW-;)AhsV6Qnk-7(%fk~`!&cyXX{ zz;38&BzfWym{Un&S@5@knQEJ0;V2pA5Uvg9j_b!LQR9fuu=5aa;FbKI1TEC&)-!Y$ z9Hv)}6%Lm7Zlyi}30S+^+L}>+MRj}sq=M=zv+|v#9}DTZd)`dERDZGUMdho@Z+GNx z`cP5+`&aSbjnuS>DpsRn6kDnzH+x_o;5Oiu=JVIbe_5l)Ddz&4Zzd)>J_JWNRwm#q zTL_a@x3sO5sOx}J~51-uNI2YDqo5^v<+=DcB@ z0lmHVnMn3+uCDNe^a21!j9~$_wYp2jcdWD>Q{2r#F9Ij1Kg=OY9upgnP4or1G zt=haQ4gB7{>U}bh(wmA(_sg8fvRSLl$XI_e@l z70^yl+bGLvM?f+Dp@)>%4o;mORQ$+Io$ZofnzjIw+f^#TXe6c z+Vy9Q-kI6LxFP6Jm?Mu7Kk9ri$+RhVe&fYju{vl|*slot$hz?Akj#Mg<#8UGj_HVxFJ_prukk*Jw#eT@)}yu%4r&JLe=sSqbg|QRGIT|| z*SjaWSGXda!|fkiIhZEtuh+a!fS|uXD-~{%5P>1LhjpAOV#G6VvFbQWe75)ts4SR8 zV@MmcyA6XZ9@>3!Iqx;+TN%(F5)^@m_Kc;*&BmWes7Uyba4^9ofs_!JpqY3w>1;A0 zwR6p`Ot-b}Ycn!_BvT?6mP2iyYo@8Dn4iXf_x?*Jb;pu*sa;f%XiDBgeoj5zzjn-E zZXVPUjVa6!LHIyTD}y03nN5S^L6@s8M5hO~U(DMKXc}KJSAcrH(W33RSs$s(sJWny z^k+MmZ@K`w{|g%tZ5PPTK@RcgERFGle@xa2i9p@L{Y(5odP=e&UdQ3k64*N+T4o?p z=Mh<=#h%&z$+)pY!&?W92VV5c`u7j&j&zK#oFRa^hyZ?p#0FRcuSa9?C}J&fJrP5I z;_jk(h!ogcRk0#cx(&?FxWf26|845esO})T_aitPzS0raCT%|dx3oUBW>1y#58%s+ zPl6I+@zH{f`EGgkd13hx1$xEe(yT8(e#SRQyF5qimtYbjBu?X+QI_>ur^D_KysErm z-X}dATvpgA&HBLVibqitIsE3OA5+}nraoVq73Ba~o1#m*-1qPBt;y1beVhl9Nr*94 zUt?JRsQH4Ohucb@KP&x1y&_YhPe)fq+K1r+3zvtw8{1zo>(kvp+Ke((eU+@^d$Hpf z#Y^E!T6Aq@AZN2+ne+f4fPcl_QCp=mXsBU6ZSCSvgLYoE`sx?10O$CtgrLzx;TxwXt_Ph2wuKh$MkP8A)ZSy6@B=`!v`9eX z2$}i}A9@0P7vnW+ifbS;lvhKBQ8C16t&4_ei#1@%1I{bW*EV2n$U=C3)UsH3d|(1U z!7tG@aVg<(!iI#?V4g+*m~v_aQX2W`-!lk9~9FdFs)wBDDI%$EF zVoDIrqbHx{L|sjJO)czGj$EAyW_;qe$lgQ$#ptPx>J%B9SY5FvIh(lLcj~e`ZHY5} zs;xn|23sSsV4a_-7;d7qbf`C@8is3k)o!bM*1!ez!P=A!{gb2dGdGs#}xHAis|7#<;jJJac)n8D!HO7;YJw8Bz={AG+O8dvDFD@TFKKxf;op<4#b}UT{G0uI zlBV8pwgIO28JZ<}+)@1o2gLg(@hx($%(yz8aJ63p9_>KmSge6ANqhCZHj4Tel7!bPL z(ml)G(R@VjliCq|F^hW;RiFvB$BRc-!XJBUupBf zVU-Ku_P|5t5$s%4}wsEkaOh?6a_ z1?ko1h!9+4|g@uYq})tH(}Yv>{LVtSgXlhg~n zzd?6f%3?1EDPaSp$T$KGT;02EW^0q-aKK5==`g5)-)Y*e=caxGty1CyVN3dxWdnMY zhizB?#@BOez3aN_U;Mq-TF~{nhdBIr61A|Al_MyWIYR~z8!<0%$M7)x2JA0T>v>gm zUVcGb&ez~vW^fk%nT1VRjVni94-1CmLoLJiMmJ4p&O|PJU|51{q-VkOn!9i;dMoxB zt`h7u@fa)AXSf^mJ7B9wmTHK$@HVmRmg;ANC)-AH2e7^R)UVz7ot5ovt>2pc{_54c z{Q3M-{d@K2`OOfCEWQ>GA|9!KG4!y~ zaP)J#?FsiT^LpXY<+9!Wy~UitF^zkettwlQ7W37N-)LOFoSH^n*G(j+QXzeVLnRaO z^KV(#MH9eo^n#kJzK=Q5{+8P-pT(8L&?gbgqQ)aXhEsyC`s*(H>(X!Y(qyB~VIm%t zpjsci_qknhJLVei ztn0wDCYcu-qII^biLkARMb$PilUmA8UH(PwCP8|6~Es z3N(?l3EW3$H5c0KcDU|n>~Pj5-W+Avr}+VQ16nU0WA2%$9p=zTo$H&!8|1Z{YTfE= z8iAQH0qjTnW z%ot6s8(TMGHC*t&N@Fw@GPw*KKq6QO{(^Wykq>P{vM^(~*Z3Gb7N>zJLh8ZqLiB)} z@^Z<3VGF2?$X|?{ZJEd#2_2~H>7@MI9o8AvzPwe@w7oH=?n(95pWJU-J`a_g1j!MF z?`+>jz2&@P<+&8Km&v}(RljLr_JmBev%3{Nm^WHzlO=0Ir=4yU9!Sqq?m-}*#?f8BT+NQvJ(%VAKPYH`HgKs(j7F!FgM@x_BOB8rhJFbnH!XtR+r> z=av<%flZ;x@D&l~!f?TE{vpe*xO&@N2KNzg>P;9cSgK;L_#*#3XM*L-y3AT)ujl;{ z_DhcfXW?_0d!$h9KL%vebyjQa3LR}--nq(M16>b0=Q~WJd%nD|;v0ONZdC!FprIEk`coH^4?THTGD8uq8$VHy@s_-3N85@ib3yuIH z6QW&WN@7N1Cc%A64!Cov9hU;`S=z69pRzWMm0pqgCv$9#*(%)#GoLK$Obsfqo)tEk zJn)%TO-1(<_geHB_dW%4PUCxRhG3KB3&ETu@x0O<5sS-IKcu_Ym~63RgR}o>hq1Y8 zPB9GDo+RWWp36zR2Mf95XZpR#tX974Ns? zB5)sm9qoqOj$eUq!G@qG;R00~NWG=bpT_mPJ~-v%EH1`i2`+s9r^ zspj(O|8RVTL9!GT386sO<01*!1SWnLE(OCt9)wFEyMb)^CdpSpK4%r<@4WhS`q;?e zV(&XDz57Au+IG{{>L!y$qq^+sPd^`he^B057WhF>;FW(k*D?24o_fK9;+nF?FGfEz z>N?xK2ENS(^Wl)k_;#IZrg>m)$U4_Cw})=eT*MAvt;HtGbcMv{$T+2~FoZcc8#B%x zMD)F)eWbe4OnMIw=#7p}onQRKv6B2!ZARnO-s$R^Zn8Pz?BVs#irayHp<3a{aKF&S zz$CvSZyQ&-t-D#I-X*nVm~7|_NcP;p|HW};x3liCcW}K0)#5gJ6eJK?hWl3?ue--+ zv-y~Huf47FGgpb5zx!slBQD1rPuu2Nm>Wmw?o;o@Jwz5kEEKwuLV=KL!f|0cvWc7l z?ll2Y;-^4E(?H@mQqxoaxM`_%p5qGlv}Fq`W&@%_tita_K8&`C^#{EOG4XprcjcM* zkMY)^nk?gZNC#@-cE<=&Nw0b74DhTB+H?hV$N*^uWAMNZ7qN1o5X#G9CJW?^sp-9g6*;#h85Y4OG=N4t{H3wM@GhMvs#rZ4}D=J|3(97`0iNT~CVkN!; zGmm%&aZz-LpYhMLchh6%J*G3qwL$kk(C^r9)GzF(58_4*CTnLamd4p3!X8-)n62xI z?ZvwgGl=I11GqOBE!1B44+vHHP&O#~%=2PhSj?X(9s@d)&B?LYropUHAEnWU*$aV52H4&U8IzZX7y626LJFT!OoQ|{4HrxX zEQGP2i>!fOH(Iwo=#`nxh_h6r}+=#nTxEQNgM(nA$8E|a67Y|9uPk5HdP5P4Dv07)1YsRrm z%}iNZSkk$0;j&z7vBq5$kF|Spu>TTuiCjzZqE*p2)Nhm*lttS7K==6Nc`x=|P$PT? zu^F5_HR#)!(XBHazB%1P!+ey%*tzrUC~!RtRwCbdZ#AJ%beMr${`k1%as#fw|)vKIaO$v ze>F$;w)HLlT}0ly0{4>C@@+rwHRN|2jq1_MByPwk^*)1E3%LDmXSVBow;it8PDyq- z7OjTXT4s0x+*rPyPhcd>o*e%>|5{@sP+_lggC*hj~dgo*AWv?!zxGFI^kn3i*CeGp=XIQkNwNgD2e6OiB25 ziOwQsG@`ea@)?9XmiIjD(V)Ggh$s=g+lK?Duh38Mr(`40D;NnWL}#6mkpNt-WAkQ*-C4=-0-{RTovrc^DqB>{Pe-8kdR-NbM{@syWP3V-xG>8 zKjwTht*&fd-ou~7adMTWI6IwZrWv+L&O6+ndX9T;^sskb?vQI)V~EjYV#-z5MZcMa zv$z z2SOqP$tzO4QLaXIKg~4tcd8Syv9Jw_L*lo57H0#S&brNB!5!nT5~s^+RmTv=u-`~1 zZ8rmUQ|^(|s7rmtqX%Xan0*3*LK6q059OZZ$uC_#jiV_u*%5Z9r6z)UeFu@&OE9~c@7vD3%EXBu+v3F`0e^_`~e z)Rs+6Um70OF8%JVyz}ks=dRM@#YYN+dFygzIpeuA`J6(hQcijH&-D#z-7X{3i;3bo z_&Di`{ws5|U8&Pa*FA18UG1FR?At9tK7;nZ1QGnA+>0MYN6*xb77VoaETf9Z?i4ib zX5aJSu}SRW1jkd_1l^9C)Pxy*v|My3cVF;Xy)r-eV%Ym|LD=Jv>VOZvuRY05C#@;Q z#yZ)=n<#C_R@oa+;cUZx$@F7Nm|g52yz3%}T%cNmB;pzBKXrqQ*I10(G&qbqW85^| zg>HXb&w&}mx;A#^Wrl2RZ?&)3i->%ct=txL9r|%Eu}fHAS#Q~=xbXso_+LdL^c~8V z0M(@H&6)IDWjh$S`Fpc{%>t@|Tf$Nz*GJERcIHQM6LIXg{%KO=Y$@(6q?rvBO{mYOGq3X>NF7y7@JYB6`w*O`$?M1!TensNL8y91VxS9m1?f zArRS657m1`oAf+*lnU0rOSD-BP`P(+z`OS@brU(G%c0|Q>v&UM1GA>OD*DIFmyVD4 zl81$-@(pu`-$8TE<{G|lD0*LJ{O!(f%jO)~mdQ(OYh^LETHDVQWs7lkcHin*Jk3O}8Tt*J09_x)BIzEv*zlFV5d_{E+)J9n9 zT{V4ali~c)bC+*WKu<6=6cu(nBt4M6;s{8%kGA_@_DJuh+AMkwQZ0KTyvV)D`o_RA zt}|>{?VL2h6^WIS2n$A65JEI_^*$S?T3oeR?%?OV+BMy6g&Wef)9JnaOY1hX1BPAN zu4=8=&xl#o5&0!?fS`t}#{qStY*!AP*C{v%D%3wh;poo<$p6AKN=GFG$UqTr2FL`Wfn?wq@B_f8HmGt{EvkCe zOVwJHnTiecfv*_=*Z={1&n4BoDhu)xG7G5(kNa5F0%!yI$_vVON~Ur(&;}%{=&Ec; zG86)P4by^W!B4|a!ZYB8@Lw=b*j?x}Bnm=ST~TF%N3u|%RCHhnJa!k*0sIAig6HuD zcn4GgOu$!lOVy_$fM*>C*#Wr$`3{+e=s=^O$Dz-mh0tv1IcO@>49bKwLf$~mfv?yA ze$rErTnH6HgeF0sLWiMPm?g{_rUjEgY2Z6{K=q(ikWCN^hz@uLx!|kzLcc>7p?a_t zuppQ@Y!JE)It;ehE!AH@s$8uUE98oBS3G4w|H60)U1Ij)n0&L|g z;HP{990Gy?2=GI>OKGFjR{pCr0Mu2BDnH1y%1E^yPzS=nmM8~20XOA<{F$soYA_`X8e2i`s}2AdrAn@przxjZQ1}9piavue!kD0; zs0GAzcrnyjwOau$6iS<=-STW88F~}$gj|nuK}VtkQCNfqlmwK@!)3+N94S`TFI%n% z28tmPSRo=4xeWOk;en`xtHEKgyAYV_tFlfJuE`iJAJTwMY0+%CfP}=BYXe+cK>M-IW>>A`AP@piBN6IeBDDuC` z`>HeG_4ZLwm7f(-`9JaxvSz7DLX(`9j>+m2OaOp9hi!oCz&X$hkYv?808q*mczFz% z8mlgNE+C2z%CePo)m7*cY(D~uvO%9k(^2P}pFoM0o)pOVO> zTzQw$Ph|or2Yb0Q%ott_-wEFYn}_UE1p>ZG7lobtwCtPANznmlz`T%m&|Mf3wi@Gx zxq)s#y+X?2dawkDg9@Q)RAHgEur`uJaU>a~9oPiiYo^8(q;OcrgezFG8Cj{Et5^?ERdG-nY#rh?G8m z*)qjuWvgpOh4bP>S%D%SFoN(PmeB8zdQ}>b58e;` z(iPGWX}`2rrm5JYECtF{tHBE447s2x09(yV*{Apkwl+@bq;ye|lyiz6#eyOpY`Z-w zU#L0!HbRbAjyMBLh6DpIz`EBU%aSdZ?UZSQ*QG}JP_+drfT0mb5s`>Icq6O>N`?%8 zefd9N7cd5NsO+I_u=j`usI{0LEE(sGhv4II?pQK<6<8Iz!9G3+_eUn9Ut(|KD+nCI zI)W>{1k5dQK;pVYQ^a`W`+6DwFUdR|y zec6=EQ1MQ=QuPO-0ken05w8({5%!3;uo%cSrBH^Iio~_zRg#C&?eZ#RI)n#HMXp5u zi^;{zpj}Yk;G+Uhaq7vA$;X3*-DWcuacF) z*g#*TcQ8M5Yy`vN0=c(J5B3Fq9=-wkS?Mnw04cdoS?)|M(~)(VGs3SFzmOADgV1rf zF7gO+0kItpgG!aZWL@I#!Zv}1@TlmMROe((sWI^EwQ`9bWD|$6L9My@ig>Qo9s&D{PaRhw$rgH^gS-4C)rf4_Au^2%SVjl9G6y_?8fdfBL_Cp^peC zq89!OUJD40aqV!X{%)FhwXkWHHydUAWRmLh5N-UX^-Nusvc?&{{z1dFNbMC3xKO~ zh~&EV7}Ykg4)dT&xFHIHIfE_6eZoH`_!Bn}YY7{`z3z1M1LSSQ zT|^%88CnaMLzp2wQh%Z`qfwwSrCzDFg0!D-1NRl>hxX!zHuAc>zkO5N;G# zNPdHr^P((Pc3z5=$b1kP!T&{2jpCa$8n5tb6 z1Mo?39CjP7gl|O%5kp8r^bK&YRt^6L&%xK?Gw|bJzwN^Mf+OS|Obx~l`xQHcEy4O> z|6=xGoG=sUOK1@jaS1<<6Yz)b;otca^Ii+<7n_zs80AcT_D;?-?pj_f&zx(|c4uy4oMZ-YKJqV!IAXly zv3S3jC!Un#NMA|6NG!$4!a9C4?+GuI-zJcVUP#X?PO9QyzY&j6J>aN!37ddJ;ZNc7 z@Ht>hyAnhM0THQ&RG&~kp;4-_U86|-yqY2DCSe*Eg&jlBpf00oP>0ZaFfXx0{QpsO zm0?ZxZ<`*SW6hdv^yrdMK#&$h?9RXa*!|e;V<)0g3Me*;fpm8d##na`7>oh${eIx< zj)UKEA6J~$87le*@)oFD{X70~ub;9YIsa~ynlqUIkIpRew~DYMI)6+wd}rE)iM!+G2J*@DZ0X1*s6#L+P;#vGa7*y{xrG9UHni93^KlbrD$jZ7_7ol%a; zOJxUSd*rK>XVk05brYwx&eN4TTYaAXihg1yVrEchHA9~v%s!eMpFe7N(|EI4n?;7r zM*ClmN5O^8agcDx0p~HNK8J2Qf7?JCnzhtA-loAO!uGi>-`30Sj2+z$WlykY*zK}2 zv}?5G+U~O3YG3cL*D2oF8w!Eb5h*Aa7gv`Xs66CfggxRhJP_UqI|%cK!C($B3z!gE z2W^51NP;eC+M4A~{=Qxx?@(^GbiA%PN1{sUk z1KR*Wf_ofH?eTUQcG>p79H36l;B(-W;A>9ij%>Sdn`@R~<^^VkW^2uIL8TTM)_d$E zj>V9zhyj;J*aP@Igi69&LM)*eFT`2kLb17+gP1DJK5RIy9QOcMiOs_N=kgSJ8Gaag z$JrK)acXg-JI*=wIJ!C-JG`??wUt{Rx8hhtns=J<-{Udo4x1jW33lRRGbK(boY&bQ;HuyPqz^kUkbK~6ut?_nRgfB%5N z&~e(G;m{HG2w`;XSPh%YH;|;t6O?l0zsf{KjVx3855RJ4lN^=eWkQ*|!dL~dGjFq)vb<+~(YDrpgVQ!hKm3S`97`wI zlU|W?DR4I%wTW~XASBX$oRuYfVmS>Q0oUfTthRVD*-%BhtaihP0S z4A+2ZLwBG>4!#W+w6ilQ^DhnMz(hbXzG`&b zuw_1RmOK4@0#5fZ&l-12$}XZab|dlwB++rJ zt&x?F`7F?{))>Dq(gB!;jUm$Tli{GzRg(&{TV%k{k$Gc{F9}R6~5P1Poruyg9h*r>1EvO1BdJ-` zE7Vr%G= zHoLc{_Jj<*WhC<|B==R%ChK(s00k>G>NZ|xa?s?2Nui0(%N?SP zla@L5lBbqbtJ(m@Yu_BwsMF-D*&om>&~3v&!Df3*o*90d)lW5Q_Q=7a5e}QNVtDm{ zac@+YK}Tj=Nb8>#LCd4oS8cNP^PT^8WBRrYI*gPts#rGMr@VjpbpBI*Gq05Uh7-rJ z;jZQr#6tN;O_cWb)DrDq&8YmB$e;It6+6ZleLgB-P}yq*Q2B$2PQAPFM)Mced+c|B zn_&-JHsC8rDei1fFK>kR58z#nk#`bT;T8Zk;vb+%U{{9~wslq^7XO;vGk#;>I0pp6 z%@Ai6>37Wi&kzkH+gsTx9P6NIsAbr8LLVvDZG|Vu=Ynspe?TBL=y}lXAW)Dp0O|if zD%W$A@|D<)J?7GhU<0+g4RRXt2+|Mfh4?`}fC-KdZK;-trY!)*F+ID^umJSX?gO+9 zZ9$Zfrb$x5oC_3k&?dpuZO(KmTJ0^p$$QFZ7<|$FzHN82Pm^i$gVvbNTfN>xUZbzs ztA$e8jC#3Nt5eJ-0Z7X}<2NQM(^$|V^Tj|4iYnoyT$CNzIE57ptyQt3(|iQC0A7}GLdF*|{@uTj}Q2e-@uXt4((rrOe;b-__loE}otN zstFwM-|GW7N_yvHq#ZVpSWWJCKjT&5bJlmrug-r{KxIHnz@~tu{wI8e-c26=qo7@h z_XPrA7rmS~^(v9rr+vZvf{{daK?RU;Zh2j{5 z=L9O&AHi{aWMymWH@|b5t6nFG;UtbA`qp)wiZIU&&wWW83^yLoy8okH)BD$mK z8{aU!VD>P8S>>DjG(BWS1~EWh=4U`VO?8Gjv!ACWIf{u)0w@8^PIbnSH(NU`^f#kX<;8^FXZI&j)_>Z ziz>7?S-&XWS+NsQ$aGTj;C;%nfZU9T+D)cTwG&#ln zu;*j1n_g=?@$MLMEny$l)kO)HL*l?-$58tOTRrf7Tbq>{9h(0NRFkLEPp5zDru6{^ zF(xJ!%WMTs>2NAK5ntwdi8AR<^n&>Oq2l}&`a1_a3V0G=642tOqTcr&^-xgENr{AF ztUJ09`5D+Xryy~VCg+9Dr@`?~i4F^GF_s5RF9Uet1p|^vk;Q~v5(J5A!#*XvCfvaa z5p<^?)?l-q`OVY*YO1)3b(ALV{?HoOI9T_k?qP#T%k>UM?;tIc2@>p+ku^?JIDP#5 z6GM=39e|hJH$j_zH0?H>HsKo;%paSnoUB#dmPQKT?CjAfn$f`i-mTrgJ2!M3Z>P3D zX}{XR@BG|N@7+BRPUDY|8H_O`OV4`1u41oZ=dcvax6B@SwCd&Y3!an&2$q8W~uYrwW|K_X|?3M0UBc?MAAm)qgufq;tw~)s@CDb(kqyW2s zPksdIanCuj58)a*5pft|>tt%b#HPt|wK?6?2}q6pqyIX+O&c?LWioV%I765>1XvE6 z?XElLA~SHiNk83D-nrDJep`T-J{OQ5up!`+|0BOJpeM|Djd~=xWs)KYyRa_k1k?cH zGh7V23hbL(fnAdXJ?A{^2(qJC8Uo%vpMYM;H|w^sb3TE*jWr}@x@rhH7$ywj@Sg?W zh^fz=+^ldDlrfqHuwBsB+D2l-iUyCS=vHj!{odvv(#`qjmF-^%=VUsko`psd8P}+YX5sbNXMwNQci1to`iW5t^9OgSkk57cgkek$uP+67<{f?%c$jv$26C*%6OWV)?E&C|MM+YZyid&9=|95F6dl@1H=*YB=a& z)9%dX!djmyMdho%ebs^Wf18Utod&;+RSN@ESEsJcB^ythy|oCkYOt!adIn%$m#jK0 z2h2~HP8$4~37b5oTq{O%XGfO~o#;K=>D~5Eb7154`hdEw+GTb8`WH;_CIqf;lf=QLv3fWV!-cXXVV zHZ(Par9WUj6mD03omy&0wG4BzM}dg~zyW?RfFFD$G$Hgra8!W8XUzSQYZ|r)IRe#z z-#H$!XWQgjel|-o%AM6s4UZS7-T-{uDCMkri#BAIWHM;g;sp3F;>{>OJTFk6_(Ovn zL(YV*3@Zpb5jGR*6{-&Q465_*q8{|Ba_e!G;x?f7A{WA&po5TAkPVPdNHTO8Gy~G- z)N7Y#Id2jVT+fj6bwDp~bJ~n*C&aj+Ji9&Ml zW+i)+o6aBPC-Q%CZ?p55jbpc%YW6YyZgGVCkg7t{F`hG?rb$-Om=nHHXjPIYX#LAcFq)x*GPV`3I|I&${L+( zwN->_Tx|@{FTFeFd#Z-kj>YoFq^;^n?M3|~0}wEK=bD=X7e0#hY3pZJREtBVN&}SM zTgz9Gq%b~}$sayF(A;ynb5q;e<`)g8>*8u%YMtxw4X(|+Hj8d#f87vsgt9Sg&9XHRm! zh?XmFPL&!iv=RV(pK6kuw`aiHkXzxO7IcMMhIR!M_>kP66Db%|#06kRYqSMfTU*>R zy>6H}yKH)V;*drK{Hm$CO@r4G^e>EDEnOT3;oaDJQl$smC)+h-lIwUafp+RFOZP5ayWyHfhM&}QjwOgN{VM;H7N zx(O5c#T+vhcx*T0?${T0HZXlWR{mB0QroL;%6XDR(Ov!zjvZ_1nBSNIP;DB8EwU8N zifO39DbRAebx?22Rv?=i=QkBd47nWQ6}&v)95v8WKyC-nK_65V?4I*k$6a<<>m%k{ zP0S76&J=3X#<{9;B}k=FAD=uj^U1Kse5-vG^eB2c@vIxlJI;?2*c{RvHXM#w&=C#^ zHw$|jQWdl*;F52mx77UuxsjNN563=0$GXI#o+7=F?TAFgcDNjR+WD@7(#py-6Yz5V zJq?|6HS@QBitr(VJl%XZ_-Vb@lQUf~PD?HQje)E8#F+Fn`_bUh_Tc)}e;s~r{e}MX ztLkDsKu7Lw8B7_&3U11sC$8!y<{lXBGW`cM4BV*wDI@mS&(7BgpJ;En2OR zWboLGcpA6wX7~FJPAjDOdP8O1crCOJRR6odr}>|@HC>nbRty~*VT>}z`dIlKE;okv z20+JiS(34T8Res`qh@0TtajcdiHCa6)L;Ft*-qX5@gQjgcL4)2QZsyj{$xzf`A3wj z%$Tw;bg@ix%0kT(Exa%R-Jzc%Rzwv>3c{ZT`}r;ObR#XtdLZW@ET;m8uXg)vR#`4K z+hpjdS5ID12P&4!oMo@&DD`pevAO4FM7vecI&^}olgDN%DbO;sBHTJ6DB{V2OW`45 zogwMLKLd>d{QMSBO}%e=v`~6nTk&$t4wt=181T{w@bhpW0UiDnw#xab-FML0`LgN5 zQ@8XWQ?4BuxzY8$SC^kvz!mCuN(ws1X`Q99@h`n>;-G95=jV{J1K&7MEv}sT^SCm) z>QPN`J-zv5CuWd2rV`#zc~2M2t4;LgcdWXBJIQSu3)_pf3AVSbJpd*pdH&&awdSI1 zmY)mM6Wjo{=U@k~bF&1)$ePT)LS-}w!i4f96SJI;Y|WP^D2KmaOdH2 z{n-B-^Bpy&r_R}55IA2j0PQW>vtJEHj>Bk5@}R_ zW?*K!?7@gaypek*wJC6I*q?}XQC}jf!{>usd3&5Dy^toU$BN+l^cQX8|%T zo}ZomKE7TVFMB1)k?fLTRh5&f*#t9^ofPVX4I%q_S^BjEUJh9l1`hWMF9~Z8WrP@p zLg0HkXA9PmtWize+M(6Beq?@+suLIeWIK-QxcyL>@eAacQHt<^?VKu+e) zsZH~LERfD47$7-{I^rMX|I_OT@guz4?k#A}0Il1uTF*xehjc{M&Hq0A<6$}Udw#{w zKSMRWO~TH&p;DHggr^Cg!5eZ-D=dy$&)Dp=jj|=#F1K9+R1}$|&`fT4OD~vwq1-R3 zVPyukh>M%8js*I{is$6S=>X;3YEz3JvdmIK|5APhU9&=%zQx7BKlsKL;=l(fYcH<3MKZ#gWZ@tj=>CQC;*tEd4TXy^=e# z6ohlcq5NI(UOoPsL;E6>(Tf&EE$oRn6r%7&dz27s&?n$BaJECGZIgAKr4}@9ESZa& zuGP3J#w9DokHi(yW@SF`-pOWb?Ha?cbTX&hF7((C(f+ z1X|$KgEn!SrB(&n1#R;!qV%~eaZ0lMVB|LArG^Q94`1$()Y5)kD_4CP{-XL;T(PGT zUx#c3^l78pg{Ra$GoeOhpeC!!wi>(D_Gj!Z9mtLgoR&DPby#8313GN@ROhI-R5w;G|NY}<)K8mV_J43y_&W3EoQ^YndfE}jCzhD=9Kd4{LLcEU9|d?Y zqv^YcpaYWreM1?ek2pr+Wr|icb^MkFp~{eb7k=R|0e^6Vp>G4L2EB*3jPd#Y%C9<= z=@ADlib^T<keT0er%#PYBKmUJ3FnK z00Vl0OVS0BOo^Y&O|?Y3ZJuu4<+u{XB>H;p04Dje@T$nF=pPHa7h)Iwi24<=I{a_Q ze4w{~G&S98pZgcGmn#iFid})(jmDripr_Dnm=D-}xH=pamxoS(8#~}Y`{!n+H_ogv z0?r!n$He>IlYyr~nZYuuA*mW(Xj^Z3Va`tbKz5r&=<{e?_xt5nqmK*A^krk8c9h5b zK3W^pc4)A_(;iH7?Vygdi~abd`)vPF%thvFo$*J7?OBu1TH@HLbh zb*7lXzBBt9gaAWh;ukQeO^8#zpA042>G z!##FR=%XGnLHi@}qnP2h{CZsLVf{9@O#hi9O*V<|(~q|g{9XU;QJG;WqGWUFwKCr? z0Tpdki&~!ayR*yXB;6>GW!dTw4?)9^A=n5q@-K2T3XCd*e**uo`E0s%Rx-|$q_I1O ze7h{0Q);(Xj#fPUCjNBrLr&T04|bmyl*@n3)j(TM_46pV)`qouQ!%cf|xnO$B(6BjEiuM@+ZOjZ6%Q3WwLWBxtNWeAEr5Ig|-htW#wFi{+C39CM+9Zcr zo`a(H%?-I#ZRuoSq{AGmks`;Kj7?^+)^*mz65wM7OHcizf93!YL`*#DHxgWtMB8oi7c|{+ zm}bE|#2$wK=I0qbo{*Yku(&?-joU}~nDr0iF#T%HJpc3{rLp0MQ`xRJ)Pi66g@vDs z_kFluzV@$u%cB7+E<%;3j|F_gOTq8p<}M@XO3XcMKhBO|OxS^KMKByYEH)XOoBSd% zV{Y!#HovXj^Xo)8iMquo7$}HX&zy*Q9>K(as?N-zB(El-G^Wtk^>-h07vWu3hy{_O0}{i~Yj?^C=$U zTAbQldY5m)BIBtlXor2 zi-RphE|?F}`i6UPD6_=RI1`Klbp{E{*od`=RHT>7BxWmtO}gUd?(RWeg^@T0n>^F* zQ8j8NW*6GTqpx~LF6fFow`4l*Rd|%wC$z}%f0m)f9y*cq=E#YrU*&h-&g70hRXv$} zzB-Rw8vD(sO50jI)XUqf&YF!iJ7BZJ=_u?L>JH`yZaYCr9CCGZy^hl$3>;0&RkK5y zSP__E-0Rw$Qhol{T)FzQ%ZERu*NbP~`j-T~mw$@?0j?4@vAaiUQ07tYN5Ks-Ud94a zh)&9!#oKuv%3)-WE2#@Q zRLIUy9O%OgxL{t5}{e$z9?Gll#N zi5_Qz4FV#>xFjwy_yOL8Prvsa3G?U7b>HKenk&U2&u2$IIfU z9gmxy8ow+p>i8h4@U92-L^I3f)iYbop4*x@FGHM0d*ZeOx6m2;N4e1jboqRkY8BzuypI^{-3w&YC58ZL}PKhR^blG z7ujJz)7>k-BRRx3XKtfe_xzanRI%%D4 z)BoB%`ZLFlO2VfD%vsPU`~fEE&|EwKj?dg4TlFu$V^AU5v5{=VZH@&lkn7s5M~&Yny5|d&8*6* z%$mz&rS~TXB`l5!iu4U#6VUGS++%?JAMqzH27?1OpKOFF;vFIZ)qzIf6|V2yc6k%hb+Xg)b;7-e=z8owoD_&99_`3Gx&zFqX-bH8MJ^#9>QrvX6cY+?n zy&yU+6Do%Q4(Ou^7fq7H9rcS@U1 z*S@PdQtjLDt>fk}L-=zl%Yp%a;|2+7j(wNbx?*zu+ATd>&TlxC-I};)!DBBI>`L&s zCEM6}9-;^9oTox2$SRz)o-blWGE(Vl=_eRf>;#dmx*G7XIPBbw3-t00z8bY?@#Z9U z>R5W_(jDnpsVkEH#5c#hh)N5e1k&bPy;phcrGQCz;yQdOb`E{TrV`! zy!J5k`k%Wyo&f%8)T90;S}QIYZ#Er--}br}Ii6UXzBzRwCL~}LVG`_TdBE_I)>{02 zsH#5p>!zal9Kqw-M@yd?z8ozAeGK^7P!H+-!de9=QGb~iInZE5Xc~U2YY}NBnM%=7 zE>Rx4KEhZ)i8hr+-P%6MH%3M`ygu+3_sh1j=HmRqfIQb%rmr-wrG9pyQ|^w?i}~b(YnNrF;i=DqYdv z+ZoV`YxZeb(Shr?XV8U9Cv-;k4l=ZbCoIH1hLN0@^B#oxdbkL;v5(bU5}WA^;#iu*Is7CWKs#1f#cxW*VH zE=v29v2Yn>SzX3I>8UB}mej{~MzO=T2A%Y?^cnQ%p%6&zggV?H#sK{f>JqXDY47q0 zLn4%r^pw?r#xfp?0qvONiTT3)stlv8&^MlGQJYg>SudAuPudnfLJ5b7tSpT8=pc99lA|A+NQa9VaoHLo5}k>tt33MPDL zTPL%zuBN5Rxn_IAn)Y)8IjnW^wfZ2dYls}TAHm77_G#SgZR>t+6mKYAeK_Op;v=CM zo*c{o_?y*?$p^q0bElrDdp235DweF{eHvRh@?^+qNKEr$%ySROSLkfb4?<#zH>iTJ z{V@j7ad9L4w$zPhH6 z?@K$ z9;=LQZtwj~_v0i8G$L=Qv)n;(TOKdnC|ttXKKf~}wl}Lcb1-adUf8XQ(PF2n#}CRM z^HGcw{eJD}hPBnN{*tT5>j&F&hG@K@@m3QnXO!#ifVGRBruMC<+EBf-Hs-#6-tjCx$K%zy zqDy6QKd7}=J4|UCShj*|Vv*EJ!B#e_P^t~`SE5y%yL81sVxOeHeq<~6qU_5!Y05$S zN985zV9fUNfvI!(?QZ`jj7`ut$}Q9aN2=vh6QZGRZdwo1)l5K?C8C9#$D?tyj)A-Z!BF4mb>6t5Oh0M) z5&nS;4Y&|FvG_&GlMH6o%5015)U0zEv#Ewj6^k<#^+cqHasrB|FFm^`zOFPJ3%w2X zFJd`d4Lb%WAT7~q9GP^^ZIe5XRN>-g=QSr)WQthQ>FG5#R)m+qdlNQgUS0kroxLcR zdKxXaJ7X%-?^ZA4fV$5AT3tN%+~&dWJIn8`e|R8AUg-X*_m8ACeI!P*OLqeF*C8F= zgKoudcI_iwAtNa=$~CuQ3dD6A8t1&t(rBKq{=vI5xU;$Z_m9uHrKLr(yv~<9U#!US zec}6RQ{m}%gm1=wi<)iwrs+pH{|RtnKj150sDJ_P_+=sp56)~HxlX$`3?9?+JY^@; zo5qXOI$4R}6>|xV(cRbLRDY{_pvt{=U(>y=!z15?rP?E)O;96pZ(wSSWm?IK-t~&j zxGkgWQ?rjIjYe>N^6{e(kj)`ecY|8}K^<|*V4_-iTOtJJ6$IUr76dSOgGXO-I;8ie z76Z^cf}rtHg_*^!OLAH2nRO)Feg!&Py{utrcS_Wf1+flM#$i!`bSl$xg_{Q{9bij@ zp~0yAi2Lx@@M;9qvam-STnXzrY) zH8>YpjPoT?+&bJ}d-!^;@q~H=k%`#lka0`$e58iS@23^FU8u?}KmOrR$%CS}{PVBq zx#HZOS8ob-mCSzf|5aGOrpsdZ66*~AmgtWpU*-g)5PQlw;!1!&$QlCoJ?@F_e?Fq; z;H2}awDBG_ReoN;7&91p*>$4DzahM?w+_-o>Bt@|c%4&Mg~VD zHlH|ZxWaC~%T0HE;LWJr@%1TZGqz_PSzeR%I&*LO`DB-bJu#J$iDB`;#B#;wwr7hQ zj{J~_#(x43@*?CgVk7dT3kM5!b$6Qta=0wXUMLIeMBRI-rEsCVZ}ydABxPmzizVBZ z#xHG1C<#@Nl~AI!gUMq(S7pv#+Trx`$J^~WhaQIBcYGN3tp4?%lA^Emf1BEVk35rn z)!hKSb2tMeV%#DQkxSi9yBm1C@%Z6Eb7K<=P+A8sGaKD$nKKjCbEl5>WBfyH@t#6l z-m#a(FP6WU$Suk{@z(F-zKXiq%N<9DHZkAu3WSfu2cHl9k)U?%Wc_=i!XY(Y!T{C^T6g#9*3iZW^&<^_t+#qU(~%d(6E8#@irezt~3sz)g8)ki5I*@XCi71vB zy%(6vNB!JWT*RTN^KZCrVIl zF${qG@c16to@~0TD`PYvHDs%6E_ki^B*5xSksTRzZTV7ux@h0?f``cuY9AfW$t$>4 zmQztxAJ{8mO)Ir?J(kX3W286s2jQ>lT@r(|o*YTZrOc7y@p}--_Kv38r;#!v=8c}; z^{k&?Kli;$e!HQ7{VFy$=0#%emDl>B-DTIl)2lzUH4Mx$esebqr^G3;HHwGIjmjkX z|HQ$((_`0%n+E3w4M%|FIvzp%K^CX@Avci%OiorM&7I5_UM6otWkOP z>}6|fRG^1j=+e0V(zMwt)(veuvhmj%t7Qih7KLB;^2C~eWfnV)PRt(D1y1Em*s3?l zCIlDQno;$zoMtzY$au|hm+;1m4TLr&$N@@zz>~-ii!D;}mTp>>ob~Urw2Xwb%B0cw zqL`Q{S(r5Fu>Uivo445GgWDFetE(Zw6t@Ipi7s%tfNsK?5;u|GyX|%}c3qDgv_|Vq z<>7*8@tetQ7KhO(ev1~RCby>Y5`KkuyPrqQ+gvuyo4Yh|R}j{Jq+0O7B>%wkb5B-2 zUG<_Vzo(S_m07u{<@8`6-)!QlQLjxu!~lJhu!(%mEzW(7`zm*xn;)f@wdYN@_b)~zJ$Hf{Rd%Ud^cUP>*msIv$?oUpi1dAFnD^AvVTfTsYQThX6iz<^}XYF3|ctiTes7bmXJfMtIQYike67-;R zh?S>7*Z5Om#>lhwma53|D`ob@%7P=WpXWNixbtG=tN#`5eK-5HyfU`AuXn-dJ}yke zlh9;a75>Vn3U`^kNXq$_(L$RX@EjZ+-oY{#tx&8~yQ(%xn|a8w4BDYSY}ZkMdk$;) z(kAczL>uAEC{E43w_?C|kn{YPM}CWUOy8N!TSHuLu@=4DF6nRt#ODC+k+ae&-{iym zef@o1mdTa4@1)<$B$3(`}BcFwZ@925pHtw74wEE6sUn z=~C~dytMh0f0H&ORK)&>{%^sdkmCU*RIpcnE1bN!#& zs0Y;}-4zRO1f83R7T)9zNIdjm4qc??(5d(x^cqvlTP6E8*<@&C`vP%`ECHR1nnCVHnW0Ou z(*zvZ(#@O_h0ljz%`T0v1@QP!q7~EOw&}zJAt4FHOKUP-Cu+h5$lee?i&2A6U7#wS zwy9mg?$m^KR_)y|0*9riS z*8vWkUIZNSKYPB3;dF;oFm}1;Lw)a0{I1TKJ8ty@R_&_uWi7~ByeM_eGGR7h#r0*ODWNgHgJ~Ye zvCAN%HjhDpOt}_+CQRn$g-Evj$4oWP znyeQ_4(zYde_T^w_af`r^5-jG78f3R?^8bi_jIdzs8+CGl4dk$y$PIvFu~lxvx&YW z6EdBgMuC&n_+!XJ4yk6gGd~n{9KXTFmg>Ke-%~%iyss~ADq2$zmOqf6QuJTRmXFWA zldIk}6MBP3G|UYEgJQ2RNn9+ckr)9f(|N35`h~&izTEyg+C651uvdOU{jYkvVvD#A z$c{cZykX!(uVYVe&p@x!;A*-BccJ{eP6Ent?!-@cb3@<7L?s7hHfI~IT(x{U?c`!@ zSb_ILd=qrW_MExD$reMW`DlIUltf)B4d!2B9-a&8UA98Z@-j-;;_*Xt|K0A=lZB?I~msxl@w!*^DEAU*R zCFv50Ocs$}k?V=u&{obEOYNLib62>S{;2aqt)xQ!*}Lp<$@Vwb3f|?N&dV-{0P?)N zzPQn{2S`6bkG5*Rr{3xGZ7OJCve3eFel|Hgk$>8Bn| zyi}wL_cHs3ZU9UellJ2s%{`B33)yMXby~b}hFuTx7R4s;Wpq4AX;{S9un)!b!MMr)>{% z0cD5(+=Ag)bs{D$Y3Zw_Iq9vbN0L7+xwaS-;};bao*ewae>e4}7aq7Y2a#i4tq6tK zO8`4-vC9**0ZvTVPuf9N5QALq+YQYsrG)?^{)H^g01NT4mWG40BAY{y+8!A{Y+ARr{Imy?_WMZ`7B)fWao_1*{aCn%3;_1b|<#!ZK zvMg~Re~R^a^eF9Z|3nYCC#(0_K>NrP+g<9SO*h8c8@L>Ia|m1>1x;9)R=#X&_KD>e zmYOUHirnw_hctv-Cu?QcM>nBC{l-0Kc?`L-Y;>87sf1!&RmclQW$W>SL5C5$#GXu8cExU z7I+7&49!BzF;d)G;tkS%@=Dir=*JFJgDr9scFNd#!JKx|dO3bwpj+&G@=VI=#qGh# zq=S$-%iG45vnMoz+~^)v<(jf@c`I^0J#&8XDervAnJ?%+mm6Jsk<6PiN8MKwZyUYS zXLuI65OFiyoo46 zys0lHl!3mk`=zYKwRiQ`(z95`Tp_PpkSF>sUMXHGlyW~X9qC3x1^xB|gS4~EBf{T` zXXB*F2jkVslahtJyA0}(e{W%z97wCUG}OZYE|Q?>`Ye@!Qhtmt$7F zU1^uqnQXHN73AbzjNT8{Tm3XGHjD#2n;rxH%0rq|`3d0$&iAp2(fte;Rx@vnv}v3( zciOTa!o)Xw`2@qGYU3bDU8#BL&(gtZ_mi(K@mqWgNHcpCHWu{BALk45N$~pWfpOnP z$s}nK* z0ZP2a(ZJlnNIM&%HIh`)UNr3eHu!e$>r=U*FFAR%x2rzVeyphpX@5ae^5--k=AT&% zIdlW=>eum1BHMK@$(4MG>_ZyCVG$E{y(Z1mKjnCiV1V7Sx$5W-#Fw-WChtDJttzxD z2q`#P^tI&u$B-X>)%LAl`hL5eHT zVPKk}`@7$7@sqXqaj%Oj_PO`5SE;om2tjx9;^^+-+~JR7Y~aQ&#qwWzE_6d~NJ|uY z-n`E7qUYBD|FEZ#jgg^YH~iJzylwPNk`21mN96k@2ShIk&+Qm(2W)IEU!H%&(wNz% z{3W%JuoM6x&Td*z+QLcRQ57?|fjnzTa1eJ>^5*)T3%nn+FDNXq%)iEWk9W4m6<4uc zDfZLWPb{utI#G9!*Wiz!2f*q^Fau?fC+Lg8x={p#0Cj;@7`ACVk{n!`omn6i(SqjP z#IO?PUDR3E`t&yrtx=hBjgEm26D{kzK*c6hs5!XG``cc9oDh$ zQJa5rSG`GXLiOK@t7TTDH%niY`&VE5LTWnmd%o-0usAM}^p1LxE<97tSeQl4^)YsU zq`m{NcPLI6OeEmWk|!B4T#z75kjU?3<7S!kcJeVo+~k3=*wHUzWk4b+e2%wpYDZP} zzQ!-3debdiL$?~=gTaKbGvRkbB>cX)aI9pI@&=DJIu!9TJjr^A5Q+QZ2+^kP+|{1> zSQcugnQBSNqsY?JXOHoGSKCC)6dD01RT!qxcGx-1ljd6xuoLJL^ffRkAlYx!d(5N6 z_2@1u2OV2$t1R;)n3JXnCM@_Ga4(NGsMQbF_XI^5t{GcEy`b7gR+Oy9@V8&3t-0NqhFNlXWyRVx z6^$Z)Jo|HTb&NfWc{?;IsFFbajSfYB*r3r6W5hISHr{U>XCSOSub3&mXXETVlp#yV z9^3(>u%&Na_19`As`pgZmA^0ds;sRkub*zVZu9HjGwh2+PLaqksyfYv4x4tG=F{vc zFNihRE8`+#9^>h_CzO`CL-P~Mo2x@BmWzJ8>A5gEb;=azsTv$(jN`F@O@%JczO{5p z=&_u$_B>SGGTb@A_jhPPv`*Zc813*BzY6Dmiw@{Mo#RS5Qu{^E2+8b7Y`bmltXeK! z;gV-h(>p2JK(=d@9y)iMSGLk1tS&#IwE(80(`;>BK6^F$O9tN#xfyabcs7va@8-MU zDeE@u^wmzoS8+= zA-k|Lwk%au5zibtylnz6_}y`4np){r$%TlLw`x`=c+-@-g9|^BKOZip=2_$t@&bzp z6@)MB?_qy$jyO^d@}6wIkwhwWYs~1rHlQ2Xf%PD0s0EAzs0_7w$*QNM?6<508jR2Q zLxYG;jUO)?=j#LNx@+93Y%5&KOUqj-pMG9yAb%I{sOtMS=1RyTAE%{HS2K>zDKTZ{ zTxXoAlSEaV=H%GqRe~$^^QdmKF#joJy-yoJi*8=)%r4YV^O~;uGouyaiH_$y`?)gV=8uY{HK4bxU5@HWZRN)H$;oqcx z0vdAC)<+cAAZm8uULk>x0}i@BvxqY&RZJ8&5<0$Fxa2aYJ$brgroN~2Oul4}WX@V% zQgLCG(bvB}x4StLGt(Ihyq*0rQmO$uB8Ggh8|(@E9ik2CY;p$S4zAXjQoJm7Y3&0S zLo=Q5>Y4hr*?99yN)5f@U}=0&G2mXo7vaiMYsSAm`f1TMK5T&xr?>*XOC=_UwaUK6 z)@Smk?~u!IgJZZ6qw!{f(#&a||FYeh`|5|qblxuJSGo%67xu}R-bn6n(+GUr9CwY} zIw!RJSj zmZtzu+{W|?@=4%}7vM!mH|c|{(Zv%xp0eqhSHT(>L%Rx>884#08_=5E6_Oc@55)Vw z^d0ni=|1Q@(!!{5{{{+a^kZIfmeFh(eWgBH{gh#YAr;n&N?&vkpNGt0$GRtv&EJ^1viP*BPO6vQ__?{)=^yvLuS25W#%&CX^B(+u&d+t6GOORayp}kqbDd{v;??UA$&1b6nz&_b)suHckuRL;&A8q zzA5i~rF`Lj2wXRtf8S$blG773```r6Nw^gpl9n%Qfwl z>4gitg*ihyV@eBu7z@E2Aa+tEfS3M>tx##Kx{k3Ey2}>t(&D{8@O)@lI4%597&0Uv z5DchUTJ9H|mmJz{8CKyIWXuIqX_GtfNnjq7YEZ2IN6%m1+`!cM0n{FNp9Dasbe-ik zSAmmn>KeI|b5i8E_D>An)idyVsCS^GYa?1pPhP=J{Kd||DuT0!@A~_-Uc1;TJ2L%D zdSljqpMI8!*I`<0tP-D!w+nZr<*)9H1Pny)QkfH2G!{WzU)LvtA*#Mu>WyMg@Y{v#o(u#bxtF zB>|V41+ZRjkP``;*k)`W9!35$bBU+59xHJ}^^#$P>2q6C*E>GxLA%0*qMD=1BBO!r zU?yO{Z>HyS*F8=Vc3-UCn-kC%P~J#1Tm{H=UNQ^>{nQKAv($fTAPnw+T|#yuLX3H8 zt|FeiBr24Ab?*Fzk+KU+&)(J>5#$*t?@?uW*T_*-U1mfqX~%!5hdwdzu(_+WEi3xN z-FKHi+{(m#`c_fiK>qck&y{eL^>=NL1WxI*wxy90eA?ufX&m}18iGkfUoxo#U)R1S z?<@RnX=?5|@%13Ay{L&^d#Vyq3N757mzv#}WtFp?-&SH@f&-)4DC zRSt=Jh)3dBGexHZNiZA{n6|@kB(mJxalZOe_;Sr+;=Cv4{A>l4i`O4}Isop4_uT3A z9h8}frD*W{ckU`B8Oc~ky2=LPqXPGCB%DdIN&v@y3nO@awTm&y)3;aoB;_p}vKg~> zVI_G9EQsM;Wu#K72_La-lMc91;z^ne>)Ya9p(OcMopAVJ%R#3h&-(#|q5ToPk+g{3 zFmQ-#Ai}T93*vssdDbD{_O(@-c@NqdNCjEJ?7%F8DZS4+OWJEX8T#Hv7EmF?E%*ha z3N>$$b*?$3hZr*By~OZ66+t76_ecb3x_*GGP|7MDY^ zd*0W-?RziC0DpQ@zVW5{hh@(@?Bwjp6(_MSh2xrKpd*lEM6Jmzif$^5xr(U(+>XAW zZk3x7r`MCXHIzN0Hh({~Jg$?fbT8Rmu#x*RdnC&tXF9*G#J?uG@k*Oa-@^FDR0_SG zL7v02N;ppe#+4MSdgcb@Izce0Jeh#|k2Es9&brHQ5i|)j=1+17OpTdIQpx1!p*y{{ z-PS$#2jnJBQRKPEO(9uB9aUtM-FYu$m}UHIqUGV`L*EmmW5WU*cWt1L8d|HZOJhXV zHu-Cy)$rxZ3&y-JbLw<2(i%P!=ZU8iPg4PXetu`OP`X#+I2c$6_MhF8{r`l9MU})1 z#K5AxBff<+2PFGUxko#TJ2(KIa->;_sl7=P+yeU8xE=6+9@K5sd7(R}|I(-jnuByg zSt4$LdgM*l24=Phdq_7p5u#UhYb_EzH$q4eKZ6l&ap(x02eOYvT(+cF8d&}~?+(By zpGWwRo2vX4oHmy2UOZCsx*6LkGIovrXW_K)KRK@YHU0Ns4m`oc6ZIS=Yx>mm2TB5Q z&u~!vk+jj4);ybTJ?YkC^b_46QLRxHQ#6-9lJhU?aaK`|X+d8ZsBWO;dS}>>C_Wib zG_8Tm#B;7FUypCj4P`FU)kyNV;E7G31LQkxKRa--dTsZH@!HLWQ>=B0$mEs&%+A)| zlfV4izx2e8JJEdR^L7^HL-jtG1lhNGoeFh{lRRL55O+``p(l1GkmtPH%pVY-J!KvO zS!K|MD8PFaT7fTQbD)f2@(+C5r03)joC?WeCXFY)u_l?S-e#PO$+rLQ=HeR`Bo<~F z(HSuw-W#eHY#xB|Rq<+f3v}*sIAja8S~43kZ9rDTsNgUo83TX)SiKi|V34_y71SHq zhEg?YGn!IP-=qVXpLT5Kbiult>K7AD7jj@mL}^&7cc`_c(GlgFk}wg%X1$<{@~7u= zgMY!ZG}YASZ%W@KXXt*4uF(2g)n+$@pa65=9ioi3+C|-yM&r=e2mx}@L zIs?co7AwVwdM|Iy&fq+H_xzZuqn3*l&wsj{XO+{KHI@a>?JNi>kE<(c+3EN`n2ocg zl4tDao-n&vlAMQ}TkP_=fN2%71|B~#IPn}GNFAKJ#5)Fbx$S1H%yiSnDJvv6F%G+X z>=@uIcN@6`G{~+nlokOHud<2Z3(P&IDj(}GpSWB5|0WJ3EX8++&3a1O-a#1Xg)1jY z)e4{8irH{p|GJv9RLM_bGHExb*tmRb39gGMpt>->Etu~}%LQr6z|LA&I-T^44BEE&9gG~H7JoQ}@9f4{!i}#orR0;AKJOug!AOW4yzpVR4M@?5v|AOI7 z$P%1{XomD@f0Wu@be;Y=HBF0MSds!#pf=}yTEq57><@V4=mu|7zabqXva;E__LRsW?U{1eO)ng^kO zGzFl(?CO&1DHvdle(+Cmx3nS=^1!|#6LxWTO2Xyj$>f~`LYz(TVb?A5Ah59} zTW&zCWjkd(VWna5;=F)u#aJc>;df2Mj`fb+nmj@*poehX*M+36XdH)d%xj&fUX?&> zbWiN7-OqN{#b!tKhrJ0>_B-NP;j-oM)F#=Y8hy>A7k&^b53Vru1nC1=6+ay)nTOdQ52A_)X4^fFBW3DNt2ebt;DI$r$zT(E( zkA<|8Y9jMCKJ0xP@~-$}P;PvQ@8`f~$xhD5URsafqtK?TnEDC56k{Ch0}_OaGhISI zGb=Q^X}SygN=IJ7Qux|pEaMz@Uysj^H(z=xVv50^uIB8`Jez(Zy(-ftuN}}1M4HUo zYX=N*FzRu}AoBw!hMy+bz0f-UloQKHAV0@(Ccb0e05kwoE^fYYKAo$=ESP3c3a2da zrzRADK5Dfg?2y!`{N&%M@mbE&0B|RF0$W=UosIpK0Vl;sVpcLCDS9s{e9gVUC9S-eNzGWiF$gJv3c8%P1vrd(~Dc8+c* zXv}y6CU3Hc41%O<{u1-y^T;s5IxTt`reF)hIb!`M!*7Lq`^npbp?B15rMpGWYXid(0S%rwkBWqSfFl?i?_cXKX?9y^r)Oqoq4b%>qx1kSfb>9yx;SC;Gfk#o9~ zwn>Yj|9WEno&0y8XK3*C9J4p~sS3B%~Ntzmw?O^^zkvq}4p#!eDD7vP#^rq0K zO=)1Nu!AjX_x=1Q?@gNIyRLVCJ{sm)lwA4DZ{~Nlj*igk1nWDSGIOdYbiW#1gxx>} z0{0aKvwapw%bRAQh)De)rDYM)(t%kvR;EX(wW#)b*ClSp@F8pihk_SgNad6E3K1!H=3Q^FUFw7Lb`n^Hun zY-srV^KG}pSRZklhGU#!0yIvp8PAX_!HSrfCimg@Px2?i@Gzz58SLuW_IR`+3@DK}ck`@`&Mz8N#J4;C8h6{@~=^!+(;A`vxO) zy*+I+;BcL4gYO#$1A(Ab_Stu{1NcLN6mTU=H9pgB86F z9lG|YPN}{qu-np1EKFSxNd0LU#v+B1G$~1tXX8bi^i^$k`8GtXMN>ol+}UUs-4b~( z3780b1I7!$*ZxVax{-Au_1eqmS7UFtGc*gISHqf}{tAr)`pQzSC{oczE85^EBnffO z`Z}rairVJWPERa(;Z#N=k#I?cj1nV-lAAw=fn|oD~E+2GA2#fn3 zgmE>q_zkYmyaKqPq=ZH{)qt;Vu<}#zfW3D*Z7LaiYaBf8JXuUQOnb=|T6Go=R^=PI zqp5a_Zo_`}LLWw*j5Uheh$)CF4EG4R5)kRbcYow;=ip@1U{MKpv`mmlSeLQ3!EN14 zt=a!ku>nf%vY{5t9q`zrVCmXk5_J9@fLM?~B`wCuKY`Wmx*hBhs}Z*rlHq&@5vfj= zG#5Iy?lOOm0__Dixa9wRyZgo5^X=Dw^qX%`QP*G#G?fn!^x0|aj*<*z9bGeU4l*09 zW43}R2ijMWz(gt!{#&1?q$+xE$!E3-m)E=WBj5|Y{CiQ(r+_@!9P_OFO!aI+9;x_8 zwQ3_kT<9~I>?W7a$T8*F*&IIiI`1`Cg6#<8!^KErI0%q}tH+_pPzIkfBM@6MT5RMW zWfjmj2$5qG{pH;cx~}zj4mM0wP$(SUhP^CQcim*lLEje>F(2;+oSui16%#UJ@qw}~ z7tNxK%G3}t4k9y~U)O3^ikH#^)0`H@DtQ2Remr9|aja_6Zwfhch(Eh&Eo-6k4iRqy zb2In<9abH4HU8h8FY!aM{K(It2Lsi8`#dUKnj9Bxk6KBYe>XjWlz~+nUo&{G=chBJ z^;GMvwhG|m4}<)NhzGLeXF-P)p049&lSw6%C|t#yaYF64N@Ylv*4wIAgRf7%&(10;;@8Bq82@`Wt~L|9q$66Uprtiz&;-2& z=qs;L?WoVDQ|Mf@xe3+yxYi}PSRwsI4F+)%+I{`|{o3ZT{e=N}by>yf3u%rY+cO^L zdKR}-k2i+4>kand6ls@dM_JwgwX+@|>Cf;2*`bI!_027M^_>Kc+Q-BWlBrcFY zm{px_AvfbK$Hj-v^(FLb_MaVIoZL(K#^SDIi|eYD8E2W_bGG!q7m3)Ln51$jI@cl&)$e z8B9W&5Z)+R^Z+Ky+{41m%oF+CAX3#rLa=(2Wk+o27x`V;aII>qM76Ld51-wi8I@U< zHI+*$d{H4&kNRQPMIGrNSkp=w_NW^&&K2{JK`U*14`C`N?R`8pi1Kwh!LC#(R+FcR{h?z@W;_7LWkV` zpzCxC6wD;GMfR<`vO6dC{rXz|AVd1i`xlIt^>2kThYPBzx*HoidPa{=D=#~XOQ~4s zZGcZ9Uz!e~^)L@H@6BGA|2DgiLV&Y1U&_R8Iq_do#YST~WEx*oITSnQU&_X0_4S{Dm_mJ|4n=$XRvZtZ%V$?oP)oyoAeHisM>ob z`ODEOM{N$q?zRfL;CvqwVOXo`E1e>2wTS^VE!I-$f(GA+bzypwl#XAYJU6L_lbJe4 zf64J()0Z4mmxE-PZ#c#RNl#SR*Qo2UHgSfr6H#;Fl_6Sza=zsrCN4NYEzh&OZWeDU zf;9}gqG;}m2wO{GU8eNB;LKMQg4LekPcRsL=Ox-8wFrqfh)$pcm?w7+P zV@Z*oz6sVJ3`LcvB%MXWx78NEQ2l$Y8oKiDzI*aQ`1$I~eeXdz@ulCtJo^2g09Q_$m!#q0h%Sg&O7krSY6Xbz9>1)m;05z? z+6vf?{2FyIsCHK;^1GI({9B11!pGO#m`$UvzgHBue&D@0{*3%$;;nL4Mv?62k`}41 zsL8t7g4N#=2UYTP$;Rf0yC`Gy6uJ&zeK(lH%{q~BhT3XV67)3;M}d4`xVOEj(ZA+t zX<Qv=iXOnHtwZ-t*df1iJcqc%sQeVVev z4Ng=|MiY1F?VLcM>%4F60>IDlnB$SfCjAGj{#m!1wu}EG^$$+$rN(prY@Com>HKG+ z=jiL_8@0aA=n(s8!clTkX`FE2Z>KcVkD&7^x1{(&LmLA?H<9`hTF}YynSDpCB!&P@ zoVTz@f*1uon>Meug^}TF+Chyh9G%{KJ`OMsI~K){$&Ag6ITm#|oEp6D-{F14UBa1c zuWIwr;t-Iq4Mw1$i$-OjPr5Y)%U@_PtUNw^PFD!7 zqiB`q`#!od-Z$FX=YfT_zL^4D{EG0+jX0hi!L&oDrZIax75P&0W#b#|k8kqsmyb8F z+O&o#)WHQ$QLvJk4$0^N9EOrc)6wM^IrFO)NDBuv6~fdqm%X@!;D4ch8ok+>)pW0> zq|~KwDUY134!rk!)9+?o&)-`*^7&UYz2o>06;GnA%`UU#xpRgqAX@LLc8X?=My}=&ohr~ia4#$amSX6p`bfx@^M@o!JUDY~ zZI5yha@|EP^mnXA?8zXc<38vE)egycVe!p6K|A$B->z?-g=f-)-psucf4eLFZN5cC zTEqOW{=P6mA?wKc9?1>mvpTAPj@XO%&*Uj^er{mI%!4pb5Urqa6$SC>l|p76!L$F- zFS&+)l`$nZ08PsdUgH#cX$Y8+B{WD^C{uxje=x z$_Sn@VKkmIo`k&zoGH%y)=iqsA#Dz<#j<#poVQibYPe*KU0ixxd2DkuBLW)wJm5cX zXSYXA*X@?AN&(7H4e~E^!blnPSw~bWRD-2%tSPJ$2vP&f!0iz+kiXgtDf=Zl{VMSr z!u=Kk#=Wn z?eF&%DyT#L=S^)`qIx{(IDd%;8Xt`wFr50|-6|yuGY@kzZekWn^}=VT^IKb!1`K{opbG zChybkmd;>@K${#36-3JLo-0@x{fuFt9OC70IqUHL$LCHTmDR? zDK6nML`CBgCS&GZu8IgFSK$s87}J%U)T&LcER6 zcvA4Y>PDktyUNfjQZARZc}lul6|PrpEC=^Q3XlksO_LN;5LzC!13~G^Dn^NXSsI>o zz?%Z3qPqI5O05z&@Xrs+KAf4Hc{_V5->ww$`M;(ge=hW&m`os7Pm^b5SPb@lE|xpM z31$6c6P`6*$5E4j}3Umo!k>(Q*r%vahovK8Uz#Ql*sL(HMj(HoQ1Q#K3* zLBsY1xk{Zjgp=)KkDy?`82Noe3C#&Ed$S_3zGofVfeiT#H3``vfRVnkF|-!H@@3&2 z_ulL+>P@0I&Km2B+f9rF{1k@-)mtBBAX;$fxH;YNvgh}JTVZ>n5Ha#GFQe=u4u+zF z&iO@pt-5}4x@p${h2DdaN4p@B46dohN<;uU z;&0Nc;l_@K&3bjWDjQ2b7M=Z+ojaSola0${~cyYH)FwF&R9$?H+zaqO=^ygNFo5c5lyz)Im7+w5np_>nPAW}RPET+iEMitYS3{RV_~y)1+E;?yc*@{# z@4udNeN#g)Yy?ff18=kCa&&u<5q4Bhcd-SPc_{2hcJk4Yg=Gi}o=KGPg53 zY;w}bTfJ4%XI+t#N8%6Vwlf+TH3em!MTC5APF2?T%%@oaxk81X%D3v+-wA(Phdl^a zXoqI;tU9jJ{4s%sV1_5pHe?Vf2Z_e`5CV(*hM~@VAlO)_6WruEvM$b;Qx4!ij&TQ1 z_TTF#4=Rnh;(KWo+ zxSsVXC(S8UICbZ}cs8x5q-L`zqGR9iJh_K=bxTwFs!Eg&*Kh&43z)*ioBl;xnQ58T zqjVrxt>?09TLb(WTEe(XmrrZs7tN~b(sxCg1zUN4b43B>O=r>d3UXb2OJ>Kff$2#R zavA+Hf_3xu__B~z_p&_xh`?v>c_Pgxf6*lS>VLyOUHY`$S z$}NcZ3PHCV)(uuv76v$tj26lOp$6E$_}E><9I6}BU{OlQRX$C}0B&p9;xz90E}%cu zJ(3c|k0M3tMvRAU1SR>Syq~%eoKo!eTD>w`1V}?G0HY5KqUu;_UC>a~h}ZPe*$rwm zUV$3HRE=J$9}%mYKS!&cIzA1Ad1dj&5A8ns8iXrGoc337cm{P-E0zKpPq(_4&M@AO z^tJ9Tx6FdPd-vw++b8Md{CgGY4X9u1J+HC5XBU^{#kdL;nuVY)FbB39K|y>#a!rIy zB~fQ#+xov%&PYJkdpRU>$cSj?x#qgsoC^1nPX*C=J=twp_1VLD;>9vm`JS z@K4w24)^x#&fs3{u~u>$_sq7EBEvu*@M!_gv*?t4Y6k}o{Y#EH@ILyZ->d@y^+>-} z87Uq)bJlH`94H z36h<6Ki|xK{LcTC+$+Vm@fqy}p4IP~%sO*MU(-J>B1A(J1zML3g<%N*nL-{w)yGOoKUwA40rLrH`nQbc9AaTsWmd!JPnn*C z@e||$28Y@jd%WWV zmqM2TveS0tyNLh7dV)s+PWV3a^mZM0yk@)K@-ncmB*7sNc_Smx1Kr!&$F**2F|~8_ zTn!ZJEghGbN6{K<`~yQN$p2Ico&ZM5jhO2dX)QKz^(ImAoO6xV^X( zH^UwrYicMePV;{K=cRJ$_DAq1kIIIxS-*euJ;!@7Z?D>kvlW3x9K#LhOJoviujyN~ zjTun*jH!g{>QfapMK%{bW-ahdeZ9ZP4MNoerTRrv`QLMnXOS}Vvy1bemaJBfe}lIr z^f^uHQgj%vnBUpyTq}MD|2{8{UC&4WrkfD#%ZXg$J+nkg z!JZv48K~+r9Uu&2C#b|j)2ck<4XAXKRt_9vdlfi6hXH=s&x6+wPV6^}c^cs8eAdj) z__#)ioSFFi&XY~V`q;|F#oN4qxqnnRaW9~0VJGbX-y?kPH^AuYm3^vx0+weXkVMlX)R6b_;gZ`1L|d*OC@Mc@Pv~RU1k^(f1ar@Xd3%#mx89v1CcYDmESuI5cO6_`xgk>)ESw3lBN7Gqq$q z?&_HMkV*feKKB8okwIXlWXft>sTB8D+cCDbaCfQo4~!Jq6OwQ$DL>(Dd}mmqSC{QB zWP=_-SzG#=NblC6_4t*~3j^Ga*#zoWLi?ohL<`X4LM8<;$oxZ_yQRA|-h-zw2kqnC zG<`FHon<|uBvK^uM)>7WtzhQ>oR6p{)+G&C<$0EpW>u(52uCO%m^8oDHPar@tkK-k zD%J%XgjJF6$pI{Nu7RE|2`GCArUH7GKS@k@g^h5?3U8sgZF5tJG87imy9T(OmqjU?%Tvj!kxI_F8UuVL*9Z?YZWY z?VpzHnoSih^xTuA>N_(%%*Z*3DAoV7UbsLIeTVP zsC0bc*snoS-`+mofxZzKK5Tkset9QX;f?-XQ?et?R}fLNr##Uy`A?GKzSPJwzB3LW z(>c(n$|7sv?%Jn}WC9H|N z_IRZRM1}@N+=_%nehEJTB;nlspLoA_&vG7c2(eWLym4$(62M7dg4KoaY`4;*yB=>&FUVzev?HC?8O;cF#6y7g?S5w~bH%uJ`L64vh zV$#i;%zMn%O@0A)#Cwuj>kb@U^0DEXcJIcVYSGe<1#WrH+21qD(g!nAat;@wD)%+C z{#@vm8~;XP&b(&b<~H*m03FTO1@C!0X2kR#(seu$a35nRnX@Cj;>Db$bU_vSDc~|Q z#P*E79l9}4)^9g(a_HmO2ELun=4ouz%9`m8nY?w_=W{DeEAHvO%!HBziG2^FhXTZ0 z63yAhr#0Tm@MZ0N5i5+&j&{Z()?)N&K{~RKLM`rpoJIapNS(p8*B=+Z1w1PY1e5v zYp>{x>L(esLf*iJAh+~K6klz9Vri3gNpI$wHVLY~OnhC!f)*n#hLOGWtzrxxDR)bO z#EQ4`77kO+bf5h4JFn|q!mHh{PQSg8kz5d5#rpQ(Psv~~={Wbr=9H9y>Sx_HV-Z9k zN)e63yfBlpFtb2m7_h&(7Zj?5>=!DhA57?URkeKotW<_5Bm?vn^{my5FPYgn6$LlT zE9)e`AL@h+=>YjytJ!GQIY2GX3&{3{R>LaR6(Mbs~JAK49k0Q#R@qGor8pmLVNkOyl1$!Z`!UfPT^qSL4KkdlmJz9xx4r(L?@BJ9D z>CLvIAeZzem2pziB34_{>;G2nEJX``aO7qqsVzid{5hNw;R$JkuF1Z)BrPnd;G`(6--@DBI0g_=jX)}@k|OfFV)7BfYr6f)UB%r9371_VsMwVldeDO7JoK6B z6Ui*$pIaZ6>u3LrUi}eJo{~A1`sR3+Mw?X|4vLWXQr17MIj2#nu{PL z^d3?fczw2F63x$AfX#w^yzu8vyHOWxD1~s38NWU!b5-{O>Wrhj-*V){KFlGVW9>() z59-J31VdcvF#tYY)m}hJM0)(8>$>Bh+2>O5V;$e!DR+2`YCx4U4J?)+TF7bw18klQ51MRW`Wf%;A7oZ@Bi(bC`fprcem++RbYc_UsT~!$+Nb8CEY(C{*pE~{TdEMu{iFde{qc6r@lRqfsJ}s60qVqGUuZ7sjZQ9;1cTO|L z&;>q(5}@5MOXvWM9dLRcF+Bx+t8-U=ekWZZKixfU^DnjeLQO%*vrjuYdRYzWw?3Mu zYiGIShmBoCb@G}2X=iX1vOfDfAQ;{W5iu^MLvDPBZ#+!&S#IOiOhZ~502 z9|1k^X7lm@b1aa8#fA+ddrSWv_!rz0GPED(F|%*6QS_B+5O}wxr`!9WshElVM#;EC z1_!(M;KO z__edD$wRGka<9adh1Qq77*j*}&636NwEmaj&zoK{-&JRSE%B^7*DBS0ZPIMEY~`sq zT)9{$#dr@w-1H^71HFXq!(23z#Izz@4JK6{ia%ZLWF44t8uV>5`YKX2Qhe*vN=|p? zy>yB6{tRpmzVKq@s|JlG-mR}`t?6SF5fcLr zSMn@1+oRVfpD6xLC~Do6dm3Nc{;B#t})qa8na+l((q>-C?!`BnqY=2eemZ|J(MPU#5wTGyl?>FMPHuI|WSP*x6B; zy!1yI7qas{6_i2h1TB9%dxrkv@6+-C4~r=m#=ks&e7=BZ&VIu<0kre=;8t;*DdzMn z=kVf%l{?FO1kZuCLG?cC-swKV(A>ldi7{8aBr7_s{L(1V!qAN#WEacb z-+GXiT%JhXeITUF?YyN7)Joe<(NWSJSmj0Q-&ft2!vquT`!l!5bbJ!l5UY&WAlXdc z;^0>{MD>)-K~W~!HWyqD`_O}W!QO_eDg>D5J_^EkKyJk5B*eO~qU^G!@ z;RJA~VXNLgpkMf(TC`eL~AJ45yx^sAl|xy$pX>=3Hx&zHp&_QB?zf`X1j zM?^;iraNdr&!`$mJr+5!eQNn47B zq5a3K=N|={+wU#J@k7~f8S9h__?A)SfvO&(p5#8zupKs^is0VgaFJ=&_C#vgpZDg3 z?Tb%I3_e6l&OAVkHucwbl0*+1$f@bd#EC3zmaM&8Ikn^h=!k2KaOx*wI_@PlA2&c0 zryXS~EDr7%0yX0vh()Us=d0d5fw-{LsI-`0G49dtA_79c2d)CC<`P$wQ=cuv@|9Vt z=_lkJm<9Nk!9l&t+DV$XfK}e7J*Qu9JPGqaR70wDj>@bqqi4#AU&usmjF_!ns%4W` zcNjM6Xy~e&G5W2xvaF=&^!EKVf36?Fp)>PyZm!k)iP!tzya$xq)xvMpSDG?AUW`mr z{RD@FPRdzon1BvKvJe6jJyR9HQ{e)%LD!p(Kdc^zaQI< zt0vKB{JBjFb4vsum-T_|#<)TO;V+K9?$7JK-Q@*|e%L+@83wHcYR{BgU#c0Y4U}qnk z@}=6$p5rTQR7!@bml;=M2=>nI`hL~Ho#CLU+^7=ZUTzzDGAPEM;JxAg%lRPSN4y2x z&(u-t@M4ImQKx=~PMX$T;3edv?V}fCmd8%t;fDfo+B z)j@U9)zS38Xh#+_R82(sm?(UwYMC%IG01B)D6D($^0NAQ?JKPh7>k?dEO;eHAkDA+e-#=alZhjQURx#7chTakSUnrOLN`>GvE^Z$BE+c zTI^x+{A>sR-O~R5|p2px{LXuXAUmHCDf`6sf+9e zygffrF9LRzFMuJ)98E<|p?@!&TES8pnRc8s;Kt&~Py#q_a|@k77jPe#gn2a1Fcf4R?HC%BAD1v~(m-sFw$F*uD2` z$7?g4nL-vNDlFsziLjKpKvc+l%Tfjfxdj&R0UcGJg1@%@$GOuZ)9*{rpOB#t`(Shc z%)$>=Wgrfy6WjtHiDWw3;S9e@8zbkl9t{Iv+OJH zpT09sH_S6BM|^zy{ZZHGXb+})kedYmW*z~=nJITqVZ}kiHrJ+ zCdLS3tkTlR11oNef3Gb;%RKsKpMbvp=2b`Uj ztxFp^tTgKW>QTa_c~7({${g)5???Es9>xafSK>xWGdhzdDt1SX9eNh|#|E=QQbMpn zZvz;<+}=sMr$1bD`y<*z7lK`hlHHRPag zz%K+GSzLrp;M*}~vih4Cz zO!&gCFVzqa*noQxt-n6QYMU$d%6f__^FQTwDFpcP?o$cuy^aly|;@y`*Rx%_dwECn@i@v1cf}u5B2LUs7Fv9C1 zRNIau@cd*eu0WA%gHPK2Y0R!osFWxZE|x7=&OM*&mS0s2uR7l#)Pn2s8#O_yEW%d1 zNK#aJ`Vym!*}*8LcCYOLUtcxK9yNy@T9To_fW7DCt=AkB{Vj>OTm^J&lP2A)U8UvCfhT9+K)T%nrr88^Yo^%HgMHAkU0Rc|*};c{1Q zkxu~$P%vwg70;TYUndiZ4tNa48=a1QMF=2iG2e1x*k@>ct6hs1fpY*pcjj;8c)-Y& zVTDoa$=Nx{#TJV5E>2ij!ABQt`SVz^zjP$=NJ~pzixObeI14+Pn$%-@OWsGtZ#1pdul!ot2TZl>^3?LY3OY&*tB-zaYl-bn8kI!8 z#vfZLTkj{AQ?2PsbS#ZP_FZiSHWWO_@!44v4lhJXW^HUicj7j|%=e_qr7~>QjQP0T zP(}ZIKV}G+B_a_^zvwp)`o*%9e(5(^e{^dP@`+J8{pMWn+0aw3!k&5Z*`>hbpbj7} zkvlwxz`gvaTAh@mr{^CCBQ<*Y2H+v6Gn6HEj6H5=4&YOd}b;KW}nkZKlxrcDLct6RW6rS*8EZO$D5wEsYir|ENz}!68`cCsGYWjzOCVgVLpuCs20(H zkcOc&Tjfhcg7(6xRtv=wYTZ`fg6fAWf0xb|Sr^RYzRr=&W#{XZp84SWrRk?p-`u1> zHhlT%dLcle7-FcfKr92sRm!#1mBmABC|VoyVd3@)7nQ~cVg903lWwn+6Mo`E(buL4 zV+zATLmx-pOd2Au;mb%Xo9p~4vfng6nYuXbd)J1l#?Hm@oSr=y74g=0!Re#fjLx`{ zmejvOTiiwaeLHbmaU4qqnzXp=2+;qzkdbr3DA;`0QXQprtCs(#%rCWn;i}fvPOse^ zfTlfvXjIs4=!Foapb&pypFMYDfXgpp^T_<2u{rDCs1B17fNL*SlblU|0>a zGzvh-8xiz8px0!q`S&)~R+CUWL)Pu}je)hu3hC0_Li_x)xjwn!`I*JNl^;Gze;@tr zHex^LgMSP3C;p@SLz8DLFj#a=>hhY*a>l}K>;xtRSGQzE`c1#d`p&eZIjl36_Hef7 zJ2MiKqoa>T9*ibTc+7NTyq7KM?)&|s6h$t5W2?zy_x)I5Jh6hOtWPRM$p&6@t*|~c zlvRrcdyCr%#Bzrn81J=ji)>8OKdfJ0(gNOG<;ZCu={&eFw4%yL-zyRJmwTsq7g1y* z=Ar;}$;E?XLix%eINr0*PjHuho2zlmA@&V<#^>T z%h@YDRIY}$YAWcQ(27zyBT>AQzA}K$NB684>{o)H7@az{73du?5K`x^Yu*oSIie*f z&hvJ!icyP0^;dtnQPi2*lK3uB_q}UQNg3he)gO;~dL}R8Zv+32&x;^HKFZu0B%N7( zxFOrn625435zzyy(2h_l7r%Iz&X^_?OuP2Uw!Zx2^x<{6Vu?)Q`8-C>&0OmOol?mU zb)WlN`FmeY(9s73W5BPX3nZNl7-tyUw0^R~>cOJ){4}Z;^<@6&G8g4BOK#I+GmdRf z>t3zE+oJ@h#79mIdyPhZQMp86G^^Hyt2@Q9-R}I3q-bHLKnl8^*&G5eA4PLu*Z{T#+#MZZ%nLUVH3zXY$w8nznN3k|%|T{D|DYIgxp= zBK-tPZ!8EJmfJ#P1e zd_=l0(W%^QScgyfuha+OPF}*H!+z=xZljjrNV>BW1aOUlX7y*?km*?Hk|@P`E1o|` zCQB_4?rWXx{KQi!Ks=Nfo*MBmJUp}|Xx#t4PYU1?q8}ZwVVb7`ZSqdNNv#PrhRO*= ze>q86l#C1rEqg>kPsLVEShHQjMAb?f&Gm$O4c|DgvswzYR;Y%@oYw+uBF{%O`s&z~ zXgA9&3H&@%-&v)*;5~+inw83+8L3J1ghweFS?MM2^^g|6KQ-gI^InvHc6$UlQvWEH zs~ywn0ve?^3}+43Va4!WLq{DAl|#vCZW=3!m@=0*=-Fo6=wBOMsZw^KxWC|6o_=0+ z{;6Wa%Io&KYAl2BDXZp{l zoqKgEI4soj!1e_&*GiK)DcsEcVlQ}GcXN(i%zy(8M6N{+<`!~i_SalHkc_Qg9boDm zT8a-T<>+;qvya|zf9GcyG8yg=nHO<6>~t{3pXzvGZd z;_Wjs(MEo8j?TtN^)*=~Q3B8T{g|Dptw+FSNRRQJWVj5&-9t6cTFpX{=dhYfH-K)I zgWzefxzhX{$ckcu0*^FyAw?E_x7m-=34W>Tq_sYeG-h_;pO@m?R|B9 zNU~D6JW}>QP!Z?`n5b}1^^``GPM9uA!$^Le|1#qi{u?@N(V5LJwyNo8yXajU77@Yl zmvQ{h00#Iy9R%Rqh^-^5-4jkf%*yxEGT+9%N_ZptZZOBIBLDM~w%bF3=(nWHy8*&Q zpdyt;OA9ZUfgmi&6zT-RrsCeHaAdE?qA;c{sGgwRL@i!1iVaQf=0H37C0%^c`eBQXK>QVy{Rr z{PvSXuPNTs{bjc2@Y1c!H#FEiTp@Bef*2+l@+E-dv+VKmIMz|l?y==@)4N6l13%q- z&1L8nm3W{-@c?`v+YTO+S5j7ia%)-uhJ<6visFjf>clOerQNrd#f4GaFr9Y)H*6|K zD3a~Pv=CL>l+*xP2DIIF`XSc7*Q237&m!gCn>TOdlb14@ik{W%H`V^u9(P%!1F`6=f#8s)|q&btVz#gUSsEQ;y5Q*=|C!ry)=yT#q^R~)!7qQl99qUHR>9}9WrYXp%#NeC$g@LXSzQ3s$*A*3ZKTn(VKN>5hiY^BJUm_FZ zuAa*{uXScE8t>oatZ$aBovi41gd+HhyI@~%cV{bT!<{)yeoVZ!P>=4P+nIGiW@A(q zmDcmvUVu;etID#zw*~U(j9aoV7T{EX(7Yy2~#rbE^kv&j1szNQDl;HRdgRAu@UXDy>aWSRG>H>60FT zkNy)9c6{4tMCqP*6@Nb$e7kntar)V>J2eeOR<}Pt~ z;~oEs6hp~aGfh7g?ufXAxQI|QUN#;;5Dl)X$H`6#T-Zuouf+t6nsxsEdagF0;#7%m zVQd~Ldp9d0$E_f}>__d1CjSntp|u$}zG_v5a-GJ_xXFCZ3St>Epp@d36uc&eFlUH- zjOAUPpuFZ-?+EYOZuK#LkiHW3QQH#_2gbV;J9s<(biE!lo6%psxba)aM#&PU>G05} zHd60Q#idKv3a(~csEf7oXCJ*_Gzk%q&J>v2r*6Jw4>1!NrL^b3%_xCz8g~~1LI92%1aD7sedwDOycjMKwHGNAK@PD9H1HktfB=8-*S26wh-to& ziy>CmRVzbnPo+swO8zu>RQ46PS{|ZY2hG$<(lgWV(R?D8#_LPv!Fi+6OW(E(q-^vC z?Sp;dL+3-2ec*QAb%eo#BDVZBTz;D{V)dv&^JGox`F{1!)rlY2zbjqT-^@Msjg8n%!%Z`eKLbfRw>&u? zhx{?4JvW3kC$3Y^a+sS|8xoA+wF-PB^6EszAh}2QkA2Uvflp%>=e`o2F}%37q>VJ* zo4#|d^?Mg77TSKP5KGMkZF8*^Wp8ozmLTy2+8ZlL zZsM&_RkWgd%S7Ej85G6z;*-9{D05rDU=S?8S6C$WlsW7_h9=A>2k z-R8tvtMc}u)_l3#?yStryIGW6RPj`G+?T*#{{0XCUc$AlER)-5#f&gkEqjs;28=UD z0Jq0J_8YQ&ZXYd6fRn$lp*v*2E7nQtCYE6XrkzGH{VhGdJ%xRC!-7-$Xor;_X6>8TJf5t1El6fqU%8R8NM_M7lBbYF1U zbC|Q>4`a#e~1po6%geOo76y%228*FzIp_=7sW zn8O|v`>O@F>+tCb7mAV$(spJVURRhE_2gRy9Prsd4s@gCVtI9XazgBD+qYWpL~`cK z{xoF#93S|CyuJQx=RYBW43~<(W{F-Q&{&y*CBnTC^TuMvOao1ICg_QP^_JH93$)E} zaNC>Dmero6FA9_LK4)Lc9LTtx^)>HUXm{eQSP>dc{6i0vK4rdLR z^NFpcEox&P&AyvCiIQ3rBPlawIiFd_Y0uZP2yNK*+35+=Fk|4#fa_4;*zh!I{^NT8 z))%1<3U&J5ZK&>_g4bfcpKd+BcfR2C+bELnV@JHPvSyN4TW&*O z^MJF!l%iU#axG?J@{!>vFzyY}i7LcC4>Xd0(eJLS5`59QQ(eQ|eQ`ZqJ?Z^FN3KmX za0p7~o|AZrYKIa1sJHL2$mDqLi-(so|3REN5t-l}VQ&kUgFcX%6MD&2yfeH3W0x`z z)YLW0rS1846l5-7_QqT`nzn#hO=NX)eUs#Zn8G5gja~LVH3GUq8pCHI93s5K?geWF zyz?3Km^ohP1hIc&wP!kDG;M&=kpJ7x^EGw+vjmPAJGF$91-*K)RJBHLdD7UWKT8*6gB;Ggl zH)1KOS)dZJx|MG#e-x)~5yn{`dE6y`E4){Ks|SVKA!-q82nmxk(<`P|j4o>XE5wSF z?tY?7;?7OryBeEs*ELt%E%7gO$-9z0kr|TpAXl>(Ulsc~_UE&{zf<$`5x~h3LtkQw zaqey00jvk>bSd(E;@^d17*kXu`uoD)m0s#o7M?8+^eEcaJ`%LBQ8TM!zXyN!x%T-F zXpgD@S(aC{y2GU-x75o_CtLyoU&XGRo4@?%s^F#P@tjb$o3WLoUW`(@^bn-OUTmt3+L4o4CohaA}{#Pr*q{RNKE6f)Wd^@~3awZZM z5gLjMJmPog`N`GPxz64cILmtguMFh0LY^xR%LvZw3hQ15#?{9#0vf85a;eQSB7s5QS8*R9Q;E9(5B0UbqXj(*oJFt z`+&2{if5|QOUN3l*9o_ApE1$s&*&y>5q@mt4SjLuBOYPUD^MsmHmUg6u{tf127M)L~4$5N#KA2~}yuRjVE0b{?Z-EXNtNlcg|pSZU(j3F z_+$0kr%SXCH|mcRCKj>d`Cft^Ya&fIoqTE94r%y=W zn~=|;f}tkC;{kR+; zFFPA+=CZSszP)yNW0U+glegqUol474kL$E4QFv2Npi26!a&{vrNgq} zP`HwQq1sc~GQpZ{98&NRiMh$BrfraXS5y|Iu`bAiSvaZ!2UBG}U#P8*BN>y(?shL0@7&VR&ZB8N09=u(8i~3uLQVWIFHU?VB53cyi{9*}1>*T~P}D@0=6NFxtwB zvl8X}0*CtmKaOWJ1EBVek}eaA@Y3_rm{#Csj$fE2#?x*C_R<>Jhrs?*$0ot~sYig{ zR8VDTa#(9NkkmgcY}mTrSLejjfg3;_xt5qH5!nWOC{@tmHBD8$8tX9oXkH_;$PkWsr*OR zpUQC%CU@C_Y(P(CUSiL2yf(}@@k~+bV<3H~iZPs9o^40pTl})7POE2JW|-3YN$*y! zE}p<}rsK!I51$nVz4&MM~OXi}We^8jjn3^~emdJ#p>qlZ(L@70!r6`TCUE zx4=eKo27&V6%L8pGMisG7ukwTFRCZ7XT1x&hTPGI=-hc*g2nm|*7w5BR zM`v7NKJdWzA<|*T$E-G3puG}T4s5yhjd3C4UKcZWhM(fcf?3= zid%5kka`)_(S@pG=i*XK6Q&ZLzca}GQQ}g^M)Kmn6vW&FxhfX_I7uCE2-b8oGT?3sTZW>>g5dQEayj+4t*H= z68THB-{!9gu5rbha-Uwt3}E|kxHyN*GqkF8`Q;$oGnB<#9Z~=|S!$>r>?^>X#gu^~ zwJ$T~Yi2)>#|(}1n-7=`=T3wo9}xuUZx8Avnjv`zS;uoeLE-Bsx6YPcm_4U?3Kn|O z{fc#qzMje{so#R{xw?1zx3V@?SY%qodhgOT+$;103iLyGl&o5t4aeQ0bWG|2bkg!pi@S!vj4@ zxnU7kKF7n5jas7b1iW>*^55)$cNIxzQ>xR;^CK(8KWF{S1TyB=R)jYf_=1mAD!8Z} zXlLk$8@j+=!2d;HjLQ(J2Fhw;plyDqt>*P)Oz+5v4*9Q^wa+UGOPmUqbM3OPWa;HR zE08GP>Lf&L;NwiFA%DI%|LK zO1xcEw%@MPsHvFtDTQc>R{$yT+3uO`|2AK;*J-lrtAywCb*SDs`kXrY5>A+CMEktM z5v0rB&}cAnw{dkrd-4R_3)v4V0bGjgkXJ!p{qOqVJ(iDOcKQV5`a?`-;K%iowI-l` z%9iq7APecCBV$MYlOB}S0ysF2)HI>t@)v~_HnNuSt&IoiYeKK~=5HC*g-jx&0SK2W+W;^Qc5?l~- z>Ga^auV=rVJQb?%(PneU&<*lYMpEP(PszUf4u10v$AI|-=pJn>UYk!q1I`|FWND3qsFcUuIK1U0}PhhSu4R4rAzSdoKK>5{2 z6h)2(OgkC_oZ)D(K>n9p$9e zO5S`ELM8+kbL(+;ZY@Qex%>N&wHbevz}vgOYlp_8U>^5a~G) zBoftnLiNtp8-b!U^DbxSw+S})RQ006|mpAeF-3SZ370^x%nGte$*S(Hs%tL z0v@AR?1~7f0iAMR7|im)(RZ%5z32R|2H6J}1GzSkKgQ>(SAo0Labu^CcH5ShOpSn( zg-d5ieMj}KQoVc^7%!^?PLb17yrPl^by8P?O3B|8ezdW)B#M^CT9C@Q*A?HH%pKPb z+7F)!`RWmGNz||aC5fo>n;bG&KkwU8SpTbPn^H z6uEtsKUdOIz6Rp0wWF(U&}X;=cLr{WRYq32HG%2`HFj923e7dIV%U)}EkMVdo>dxZKiWtd_a)EY^k;w#*c=Q_bJg|+!U|*nX zF(yC@Hj>gnZ=pk}j_WbRjl~Ka6Rka`F+DN``#TCSB?AE)ZYZ^Lha;pZe_Ch6ywLfw zk78(8bkd30*!c*n0Jtl+%>>L}ohV0^XcUa)89%tNC%jX#(Zg6HaTAsBi`Y_(12z?~ ziS?}oF}?SdMDEBPYLMZcR+k;K+;V+H0#kyIhGYZ_1kL!X`p$YvxY3=zJAANNwTLzC z0jA~!I=UMDsvU}F`5wLM}WB+A>gYeF?e{p@nB|C-kez`GwOiKeCHHCNpFl-D}a+xHi- zl+HTOO&1FVBUB%1e${Q&KWgv@X!5(j{xRg}SV44T8u=e>5lALD(4=n9*B=L;ZR#Sc zT`EFK2a28)>K1XA9ss*IaC1j{$N*+a5Zg%rm`m%?WMCRWYogtuj*^b7J|%R|tD?D4 zXE1C$Xf2=C##&*&W);#2X!u)=8Y5KGy!Uy;Je4Z-!>p@Z z1p+0aoKG#ryT>_22L!eq-?a47|D-Z6Z6|`|Ejy&`weA2Y9DsuJcy)L&X1)^*LPIeN zz{$c|Utv_{vz1^qMKlIk@ zqkOzW(?d;t)@+~Z)X5TrD|yEcEH=1Td?%4Vr9SZF9Z!>be>ClBc3+W8br-;p`_TV) zmbDVF`HOE;@|8l18b#-xL9yX`VCQTER|c%nXLTsbrIKCTsqDFxPL$z@P$#8{@8e;0 zQAJ7Vn<8@lue>k$`$dm{lSRJyCqSS-J+putB8HG+sZ;bG<^U^%Wy-iii2$0gA28H8 zoYS1mT31%u^J>$zH+ zxeW$#MK8o{ob@{=67Lo1;2Z78G6rcrlN%HZ=d(Fb2bl3|>={NK<@PFj(O@2px{6dr zp)eKrj@2-x%>iB%rijv^m>$?$xNdv<1yV!O!)(LCLuvxY{f_v!c&fO?xL_S<)|%!6 z2rS?aKBe_u?XOC(Vw_y4Yy_wR6b|-P*i?QGy$qZz&*Z>D{p>D6Byc0DqbBpeRQ=DK z$Nf>TQN%yNZ(a9HJRtE$Rs^ki<@fm+^7EQ~v!7jyT{F(VJOA!5O)HnLRHD|i$*j|B zRA>Gu6}&$q{2JKC9cl^#P6T6E5^M%ug5WZ4fz@lZD$qqO4ulyA1chn$-kg@dAG4}> z${LG4<@4n>XQ$>6@~@S)ez^W6;pb9s`mr*Sj2*kzm$TDE!0sDt3@zcT+RPtZ$@w$>oRf~Rssv~Gv^aMYSt8d?W7rNEK5~bz?S>8U3D(Vx` z9(`%vhY+`pU{`Z3O8BW1=!;sE9_?~V^z97-hn))F4!a#13D7Bd{2qIqbenb7b$D&9 zYrcU&vgab3aLysX@{yriP&3W55dW>!bokl#!?&YAdb{Q-qc<7YavwwWCI4GLvdc8P>* z#9o}2S*%!zqf{^wS!%3JdMl-Ejky$qJBj=;@TLj~{T3KC?KG}4U*tdpHJJ^%G*2fK#72@4Dj4&Dlg@(cC;;huVI=ct)& zzJ-~|HtdI9lokP+qudG1Z-2{3%Y2l1F8hx>OX(J1iTee?159}Bjc-fmfJ8NvvdRlm zi8XU{iwlNDE`*-+ylWY*p(3*eB;R*;w`u=k7kaBdFBD~_XQT|L@TYI&J}T?0>u6?m zLPnw36f$zhKrmSMnPrX`@E(C#nOMO!$0-5+~}?z)kJ3DZ>~6yWU0mU66Ph=OD377M6O>6 zC%_kUaH9+Fmkw9IlMks~v_RSc1xIRH6<=ZitVH%WZusud*Wvd7Pdj;`pRBVxBeJPj zt*>J(;_4hgihLV4e%9}7_Q}VgEgl@(Q}ALnI5yFd0r&Dg z%Sh8}MuP?-x?-AKP>6E9JV_P;Oj&Y3a&o^FCsqB`^EIwQcfe|bAU2Nh32JVBu)5wC*Ej&&gZRWX(v5>Vlm*0>tsntI%N9Q(hH{+Z(?-r-E}+kzdn z3(fz!T=Qo|a>omwx4kfPW;RABa13zA%4@gF2a9|14eZweOqM9lK0q4oSWjC1y`YE{ zM~|TVG2d}Vmyc7}oBaGYWv0|t;nFq{F5F&n0g)k@Ve`P0r8U?r(9EyWE5i-u^2s5< z24N9m(g24VJksgb;DH7y)8*a3y`Z0Y+frRr$0}cPWYX?pMI`Dyz0$o zqhCV<3CI)cZ+6OrEI=J9`C5?%kKxuvb3p3(uTdsq3TO;*sXjU4#*@dkTsexY7<}<7 z<{e=7F(zS|=lWjk{qDlQy`pfr1WOeO#5Om?q~X8wX;8$Y8QUh{`|Eel-sW7Ca-^#!ev&puFeV zl*jx55OGU>&tIVxQO0389$V(6YROWKf_QGl-F|8(I^$3O$4B|Y?+O$66Ib4?Wp|W% z)mwb$>3%c*1LsZqzP}@^1p2ESswu1g3bqbEV`PW8Xne^S3b)XeB7$MS$egIkpDHeHs@__O~G!dbWQn}_dj!cITPWSXG;fbw^RT;tE`P49-uo%n~NELGgQ+J*CfwHE9S()>xr}d+C{N0^-%xtt16cQvR_?r(8cgKMAmk%e5 z0U^f_DGQAld(bzAnDN+V(oPwJ{`QXxXh6Y^=`tFlS5JK%hPPx%r0M|}m_Djy~6#YtEk zoV|mjtOOkLDk4lNZVy8>W2_>pe7tR*Xr+Ky!eBng0f;4o7Z^O(I8ro~nxDv@*pZT+ z`K+k(!{*o9oxetF=cQ<84?c<3fj>bSv{enzhINKghLMJkVHlW+fsv+>0$cRj!Cl7n zr5`g@{V6|{zi8AVD=}pfC2oZQ`6~I)!i%M!t7|^l|Ih@wh}Th20%!FGz^2TlA2Ont z(hN=N<{IxZ53m=qMx~;E;-Z&(*ITLG^nLmOEsf&0{%sk9yA0e}h-2qR-Nv3wy3I{4 zh>~Nst%P*t|J4<@Vjce)5EPXiS9#XqY|qKQ&{hvS+iJrN)nVzcLUP;^d&b*on_HZ_ ztO=Uq|EP3}0=RhWJ8T)QmteDQ#i}?M7k#1dTzlF0yzMm?4^N68S1>H}9FV_F3#|A1 z;Qh)&+Ew29x&4sURkQDiTY#A$Q@c+6hpGWEGk*iFlf}s%m8(=3SC)ac1Ge&C;CMk- zb|K+2`Ut=tf(h-b{cDZ%$_KT0 ze`2-AGrG=xbNrZH9a14y)>M45P`Dr;n6f;oh^ZU<`n!$Tf9h}dd=s&k)I@EdyE1J6 za%4SyjjXrI1Wdvsz?LEyd59HWP9WcB-s4ztESX0s+r+=PM{^4k8Y2!vvBQevS~KqR zuB&`(TkbwdAIK*BkNuQqX$T?4A)aztFAft41mB!rm_OCMuZ)rs5Wc{}ci_8gy={faL$uoKt}(L?rvVgnun zOi%^)D?l@j$L_Ob5wLUSHRRE4(YOw|t0W^|BpVHS3338IR`{wS4A`3`wEQ5?rHc;Z zNE4V8WFaAL%SL+8pwdYwFfqy``g>r$V}U*nTq2C;IdKrMp}z8BBH@Qqg>|N1a&qE- zDPtMW3O`m4G!C@u3`?SG*RO6n2=pDft?&!#s-33St1oOYVbBPBVRQ)R(T76ErBCra z+R#{wMx%$5+ie@~*926YD3vbGFSwW2pZh3(tT?plO2eP;CS4atF3pYN|6PqGf22O4 z>oJvBnapr{9a#(bm2}26VBP>PaqOc1iVcZM(WZ4$i^#jH+DjMb!{-F2g2%E(evZ_Q z%}w#6bC=y&*1Xq1n_5E_d&fzEr(8} zHX}C}_=eJD|*P;(l> z12O~rlWPmduppw__L3A^|C{5W|HFtQ5xc$t_5@vo+` z+~DFcEtjQcU-aj-(i#e@LP{43W%3{7e8@`8>d$#x__iYLqg{*cpBLlmn5N}eV9VdZ zJk5T|>EOI&13Ms!!Rmv>K&&W=fONpx0xjrl+GFN9<_PUAa7%PpIE#ETIX--Mz;!@l z`2GZ8E_!i;@@h9v`#r+vT8&|FBr)>6K+e-riTb$j!`&l*4KbJg{h(c>7j#jjO7pK?17M`chN~cUjQvbj z;Z@pUiu_{f`-QXz`0UB2-QCSvbv_j#CEp4?^7nE&vJ-RK^G!>id^q|g^5^?r^~n*8 z(Q@~?3v~kE^KsY(oR{nhMkqyMHE!_&HVH*WRRLX|43aP75jz#ghI^2oEvwB7%_>i9 z4Ra0I45f|OPKF}~7n7(r_jJYhR5oFq_Q75!Lib{ioM}Hdb4K;Vo8T_Dn>LxSM{054 zIx#w5@}bDyh3)?~ZZb6~sw*D&XPE2Ai*r|zuP|%)m9@KU6K+e%e^plWXDv1y13iTN zWkOuT??zz4H$#1ceFF4+yF5v*_ni~%Q-PUz4?yI+q%*5-p-NOZ3VtcGAoWBlPx`2= z0kG$vP&=oAgLuiZd3R}M3qz=!#bwTQ$>(~4j+6eikzCPVf?A!OV8#jxqJ_MOL;bD0 z>k>0(+QUC!vLjMpi4w^*X}G+P6~{l_1Ez^He>ImPSccpOVuEsCfnQKtgQKu&7(d+G zr~~1N=r?$xUL+eKcw^g;oH>7V9P?YNxx0>98C3Rfaa_T@Tuk&U9SV$#}I6`JkiY65y zBL{9#C{ihh4npUY{yma)*g~1g<{*V8yIPnm#fxN6cD>QaUMtlmhZ3>HPZ5 zmDt5{blYFIF|*;Eq1ch3iGPr{mQFA=d6uPnG}xvS&LqEs$g21Q01h>JhA#%^FX%F5 z#-k&wct--sSGNCa>mp!ta;IsLl8Gw7W{8enL_I{Kuw08;s|oZoySIhvz?qt2#+kOK zj;(t+1#&|FjYy9`g=vPsffwk$7s9>D<*9>?wX9j8QJulE4zH#p)IoUwc=IpIEK5tv z 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�Kan=&J=cSOMDAEWxZzFvLup%u;kRa) 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 z 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 R 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

$qRU&)QynyxG*Y&$cHcUJja9_uu2X7KWm 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

bQlFIXgGWA!d&9hFF7J;d|ahu$Yjf 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≷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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 33d0b9a..7d4423b 100644 --- a/package.json +++ b/package.json @@ -6,21 +6,45 @@ "sf2synth": "sf2.parser.min.js" }, "scripts": { - "start": "webpack --watch" + "start": "webpack --watch", + "test": "jest", + "test:watch": "jest --watch" }, "author": "", "license": "MIT", "dependencies": {}, "devDependencies": { + "@types/jest": "^21.1.9", + "@types/node": "^8.5.2", + "assert": "^1.4.1", "babel-cli": "^6.16.0", "babel-core": "^6.17.0", "babel-eslint": "^8.1.0", + "babel-jest": "^22.0.4", "babel-preset-stage-2": "^6.24.1", "eslint": "^4.14.0", "eslint-loader": "^1.5.0", + "jest": "^22.0.4", + "regenerator-runtime": "^0.11.1", + "ts-jest": "^22.0.0", "ts-loader": "^3.2.0", "typescript": "^2.6.2", "webpack": "^3.10.0", "webpack-dev-server": "^2.9.7" + }, + "jest": { + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", + "moduleFileExtensions": [ + "ts", + "js" + ], + "globals": { + "ts-jest": { + "useBabelrc": true + } + } } } diff --git a/src/Parser.test.ts b/src/Parser.test.ts new file mode 100644 index 0000000..3b22971 --- /dev/null +++ b/src/Parser.test.ts @@ -0,0 +1,13 @@ +const fs = require("fs") +import Parser from "./sf2.ts" +import SoundFont from "./sound_font.ts" + +test('Parser', () => { + const input = fs.readFileSync("./fixture/clarinet_angel_pure_v1.1.sf2") + const parser = new Parser(input) + parser.parse() + expect(parser.instrument.length).toBe(2) + expect(parser.sample.length).toBe(11) + expect(parser.presetHeader.length).toBe(2) + expect(parser.presetHeader[0].presetName).toBe("Clarinet") +}) diff --git a/webpack.config.js b/webpack.config.js index 4852e96..5982cc4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -27,7 +27,7 @@ module.exports = { }, { test: /\.ts$/, - exclude: /node_modules/, + exclude: [/node_modules/, /\.test.ts$/], loader: "ts-loader" } ] From 6b42bc6d94f87d4df79a168e10867b8acd3532e4 Mon Sep 17 00:00:00 2001 From: ryohey Date: Tue, 26 Dec 2017 17:15:00 +0900 Subject: [PATCH 4/5] Add VSCode settings --- .vscode/launch.json | 15 +++++++++++++++ .vscode/settings.json | 3 +++ 2 files changed, 18 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..efec0f9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Debug Tests", + "program": "${workspaceRoot}\\node_modules\\jest\\bin\\jest.js", + "args": [ + "-i" + ], + "internalConsoleOptions": "openOnSessionStart" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8d9c9bc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": false +} \ No newline at end of file From b3b88445e5e6cdd0d215876e979c82409cfca776 Mon Sep 17 00:00:00 2001 From: ryohey Date: Tue, 26 Dec 2017 17:22:38 +0900 Subject: [PATCH 5/5] Update builds --- bin/sf2.parser.js | 1593 +++++++------------ bin/sf2.synth.js | 3848 ++++++++++++++++++++------------------------- 2 files changed, 2327 insertions(+), 3114 deletions(-) diff --git a/bin/sf2.parser.js b/bin/sf2.parser.js index 131e753..34b5783 100644 --- a/bin/sf2.parser.js +++ b/bin/sf2.parser.js @@ -1,4 +1,14 @@ -/******/ (function(modules) { // webpackBootstrap +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["parser"] = factory(); + else + root["parser"] = factory(); +})(typeof self !== 'undefined' ? self : this, function() { +return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ @@ -6,21 +16,21 @@ /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; -/******/ +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; +/******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -33,997 +43,610 @@ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "static"; +/******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 6); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _sf = __webpack_require__(1); - - Object.keys(_sf).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _sf[key]; - } - }); - }); +"use strict"; -/***/ }, +exports.__esModule = true; +exports.GeneratorEnumeratorTable = [ + 'startAddrsOffset', + 'endAddrsOffset', + 'startloopAddrsOffset', + 'endloopAddrsOffset', + 'startAddrsCoarseOffset', + 'modLfoToPitch', + 'vibLfoToPitch', + 'modEnvToPitch', + 'initialFilterFc', + 'initialFilterQ', + 'modLfoToFilterFc', + 'modEnvToFilterFc', + 'endAddrsCoarseOffset', + 'modLfoToVolume', + undefined, + 'chorusEffectsSend', + 'reverbEffectsSend', + 'pan', + undefined, undefined, undefined, + 'delayModLFO', + 'freqModLFO', + 'delayVibLFO', + 'freqVibLFO', + 'delayModEnv', + 'attackModEnv', + 'holdModEnv', + 'decayModEnv', + 'sustainModEnv', + 'releaseModEnv', + 'keynumToModEnvHold', + 'keynumToModEnvDecay', + 'delayVolEnv', + 'attackVolEnv', + 'holdVolEnv', + 'decayVolEnv', + 'sustainVolEnv', + 'releaseVolEnv', + 'keynumToVolEnvHold', + 'keynumToVolEnvDecay', + 'instrument', + undefined, + 'keyRange', + 'velRange', + 'startloopAddrsCoarseOffset', + 'keynum', + 'velocity', + 'initialAttenuation', + undefined, + 'endloopAddrsCoarseOffset', + 'coarseTune', + 'fineTune', + 'sampleID', + 'sampleModes', + undefined, + 'scaleTuning', + 'exclusiveClass', + 'overridingRootKey' +]; +exports.InfoNameTable = { + ICMT: "comment", + ICOP: "copyright", + ICRD: "creation_date", + IENG: "engineer", + INAM: "name", + IPRD: "product", + ISFT: "software", + ifil: "version", + isng: "sound_engine", + irom: "rom_name", + iver: "rom_version" +}; + + +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _riff = __webpack_require__(2); - - var _riff2 = _interopRequireDefault(_riff); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - /** - * @param {ByteArray} input - * @param {Object=} opt_params - * @constructor - */ - var Parser = function Parser(input, opt_params) { - opt_params = opt_params || {}; - /** @type {ByteArray} */ - this.input = input; - /** @type {(Object|undefined)} */ - this.parserOption = opt_params['parserOption']; - - /** @type {Array.} */ - this.presetHeader; - /** @type {Array.} */ - this.presetZone; - /** @type {Array.} */ - this.presetZoneModulator; - /** @type {Array.} */ - this.presetZoneGenerator; - /** @type {Array.} */ - this.instrument; - /** @type {Array.} */ - this.instrumentZone; - /** @type {Array.} */ - this.instrumentZoneModulator; - /** @type {Array.} */ - this.instrumentZoneGenerator; - /** @type {Array.} */ - this.sampleHeader; - }; - - Parser.prototype.parse = function () { - /** @type {Riff.Parser} */ - var parser = new _riff2.default.Parser(this.input, this.parserOption); - /** @type {?Riff.Chunk} */ - var chunk; - - // parse RIFF chunk - parser.parse(); - if (parser.chunkList.length !== 1) { - throw new Error('wrong chunk length'); - } - - chunk = parser.getChunk(0); - if (chunk === null) { - throw new Error('chunk not found'); - } - - this.parseRiffChunk(chunk); - //console.log(this.sampleHeader); - this.input = null; - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseRiffChunk = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'RIFF') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'sfbk') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - if (parser.getNumberOfChunks() !== 3) { - throw new Error('invalid sfbk structure'); - } - - // INFO-list - this.parseInfoList( /** @type {!Riff.Chunk} */parser.getChunk(0)); - - // sdta-list - this.parseSdtaList( /** @type {!Riff.Chunk} */parser.getChunk(1)); - - // pdta-list - this.parsePdtaList( /** @type {!Riff.Chunk} */parser.getChunk(2)); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseInfoList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'INFO') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseSdtaList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'sdta') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - if (parser.chunkList.length !== 1) { - throw new Error('TODO'); - } - this.samplingData = - /** @type {{type: string, size: number, offset: number}} */ - parser.getChunk(0); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePdtaList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'pdta') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - - // check number of chunks - if (parser.getNumberOfChunks() !== 9) { - throw new Error('invalid pdta chunk'); - } - - this.parsePhdr( /** @type {Riff.Chunk} */parser.getChunk(0)); - this.parsePbag( /** @type {Riff.Chunk} */parser.getChunk(1)); - this.parsePmod( /** @type {Riff.Chunk} */parser.getChunk(2)); - this.parsePgen( /** @type {Riff.Chunk} */parser.getChunk(3)); - this.parseInst( /** @type {Riff.Chunk} */parser.getChunk(4)); - this.parseIbag( /** @type {Riff.Chunk} */parser.getChunk(5)); - this.parseImod( /** @type {Riff.Chunk} */parser.getChunk(6)); - this.parseIgen( /** @type {Riff.Chunk} */parser.getChunk(7)); - this.parseShdr( /** @type {Riff.Chunk} */parser.getChunk(8)); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePhdr = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var presetHeader = this.presetHeader = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'phdr') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - presetHeader.push({ - presetName: String.fromCharCode.apply(null, data.subarray(ip, ip += 20)), - preset: data[ip++] | data[ip++] << 8, - bank: data[ip++] | data[ip++] << 8, - presetBagIndex: data[ip++] | data[ip++] << 8, - library: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0, - genre: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0, - morphology: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePbag = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var presetZone = this.presetZone = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'pbag') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - presetZone.push({ - presetGeneratorIndex: data[ip++] | data[ip++] << 8, - presetModulatorIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePmod = function (chunk) { - // check parse target - if (chunk.type !== 'pmod') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.presetZoneModulator = this.parseModulator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePgen = function (chunk) { - // check parse target - if (chunk.type !== 'pgen') { - throw new Error('invalid chunk type:' + chunk.type); - } - this.presetZoneGenerator = this.parseGenerator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseInst = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var instrument = this.instrument = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'inst') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - instrument.push({ - instrumentName: String.fromCharCode.apply(null, data.subarray(ip, ip += 20)), - instrumentBagIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseIbag = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var instrumentZone = this.instrumentZone = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'ibag') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - instrumentZone.push({ - instrumentGeneratorIndex: data[ip++] | data[ip++] << 8, - instrumentModulatorIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseImod = function (chunk) { - // check parse target - if (chunk.type !== 'imod') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.instrumentZoneModulator = this.parseModulator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseIgen = function (chunk) { - // check parse target - if (chunk.type !== 'igen') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.instrumentZoneGenerator = this.parseGenerator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseShdr = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var samples = this.sample = []; - /** @type {Array.} */ - var sampleHeader = this.sampleHeader = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {string} */ - var sampleName; - /** @type {number} */ - var start; - /** @type {number} */ - var end; - /** @type {number} */ - var startLoop; - /** @type {number} */ - var endLoop; - /** @type {number} */ - var sampleRate; - /** @type {number} */ - var originalPitch; - /** @type {number} */ - var pitchCorrection; - /** @type {number} */ - var sampleLink; - /** @type {number} */ - var sampleType; - - // check parse target - if (chunk.type !== 'shdr') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - sampleName = String.fromCharCode.apply(null, data.subarray(ip, ip += 20)); - start = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - end = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - startLoop = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - endLoop = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - sampleRate = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - originalPitch = data[ip++]; - pitchCorrection = data[ip++] << 24 >> 24; - sampleLink = data[ip++] | data[ip++] << 8; - sampleType = data[ip++] | data[ip++] << 8; - - //* - var sample = new Int16Array(new Uint8Array(data.subarray(this.samplingData.offset + start * 2, this.samplingData.offset + end * 2)).buffer); - - startLoop -= start; - endLoop -= start; - - if (sampleRate > 0) { - var adjust = this.adjustSampleData(sample, sampleRate); - sample = adjust.sample; - sampleRate *= adjust.multiply; - startLoop *= adjust.multiply; - endLoop *= adjust.multiply; - } - - samples.push(sample); - //*/ - - sampleHeader.push({ - sampleName: sampleName, - /* - start: start, - end: end, - */ - startLoop: startLoop, - endLoop: endLoop, - sampleRate: sampleRate, - originalPitch: originalPitch, - pitchCorrection: pitchCorrection, - sampleLink: sampleLink, - sampleType: sampleType - }); - } - }; - - Parser.prototype.adjustSampleData = function (sample, sampleRate) { - /** @type {Int16Array} */ - var newSample; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var multiply = 1; - - // buffer - while (sampleRate < 22050) { - newSample = new Int16Array(sample.length * 2); - for (i = j = 0, il = sample.length; i < il; ++i) { - newSample[j++] = sample[i]; - newSample[j++] = sample[i]; - } - sample = newSample; - multiply *= 2; - sampleRate *= 2; - } - - return { - sample: sample, - multiply: multiply - }; - }; - - /** - * @param {Riff.Chunk} chunk - * @return {Array.} - */ - Parser.prototype.parseModulator = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {number} */ - var code; - /** @type {string} */ - var key; - /** @type {Array.} */ - var output = []; - - while (ip < size) { - // Src Oper - // TODO - ip += 2; - - // Dest Oper - code = data[ip++] | data[ip++] << 8; - key = Parser.GeneratorEnumeratorTable[code]; - if (key === void 0) { - // Amount - output.push({ - type: key, - value: { - code: code, - amount: data[ip] | data[ip + 1] << 8 << 16 >> 16, - lo: data[ip++], - hi: data[ip++] - } - }); - } else { - // Amount - switch (key) { - case 'keyRange': /* FALLTHROUGH */ - case 'velRange': /* FALLTHROUGH */ - case 'keynum': /* FALLTHROUGH */ - case 'velocity': - output.push({ - type: key, - value: { - lo: data[ip++], - hi: data[ip++] - } - }); - break; - default: - output.push({ - type: key, - value: { - amount: data[ip++] | data[ip++] << 8 << 16 >> 16 - } - }); - break; - } - } - - // AmtSrcOper - // TODO - ip += 2; - - // Trans Oper - // TODO - ip += 2; - } - - return output; - }; - - /** - * @param {Riff.Chunk} chunk - * @return {Array.} - */ - Parser.prototype.parseGenerator = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {number} */ - var code; - /** @type {string} */ - var key; - /** @type {Array.} */ - var output = []; - - while (ip < size) { - code = data[ip++] | data[ip++] << 8; - key = Parser.GeneratorEnumeratorTable[code]; - if (key === void 0) { - output.push({ - type: key, - value: { - code: code, - amount: data[ip] | data[ip + 1] << 8 << 16 >> 16, - lo: data[ip++], - hi: data[ip++] - } - }); - continue; - } - - switch (key) { - case 'keynum': /* FALLTHROUGH */ - case 'keyRange': /* FALLTHROUGH */ - case 'velRange': /* FALLTHROUGH */ - case 'velocity': - output.push({ - type: key, - value: { - lo: data[ip++], - hi: data[ip++] - } - }); - break; - default: - output.push({ - type: key, - value: { - amount: data[ip++] | data[ip++] << 8 << 16 >> 16 - } - }); - break; - } - } - - return output; - }; - - Parser.prototype.createInstrument = function () { - /** @type {Array.} */ - var instrument = this.instrument; - /** @type {Array.} */ - var zone = this.instrumentZone; - /** @type {Array.} */ - var output = []; - /** @type {number} */ - var bagIndex; - /** @type {number} */ - var bagIndexEnd; - /** @type {Array.} */ - var zoneInfo; - /** @type {{generator: Object, generatorInfo: Array.}} */ - var instrumentGenerator; - /** @type {{modulator: Object, modulatorInfo: Array.}} */ - var instrumentModulator; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var jl; - - // instrument -> instrument bag -> generator / modulator - for (i = 0, il = instrument.length; i < il; ++i) { - bagIndex = instrument[i].instrumentBagIndex; - bagIndexEnd = instrument[i + 1] ? instrument[i + 1].instrumentBagIndex : zone.length; - zoneInfo = []; - - // instrument bag - for (j = bagIndex, jl = bagIndexEnd; j < jl; ++j) { - instrumentGenerator = this.createInstrumentGenerator_(zone, j); - instrumentModulator = this.createInstrumentModulator_(zone, j); - - zoneInfo.push({ - generator: instrumentGenerator.generator, - generatorSequence: instrumentGenerator.generatorInfo, - modulator: instrumentModulator.modulator, - modulatorSequence: instrumentModulator.modulatorInfo - }); - } - - output.push({ - name: instrument[i].instrumentName, - info: zoneInfo - }); - } - - return output; - }; - - Parser.prototype.createPreset = function () { - /** @type {Array.} */ - var preset = this.presetHeader; - /** @type {Array.} */ - var zone = this.presetZone; - /** @type {Array.} */ - var output = []; - /** @type {number} */ - var bagIndex; - /** @type {number} */ - var bagIndexEnd; - /** @type {Array.} */ - var zoneInfo; - /** @type {number} */ - var instrument; - /** @type {{generator: Object, generatorInfo: Array.}} */ - var presetGenerator; - /** @type {{modulator: Object, modulatorInfo: Array.}} */ - var presetModulator; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var jl; - - // preset -> preset bag -> generator / modulator - for (i = 0, il = preset.length; i < il; ++i) { - bagIndex = preset[i].presetBagIndex; - bagIndexEnd = preset[i + 1] ? preset[i + 1].presetBagIndex : zone.length; - zoneInfo = []; - - // preset bag - for (j = bagIndex, jl = bagIndexEnd; j < jl; ++j) { - presetGenerator = this.createPresetGenerator_(zone, j); - presetModulator = this.createPresetModulator_(zone, j); - - zoneInfo.push({ - generator: presetGenerator.generator, - generatorSequence: presetGenerator.generatorInfo, - modulator: presetModulator.modulator, - modulatorSequence: presetModulator.modulatorInfo - }); - - instrument = presetGenerator.generator['instrument'] !== void 0 ? presetGenerator.generator['instrument'].amount : presetModulator.modulator['instrument'] !== void 0 ? presetModulator.modulator['instrument'].amount : null; - } - - output.push({ - name: preset[i].presetName, - info: zoneInfo, - header: preset[i], - instrument: instrument - }); - } - - return output; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - * @private - */ - Parser.prototype.createInstrumentGenerator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].instrumentGeneratorIndex, zone[index + 1] ? zone[index + 1].instrumentGeneratorIndex : this.instrumentZoneGenerator.length, this.instrumentZoneGenerator); - - return { - generator: modgen.modgen, - generatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - * @private - */ - Parser.prototype.createInstrumentModulator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].instrumentModulatorIndex : this.instrumentZoneModulator.length, this.instrumentZoneModulator); - - return { - modulator: modgen.modgen, - modulatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - * @private - */ - Parser.prototype.createPresetGenerator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].presetGeneratorIndex, zone[index + 1] ? zone[index + 1].presetGeneratorIndex : this.presetZoneGenerator.length, this.presetZoneGenerator); - - return { - generator: modgen.modgen, - generatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - * @private - */ - Parser.prototype.createPresetModulator_ = function (zone, index) { - /** @type {{modgen: Object, modgenInfo: Array.}} */ - var modgen = this.createBagModGen_(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].presetModulatorIndex : this.presetZoneModulator.length, this.presetZoneModulator); - - return { - modulator: modgen.modgen, - modulatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} indexStart - * @param {number} indexEnd - * @param zoneModGen - * @returns {{modgen: Object, modgenInfo: Array.}} - * @private - */ - Parser.prototype.createBagModGen_ = function (zone, indexStart, indexEnd, zoneModGen) { - /** @type {Array.} */ - var modgenInfo = []; - /** @type {Object} */ - var modgen = { - unknown: [], - 'keyRange': { - hi: 127, - lo: 0 - } - }; // TODO - /** @type {Object} */ - var info; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - - for (i = indexStart, il = indexEnd; i < il; ++i) { - info = zoneModGen[i]; - modgenInfo.push(info); - - if (info.type === 'unknown') { - modgen.unknown.push(info.value); - } else { - modgen[info.type] = info.value; - } - } - - return { - modgen: modgen, - modgenInfo: modgenInfo - }; - }; - - /** - * @type {Array.} - * @const - */ - Parser.GeneratorEnumeratorTable = ['startAddrsOffset', 'endAddrsOffset', 'startloopAddrsOffset', 'endloopAddrsOffset', 'startAddrsCoarseOffset', 'modLfoToPitch', 'vibLfoToPitch', 'modEnvToPitch', 'initialFilterFc', 'initialFilterQ', 'modLfoToFilterFc', 'modEnvToFilterFc', 'endAddrsCoarseOffset', 'modLfoToVolume',, // 14 - 'chorusEffectsSend', 'reverbEffectsSend', 'pan',,,, // 18,19,20 - 'delayModLFO', 'freqModLFO', 'delayVibLFO', 'freqVibLFO', 'delayModEnv', 'attackModEnv', 'holdModEnv', 'decayModEnv', 'sustainModEnv', 'releaseModEnv', 'keynumToModEnvHold', 'keynumToModEnvDecay', 'delayVolEnv', 'attackVolEnv', 'holdVolEnv', 'decayVolEnv', 'sustainVolEnv', 'releaseVolEnv', 'keynumToVolEnvHold', 'keynumToVolEnvDecay', 'instrument',, // 42 - 'keyRange', 'velRange', 'startloopAddrsCoarseOffset', 'keynum', 'velocity', 'initialAttenuation',, // 49 - 'endloopAddrsCoarseOffset', 'coarseTune', 'fineTune', 'sampleID', 'sampleModes',, // 55 - 'scaleTuning', 'exclusiveClass', 'overridingRootKey']; - - exports.default = Parser; +exports.__esModule = true; +var riff_ts_1 = __webpack_require__(2); +var sf2_data_ts_1 = __webpack_require__(3); +var helper_ts_1 = __webpack_require__(4); +var stream_ts_1 = __webpack_require__(5); +var constants_ts_1 = __webpack_require__(0); +var default_1 = /** @class */ (function () { + function default_1(input, opt_params) { + if (opt_params === void 0) { opt_params = {}; } + this.input = input; + this.parserOption = opt_params.parserOption; + } + default_1.prototype.parse = function () { + var parser = new riff_ts_1.Parser(this.input, this.parserOption); + // parse RIFF chunk + parser.parse(); + if (parser.chunkList.length !== 1) { + throw new Error('wrong chunk length'); + } + var chunk = parser.getChunk(0); + if (chunk === null) { + throw new Error('chunk not found'); + } + this.parseRiffChunk(chunk, this.input); + this.input = null; + }; + default_1.prototype.parseRiffChunk = function (chunk, data) { + var chunkList = getChunkList(chunk, data, "RIFF", "sfbk"); + if (chunkList.length !== 3) { + throw new Error('invalid sfbk structure'); + } + // INFO-list + this.info = parseInfoList(chunkList[0], data); + // sdta-list + this.samplingData = parseSdtaList(chunkList[1], data); + // pdta-list + this.parsePdtaList(chunkList[2], data); + }; + default_1.prototype.parsePdtaList = function (chunk, data) { + var chunkList = getChunkList(chunk, data, "LIST", "pdta"); + // check number of chunks + if (chunkList.length !== 9) { + throw new Error('invalid pdta chunk'); + } + this.presetHeader = parsePhdr(chunkList[0], data); + this.presetZone = parsePbag(chunkList[1], data); + this.presetZoneModulator = parsePmod(chunkList[2], data); + this.presetZoneGenerator = parsePgen(chunkList[3], data); + this.instrument = parseInst(chunkList[4], data); + this.instrumentZone = parseIbag(chunkList[5], data); + this.instrumentZoneModulator = parseImod(chunkList[6], data); + this.instrumentZoneGenerator = parseIgen(chunkList[7], data); + this.sampleHeader = parseShdr(chunkList[8], data); + this.sample = loadSample(this.sampleHeader, this.samplingData.offset, data); + }; + return default_1; +}()); +exports["default"] = default_1; +function getChunkList(chunk, data, expectedType, expectedSignature) { + // check parse target + if (chunk.type !== expectedType) { + throw new Error('invalid chunk type:' + chunk.type); + } + var stream = new stream_ts_1["default"](data, chunk.offset); + // check signature + var signature = stream.readString(4); + if (signature !== expectedSignature) { + throw new Error('invalid signature:' + signature); + } + // read structure + var parser = new riff_ts_1.Parser(data, { 'index': stream.ip, 'length': chunk.size - 4 }); + parser.parse(); + return parser.chunkList; +} +function parseInfoList(chunk, data) { + var info = {}; + var chunkList = getChunkList(chunk, data, "LIST", "INFO"); + for (var _i = 0, chunkList_1 = chunkList; _i < chunkList_1.length; _i++) { + var p = chunkList_1[_i]; + var offset = p.offset, size = p.size, type = p.type; + var name_1 = constants_ts_1.InfoNameTable[type] || type; + info[name_1] = helper_ts_1.readString(data, offset, offset + size); + } + return info; +} +function parseSdtaList(chunk, data) { + var chunkList = getChunkList(chunk, data, "LIST", "sdta"); + if (chunkList.length !== 1) { + throw new Error('TODO'); + } + return chunkList[0]; +} +function parseChunk(chunk, data, type, factory) { + var result = []; + if (chunk.type !== type) { + throw new Error('invalid chunk type:' + chunk.type); + } + var stream = new stream_ts_1["default"](data, chunk.offset); + var size = chunk.offset + chunk.size; + while (stream.ip < size) { + result.push(factory(stream)); + } + return result; +} +var parsePhdr = function (chunk, data) { return parseChunk(chunk, data, "phdr", function (stream) { return sf2_data_ts_1.PresetHeader.parse(stream); }); }; +var parsePbag = function (chunk, data) { return parseChunk(chunk, data, "pbag", function (stream) { return sf2_data_ts_1.PresetBag.parse(stream); }); }; +var parseInst = function (chunk, data) { return parseChunk(chunk, data, "inst", function (stream) { return sf2_data_ts_1.Instrument.parse(stream); }); }; +var parseIbag = function (chunk, data) { return parseChunk(chunk, data, "ibag", function (stream) { return sf2_data_ts_1.InstrumentBag.parse(stream); }); }; +var parsePmod = function (chunk, data) { return parseChunk(chunk, data, "pmod", function (stream) { return sf2_data_ts_1.ModulatorList.parse(stream); }); }; +var parseImod = function (chunk, data) { return parseChunk(chunk, data, "imod", function (stream) { return sf2_data_ts_1.ModulatorList.parse(stream); }); }; +var parsePgen = function (chunk, data) { return parseChunk(chunk, data, "pgen", function (stream) { return sf2_data_ts_1.GeneratorList.parse(stream); }); }; +var parseIgen = function (chunk, data) { return parseChunk(chunk, data, "igen", function (stream) { return sf2_data_ts_1.GeneratorList.parse(stream); }); }; +var parseShdr = function (chunk, data) { return parseChunk(chunk, data, "shdr", function (stream) { return sf2_data_ts_1.Sample.parse(stream); }); }; +function adjustSampleData(sample, sampleRate) { + var multiply = 1; + // buffer + while (sampleRate < 22050) { + var newSample = new Int16Array(sample.length * 2); + for (var i = 0, j = 0, il = sample.length; i < il; ++i) { + newSample[j++] = sample[i]; + newSample[j++] = sample[i]; + } + sample = newSample; + multiply *= 2; + sampleRate *= 2; + } + return { + sample: sample, + multiply: multiply + }; +} +function loadSample(sampleHeader, samplingDataOffset, data) { + var samples = []; + for (var _i = 0, sampleHeader_1 = sampleHeader; _i < sampleHeader_1.length; _i++) { + var header = sampleHeader_1[_i]; + var sample = new Int16Array(new Uint8Array(data.subarray(samplingDataOffset + header.start * 2, samplingDataOffset + header.end * 2)).buffer); + if (header.sampleRate > 0) { + var adjust = adjustSampleData(sample, header.sampleRate); + sample = adjust.sample; + header.sampleRate *= adjust.multiply; + header.startLoop *= adjust.multiply; + header.endLoop *= adjust.multiply; + } + samples.push(sample); + } + return samples; +} -/***/ }, + +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var Parser = /** @class */ (function () { + function Parser(input, opt_params) { + if (opt_params === void 0) { opt_params = {}; } + this.chunkList = []; + this.input = input; + this.ip = opt_params['index'] || 0; + this.length = opt_params['length'] || input.length - this.ip; + this.chunkList = []; + this.offset = this.ip; + this.padding = + opt_params['padding'] !== void 0 ? opt_params['padding'] : true; + this.bigEndian = + opt_params['bigEndian'] !== void 0 ? opt_params['bigEndian'] : false; + } + Parser.prototype.parse = function () { + var length = this.length + this.offset; + this.chunkList = []; + while (this.ip < length) { + this.parseChunk(); + } + }; + Parser.prototype.parseChunk = function () { + var input = this.input; + var ip = this.ip; + var size; + this.chunkList.push(new Chunk(String.fromCharCode(input[ip++], input[ip++], input[ip++], input[ip++]), (size = this.bigEndian ? + ((input[ip++] << 24) | (input[ip++] << 16) | + (input[ip++] << 8) | (input[ip++])) >>> 0 : + ((input[ip++]) | (input[ip++] << 8) | + (input[ip++] << 16) | (input[ip++] << 24)) >>> 0), ip)); + ip += size; + // padding + if (this.padding && ((ip - this.offset) & 1) === 1) { + ip++; + } + this.ip = ip; + }; + Parser.prototype.getChunk = function (index) { + var chunk = this.chunkList[index]; + if (chunk === void 0) { + return null; + } + return chunk; + }; + Parser.prototype.getNumberOfChunks = function () { + return this.chunkList.length; + }; + return Parser; +}()); +exports.Parser = Parser; +var Chunk = /** @class */ (function () { + function Chunk(type, size, offset) { + this.type = type; + this.size = size; + this.offset = offset; + } + return Chunk; +}()); +exports.Chunk = Chunk; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var constants_ts_1 = __webpack_require__(0); +var VersionTag = /** @class */ (function () { + function VersionTag() { + } + return VersionTag; +}()); +exports.VersionTag = VersionTag; +var PresetHeader = /** @class */ (function () { + function PresetHeader() { + } + PresetHeader.parse = function (stream) { + var p = new PresetHeader(); + p.presetName = stream.readString(20); + p.preset = stream.readWORD(); + p.bank = stream.readWORD(); + p.presetBagIndex = stream.readWORD(); + p.library = stream.readDWORD(); + p.genre = stream.readDWORD(); + p.morphology = stream.readDWORD(); + return p; + }; + return PresetHeader; +}()); +exports.PresetHeader = PresetHeader; +var PresetBag = /** @class */ (function () { + function PresetBag() { + } + PresetBag.parse = function (stream) { + var p = new PresetBag(); + p.presetGeneratorIndex = stream.readWORD(); + p.presetModulatorIndex = stream.readWORD(); + return p; + }; + return PresetBag; +}()); +exports.PresetBag = PresetBag; +var ModulatorList = /** @class */ (function () { + function ModulatorList() { + } + ModulatorList.parse = function (stream) { + var t = new ModulatorList(); + t.sourceOper = stream.readWORD(); + var code = stream.readWORD(); + t.destinationOper = code; + var key = constants_ts_1.GeneratorEnumeratorTable[code]; + t.type = key; + if (key === void 0) { + // Amount + t.value = { + code: code, + amount: stream.readInt16() + }; + } + else { + // Amount + switch (key) { + case 'keyRange': /* FALLTHROUGH */ + case 'velRange': /* FALLTHROUGH */ + case 'keynum': /* FALLTHROUGH */ + case 'velocity': + t.value = { + lo: stream.readByte(), + hi: stream.readByte() + }; + break; + default: + t.value = { + amount: stream.readInt16() + }; + break; + } + } + t.amountSourceOper = stream.readWORD(); + t.transOper = stream.readWORD(); + return t; + }; + return ModulatorList; +}()); +exports.ModulatorList = ModulatorList; +var GeneratorList = /** @class */ (function () { + function GeneratorList() { + } + GeneratorList.parse = function (stream) { + var t = new ModulatorList(); + var code = stream.readWORD(); + var key = constants_ts_1.GeneratorEnumeratorTable[code]; + t.type = key; + if (key === void 0) { + t.value = { + code: code, + amount: stream.readInt16() + }; + } + else { + switch (key) { + case 'keynum': /* FALLTHROUGH */ + case 'keyRange': /* FALLTHROUGH */ + case 'velRange': /* FALLTHROUGH */ + case 'velocity': + t.value = { + lo: stream.readByte(), + hi: stream.readByte() + }; + break; + default: + t.value = { + amount: stream.readInt16() + }; + break; + } + } + return t; + }; + return GeneratorList; +}()); +exports.GeneratorList = GeneratorList; +var Instrument = /** @class */ (function () { + function Instrument() { + } + Instrument.parse = function (stream) { + var t = new Instrument(); + t.instrumentName = stream.readString(20); + t.instrumentBagIndex = stream.readWORD(); + return t; + }; + return Instrument; +}()); +exports.Instrument = Instrument; +var InstrumentBag = /** @class */ (function () { + function InstrumentBag() { + } + InstrumentBag.parse = function (stream) { + var t = new InstrumentBag(); + t.instrumentGeneratorIndex = stream.readWORD(); + t.instrumentModulatorIndex = stream.readWORD(); + return t; + }; + return InstrumentBag; +}()); +exports.InstrumentBag = InstrumentBag; +var Sample = /** @class */ (function () { + function Sample() { + } + Sample.parse = function (stream) { + var s = new Sample(); + s.sampleName = stream.readString(20); + s.start = stream.readDWORD(); + s.end = stream.readDWORD(); + s.startLoop = stream.readDWORD(); + s.endLoop = stream.readDWORD(); + s.sampleRate = stream.readDWORD(); + s.originalPitch = stream.readByte(); + s.pitchCorrection = stream.readInt8(); + s.sampleLink = stream.readWORD(); + s.sampleType = stream.readWORD(); + s.startLoop -= s.start; + s.endLoop -= s.start; + return s; + }; + return Sample; +}()); +exports.Sample = Sample; +/** + * @enum {number} + */ +exports.SampleLink = { + monoSample: 1, + rightSample: 2, + leftSample: 4, + linkedSample: 8, + RomMonoSample: 0x8001, + RomRightSample: 0x8002, + RomLeftSample: 0x8004, + RomLinkedSample: 0x8008 +}; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +function readString(data, start, end) { + var str = String.fromCharCode.apply(null, data.subarray(start, end)); + var nullLocation = str.indexOf("\u0000"); + if (nullLocation > 0) { + return str.substr(0, nullLocation); + } + return str; +} +exports.readString = readString; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var Stream = /** @class */ (function () { + function Stream(data, offset) { + this.data = data; + this.ip = offset; + } + Stream.prototype.readString = function (size) { + var str = String.fromCharCode.apply(null, this.data.subarray(this.ip, this.ip += size)); + var nullLocation = str.indexOf("\u0000"); + if (nullLocation > 0) { + return str.substr(0, nullLocation); + } + return str; + }; + Stream.prototype.readWORD = function () { + return this.data[this.ip++] | (this.data[this.ip++] << 8); + }; + Stream.prototype.readDWORD = function () { + return (this.data[this.ip++] | + (this.data[this.ip++] << 8) | + (this.data[this.ip++] << 16) | + (this.data[this.ip++] << 24)) >>> 0; + }; + Stream.prototype.readByte = function () { + return this.data[this.ip++]; + }; + Stream.prototype.readAt = function (offset) { + return this.data[this.ip + offset]; + }; + /* helper */ + Stream.prototype.readUInt8 = function () { + return this.readByte(); + }; + Stream.prototype.readInt8 = function () { + return (this.readByte() << 24) >> 24; + }; + Stream.prototype.readUInt16 = function () { + return this.readWORD(); + }; + Stream.prototype.readInt16 = function () { + return (this.readWORD() << 16) >> 16; + }; + Stream.prototype.readUInt32 = function () { + return this.readDWORD(); + }; + return Stream; +}()); +exports["default"] = Stream; + + +/***/ }), +/* 6 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_sf2_ts__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_sf2_ts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__src_sf2_ts__); - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var Riff = {}; - - /** - * @param {ByteArray} input input buffer. - * @param {Object=} opt_params option parameters. - * @constructor - */ - Riff.Parser = function (input, opt_params) { - opt_params = opt_params || {}; - /** @type {ByteArray} */ - this.input = input; - /** @type {number} */ - this.ip = opt_params['index'] || 0; - /** @type {number} */ - this.length = opt_params['length'] || input.length - this.ip; - /** @type {Array.} */ - this.chunkList; - /** @type {number} */ - this.offset = this.ip; - /** @type {boolean} */ - this.padding = opt_params['padding'] !== void 0 ? opt_params['padding'] : true; - /** @type {boolean} */ - this.bigEndian = opt_params['bigEndian'] !== void 0 ? opt_params['bigEndian'] : false; - }; - - /** - * @param {string} type - * @param {number} size - * @param {number} offset - * @constructor - */ - Riff.Chunk = function (type, size, offset) { - /** @type {string} */ - this.type = type; - /** @type {number} */ - this.size = size; - /** @type {number} */ - this.offset = offset; - }; - - Riff.Parser.prototype.parse = function () { - /** @type {number} */ - var length = this.length + this.offset; - - this.chunkList = []; - - while (this.ip < length) { - this.parseChunk(); - } - }; - - Riff.Parser.prototype.parseChunk = function () { - /** @type {ByteArray} */ - var input = this.input; - /** @type {number} */ - var ip = this.ip; - /** @type {number} */ - var size; - - this.chunkList.push(new Riff.Chunk(String.fromCharCode(input[ip++], input[ip++], input[ip++], input[ip++]), size = this.bigEndian ? (input[ip++] << 24 | input[ip++] << 16 | input[ip++] << 8 | input[ip++]) >>> 0 : (input[ip++] | input[ip++] << 8 | input[ip++] << 16 | input[ip++] << 24) >>> 0, ip)); - - ip += size; - - // padding - if (this.padding && (ip - this.offset & 1) === 1) { - ip++; - } - - this.ip = ip; - }; - - /** - * @param {number} index chunk index. - * @return {?Riff.Chunk} - */ - Riff.Parser.prototype.getChunk = function (index) { - /** @type {Riff.Chunk} */ - var chunk = this.chunkList[index]; - - if (chunk === void 0) { - return null; - } - - return chunk; - }; - - /** - * @return {number} - */ - Riff.Parser.prototype.getNumberOfChunks = function () { - return this.chunkList.length; - }; - - exports.default = Riff; +/* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__src_sf2_ts___default.a); -/***/ } +/***/ }) /******/ ]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgM2E3YTZiZGVkYmY2M2VlNWI1ZWQiLCJ3ZWJwYWNrOi8vLy4vZXhwb3J0L3BhcnNlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2YyLmpzIiwid2VicGFjazovLy8uL3NyYy9yaWZmLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUN0Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEk7Ozs7Ozs7Ozs7OztBQ0FBOzs7Ozs7QUFFQTs7Ozs7QUFLQSxLQUFNLFNBQVMsU0FBVCxNQUFTLENBQVMsS0FBVCxFQUFnQixVQUFoQixFQUE0QjtBQUN6QyxnQkFBYSxjQUFjLEVBQTNCO0FBQ0E7QUFDQSxRQUFLLEtBQUwsR0FBYSxLQUFiO0FBQ0E7QUFDQSxRQUFLLFlBQUwsR0FBb0IsV0FBVyxjQUFYLENBQXBCOztBQUVBO0FBQ0EsUUFBSyxZQUFMO0FBQ0E7QUFDQSxRQUFLLFVBQUw7QUFDQTtBQUNBLFFBQUssbUJBQUw7QUFDQTtBQUNBLFFBQUssbUJBQUw7QUFDQTtBQUNBLFFBQUssVUFBTDtBQUNBO0FBQ0EsUUFBSyxjQUFMO0FBQ0E7QUFDQSxRQUFLLHVCQUFMO0FBQ0E7QUFDQSxRQUFLLHVCQUFMO0FBQ0E7QUFDQSxRQUFLLFlBQUw7QUFDRCxFQXpCRDs7QUEyQkEsUUFBTyxTQUFQLENBQWlCLEtBQWpCLEdBQXlCLFlBQVc7QUFDbEM7QUFDQSxPQUFJLFNBQVMsSUFBSSxlQUFLLE1BQVQsQ0FBZ0IsS0FBSyxLQUFyQixFQUE0QixLQUFLLFlBQWpDLENBQWI7QUFDQTtB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QVksU0FBWixDQUFzQixRQUF0QixHQUFpQyxVQUFTLEtBQVQsRUFBZ0I7QUFDL0M7QUFDQSxPQUFJLFFBQVEsS0FBSyxTQUFMLENBQWUsS0FBZixDQUFaOztBQUVBLE9BQUksVUFBVSxLQUFLLENBQW5CLEVBQXNCO0FBQ3BCLFlBQU8sSUFBUDtBQUNEOztBQUVELFVBQU8sS0FBUDtBQUNELEVBVEQ7O0FBV0E7OztBQUdBLE1BQUssTUFBTCxDQUFZLFNBQVosQ0FBc0IsaUJBQXRCLEdBQTBDLFlBQVc7QUFDbkQsVUFBTyxLQUFLLFNBQUwsQ0FBZSxNQUF0QjtBQUNELEVBRkQ7O21CQUllLEkiLCJmaWxlIjoic2YyLnBhcnNlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuXG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRleHBvcnRzOiB7fSxcbiBcdFx0XHRpZDogbW9kdWxlSWQsXG4gXHRcdFx0bG9hZGVkOiBmYWxzZVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcInN0YXRpY1wiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuXG5cblxuLyoqIFdFQlBBQ0sgRk9PVEVSICoqXG4gKiogd2VicGFjay9ib290c3RyYXAgM2E3YTZiZGVkYmY2M2VlNWI1ZWRcbiAqKi8iLCJleHBvcnQgKiBmcm9tIFwiLi4vc3JjL3NmMlwiXHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vZXhwb3J0L3BhcnNlci5qc1xuICoqLyIsImltcG9ydCBSaWZmIGZyb20gXCIuL3JpZmZcIlxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7Qnl0ZUFycmF5fSBpbnB1dFxyXG4gKiBAcGFyYW0ge09iamVjdD19IG9wdF9wYXJhbXNcclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5jb25zdCBQYXJzZXIgPSBmdW5jdGlvbihpbnB1dCwgb3B0X3BhcmFtcykge1xyXG4gIG9wdF9wYXJhbXMgPSBvcHRfcGFyYW1zIHx8IHt9O1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHRoaXMuaW5wdXQgPSBpbnB1dDtcclxuICAvKiogQHR5cGUgeyhPYmplY3R8dW5kZWZpbmVkKX0gKi9cclxuICB0aGlzLnBhcnNlck9wdGlvbiA9IG9wdF9wYXJhbXNbJ3BhcnNlck9wdGlvbiddO1xyXG5cclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHRoaXMucHJlc2V0SGVhZGVyO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lTW9kdWxhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lR2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5pbnN0cnVtZW50O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5pbnN0cnVtZW50Wm9uZTtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHRoaXMuaW5zdHJ1bWVudFpvbmVNb2R1bGF0b3I7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB0aGlzLmluc3RydW1lbnRab25lR2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5zYW1wbGVIZWFkZXI7XHJcbn07XHJcblxyXG5QYXJzZXIucHJvdG90eXBlLnBhcnNlID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtSaWZmLlBhcnNlcn0gKi9cclxuICB2YXIgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKHRoaXMuaW5wdXQsIHRoaXMucGFyc2VyT3B0aW9uKTtcclxuICAvKiogQHR5cGUgez9SaWZmLkNodW5rfSAqL1xyXG4gIHZhciBjaHVuaztcclxuXHJcbiAgLy8gcGFyc2UgUklGRiBjaHVua1xyXG4gIHBhcnNlci5wYXJzZSgpO1xyXG4gIGlmIChwYXJzZXIuY2h1bmtMaXN0Lmxlbmd0aCAhPT0gMSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBjaHVuayBsZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGNodW5rID0gcGFyc2VyLmdldENodW5rKDApO1xyXG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdjaHVuayBub3QgZm91bmQnKTtcclxuICB9XHJcblxyXG4gIHRoaXMucGFyc2VSaWZmQ2h1bmsoY2h1bmspO1xyXG4vL2NvbnNvbGUubG9nKHRoaXMuc2FtcGxlSGVhZGVyKTtcclxuICB0aGlzLmlucHV0ID0gbnVsbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge1JpZmYuQ2h1bmt9IGNodW5rXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLnBhcnNlUmlmZkNodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ1JJRkYnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdzZmJrJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbiAgaWYgKHBhcnNlci5nZXROdW1iZXJPZkNodW5rcygpICE9PSAzKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2ZiayBzdHJ1Y3R1cmUnKTtcclxuICB9XHJcblxyXG4gIC8vIElORk8tbGlzdFxyXG4gIHRoaXMucGFyc2VJbmZvTGlzdCgvKiogQHR5cGUgeyFSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMCkpKTtcclxuXHJcbiAgLy8gc2R0YS1saXN0XHJcbiAgdGhpcy5wYXJzZVNkdGFMaXN0KC8qKiBAdHlwZSB7IVJpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuaygxKSkpO1xyXG5cclxuICAvLyBwZHRhLWxpc3RcclxuICB0aGlzLnBhcnNlUGR0YUxpc3QoLyoqIEB0eXBlIHshUmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDIpKSk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUluZm9MaXN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ0xJU1QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdJTkZPJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVNkdGFMaXN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ0xJU1QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdzZHRhJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbiAgaWYgKHBhcnNlci5jaHVua0xpc3QubGVuZ3RoICE9PSAxKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8nKTtcclxuICB9XHJcbiAgdGhpcy5zYW1wbGluZ0RhdGEgPVxyXG4gICAgLyoqIEB0eXBlIHt7dHlwZTogc3RyaW5nLCBzaXplOiBudW1iZXIsIG9mZnNldDogbnVtYmVyfX0gKi9cclxuICAgIChwYXJzZXIuZ2V0Q2h1bmsoMCkpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQZHRhTGlzdCA9IGZ1bmN0aW9uKGNodW5rKSB7XHJcbiAgLyoqIEB0eXBlIHtSaWZmLlBhcnNlcn0gKi9cclxuICB2YXIgcGFyc2VyO1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtzdHJpbmd9ICovXHJcbiAgdmFyIHNpZ25hdHVyZTtcclxuXHJcbiAgLy8gY2hlY2sgcGFyc2UgdGFyZ2V0XHJcbiAgaWYgKGNodW5rLnR5cGUgIT09ICdMSVNUJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNodW5rIHR5cGU6JyArIGNodW5rLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2sgc2lnbmF0dXJlXHJcbiAgc2lnbmF0dXJlID0gU3RyaW5nLmZyb21DaGFyQ29kZShkYXRhW2lwKytdLCBkYXRhW2lwKytdLCBkYXRhW2lwKytdLCBkYXRhW2lwKytdKTtcclxuICBpZiAoc2lnbmF0dXJlICE9PSAncGR0YScpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWduYXR1cmU6JyArIHNpZ25hdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvLyByZWFkIHN0cnVjdHVyZVxyXG4gIHBhcnNlciA9IG5ldyBSaWZmLlBhcnNlcihkYXRhLCB7J2luZGV4JzogaXAsICdsZW5ndGgnOiBjaHVuay5zaXplIC0gNH0pO1xyXG4gIHBhcnNlci5wYXJzZSgpO1xyXG5cclxuICAvLyBjaGVjayBudW1iZXIgb2YgY2h1bmtzXHJcbiAgaWYgKHBhcnNlci5nZXROdW1iZXJPZkNodW5rcygpICE9PSA5KSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcGR0YSBjaHVuaycpO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5wYXJzZVBoZHIoLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMCkpKTtcclxuICB0aGlzLnBhcnNlUGJhZygvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuaygxKSkpO1xyXG4gIHRoaXMucGFyc2VQbW9kKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDIpKSk7XHJcbiAgdGhpcy5wYXJzZVBnZW4oLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMykpKTtcclxuICB0aGlzLnBhcnNlSW5zdCgvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuayg0KSkpO1xyXG4gIHRoaXMucGFyc2VJYmFnKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDUpKSk7XHJcbiAgdGhpcy5wYXJzZUltb2QoLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoNikpKTtcclxuICB0aGlzLnBhcnNlSWdlbigvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuayg3KSkpO1xyXG4gIHRoaXMucGFyc2VTaGRyKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDgpKSk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVBoZHIgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgcHJlc2V0SGVhZGVyID0gdGhpcy5wcmVzZXRIZWFkZXIgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncGhkcicpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIHByZXNldEhlYWRlci5wdXNoKHtcclxuICAgICAgcHJlc2V0TmFtZTogU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnN1YmFycmF5KGlwLCBpcCArPSAyMCkpLFxyXG4gICAgICBwcmVzZXQ6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KSxcclxuICAgICAgYmFuazogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBwcmVzZXRCYWdJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBsaWJyYXJ5OiAoZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpIHwgKGRhdGFbaXArK10gPDwgMTYpIHwgKGRhdGFbaXArK10gPDwgMjQpKSA+Pj4gMCxcclxuICAgICAgZ2VucmU6IChkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNCkpID4+PiAwLFxyXG4gICAgICBtb3JwaG9sb2d5OiAoZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpIHwgKGRhdGFbaXArK10gPDwgMTYpIHwgKGRhdGFbaXArK10gPDwgMjQpKSA+Pj4gMFxyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQYmFnID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge0J5dGVBcnJheX0gKi9cclxuICB2YXIgZGF0YSA9IHRoaXMuaW5wdXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlwID0gY2h1bmsub2Zmc2V0O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIHByZXNldFpvbmUgPSB0aGlzLnByZXNldFpvbmUgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncGJhZycpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB3aGlsZSAoaXAgPCBzaXplKSB7XHJcbiAgICBwcmVzZXRab25lLnB1c2goe1xyXG4gICAgICBwcmVzZXRHZW5lcmF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBwcmVzZXRNb2R1bGF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVBtb2QgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncG1vZCcpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHRoaXMucHJlc2V0Wm9uZU1vZHVsYXRvciA9IHRoaXMucGFyc2VNb2R1bGF0b3IoY2h1bmspO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQZ2VuID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ3BnZW4nKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG4gIHRoaXMucHJlc2V0Wm9uZUdlbmVyYXRvciA9IHRoaXMucGFyc2VHZW5lcmF0b3IoY2h1bmspO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJbnN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge0J5dGVBcnJheX0gKi9cclxuICB2YXIgZGF0YSA9IHRoaXMuaW5wdXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlwID0gY2h1bmsub2Zmc2V0O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAnaW5zdCcpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIGluc3RydW1lbnQucHVzaCh7XHJcbiAgICAgIGluc3RydW1lbnROYW1lOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGRhdGEuc3ViYXJyYXkoaXAsIGlwICs9IDIwKSksXHJcbiAgICAgIGluc3RydW1lbnRCYWdJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUliYWcgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgaW5zdHJ1bWVudFpvbmUgPSB0aGlzLmluc3RydW1lbnRab25lID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2liYWcnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgd2hpbGUgKGlwIDwgc2l6ZSkge1xyXG4gICAgaW5zdHJ1bWVudFpvbmUucHVzaCh7XHJcbiAgICAgIGluc3RydW1lbnRHZW5lcmF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBpbnN0cnVtZW50TW9kdWxhdG9ySW5kZXg6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KVxyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJbW9kID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2ltb2QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB0aGlzLmluc3RydW1lbnRab25lTW9kdWxhdG9yID0gdGhpcy5wYXJzZU1vZHVsYXRvcihjaHVuayk7XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJZ2VuID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2lnZW4nKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB0aGlzLmluc3RydW1lbnRab25lR2VuZXJhdG9yID0gdGhpcy5wYXJzZUdlbmVyYXRvcihjaHVuayk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVNoZHIgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgc2FtcGxlcyA9IHRoaXMuc2FtcGxlID0gW107XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgc2FtcGxlSGVhZGVyID0gdGhpcy5zYW1wbGVIZWFkZXIgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcbiAgLyoqIEB0eXBlIHtzdHJpbmd9ICovXHJcbiAgdmFyIHNhbXBsZU5hbWU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHN0YXJ0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBlbmQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHN0YXJ0TG9vcDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgZW5kTG9vcDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2FtcGxlUmF0ZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgb3JpZ2luYWxQaXRjaDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgcGl0Y2hDb3JyZWN0aW9uO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzYW1wbGVMaW5rO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzYW1wbGVUeXBlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ3NoZHInKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB3aGlsZSAoaXAgPCBzaXplKSB7XHJcbiAgICBzYW1wbGVOYW1lID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnN1YmFycmF5KGlwLCBpcCArPSAyMCkpO1xyXG4gICAgc3RhcnQgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBlbmQgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBzdGFydExvb3AgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBlbmRMb29wID0gIChcclxuICAgICAgKGRhdGFbaXArK10gPDwgMCkgfCAoZGF0YVtpcCsrXSA8PCA4KSB8IChkYXRhW2lwKytdIDw8IDE2KSB8IChkYXRhW2lwKytdIDw8IDI0KVxyXG4gICAgKSA+Pj4gMDtcclxuICAgIHNhbXBsZVJhdGUgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBvcmlnaW5hbFBpdGNoID0gZGF0YVtpcCsrXTtcclxuICAgIHBpdGNoQ29ycmVjdGlvbiA9IChkYXRhW2lwKytdIDw8IDI0KSA+PiAyNDtcclxuICAgIHNhbXBsZUxpbmsgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBzYW1wbGVUeXBlID0gZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpO1xyXG5cclxuICAgIC8vKlxyXG4gICAgdmFyIHNhbXBsZSA9IG5ldyBJbnQxNkFycmF5KG5ldyBVaW50OEFycmF5KGRhdGEuc3ViYXJyYXkoXHJcbiAgICAgIHRoaXMuc2FtcGxpbmdEYXRhLm9mZnNldCArIHN0YXJ0ICogMixcclxuICAgICAgdGhpcy5zYW1wbGluZ0RhdGEub2Zmc2V0ICsgZW5kICAgKiAyXHJcbiAgICApKS5idWZmZXIpO1xyXG5cclxuICAgIHN0YXJ0TG9vcCAtPSBzdGFydDtcclxuICAgIGVuZExvb3AgLT0gc3RhcnQ7XHJcblxyXG4gICAgaWYgKHNhbXBsZVJhdGUgPiAwKSB7XHJcbiAgICAgIHZhciBhZGp1c3QgPSB0aGlzLmFkanVzdFNhbXBsZURhdGEoc2FtcGxlLCBzYW1wbGVSYXRlKTtcclxuICAgICAgc2FtcGxlID0gYWRqdXN0LnNhbXBsZTtcclxuICAgICAgc2FtcGxlUmF0ZSAqPSBhZGp1c3QubXVsdGlwbHk7XHJcbiAgICAgIHN0YXJ0TG9vcCAqPSBhZGp1c3QubXVsdGlwbHk7XHJcbiAgICAgIGVuZExvb3AgKj0gYWRqdXN0Lm11bHRpcGx5O1xyXG4gICAgfVxyXG5cclxuICAgIHNhbXBsZXMucHVzaChzYW1wbGUpO1xyXG4gICAgLy8qL1xyXG5cclxuICAgIHNhbXBsZUhlYWRlci5wdXNoKHtcclxuICAgICAgc2FtcGxlTmFtZTogc2FtcGxlTmFtZSxcclxuICAgICAgLypcclxuICAgICAgc3RhcnQ6IHN0YXJ0LFxyXG4gICAgICBlbmQ6IGVuZCxcclxuICAgICAgKi9cclxuICAgICAgc3RhcnRMb29wOiBzdGFydExvb3AsXHJcbiAgICAgIGVuZExvb3A6IGVuZExvb3AsXHJcbiAgICAgIHNhbXBsZVJhdGU6IHNhbXBsZVJhdGUsXHJcbiAgICAgIG9yaWdpbmFsUGl0Y2g6IG9yaWdpbmFsUGl0Y2gsXHJcbiAgICAgIHBpdGNoQ29ycmVjdGlvbjogcGl0Y2hDb3JyZWN0aW9uLFxyXG4gICAgICBzYW1wbGVMaW5rOiBzYW1wbGVMaW5rLFxyXG4gICAgICBzYW1wbGVUeXBlOiBzYW1wbGVUeXBlXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5QYXJzZXIucHJvdG90eXBlLmFkanVzdFNhbXBsZURhdGEgPSBmdW5jdGlvbihzYW1wbGUsIHNhbXBsZVJhdGUpIHtcclxuICAvKiogQHR5cGUge0ludDE2QXJyYXl9ICovXHJcbiAgdmFyIG5ld1NhbXBsZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaWw7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGo7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG11bHRpcGx5ID0gMTtcclxuXHJcbiAgLy8gYnVmZmVyXHJcbiAgd2hpbGUgKHNhbXBsZVJhdGUgPCAyMjA1MCkge1xyXG4gICAgbmV3U2FtcGxlID0gbmV3IEludDE2QXJyYXkoc2FtcGxlLmxlbmd0aCAqIDIpO1xyXG4gICAgZm9yIChpID0gaiA9IDAsIGlsID0gc2FtcGxlLmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgICAgbmV3U2FtcGxlW2orK10gPSBzYW1wbGVbaV07XHJcbiAgICAgIG5ld1NhbXBsZVtqKytdID0gc2FtcGxlW2ldO1xyXG4gICAgfVxyXG4gICAgc2FtcGxlID0gbmV3U2FtcGxlO1xyXG4gICAgbXVsdGlwbHkgKj0gMjtcclxuICAgIHNhbXBsZVJhdGUgKj0gMjtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBzYW1wbGU6IHNhbXBsZSxcclxuICAgIG11bHRpcGx5OiBtdWx0aXBseVxyXG4gIH07XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn1cclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VNb2R1bGF0b3IgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjb2RlO1xyXG4gIC8qKiBAdHlwZSB7c3RyaW5nfSAqL1xyXG4gIHZhciBrZXk7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIC8vIFNyYyAgT3BlclxyXG4gICAgLy8gVE9ET1xyXG4gICAgaXAgKz0gMjtcclxuXHJcbiAgICAvLyBEZXN0IE9wZXJcclxuICAgIGNvZGUgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBrZXkgPSBQYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdO1xyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIC8vIEFtb3VudFxyXG4gICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgdHlwZToga2V5LFxyXG4gICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICBjb2RlOiBjb2RlLFxyXG4gICAgICAgICAgYW1vdW50OiBkYXRhW2lwXSB8IChkYXRhW2lwKzFdIDw8IDgpIDw8IDE2ID4+IDE2LFxyXG4gICAgICAgICAgbG86IGRhdGFbaXArK10sXHJcbiAgICAgICAgICBoaTogZGF0YVtpcCsrXVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBBbW91bnRcclxuICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICBjYXNlICdrZXlSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsUmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ2tleW51bSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsb2NpdHknOlxyXG4gICAgICAgICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgbG86IGRhdGFbaXArK10sXHJcbiAgICAgICAgICAgICAgaGk6IGRhdGFbaXArK11cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgYW1vdW50OiBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCkgPDwgMTYgPj4gMTZcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEFtdFNyY09wZXJcclxuICAgIC8vIFRPRE9cclxuICAgIGlwICs9IDI7XHJcblxyXG4gICAgLy8gVHJhbnMgT3BlclxyXG4gICAgLy8gVE9ET1xyXG4gICAgaXAgKz0gMjtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn1cclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VHZW5lcmF0b3IgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjb2RlO1xyXG4gIC8qKiBAdHlwZSB7c3RyaW5nfSAqL1xyXG4gIHZhciBrZXk7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIGNvZGUgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBrZXkgPSBQYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdO1xyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIG91dHB1dC5wdXNoKHtcclxuICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgIGNvZGU6IGNvZGUsXHJcbiAgICAgICAgICBhbW91bnQ6IGRhdGFbaXBdIHwgKGRhdGFbaXArMV0gPDwgOCkgPDwgMTYgPj4gMTYsXHJcbiAgICAgICAgICBsbzogZGF0YVtpcCsrXSxcclxuICAgICAgICAgIGhpOiBkYXRhW2lwKytdXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgY29udGludWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAna2V5bnVtJzogLyogRkFMTFRIUk9VR0ggKi9cclxuICAgICAgY2FzZSAna2V5UmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICBjYXNlICd2ZWxSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgIGNhc2UgJ3ZlbG9jaXR5JzpcclxuICAgICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBsbzogZGF0YVtpcCsrXSxcclxuICAgICAgICAgICAgaGk6IGRhdGFbaXArK11cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBhbW91bnQ6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KSA8PCAxNiA+PiAxNlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dDtcclxufTtcclxuXHJcblBhcnNlci5wcm90b3R5cGUuY3JlYXRlSW5zdHJ1bWVudCA9IGZ1bmN0aW9uKCkge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgem9uZSA9IHRoaXMuaW5zdHJ1bWVudFpvbmU7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGJhZ0luZGV4O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBiYWdJbmRleEVuZDtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciB6b25lSW5mbztcclxuICAvKiogQHR5cGUge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50R2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7e21vZHVsYXRvcjogT2JqZWN0LCBtb2R1bGF0b3JJbmZvOiBBcnJheS48T2JqZWN0Pn19ICovXHJcbiAgdmFyIGluc3RydW1lbnRNb2R1bGF0b3I7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGk7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlsO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqbDtcclxuXHJcbiAgLy8gaW5zdHJ1bWVudCAtPiBpbnN0cnVtZW50IGJhZyAtPiBnZW5lcmF0b3IgLyBtb2R1bGF0b3JcclxuICBmb3IgKGkgPSAwLCBpbCA9IGluc3RydW1lbnQubGVuZ3RoOyBpIDwgaWw7ICsraSkge1xyXG4gICAgYmFnSW5kZXggICAgPSBpbnN0cnVtZW50W2ldLmluc3RydW1lbnRCYWdJbmRleDtcclxuICAgIGJhZ0luZGV4RW5kID0gaW5zdHJ1bWVudFtpKzFdID8gaW5zdHJ1bWVudFtpKzFdLmluc3RydW1lbnRCYWdJbmRleCA6IHpvbmUubGVuZ3RoO1xyXG4gICAgem9uZUluZm8gPSBbXTtcclxuXHJcbiAgICAvLyBpbnN0cnVtZW50IGJhZ1xyXG4gICAgZm9yIChqID0gYmFnSW5kZXgsIGpsID0gYmFnSW5kZXhFbmQ7IGogPCBqbDsgKytqKSB7XHJcbiAgICAgIGluc3RydW1lbnRHZW5lcmF0b3IgPSB0aGlzLmNyZWF0ZUluc3RydW1lbnRHZW5lcmF0b3JfKHpvbmUsIGopO1xyXG4gICAgICBpbnN0cnVtZW50TW9kdWxhdG9yID0gdGhpcy5jcmVhdGVJbnN0cnVtZW50TW9kdWxhdG9yXyh6b25lLCBqKTtcclxuXHJcbiAgICAgIHpvbmVJbmZvLnB1c2goe1xyXG4gICAgICAgIGdlbmVyYXRvcjogaW5zdHJ1bWVudEdlbmVyYXRvci5nZW5lcmF0b3IsXHJcbiAgICAgICAgZ2VuZXJhdG9yU2VxdWVuY2U6IGluc3RydW1lbnRHZW5lcmF0b3IuZ2VuZXJhdG9ySW5mbyxcclxuICAgICAgICBtb2R1bGF0b3I6IGluc3RydW1lbnRNb2R1bGF0b3IubW9kdWxhdG9yLFxyXG4gICAgICAgIG1vZHVsYXRvclNlcXVlbmNlOiBpbnN0cnVtZW50TW9kdWxhdG9yLm1vZHVsYXRvckluZm9cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICBuYW1lOiBpbnN0cnVtZW50W2ldLmluc3RydW1lbnROYW1lLFxyXG4gICAgICBpbmZvOiB6b25lSW5mb1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59O1xyXG5cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVQcmVzZXQgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciBwcmVzZXQgICA9IHRoaXMucHJlc2V0SGVhZGVyO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIHpvbmUgPSB0aGlzLnByZXNldFpvbmU7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGJhZ0luZGV4O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBiYWdJbmRleEVuZDtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciB6b25lSW5mbztcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaW5zdHJ1bWVudDtcclxuICAvKiogQHR5cGUge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fSAqL1xyXG4gIHZhciBwcmVzZXRHZW5lcmF0b3I7XHJcbiAgLyoqIEB0eXBlIHt7bW9kdWxhdG9yOiBPYmplY3QsIG1vZHVsYXRvckluZm86IEFycmF5LjxPYmplY3Q+fX0gKi9cclxuICB2YXIgcHJlc2V0TW9kdWxhdG9yO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgajtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgamw7XHJcblxyXG4gIC8vIHByZXNldCAtPiBwcmVzZXQgYmFnIC0+IGdlbmVyYXRvciAvIG1vZHVsYXRvclxyXG4gIGZvciAoaSA9IDAsIGlsID0gcHJlc2V0Lmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGJhZ0luZGV4ICAgID0gcHJlc2V0W2ldLnByZXNldEJhZ0luZGV4O1xyXG4gICAgYmFnSW5kZXhFbmQgPSBwcmVzZXRbaSsxXSA/IHByZXNldFtpKzFdLnByZXNldEJhZ0luZGV4IDogem9uZS5sZW5ndGg7XHJcbiAgICB6b25lSW5mbyA9IFtdO1xyXG5cclxuICAgIC8vIHByZXNldCBiYWdcclxuICAgIGZvciAoaiA9IGJhZ0luZGV4LCBqbCA9IGJhZ0luZGV4RW5kOyBqIDwgamw7ICsraikge1xyXG4gICAgICBwcmVzZXRHZW5lcmF0b3IgPSB0aGlzLmNyZWF0ZVByZXNldEdlbmVyYXRvcl8oem9uZSwgaik7XHJcbiAgICAgIHByZXNldE1vZHVsYXRvciA9IHRoaXMuY3JlYXRlUHJlc2V0TW9kdWxhdG9yXyh6b25lLCBqKTtcclxuXHJcbiAgICAgIHpvbmVJbmZvLnB1c2goe1xyXG4gICAgICAgIGdlbmVyYXRvcjogcHJlc2V0R2VuZXJhdG9yLmdlbmVyYXRvcixcclxuICAgICAgICBnZW5lcmF0b3JTZXF1ZW5jZTogcHJlc2V0R2VuZXJhdG9yLmdlbmVyYXRvckluZm8sXHJcbiAgICAgICAgbW9kdWxhdG9yOiBwcmVzZXRNb2R1bGF0b3IubW9kdWxhdG9yLFxyXG4gICAgICAgIG1vZHVsYXRvclNlcXVlbmNlOiBwcmVzZXRNb2R1bGF0b3IubW9kdWxhdG9ySW5mb1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGluc3RydW1lbnQgPVxyXG4gICAgICAgIHByZXNldEdlbmVyYXRvci5nZW5lcmF0b3JbJ2luc3RydW1lbnQnXSAhPT0gdm9pZCAwID9cclxuICAgICAgICAgIHByZXNldEdlbmVyYXRvci5nZW5lcmF0b3JbJ2luc3RydW1lbnQnXS5hbW91bnQgOlxyXG4gICAgICAgIHByZXNldE1vZHVsYXRvci5tb2R1bGF0b3JbJ2luc3RydW1lbnQnXSAhPT0gdm9pZCAwID9cclxuICAgICAgICAgIHByZXNldE1vZHVsYXRvci5tb2R1bGF0b3JbJ2luc3RydW1lbnQnXS5hbW91bnQgOlxyXG4gICAgICAgIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICBuYW1lOiBwcmVzZXRbaV0ucHJlc2V0TmFtZSxcclxuICAgICAgaW5mbzogem9uZUluZm8sXHJcbiAgICAgIGhlYWRlcjogcHJlc2V0W2ldLFxyXG4gICAgICBpbnN0cnVtZW50OiBpbnN0cnVtZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheS48T2JqZWN0Pn0gem9uZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICogQHJldHVybnMge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVJbnN0cnVtZW50R2VuZXJhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgdmFyIG1vZGdlbiA9IHRoaXMuY3JlYXRlQmFnTW9kR2VuXyhcclxuICAgIHpvbmUsXHJcbiAgICB6b25lW2luZGV4XS5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4KzFdID8gem9uZVtpbmRleCsxXS5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXg6IHRoaXMuaW5zdHJ1bWVudFpvbmVHZW5lcmF0b3IubGVuZ3RoLFxyXG4gICAgdGhpcy5pbnN0cnVtZW50Wm9uZUdlbmVyYXRvclxyXG4gICk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZW5lcmF0b3I6IG1vZGdlbi5tb2RnZW4sXHJcbiAgICBnZW5lcmF0b3JJbmZvOiBtb2RnZW4ubW9kZ2VuSW5mb1xyXG4gIH07XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheS48T2JqZWN0Pn0gem9uZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICogQHJldHVybnMge3ttb2R1bGF0b3I6IE9iamVjdCwgbW9kdWxhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVJbnN0cnVtZW50TW9kdWxhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgdmFyIG1vZGdlbiA9IHRoaXMuY3JlYXRlQmFnTW9kR2VuXyhcclxuICAgIHpvbmUsXHJcbiAgICB6b25lW2luZGV4XS5wcmVzZXRNb2R1bGF0b3JJbmRleCxcclxuICAgIHpvbmVbaW5kZXgrMV0gPyB6b25lW2luZGV4KzFdLmluc3RydW1lbnRNb2R1bGF0b3JJbmRleDogdGhpcy5pbnN0cnVtZW50Wm9uZU1vZHVsYXRvci5sZW5ndGgsXHJcbiAgICB0aGlzLmluc3RydW1lbnRab25lTW9kdWxhdG9yXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZHVsYXRvcjogbW9kZ2VuLm1vZGdlbixcclxuICAgIG1vZHVsYXRvckluZm86IG1vZGdlbi5tb2RnZW5JbmZvXHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gKiBAcmV0dXJucyB7e2dlbmVyYXRvcjogT2JqZWN0LCBnZW5lcmF0b3JJbmZvOiBBcnJheS48T2JqZWN0Pn19XHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLmNyZWF0ZVByZXNldEdlbmVyYXRvcl8gPSBmdW5jdGlvbih6b25lLCBpbmRleCkge1xyXG4gIHZhciBtb2RnZW4gPSB0aGlzLmNyZWF0ZUJhZ01vZEdlbl8oXHJcbiAgICB6b25lLFxyXG4gICAgem9uZVtpbmRleF0ucHJlc2V0R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4KzFdID8gem9uZVtpbmRleCsxXS5wcmVzZXRHZW5lcmF0b3JJbmRleCA6IHRoaXMucHJlc2V0Wm9uZUdlbmVyYXRvci5sZW5ndGgsXHJcbiAgICB0aGlzLnByZXNldFpvbmVHZW5lcmF0b3JcclxuICApO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgZ2VuZXJhdG9yOiBtb2RnZW4ubW9kZ2VuLFxyXG4gICAgZ2VuZXJhdG9ySW5mbzogbW9kZ2VuLm1vZGdlbkluZm9cclxuICB9O1xyXG59O1xyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHJldHVybnMge3ttb2R1bGF0b3I6IE9iamVjdCwgbW9kdWxhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcblBhcnNlci5wcm90b3R5cGUuY3JlYXRlUHJlc2V0TW9kdWxhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgLyoqIEB0eXBlIHt7bW9kZ2VuOiBPYmplY3QsIG1vZGdlbkluZm86IEFycmF5LjxPYmplY3Q+fX0gKi9cclxuICB2YXIgbW9kZ2VuID0gdGhpcy5jcmVhdGVCYWdNb2RHZW5fKFxyXG4gICAgem9uZSxcclxuICAgIHpvbmVbaW5kZXhdLnByZXNldE1vZHVsYXRvckluZGV4LFxyXG4gICAgem9uZVtpbmRleCsxXSA/IHpvbmVbaW5kZXgrMV0ucHJlc2V0TW9kdWxhdG9ySW5kZXggOiB0aGlzLnByZXNldFpvbmVNb2R1bGF0b3IubGVuZ3RoLFxyXG4gICAgdGhpcy5wcmVzZXRab25lTW9kdWxhdG9yXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZHVsYXRvcjogbW9kZ2VuLm1vZGdlbixcclxuICAgIG1vZHVsYXRvckluZm86IG1vZGdlbi5tb2RnZW5JbmZvXHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFN0YXJ0XHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleEVuZFxyXG4gKiBAcGFyYW0gem9uZU1vZEdlblxyXG4gKiBAcmV0dXJucyB7e21vZGdlbjogT2JqZWN0LCBtb2RnZW5JbmZvOiBBcnJheS48T2JqZWN0Pn19XHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLmNyZWF0ZUJhZ01vZEdlbl8gPSBmdW5jdGlvbih6b25lLCBpbmRleFN0YXJ0LCBpbmRleEVuZCwgem9uZU1vZEdlbikge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIG1vZGdlbkluZm8gPSBbXTtcclxuICAvKiogQHR5cGUge09iamVjdH0gKi9cclxuICB2YXIgbW9kZ2VuID0ge1xyXG4gICAgdW5rbm93bjogW10sXHJcbiAgICAna2V5UmFuZ2UnOiB7XHJcbiAgICAgIGhpOiAxMjcsXHJcbiAgICAgIGxvOiAwXHJcbiAgICB9XHJcbiAgfTsgLy8gVE9ET1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBpbmZvO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuXHJcbiAgZm9yIChpID0gaW5kZXhTdGFydCwgaWwgPSBpbmRleEVuZDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGluZm8gPSB6b25lTW9kR2VuW2ldO1xyXG4gICAgbW9kZ2VuSW5mby5wdXNoKGluZm8pO1xyXG5cclxuICAgIGlmIChpbmZvLnR5cGUgPT09ICd1bmtub3duJykge1xyXG4gICAgICBtb2RnZW4udW5rbm93bi5wdXNoKGluZm8udmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbW9kZ2VuW2luZm8udHlwZV0gPSBpbmZvLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZGdlbjogbW9kZ2VuLFxyXG4gICAgbW9kZ2VuSW5mbzogbW9kZ2VuSW5mb1xyXG4gIH07XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEB0eXBlIHtBcnJheS48c3RyaW5nPn1cclxuICogQGNvbnN0XHJcbiAqL1xyXG5QYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlID0gW1xyXG4gICdzdGFydEFkZHJzT2Zmc2V0JyxcclxuICAnZW5kQWRkcnNPZmZzZXQnLFxyXG4gICdzdGFydGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ2VuZGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ3N0YXJ0QWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1BpdGNoJyxcclxuICAndmliTGZvVG9QaXRjaCcsXHJcbiAgJ21vZEVudlRvUGl0Y2gnLFxyXG4gICdpbml0aWFsRmlsdGVyRmMnLFxyXG4gICdpbml0aWFsRmlsdGVyUScsXHJcbiAgJ21vZExmb1RvRmlsdGVyRmMnLFxyXG4gICdtb2RFbnZUb0ZpbHRlckZjJyxcclxuICAnZW5kQWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1ZvbHVtZScsXHJcbiAgLCAvLyAxNFxyXG4gICdjaG9ydXNFZmZlY3RzU2VuZCcsXHJcbiAgJ3JldmVyYkVmZmVjdHNTZW5kJyxcclxuICAncGFuJyxcclxuICAsLCwgLy8gMTgsMTksMjBcclxuICAnZGVsYXlNb2RMRk8nLFxyXG4gICdmcmVxTW9kTEZPJyxcclxuICAnZGVsYXlWaWJMRk8nLFxyXG4gICdmcmVxVmliTEZPJyxcclxuICAnZGVsYXlNb2RFbnYnLFxyXG4gICdhdHRhY2tNb2RFbnYnLFxyXG4gICdob2xkTW9kRW52JyxcclxuICAnZGVjYXlNb2RFbnYnLFxyXG4gICdzdXN0YWluTW9kRW52JyxcclxuICAncmVsZWFzZU1vZEVudicsXHJcbiAgJ2tleW51bVRvTW9kRW52SG9sZCcsXHJcbiAgJ2tleW51bVRvTW9kRW52RGVjYXknLFxyXG4gICdkZWxheVZvbEVudicsXHJcbiAgJ2F0dGFja1ZvbEVudicsXHJcbiAgJ2hvbGRWb2xFbnYnLFxyXG4gICdkZWNheVZvbEVudicsXHJcbiAgJ3N1c3RhaW5Wb2xFbnYnLFxyXG4gICdyZWxlYXNlVm9sRW52JyxcclxuICAna2V5bnVtVG9Wb2xFbnZIb2xkJyxcclxuICAna2V5bnVtVG9Wb2xFbnZEZWNheScsXHJcbiAgJ2luc3RydW1lbnQnLFxyXG4gICwgLy8gNDJcclxuICAna2V5UmFuZ2UnLFxyXG4gICd2ZWxSYW5nZScsXHJcbiAgJ3N0YXJ0bG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAna2V5bnVtJyxcclxuICAndmVsb2NpdHknLFxyXG4gICdpbml0aWFsQXR0ZW51YXRpb24nLFxyXG4gICwgLy8gNDlcclxuICAnZW5kbG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAnY29hcnNlVHVuZScsXHJcbiAgJ2ZpbmVUdW5lJyxcclxuICAnc2FtcGxlSUQnLFxyXG4gICdzYW1wbGVNb2RlcycsXHJcbiAgLCAvLyA1NVxyXG4gICdzY2FsZVR1bmluZycsXHJcbiAgJ2V4Y2x1c2l2ZUNsYXNzJyxcclxuICAnb3ZlcnJpZGluZ1Jvb3RLZXknXHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBQYXJzZXJcclxuXG5cblxuLyoqIFdFQlBBQ0sgRk9PVEVSICoqXG4gKiogLi9zcmMvc2YyLmpzXG4gKiovIiwiY29uc3QgUmlmZiA9IHt9O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7Qnl0ZUFycmF5fSBpbnB1dCBpbnB1dCBidWZmZXIuXHJcbiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X3BhcmFtcyBvcHRpb24gcGFyYW1ldGVycy5cclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5SaWZmLlBhcnNlciA9IGZ1bmN0aW9uKGlucHV0LCBvcHRfcGFyYW1zKSB7XHJcbiAgb3B0X3BhcmFtcyA9IG9wdF9wYXJhbXMgfHwge307XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdGhpcy5pbnB1dCA9IGlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuaXAgPSBvcHRfcGFyYW1zWydpbmRleCddIHx8IDA7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5sZW5ndGggPSBvcHRfcGFyYW1zWydsZW5ndGgnXSB8fCBpbnB1dC5sZW5ndGggLSB0aGlzLmlwO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPFJpZmYuQ2h1bms+fSAqL1xyXG4gIHRoaXMuY2h1bmtMaXN0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMub2Zmc2V0ID0gdGhpcy5pcDtcclxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXHJcbiAgdGhpcy5wYWRkaW5nID1cclxuICAgIG9wdF9wYXJhbXNbJ3BhZGRpbmcnXSAhPT0gdm9pZCAwID8gb3B0X3BhcmFtc1sncGFkZGluZyddIDogdHJ1ZTtcclxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXHJcbiAgdGhpcy5iaWdFbmRpYW4gPVxyXG4gICAgb3B0X3BhcmFtc1snYmlnRW5kaWFuJ10gIT09IHZvaWQgMCA/IG9wdF9wYXJhbXNbJ2JpZ0VuZGlhbiddIDogZmFsc2U7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcclxuICogQHBhcmFtIHtudW1iZXJ9IHNpemVcclxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxyXG4gKiBAY29uc3RydWN0b3JcclxuICovXHJcblJpZmYuQ2h1bmsgPSBmdW5jdGlvbih0eXBlLCBzaXplLCBvZmZzZXQpIHtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuc2l6ZSA9IHNpemU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbn07XHJcblxyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGggKyB0aGlzLm9mZnNldDtcclxuXHJcbiAgdGhpcy5jaHVua0xpc3QgPSBbXTtcclxuXHJcbiAgd2hpbGUgKHRoaXMuaXAgPCBsZW5ndGgpIHtcclxuICAgIHRoaXMucGFyc2VDaHVuaygpO1xyXG4gIH1cclxufTtcclxuXHJcblJpZmYuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUNodW5rID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGlucHV0ID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSB0aGlzLmlwO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzaXplO1xyXG5cclxuICB0aGlzLmNodW5rTGlzdC5wdXNoKG5ldyBSaWZmLkNodW5rKFxyXG4gICAgU3RyaW5nLmZyb21DaGFyQ29kZShpbnB1dFtpcCsrXSwgaW5wdXRbaXArK10sIGlucHV0W2lwKytdLCBpbnB1dFtpcCsrXSksXHJcbiAgICAoc2l6ZSA9IHRoaXMuYmlnRW5kaWFuID9cclxuICAgICAgICgoaW5wdXRbaXArK10gPDwgMjQpIHwgKGlucHV0W2lwKytdIDw8IDE2KSB8XHJcbiAgICAgICAgKGlucHV0W2lwKytdIDw8ICA4KSB8IChpbnB1dFtpcCsrXSAgICAgICkpID4+PiAwIDpcclxuICAgICAgICgoaW5wdXRbaXArK10gICAgICApIHwgKGlucHV0W2lwKytdIDw8ICA4KSB8XHJcbiAgICAgICAgKGlucHV0W2lwKytdIDw8IDE2KSB8IChpbnB1dFtpcCsrXSA8PCAyNCkpID4+PiAwXHJcbiAgICApLFxyXG4gICAgaXBcclxuICApKTtcclxuXHJcbiAgaXAgKz0gc2l6ZTtcclxuXHJcbiAgLy8gcGFkZGluZ1xyXG4gIGlmICh0aGlzLnBhZGRpbmcgJiYgKChpcCAtIHRoaXMub2Zmc2V0KSAmIDEpID09PSAxKSB7XHJcbiAgICBpcCsrO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5pcCA9IGlwO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBjaHVuayBpbmRleC5cclxuICogQHJldHVybiB7P1JpZmYuQ2h1bmt9XHJcbiAqL1xyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUuZ2V0Q2h1bmsgPSBmdW5jdGlvbihpbmRleCkge1xyXG4gIC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi9cclxuICB2YXIgY2h1bmsgPSB0aGlzLmNodW5rTGlzdFtpbmRleF07XHJcblxyXG4gIGlmIChjaHVuayA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBjaHVuaztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9XHJcbiAqL1xyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUuZ2V0TnVtYmVyT2ZDaHVua3MgPSBmdW5jdGlvbigpIHtcclxuICByZXR1cm4gdGhpcy5jaHVua0xpc3QubGVuZ3RoO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSaWZmXHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vc3JjL3JpZmYuanNcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCBlMjk4YjliNTJjYWJlODJhNzhjYSIsIndlYnBhY2s6Ly8vLi9zcmMvY29uc3RhbnRzLnRzIiwid2VicGFjazovLy8uL3NyYy9zZjIudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3JpZmYudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3NmMl9kYXRhLnRzIiwid2VicGFjazovLy8uL3NyYy9oZWxwZXIudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0cmVhbS50cyIsIndlYnBhY2s6Ly8vLi9leHBvcnQvcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxPO0FDVkE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUEyQiwwQkFBMEIsRUFBRTtBQUN2RCx5Q0FBaUMsZUFBZTtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBc0QsK0RBQStEOztBQUVySDtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7QUM3RGEsZ0NBQXdCLEdBQUc7SUFDdEMsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsZUFBZTtJQUNmLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7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QztJQUVELDJCQUFVLEdBQVY7UUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSztRQUN4QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRTtRQUNoQixJQUFJLElBQUk7UUFFUixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FDM0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUN2RSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUssQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ25ELEVBQ0QsRUFBRSxDQUNILENBQUM7UUFFRixFQUFFLElBQUksSUFBSTtRQUVWLFVBQVU7UUFDVixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsRUFBRSxFQUFFO1FBQ04sQ0FBQztRQUVELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRTtJQUNkLENBQUM7SUFFRCx5QkFBUSxHQUFSLFVBQVMsS0FBYTtRQUNwQixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUVuQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJO1FBQ2IsQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUFLO0lBQ2QsQ0FBQztJQUVELGtDQUFpQixHQUFqQjtRQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07SUFDOUIsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDO0FBdkVZLHdCQUFNO0FBeUVuQjtJQUtFLGVBQVksSUFBWSxFQUFFLElBQVksRUFBRSxNQUFjO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNO0lBQ3RCLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQztBQVZZLHNCQUFLOzs7Ozs7Ozs7O0FDekVsQiw0Q0FBeUQ7QUFFekQ7SUFBQTtJQUdBLENBQUM7SUFBRCxpQkFBQztBQUFELENBQUM7QUFIWSxnQ0FBVTtBQUt2QjtJQUFBO0lBb0JBLENBQUM7SUFYUSxrQkFBSyxHQUFaLFVBQWEsTUFBTTtRQUNqQixJQUFNLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUM1QixDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDMUIsQ0FBQyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3BDLENBQUMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUM5QixDQUFDLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDNUIsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pDLE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQztBQXBCWSxvQ0FBWTtBQXNCekI7SUFBQTtJQVVBLENBQUM7SUFOUSxlQUFLLEdBQVosVUFBYSxNQUFNO1FBQ2pCLElBQU0sQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFO1FBQ3pCLENBQUMsQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQzFDLENBQUMsQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQzFDLE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQztBQVZZLDhCQUFTO0FBWXRCO0lBQUE7SUFpREEsQ0FBQztJQXpDUSxtQkFBSyxHQUFaLFVBQWEsTUFBTTtRQUNqQixJQUFNLENBQUMsR0FBRyxJQUFJLGFBQWEsRUFBRTtRQUU3QixDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDaEMsSUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM5QixDQUFDLENBQUMsZUFBZSxHQUFHLElBQUk7UUFFeEIsSUFBTSxHQUFHLEdBQUcsdUNBQXdCLENBQUMsSUFBSSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRztRQUVaLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsU0FBUztZQUNULENBQUMsQ0FBQyxLQUFLLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUU7YUFDM0I7UUFDSCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixTQUFTO1lBQ1QsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDWixLQUFLLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDbEMsS0FBSyxVQUFVLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ2xDLEtBQUssUUFBUSxDQUFDLENBQUMsaUJBQWlCO2dCQUNoQyxLQUFLLFVBQVU7b0JBQ2IsQ0FBQyxDQUFDLEtBQUssR0FBRzt3QkFDUixFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTt3QkFDckIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7cUJBQ3RCO29CQUNELEtBQUs7Z0JBQ1A7b0JBQ0UsQ0FBQyxDQUFDLEtBQUssR0FBRzt3QkFDUixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtxQkFDM0I7b0JBQ0QsS0FBSztZQUNULENBQUM7UUFDSCxDQUFDO1FBRUQsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBRS9CLE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNILG9CQUFDO0FBQUQsQ0FBQztBQWpEWSxzQ0FBYTtBQW1EMUI7SUFBQTtJQXFDQSxDQUFDO0lBakNRLG1CQUFLLEdBQVosVUFBYSxNQUFNO1FBQ2pCLElBQU0sQ0FBQyxHQUFHLElBQUksYUFBYSxFQUFFO1FBRTdCLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDOUIsSUFBTSxHQUFHLEdBQUcsdUNBQXdCLENBQUMsSUFBSSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRztRQUVaLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUFDLEtBQUssR0FBRztnQkFDUixJQUFJO2dCQUNKLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFO2FBQzNCO1FBQ0gsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDWixLQUFLLFFBQVEsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDaEMsS0FBSyxVQUFVLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ2xDLEtBQUssVUFBVSxDQUFDLENBQUMsaUJBQWlCO2dCQUNsQyxLQUFLLFVBQVU7b0JBQ2IsQ0FBQyxDQUFDLEtBQUssR0FBRzt3QkFDUixFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTt3QkFDckIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7cUJBQ3RCO29CQUNELEtBQUs7Z0JBQ1A7b0JBQ0UsQ0FBQyxDQUFDLEtBQUssR0FBRzt3QkFDUixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtxQkFDM0I7b0JBQ0QsS0FBSztZQUNULENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0gsb0JBQUM7QUFBRCxDQUFDO0FBckNZLHNDQUFhO0FBdUMxQjtJQUFBO0lBVUEsQ0FBQztJQU5RLGdCQUFLLEdBQVosVUFBYSxNQUFNO1FBQ2pCLElBQU0sQ0FBQyxHQUFHLElBQUksVUFBVSxFQUFFO1FBQzFCLENBQUMsQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDeEMsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDO0FBVlksZ0NBQVU7QUFZdkI7SUFBQTtJQVVBLENBQUM7SUFOUSxtQkFBSyxHQUFaLFVBQWEsTUFBTTtRQUNqQixJQUFNLENBQUMsR0FBRyxJQUFJLGFBQWEsRUFBRTtRQUM3QixDQUFDLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM5QyxDQUFDLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM5QyxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDSCxvQkFBQztBQUFELENBQUM7QUFWWSxzQ0FBYTtBQVkxQjtJQUFBO0lBK0JBLENBQUM7SUFuQlEsWUFBSyxHQUFaLFVBQWEsTUFBTTtRQUNqQixJQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRTtRQUV0QixDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUM1QixDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDMUIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2hDLENBQUMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUM5QixDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ25DLENBQUMsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNyQyxDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDaEMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBRWhDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUs7UUFDdEIsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsS0FBSztRQUVwQixNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQztBQS9CWSx3QkFBTTtBQWlDbkI7O0dBRUc7QUFDVSxrQkFBVSxHQUFHO0lBQ3hCLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQztJQUNiLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLE1BQU07SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLE1BQU07SUFDckIsZUFBZSxFQUFFLE1BQU07Q0FDeEI7Ozs7Ozs7Ozs7QUN4TUQsb0JBQTJCLElBQWdCLEVBQUUsS0FBYSxFQUFFLEdBQVc7SUFDckUsSUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLElBQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHO0FBQ1osQ0FBQztBQVBELGdDQU9DOzs7Ozs7Ozs7O0FDUEQ7SUFJRSxnQkFBWSxJQUFJLEVBQUUsTUFBTTtRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDaEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNO0lBQ2xCLENBQUM7SUFFRCwyQkFBVSxHQUFWLFVBQVcsSUFBWTtRQUNyQixJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUM7UUFDcEMsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHO0lBQ1osQ0FBQztJQUVELHlCQUFRLEdBQVI7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCwwQkFBUyxHQUFUO1FBQ0UsTUFBTSxDQUFDLENBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDN0IsS0FBSyxDQUFDO0lBQ1QsQ0FBQztJQUVELHlCQUFRLEdBQVI7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHVCQUFNLEdBQU4sVUFBTyxNQUFjO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZO0lBRVosMEJBQVMsR0FBVDtRQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQ3hCLENBQUM7SUFFRCx5QkFBUSxHQUFSO1FBQ0UsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsQ0FBQztJQUVELDJCQUFVLEdBQVY7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUN4QixDQUFDO0lBRUQsMEJBQVMsR0FBVDtRQUNFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFO0lBQ3RDLENBQUM7SUFFRCwyQkFBVSxHQUFWO1FBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDekIsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDOzs7Ozs7Ozs7Ozs7QUM1REQ7QUFDQSwrREFBZSxtREFBZixFIiwiZmlsZSI6InNmMi5wYXJzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJwYXJzZXJcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wicGFyc2VyXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIFxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA2KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCBlMjk4YjliNTJjYWJlODJhNzhjYSIsImV4cG9ydCBjb25zdCBHZW5lcmF0b3JFbnVtZXJhdG9yVGFibGUgPSBbXHJcbiAgJ3N0YXJ0QWRkcnNPZmZzZXQnLFxyXG4gICdlbmRBZGRyc09mZnNldCcsXHJcbiAgJ3N0YXJ0bG9vcEFkZHJzT2Zmc2V0JyxcclxuICAnZW5kbG9vcEFkZHJzT2Zmc2V0JyxcclxuICAnc3RhcnRBZGRyc0NvYXJzZU9mZnNldCcsXHJcbiAgJ21vZExmb1RvUGl0Y2gnLFxyXG4gICd2aWJMZm9Ub1BpdGNoJyxcclxuICAnbW9kRW52VG9QaXRjaCcsXHJcbiAgJ2luaXRpYWxGaWx0ZXJGYycsXHJcbiAgJ2luaXRpYWxGaWx0ZXJRJyxcclxuICAnbW9kTGZvVG9GaWx0ZXJGYycsXHJcbiAgJ21vZEVudlRvRmlsdGVyRmMnLFxyXG4gICdlbmRBZGRyc0NvYXJzZU9mZnNldCcsXHJcbiAgJ21vZExmb1RvVm9sdW1lJyxcclxuICB1bmRlZmluZWQsIC8vIDE0XHJcbiAgJ2Nob3J1c0VmZmVjdHNTZW5kJyxcclxuICAncmV2ZXJiRWZmZWN0c1NlbmQnLFxyXG4gICdwYW4nLFxyXG4gIHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkLCAvLyAxOCwxOSwyMFxyXG4gICdkZWxheU1vZExGTycsXHJcbiAgJ2ZyZXFNb2RMRk8nLFxyXG4gICdkZWxheVZpYkxGTycsXHJcbiAgJ2ZyZXFWaWJMRk8nLFxyXG4gICdkZWxheU1vZEVudicsXHJcbiAgJ2F0dGFja01vZEVudicsXHJcbiAgJ2hvbGRNb2RFbnYnLFxyXG4gICdkZWNheU1vZEVudicsXHJcbiAgJ3N1c3RhaW5Nb2RFbnYnLFxyXG4gICdyZWxlYXNlTW9kRW52JyxcclxuICAna2V5bnVtVG9Nb2RFbnZIb2xkJyxcclxuICAna2V5bnVtVG9Nb2RFbnZEZWNheScsXHJcbiAgJ2RlbGF5Vm9sRW52JyxcclxuICAnYXR0YWNrVm9sRW52JyxcclxuICAnaG9sZFZvbEVudicsXHJcbiAgJ2RlY2F5Vm9sRW52JyxcclxuICAnc3VzdGFpblZvbEVudicsXHJcbiAgJ3JlbGVhc2VWb2xFbnYnLFxyXG4gICdrZXludW1Ub1ZvbEVudkhvbGQnLFxyXG4gICdrZXludW1Ub1ZvbEVudkRlY2F5JyxcclxuICAnaW5zdHJ1bWVudCcsXHJcbiAgdW5kZWZpbmVkLCAvLyA0MlxyXG4gICdrZXlSYW5nZScsXHJcbiAgJ3ZlbFJhbmdlJyxcclxuICAnc3RhcnRsb29wQWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdrZXludW0nLFxyXG4gICd2ZWxvY2l0eScsXHJcbiAgJ2luaXRpYWxBdHRlbnVhdGlvbicsXHJcbiAgdW5kZWZpbmVkLCAvLyA0OVxyXG4gICdlbmRsb29wQWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdjb2Fyc2VUdW5lJyxcclxuICAnZmluZVR1bmUnLFxyXG4gICdzYW1wbGVJRCcsXHJcbiAgJ3NhbXBsZU1vZGVzJyxcclxuICB1bmRlZmluZWQsIC8vIDU1XHJcbiAgJ3NjYWxlVHVuaW5nJyxcclxuICAnZXhjbHVzaXZlQ2xhc3MnLFxyXG4gICdvdmVycmlkaW5nUm9vdEtleSdcclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IEluZm9OYW1lVGFibGUgPSB7XHJcbiAgSUNNVDogXCJjb21tZW50XCIsXHJcbiAgSUNPUDogXCJjb3B5cmlnaHRcIixcclxuICBJQ1JEOiBcImNyZWF0aW9uX2RhdGVcIixcclxuICBJRU5HOiBcImVuZ2luZWVyXCIsXHJcbiAgSU5BTTogXCJuYW1lXCIsXHJcbiAgSVBSRDogXCJwcm9kdWN0XCIsXHJcbiAgSVNGVDogXCJzb2Z0d2FyZVwiLFxyXG4gIGlmaWw6IFwidmVyc2lvblwiLFxyXG4gIGlzbmc6IFwic291bmRfZW5naW5lXCIsXHJcbiAgaXJvbTogXCJyb21fbmFtZVwiLFxyXG4gIGl2ZXI6IFwicm9tX3ZlcnNpb25cIlxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9jb25zdGFudHMudHMiLCJpbXBvcnQgeyBQYXJzZXIsIENodW5rIH0gZnJvbSBcIi4vcmlmZi50c1wiXHJcbmltcG9ydCB7IFByZXNldEhlYWRlciwgU2FtcGxlLCBQcmVzZXRCYWcsIEluc3RydW1lbnQsIEluc3RydW1lbnRCYWcsIE1vZHVsYXRvckxpc3QsIEdlbmVyYXRvckxpc3QgfSBmcm9tIFwiLi9zZjJfZGF0YS50c1wiXHJcbmltcG9ydCB7IHJlYWRTdHJpbmcgfSBmcm9tIFwiLi9oZWxwZXIudHNcIlxyXG5pbXBvcnQgU3RyZWFtIGZyb20gXCIuL3N0cmVhbS50c1wiXHJcbmltcG9ydCB7IEluZm9OYW1lVGFibGUgfSBmcm9tIFwiLi9jb25zdGFudHMudHNcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTYW1wbGVIZWFkZXIge1xyXG4gIHNhbXBsZVJhdGU6IG51bWJlclxyXG4gIHNhbXBsZU5hbWU6IG51bWJlclxyXG4gIHBpdGNoQ29ycmVjdGlvbjogbnVtYmVyXHJcbiAgc3RhcnRMb29wOiBudW1iZXJcclxuICBlbmRMb29wOiBudW1iZXJcclxuICBvcmlnaW5hbFBpdGNoOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnN0cnVtZW50Wm9uZSB7XHJcbiAgaW5zdHJ1bWVudEdlbmVyYXRvckluZGV4OiBudW1iZXJcclxuICBpbnN0cnVtZW50TW9kdWxhdG9ySW5kZXg6IG51bWJlclxyXG4gIHByZXNldE1vZHVsYXRvckluZGV4OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3Mge1xyXG4gIGlucHV0OiBVaW50OEFycmF5XHJcbiAgcGFyc2VyT3B0aW9uOiB7fSB8IHVuZGVmaW5lZFxyXG4gIHByZXNldEhlYWRlcjoge31bXVxyXG4gIHByZXNldFpvbmU6IHt9W11cclxuICBwcmVzZXRab25lTW9kdWxhdG9yOiB7fVtdXHJcbiAgcHJlc2V0Wm9uZUdlbmVyYXRvcjoge31bXVxyXG4gIGluc3RydW1lbnQ6IHsgaW5zdHJ1bWVudE5hbWU6IHN0cmluZywgaW5zdHJ1bWVudEJhZ0luZGV4OiBudW1iZXIgfVtdXHJcbiAgaW5zdHJ1bWVudFpvbmU6IEluc3RydW1lbnRab25lW11cclxuICBpbnN0cnVtZW50Wm9uZU1vZHVsYXRvcjoge31bXVxyXG4gIGluc3RydW1lbnRab25lR2VuZXJhdG9yOiB7fVtdXHJcbiAgc2FtcGxlSGVhZGVyOiBTYW1wbGVIZWFkZXJbXVxyXG4gIHNhbXBsZTogSW50MTZBcnJheVtdXHJcbiAgc2FtcGxpbmdEYXRhOiBDaHVua1xyXG4gIGluZm86IHt9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGlucHV0OiBVaW50OEFycmF5LCBvcHRfcGFyYW1zOiB7IHBhcnNlck9wdGlvbj86IHt9IH0gPSB7fSkge1xyXG4gICAgdGhpcy5pbnB1dCA9IGlucHV0XHJcbiAgICB0aGlzLnBhcnNlck9wdGlvbiA9IG9wdF9wYXJhbXMucGFyc2VyT3B0aW9uXHJcbiAgfVxyXG5cclxuICBwYXJzZSgpIHtcclxuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIodGhpcy5pbnB1dCwgdGhpcy5wYXJzZXJPcHRpb24pXHJcblxyXG4gICAgLy8gcGFyc2UgUklGRiBjaHVua1xyXG4gICAgcGFyc2VyLnBhcnNlKClcclxuICAgIGlmIChwYXJzZXIuY2h1bmtMaXN0Lmxlbmd0aCAhPT0gMSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIGNodW5rIGxlbmd0aCcpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2h1bmsgPSBwYXJzZXIuZ2V0Q2h1bmsoMClcclxuICAgIGlmIChjaHVuayA9PT0gbnVsbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NodW5rIG5vdCBmb3VuZCcpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wYXJzZVJpZmZDaHVuayhjaHVuaywgdGhpcy5pbnB1dClcclxuICAgIHRoaXMuaW5wdXQgPSBudWxsXHJcbiAgfVxyXG5cclxuICBwYXJzZVJpZmZDaHVuayhjaHVuazogQ2h1bmssIGRhdGE6IFVpbnQ4QXJyYXkpIHtcclxuICAgIGNvbnN0IGNodW5rTGlzdCA9IGdldENodW5rTGlzdChjaHVuaywgZGF0YSwgXCJSSUZGXCIsIFwic2Zia1wiKVxyXG5cclxuICAgIGlmIChjaHVua0xpc3QubGVuZ3RoICE9PSAzKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzZmJrIHN0cnVjdHVyZScpXHJcbiAgICB9XHJcblxyXG4gICAgLy8gSU5GTy1saXN0XHJcbiAgICB0aGlzLmluZm8gPSBwYXJzZUluZm9MaXN0KGNodW5rTGlzdFswXSwgZGF0YSlcclxuXHJcbiAgICAvLyBzZHRhLWxpc3RcclxuICAgIHRoaXMuc2FtcGxpbmdEYXRhID0gcGFyc2VTZHRhTGlzdChjaHVua0xpc3RbMV0sIGRhdGEpXHJcblxyXG4gICAgLy8gcGR0YS1saXN0XHJcbiAgICB0aGlzLnBhcnNlUGR0YUxpc3QoY2h1bmtMaXN0WzJdLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgcGFyc2VQZHRhTGlzdChjaHVuazogQ2h1bmssIGRhdGE6IFVpbnQ4QXJyYXkpIHtcclxuICAgIGNvbnN0IGNodW5rTGlzdCA9IGdldENodW5rTGlzdChjaHVuaywgZGF0YSwgXCJMSVNUXCIsIFwicGR0YVwiKVxyXG5cclxuICAgIC8vIGNoZWNrIG51bWJlciBvZiBjaHVua3NcclxuICAgIGlmIChjaHVua0xpc3QubGVuZ3RoICE9PSA5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwZHRhIGNodW5rJylcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnByZXNldEhlYWRlciA9IHBhcnNlUGhkcihjaHVua0xpc3RbMF0sIGRhdGEpXHJcbiAgICB0aGlzLnByZXNldFpvbmUgPSBwYXJzZVBiYWcoY2h1bmtMaXN0WzFdLCBkYXRhKVxyXG4gICAgdGhpcy5wcmVzZXRab25lTW9kdWxhdG9yID0gcGFyc2VQbW9kKGNodW5rTGlzdFsyXSwgZGF0YSlcclxuICAgIHRoaXMucHJlc2V0Wm9uZUdlbmVyYXRvciA9IHBhcnNlUGdlbihjaHVua0xpc3RbM10sIGRhdGEpXHJcbiAgICB0aGlzLmluc3RydW1lbnQgPSBwYXJzZUluc3QoY2h1bmtMaXN0WzRdLCBkYXRhKSBhcyBhbnlcclxuICAgIHRoaXMuaW5zdHJ1bWVudFpvbmUgPSBwYXJzZUliYWcoY2h1bmtMaXN0WzVdLCBkYXRhKSBhcyBJbnN0cnVtZW50Wm9uZVtdXHJcbiAgICB0aGlzLmluc3RydW1lbnRab25lTW9kdWxhdG9yID0gcGFyc2VJbW9kKGNodW5rTGlzdFs2XSwgZGF0YSlcclxuICAgIHRoaXMuaW5zdHJ1bWVudFpvbmVHZW5lcmF0b3IgPSBwYXJzZUlnZW4oY2h1bmtMaXN0WzddLCBkYXRhKVxyXG4gICAgdGhpcy5zYW1wbGVIZWFkZXIgPSBwYXJzZVNoZHIoY2h1bmtMaXN0WzhdLCBkYXRhKSBhcyBTYW1wbGVIZWFkZXJbXVxyXG4gICAgdGhpcy5zYW1wbGUgPSBsb2FkU2FtcGxlKHRoaXMuc2FtcGxlSGVhZGVyLCB0aGlzLnNhbXBsaW5nRGF0YS5vZmZzZXQsIGRhdGEpXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRDaHVua0xpc3QoY2h1bmssIGRhdGEsIGV4cGVjdGVkVHlwZSwgZXhwZWN0ZWRTaWduYXR1cmUpIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gZXhwZWN0ZWRUeXBlKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSlcclxuICB9XHJcblxyXG4gIGNvbnN0IHN0cmVhbSA9IG5ldyBTdHJlYW0oZGF0YSwgY2h1bmsub2Zmc2V0KVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBjb25zdCBzaWduYXR1cmUgPSBzdHJlYW0ucmVhZFN0cmluZyg0KVxyXG4gIGlmIChzaWduYXR1cmUgIT09IGV4cGVjdGVkU2lnbmF0dXJlKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2lnbmF0dXJlOicgKyBzaWduYXR1cmUpXHJcbiAgfVxyXG5cclxuICAvLyByZWFkIHN0cnVjdHVyZVxyXG4gIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoZGF0YSwgeydpbmRleCc6IHN0cmVhbS5pcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSlcclxuICBwYXJzZXIucGFyc2UoKVxyXG5cclxuICByZXR1cm4gcGFyc2VyLmNodW5rTGlzdFxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUluZm9MaXN0KGNodW5rOiBDaHVuaywgZGF0YTogVWludDhBcnJheSk6IHt9IHtcclxuICBjb25zdCBpbmZvID0ge31cclxuICBjb25zdCBjaHVua0xpc3QgPSBnZXRDaHVua0xpc3QoY2h1bmssIGRhdGEsIFwiTElTVFwiLCBcIklORk9cIilcclxuXHJcbiAgZm9yIChsZXQgcCBvZiBjaHVua0xpc3QpIHtcclxuICAgIGNvbnN0IHsgb2Zmc2V0LCBzaXplLCB0eXBlIH0gPSBwXHJcbiAgICBjb25zdCBuYW1lID0gSW5mb05hbWVUYWJsZVt0eXBlXSB8fCB0eXBlXHJcbiAgICBpbmZvW25hbWVdID0gcmVhZFN0cmluZyhkYXRhLCBvZmZzZXQsIG9mZnNldCArIHNpemUpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gaW5mb1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZVNkdGFMaXN0KGNodW5rOiBDaHVuaywgZGF0YTogVWludDhBcnJheSk6IENodW5rIHtcclxuICBjb25zdCBjaHVua0xpc3QgPSBnZXRDaHVua0xpc3QoY2h1bmssIGRhdGEsIFwiTElTVFwiLCBcInNkdGFcIilcclxuXHJcbiAgaWYgKGNodW5rTGlzdC5sZW5ndGggIT09IDEpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignVE9ETycpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gY2h1bmtMaXN0WzBdXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlQ2h1bmsoY2h1bms6IENodW5rLCBkYXRhOiBVaW50OEFycmF5LCB0eXBlOiBzdHJpbmcsIGZhY3RvcnkpOiB7fVtdIHtcclxuICBjb25zdCByZXN1bHQgPSBbXVxyXG5cclxuICBpZiAoY2h1bmsudHlwZSAhPT0gdHlwZSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNodW5rIHR5cGU6JyAgKyBjaHVuay50eXBlKVxyXG4gIH1cclxuICBcclxuICBjb25zdCBzdHJlYW0gPSBuZXcgU3RyZWFtKGRhdGEsIGNodW5rLm9mZnNldClcclxuICBjb25zdCBzaXplID0gY2h1bmsub2Zmc2V0ICsgY2h1bmsuc2l6ZVxyXG4gIFxyXG4gIHdoaWxlIChzdHJlYW0uaXAgPCBzaXplKSB7XHJcbiAgICByZXN1bHQucHVzaChmYWN0b3J5KHN0cmVhbSkpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVzdWx0XHJcbn1cclxuXHJcbmNvbnN0IHBhcnNlUGhkciA9IChjaHVuaywgZGF0YSkgPT4gcGFyc2VDaHVuayhjaHVuaywgZGF0YSwgXCJwaGRyXCIsIHN0cmVhbSA9PiBQcmVzZXRIZWFkZXIucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VQYmFnID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcInBiYWdcIiwgc3RyZWFtID0+IFByZXNldEJhZy5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZUluc3QgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwiaW5zdFwiLCBzdHJlYW0gPT4gSW5zdHJ1bWVudC5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZUliYWcgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwiaWJhZ1wiLCBzdHJlYW0gPT4gSW5zdHJ1bWVudEJhZy5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZVBtb2QgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwicG1vZFwiLCBzdHJlYW0gPT4gTW9kdWxhdG9yTGlzdC5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZUltb2QgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwiaW1vZFwiLCBzdHJlYW0gPT4gTW9kdWxhdG9yTGlzdC5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZVBnZW4gPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwicGdlblwiLCBzdHJlYW0gPT4gR2VuZXJhdG9yTGlzdC5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZUlnZW4gPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwiaWdlblwiLCBzdHJlYW0gPT4gR2VuZXJhdG9yTGlzdC5wYXJzZShzdHJlYW0pKVxyXG5jb25zdCBwYXJzZVNoZHIgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwic2hkclwiLCBzdHJlYW0gPT4gU2FtcGxlLnBhcnNlKHN0cmVhbSkpXHJcblxyXG5mdW5jdGlvbiBhZGp1c3RTYW1wbGVEYXRhKHNhbXBsZSwgc2FtcGxlUmF0ZSkge1xyXG4gIGxldCBtdWx0aXBseSA9IDFcclxuXHJcbiAgLy8gYnVmZmVyXHJcbiAgd2hpbGUgKHNhbXBsZVJhdGUgPCAyMjA1MCkge1xyXG4gICAgY29uc3QgbmV3U2FtcGxlID0gbmV3IEludDE2QXJyYXkoc2FtcGxlLmxlbmd0aCAqIDIpXHJcbiAgICBmb3IgKGxldCBpID0gMCwgaiA9IDAsIGlsID0gc2FtcGxlLmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgICAgbmV3U2FtcGxlW2orK10gPSBzYW1wbGVbaV1cclxuICAgICAgbmV3U2FtcGxlW2orK10gPSBzYW1wbGVbaV1cclxuICAgIH1cclxuICAgIHNhbXBsZSA9IG5ld1NhbXBsZVxyXG4gICAgbXVsdGlwbHkgKj0gMlxyXG4gICAgc2FtcGxlUmF0ZSAqPSAyXHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgc2FtcGxlLFxyXG4gICAgbXVsdGlwbHlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGxvYWRTYW1wbGUoc2FtcGxlSGVhZGVyLCBzYW1wbGluZ0RhdGFPZmZzZXQsIGRhdGEpOiBJbnQxNkFycmF5W10ge1xyXG4gIGNvbnN0IHNhbXBsZXMgPSBbXVxyXG4gIGZvciAobGV0IGhlYWRlciBvZiBzYW1wbGVIZWFkZXIpIHtcclxuICAgIGxldCBzYW1wbGUgPSBuZXcgSW50MTZBcnJheShuZXcgVWludDhBcnJheShkYXRhLnN1YmFycmF5KFxyXG4gICAgICBzYW1wbGluZ0RhdGFPZmZzZXQgKyBoZWFkZXIuc3RhcnQgKiAyLFxyXG4gICAgICBzYW1wbGluZ0RhdGFPZmZzZXQgKyBoZWFkZXIuZW5kICAgKiAyXHJcbiAgICApKS5idWZmZXIpXHJcbiAgICBpZiAoaGVhZGVyLnNhbXBsZVJhdGUgPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFkanVzdCA9IGFkanVzdFNhbXBsZURhdGEoc2FtcGxlLCBoZWFkZXIuc2FtcGxlUmF0ZSlcclxuICAgICAgc2FtcGxlID0gYWRqdXN0LnNhbXBsZVxyXG4gICAgICBoZWFkZXIuc2FtcGxlUmF0ZSAqPSBhZGp1c3QubXVsdGlwbHlcclxuICAgICAgaGVhZGVyLnN0YXJ0TG9vcCAqPSBhZGp1c3QubXVsdGlwbHlcclxuICAgICAgaGVhZGVyLmVuZExvb3AgKj0gYWRqdXN0Lm11bHRpcGx5XHJcbiAgICB9XHJcbiAgICBzYW1wbGVzLnB1c2goc2FtcGxlKVxyXG4gIH1cclxuICByZXR1cm4gc2FtcGxlc1xyXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3NmMi50cyIsImV4cG9ydCBjbGFzcyBQYXJzZXIge1xyXG4gIGNodW5rTGlzdDogQ2h1bmtbXSA9IFtdXHJcbiAgXHJcbiAgcHJpdmF0ZSBpbnB1dDogVWludDhBcnJheVxyXG4gIHByaXZhdGUgaXA6IG51bWJlclxyXG4gIHByaXZhdGUgbGVuZ3RoOiBudW1iZXJcclxuICBwcml2YXRlIG9mZnNldDogbnVtYmVyXHJcbiAgcHJpdmF0ZSBwYWRkaW5nOiBib29sZWFuXHJcbiAgcHJpdmF0ZSBiaWdFbmRpYW46IGJvb2xlYW5cclxuXHJcbiAgY29uc3RydWN0b3IoaW5wdXQ6IFVpbnQ4QXJyYXksIG9wdF9wYXJhbXM6IHt9ID0ge30pIHtcclxuICAgIHRoaXMuaW5wdXQgPSBpbnB1dFxyXG4gICAgdGhpcy5pcCA9IG9wdF9wYXJhbXNbJ2luZGV4J10gfHwgMFxyXG4gICAgdGhpcy5sZW5ndGggPSBvcHRfcGFyYW1zWydsZW5ndGgnXSB8fCBpbnB1dC5sZW5ndGggLSB0aGlzLmlwXHJcbiAgICB0aGlzLmNodW5rTGlzdCA9IFtdXHJcbiAgICB0aGlzLm9mZnNldCA9IHRoaXMuaXBcclxuICAgIHRoaXMucGFkZGluZyA9XHJcbiAgICAgIG9wdF9wYXJhbXNbJ3BhZGRpbmcnXSAhPT0gdm9pZCAwID8gb3B0X3BhcmFtc1sncGFkZGluZyddIDogdHJ1ZVxyXG4gICAgdGhpcy5iaWdFbmRpYW4gPVxyXG4gICAgICBvcHRfcGFyYW1zWydiaWdFbmRpYW4nXSAhPT0gdm9pZCAwID8gb3B0X3BhcmFtc1snYmlnRW5kaWFuJ10gOiBmYWxzZVxyXG4gIH1cclxuICBcclxuICBwYXJzZSgpIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMubGVuZ3RoICsgdGhpcy5vZmZzZXRcclxuXHJcbiAgICB0aGlzLmNodW5rTGlzdCA9IFtdXHJcblxyXG4gICAgd2hpbGUgKHRoaXMuaXAgPCBsZW5ndGgpIHtcclxuICAgICAgdGhpcy5wYXJzZUNodW5rKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBhcnNlQ2h1bmsoKSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRcclxuICAgIGxldCBpcCA9IHRoaXMuaXBcclxuICAgIGxldCBzaXplXHJcblxyXG4gICAgdGhpcy5jaHVua0xpc3QucHVzaChuZXcgQ2h1bmsoXHJcbiAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5wdXRbaXArK10sIGlucHV0W2lwKytdLCBpbnB1dFtpcCsrXSwgaW5wdXRbaXArK10pLFxyXG4gICAgICAoc2l6ZSA9IHRoaXMuYmlnRW5kaWFuID9cclxuICAgICAgICAoKGlucHV0W2lwKytdIDw8IDI0KSB8IChpbnB1dFtpcCsrXSA8PCAxNikgfFxyXG4gICAgICAgICAgKGlucHV0W2lwKytdIDw8ICA4KSB8IChpbnB1dFtpcCsrXSAgICAgICkpID4+PiAwIDpcclxuICAgICAgICAoKGlucHV0W2lwKytdICAgICAgKSB8IChpbnB1dFtpcCsrXSA8PCAgOCkgfFxyXG4gICAgICAgICAgKGlucHV0W2lwKytdIDw8IDE2KSB8IChpbnB1dFtpcCsrXSA8PCAyNCkpID4+PiAwXHJcbiAgICAgICksXHJcbiAgICAgIGlwXHJcbiAgICApKVxyXG5cclxuICAgIGlwICs9IHNpemVcclxuXHJcbiAgICAvLyBwYWRkaW5nXHJcbiAgICBpZiAodGhpcy5wYWRkaW5nICYmICgoaXAgLSB0aGlzLm9mZnNldCkgJiAxKSA9PT0gMSkge1xyXG4gICAgICBpcCsrXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pcCA9IGlwXHJcbiAgfVxyXG5cclxuICBnZXRDaHVuayhpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjaHVuayA9IHRoaXMuY2h1bmtMaXN0W2luZGV4XVxyXG5cclxuICAgIGlmIChjaHVuayA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNodW5rXHJcbiAgfVxyXG5cclxuICBnZXROdW1iZXJPZkNodW5rcygpIHtcclxuICAgIHJldHVybiB0aGlzLmNodW5rTGlzdC5sZW5ndGhcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaHVuayB7XHJcbiAgdHlwZTogc3RyaW5nXHJcbiAgc2l6ZTogbnVtYmVyXHJcbiAgb2Zmc2V0OiBudW1iZXJcclxuXHJcbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nLCBzaXplOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlXHJcbiAgICB0aGlzLnNpemUgPSBzaXplXHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldFxyXG4gIH1cclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmlmZi50cyIsImltcG9ydCB7IEdlbmVyYXRvckVudW1lcmF0b3JUYWJsZSB9IGZyb20gXCIuL2NvbnN0YW50cy50c1wiXHJcblxyXG5leHBvcnQgY2xhc3MgVmVyc2lvblRhZyB7XHJcbiAgbWFqb3I6IG51bWJlclxyXG4gIG1pbm9yOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByZXNldEhlYWRlciB7XHJcbiAgcHJlc2V0TmFtZTogc3RyaW5nXHJcbiAgcHJlc2V0OiBudW1iZXJcclxuICBiYW5rOiBudW1iZXJcclxuICBwcmVzZXRCYWdJbmRleDogbnVtYmVyXHJcbiAgbGlicmFyeTogbnVtYmVyXHJcbiAgZ2VucmU6IG51bWJlclxyXG4gIG1vcnBob2xvZ3k6IG51bWJlclxyXG5cclxuICBzdGF0aWMgcGFyc2Uoc3RyZWFtKSB7XHJcbiAgICBjb25zdCBwID0gbmV3IFByZXNldEhlYWRlcigpXHJcbiAgICBwLnByZXNldE5hbWUgPSBzdHJlYW0ucmVhZFN0cmluZygyMClcclxuICAgIHAucHJlc2V0ID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIHAuYmFuayA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICBwLnByZXNldEJhZ0luZGV4ID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIHAubGlicmFyeSA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcC5nZW5yZSA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcC5tb3JwaG9sb2d5ID0gc3RyZWFtLnJlYWREV09SRCgpXHJcbiAgICByZXR1cm4gcFxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByZXNldEJhZyB7XHJcbiAgcHJlc2V0R2VuZXJhdG9ySW5kZXg6IG51bWJlclxyXG4gIHByZXNldE1vZHVsYXRvckluZGV4OiBudW1iZXJcclxuXHJcbiAgc3RhdGljIHBhcnNlKHN0cmVhbSkge1xyXG4gICAgY29uc3QgcCA9IG5ldyBQcmVzZXRCYWcoKVxyXG4gICAgcC5wcmVzZXRHZW5lcmF0b3JJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICBwLnByZXNldE1vZHVsYXRvckluZGV4ID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIHJldHVybiBwXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTW9kdWxhdG9yTGlzdCB7XHJcbiAgc291cmNlT3BlcjogbnVtYmVyXHJcbiAgZGVzdGluYXRpb25PcGVyOiBHZW5lcmF0b3JcclxuICB2YWx1ZTogT2JqZWN0XHJcbiAgYW1vdW50U291cmNlT3BlcjogbnVtYmVyXHJcbiAgdHJhbnNPcGVyOiBHZW5lcmF0b3JcclxuICB0eXBlOiBzdHJpbmdcclxuXHJcbiAgc3RhdGljIHBhcnNlKHN0cmVhbSkge1xyXG4gICAgY29uc3QgdCA9IG5ldyBNb2R1bGF0b3JMaXN0KClcclxuXHJcbiAgICB0LnNvdXJjZU9wZXIgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgY29uc3QgY29kZSA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICB0LmRlc3RpbmF0aW9uT3BlciA9IGNvZGVcclxuICAgIFxyXG4gICAgY29uc3Qga2V5ID0gR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdXHJcbiAgICB0LnR5cGUgPSBrZXlcclxuXHJcbiAgICBpZiAoa2V5ID09PSB2b2lkIDApIHtcclxuICAgICAgLy8gQW1vdW50XHJcbiAgICAgIHQudmFsdWUgPSB7XHJcbiAgICAgICAgY29kZTogY29kZSxcclxuICAgICAgICBhbW91bnQ6IHN0cmVhbS5yZWFkSW50MTYoKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBBbW91bnRcclxuICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICBjYXNlICdrZXlSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsUmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ2tleW51bSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsb2NpdHknOlxyXG4gICAgICAgICAgdC52YWx1ZSA9IHtcclxuICAgICAgICAgICAgbG86IHN0cmVhbS5yZWFkQnl0ZSgpLFxyXG4gICAgICAgICAgICBoaTogc3RyZWFtLnJlYWRCeXRlKClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHQudmFsdWUgPSB7XHJcbiAgICAgICAgICAgIGFtb3VudDogc3RyZWFtLnJlYWRJbnQxNigpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHQuYW1vdW50U291cmNlT3BlciA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICB0LnRyYW5zT3BlciA9IHN0cmVhbS5yZWFkV09SRCgpXHJcblxyXG4gICAgcmV0dXJuIHRcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmF0b3JMaXN0IHtcclxuICB0eXBlOiBzdHJpbmdcclxuICB2YWx1ZTogT2JqZWN0XHJcblxyXG4gIHN0YXRpYyBwYXJzZShzdHJlYW0pIHtcclxuICAgIGNvbnN0IHQgPSBuZXcgTW9kdWxhdG9yTGlzdCgpXHJcbiAgICBcclxuICAgIGNvbnN0IGNvZGUgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgY29uc3Qga2V5ID0gR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdXHJcbiAgICB0LnR5cGUgPSBrZXlcclxuXHJcbiAgICBpZiAoa2V5ID09PSB2b2lkIDApIHtcclxuICAgICAgdC52YWx1ZSA9IHtcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIGFtb3VudDogc3RyZWFtLnJlYWRJbnQxNigpXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgY2FzZSAna2V5bnVtJzogLyogRkFMTFRIUk9VR0ggKi9cclxuICAgICAgICBjYXNlICdrZXlSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsUmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ3ZlbG9jaXR5JzpcclxuICAgICAgICAgIHQudmFsdWUgPSB7XHJcbiAgICAgICAgICAgIGxvOiBzdHJlYW0ucmVhZEJ5dGUoKSxcclxuICAgICAgICAgICAgaGk6IHN0cmVhbS5yZWFkQnl0ZSgpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0LnZhbHVlID0ge1xyXG4gICAgICAgICAgICBhbW91bnQ6IHN0cmVhbS5yZWFkSW50MTYoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5zdHJ1bWVudCB7XHJcbiAgaW5zdHJ1bWVudE5hbWU6IHN0cmluZ1xyXG4gIGluc3RydW1lbnRCYWdJbmRleDogbnVtYmVyXHJcbiAgXHJcbiAgc3RhdGljIHBhcnNlKHN0cmVhbSkge1xyXG4gICAgY29uc3QgdCA9IG5ldyBJbnN0cnVtZW50KClcclxuICAgIHQuaW5zdHJ1bWVudE5hbWUgPSBzdHJlYW0ucmVhZFN0cmluZygyMClcclxuICAgIHQuaW5zdHJ1bWVudEJhZ0luZGV4ID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIHJldHVybiB0XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5zdHJ1bWVudEJhZyB7XHJcbiAgaW5zdHJ1bWVudEdlbmVyYXRvckluZGV4OiBudW1iZXJcclxuICBpbnN0cnVtZW50TW9kdWxhdG9ySW5kZXg6IG51bWJlclxyXG4gIFxyXG4gIHN0YXRpYyBwYXJzZShzdHJlYW0pIHtcclxuICAgIGNvbnN0IHQgPSBuZXcgSW5zdHJ1bWVudEJhZygpXHJcbiAgICB0Lmluc3RydW1lbnRHZW5lcmF0b3JJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICB0Lmluc3RydW1lbnRNb2R1bGF0b3JJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICByZXR1cm4gdFxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhbXBsZSB7XHJcbiAgc2FtcGxlTmFtZTogc3RyaW5nXHJcbiAgc3RhcnQ6IG51bWJlclxyXG4gIGVuZDogbnVtYmVyXHJcbiAgc3RhcnRMb29wOiBudW1iZXJcclxuICBlbmRMb29wOiBudW1iZXJcclxuICBzYW1wbGVSYXRlOiBudW1iZXJcclxuICBvcmlnaW5hbFBpdGNoOiBudW1iZXJcclxuICBwaXRjaENvcnJlY3Rpb246IG51bWJlclxyXG4gIHNhbXBsZUxpbms6IG51bWJlclxyXG4gIHNhbXBsZVR5cGU6IG51bWJlclxyXG5cclxuICBzdGF0aWMgcGFyc2Uoc3RyZWFtKSB7XHJcbiAgICBjb25zdCBzID0gbmV3IFNhbXBsZSgpXHJcblxyXG4gICAgcy5zYW1wbGVOYW1lID0gc3RyZWFtLnJlYWRTdHJpbmcoMjApXHJcbiAgICBzLnN0YXJ0ID0gc3RyZWFtLnJlYWREV09SRCgpXHJcbiAgICBzLmVuZCA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcy5zdGFydExvb3AgPSBzdHJlYW0ucmVhZERXT1JEKClcclxuICAgIHMuZW5kTG9vcCA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcy5zYW1wbGVSYXRlID0gc3RyZWFtLnJlYWREV09SRCgpXHJcbiAgICBzLm9yaWdpbmFsUGl0Y2ggPSBzdHJlYW0ucmVhZEJ5dGUoKVxyXG4gICAgcy5waXRjaENvcnJlY3Rpb24gPSBzdHJlYW0ucmVhZEludDgoKVxyXG4gICAgcy5zYW1wbGVMaW5rID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIHMuc2FtcGxlVHlwZSA9IHN0cmVhbS5yZWFkV09SRCgpXHJcblxyXG4gICAgcy5zdGFydExvb3AgLT0gcy5zdGFydFxyXG4gICAgcy5lbmRMb29wIC09IHMuc3RhcnRcclxuXHJcbiAgICByZXR1cm4gc1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBlbnVtIHtudW1iZXJ9XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgU2FtcGxlTGluayA9IHtcclxuICBtb25vU2FtcGxlOiAxLFxyXG4gIHJpZ2h0U2FtcGxlOiAyLFxyXG4gIGxlZnRTYW1wbGU6IDQsXHJcbiAgbGlua2VkU2FtcGxlOiA4LFxyXG4gIFJvbU1vbm9TYW1wbGU6IDB4ODAwMSxcclxuICBSb21SaWdodFNhbXBsZTogMHg4MDAyLFxyXG4gIFJvbUxlZnRTYW1wbGU6IDB4ODAwNCxcclxuICBSb21MaW5rZWRTYW1wbGU6IDB4ODAwOFxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zZjJfZGF0YS50cyIsImV4cG9ydCBmdW5jdGlvbiByZWFkU3RyaW5nKGRhdGE6IFVpbnQ4QXJyYXksIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGRhdGEuc3ViYXJyYXkoc3RhcnQsIGVuZCkpXHJcbiAgY29uc3QgbnVsbExvY2F0aW9uID0gc3RyLmluZGV4T2YoXCJcXHUwMDAwXCIpXHJcbiAgaWYgKG51bGxMb2NhdGlvbiA+IDApIHtcclxuICAgIHJldHVybiBzdHIuc3Vic3RyKDAsIG51bGxMb2NhdGlvbilcclxuICB9XHJcbiAgcmV0dXJuIHN0clxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9oZWxwZXIudHMiLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJlYW0ge1xyXG4gIHByaXZhdGUgZGF0YTogVWludDhBcnJheVxyXG4gIGlwOiBudW1iZXJcclxuXHJcbiAgY29uc3RydWN0b3IoZGF0YSwgb2Zmc2V0KSB7XHJcbiAgICB0aGlzLmRhdGEgPSBkYXRhXHJcbiAgICB0aGlzLmlwID0gb2Zmc2V0XHJcbiAgfVxyXG5cclxuICByZWFkU3RyaW5nKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIHRoaXMuZGF0YS5zdWJhcnJheSh0aGlzLmlwLCB0aGlzLmlwICs9IHNpemUpKVxyXG4gICAgY29uc3QgbnVsbExvY2F0aW9uID0gc3RyLmluZGV4T2YoXCJcXHUwMDAwXCIpXHJcbiAgICBpZiAobnVsbExvY2F0aW9uID4gMCkge1xyXG4gICAgICByZXR1cm4gc3RyLnN1YnN0cigwLCBudWxsTG9jYXRpb24pXHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3RyXHJcbiAgfVxyXG5cclxuICByZWFkV09SRCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVt0aGlzLmlwKytdIHwgKHRoaXMuZGF0YVt0aGlzLmlwKytdIDw8IDgpXHJcbiAgfVxyXG5cclxuICByZWFkRFdPUkQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZGF0YVt0aGlzLmlwKytdIHwgXHJcbiAgICAgICh0aGlzLmRhdGFbdGhpcy5pcCsrXSA8PCA4KSB8IFxyXG4gICAgICAodGhpcy5kYXRhW3RoaXMuaXArK10gPDwgMTYpIHwgXHJcbiAgICAgICh0aGlzLmRhdGFbdGhpcy5pcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDBcclxuICB9XHJcblxyXG4gIHJlYWRCeXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVt0aGlzLmlwKytdXHJcbiAgfVxyXG5cclxuICByZWFkQXQob2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5pcCArIG9mZnNldF1cclxuICB9XHJcblxyXG4gIC8qIGhlbHBlciAqL1xyXG5cclxuICByZWFkVUludDgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkQnl0ZSgpXHJcbiAgfVxyXG4gIFxyXG4gIHJlYWRJbnQ4KCkge1xyXG4gICAgcmV0dXJuICh0aGlzLnJlYWRCeXRlKCkgPDwgMjQpID4+IDI0XHJcbiAgfVxyXG4gIFxyXG4gIHJlYWRVSW50MTYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkV09SRCgpXHJcbiAgfVxyXG5cclxuICByZWFkSW50MTYoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMucmVhZFdPUkQoKSA8PCAxNikgPj4gMTZcclxuICB9XHJcblxyXG4gIHJlYWRVSW50MzIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkRFdPUkQoKVxyXG4gIH1cclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc3RyZWFtLnRzIiwiaW1wb3J0IFBhcnNlciBmcm9tIFwiLi4vc3JjL3NmMi50c1wiXHJcbmV4cG9ydCBkZWZhdWx0IFBhcnNlclxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9leHBvcnQvcGFyc2VyLmpzIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/bin/sf2.synth.js b/bin/sf2.synth.js index a965870..6c9f80d 100644 --- a/bin/sf2.synth.js +++ b/bin/sf2.synth.js @@ -1,4 +1,14 @@ -/******/ (function(modules) { // webpackBootstrap +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["synth"] = factory(); + else + root["synth"] = factory(); +})(typeof self !== 'undefined' ? self : this, function() { +return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ @@ -6,21 +16,21 @@ /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; -/******/ +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; +/******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -33,2150 +43,1730 @@ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "static"; +/******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 7); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +exports.GeneratorEnumeratorTable = [ + 'startAddrsOffset', + 'endAddrsOffset', + 'startloopAddrsOffset', + 'endloopAddrsOffset', + 'startAddrsCoarseOffset', + 'modLfoToPitch', + 'vibLfoToPitch', + 'modEnvToPitch', + 'initialFilterFc', + 'initialFilterQ', + 'modLfoToFilterFc', + 'modEnvToFilterFc', + 'endAddrsCoarseOffset', + 'modLfoToVolume', + undefined, + 'chorusEffectsSend', + 'reverbEffectsSend', + 'pan', + undefined, undefined, undefined, + 'delayModLFO', + 'freqModLFO', + 'delayVibLFO', + 'freqVibLFO', + 'delayModEnv', + 'attackModEnv', + 'holdModEnv', + 'decayModEnv', + 'sustainModEnv', + 'releaseModEnv', + 'keynumToModEnvHold', + 'keynumToModEnvDecay', + 'delayVolEnv', + 'attackVolEnv', + 'holdVolEnv', + 'decayVolEnv', + 'sustainVolEnv', + 'releaseVolEnv', + 'keynumToVolEnvHold', + 'keynumToVolEnvDecay', + 'instrument', + undefined, + 'keyRange', + 'velRange', + 'startloopAddrsCoarseOffset', + 'keynum', + 'velocity', + 'initialAttenuation', + undefined, + 'endloopAddrsCoarseOffset', + 'coarseTune', + 'fineTune', + 'sampleID', + 'sampleModes', + undefined, + 'scaleTuning', + 'exclusiveClass', + 'overridingRootKey' +]; +exports.InfoNameTable = { + ICMT: "comment", + ICOP: "copyright", + ICRD: "creation_date", + IENG: "engineer", + INAM: "name", + IPRD: "product", + ISFT: "software", + ifil: "version", + isng: "sound_engine", + irom: "rom_name", + iver: "rom_version" +}; - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _wml = __webpack_require__(3); - - Object.keys(_wml).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _wml[key]; - } - }); - }); -/***/ }, +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _riff = __webpack_require__(2); - - var _riff2 = _interopRequireDefault(_riff); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - /** - * @param {ByteArray} input - * @param {Object=} opt_params - * @constructor - */ - var Parser = function Parser(input, opt_params) { - opt_params = opt_params || {}; - /** @type {ByteArray} */ - this.input = input; - /** @type {(Object|undefined)} */ - this.parserOption = opt_params['parserOption']; - - /** @type {Array.} */ - this.presetHeader; - /** @type {Array.} */ - this.presetZone; - /** @type {Array.} */ - this.presetZoneModulator; - /** @type {Array.} */ - this.presetZoneGenerator; - /** @type {Array.} */ - this.instrument; - /** @type {Array.} */ - this.instrumentZone; - /** @type {Array.} */ - this.instrumentZoneModulator; - /** @type {Array.} */ - this.instrumentZoneGenerator; - /** @type {Array.} */ - this.sampleHeader; - }; - - Parser.prototype.parse = function () { - /** @type {Riff.Parser} */ - var parser = new _riff2.default.Parser(this.input, this.parserOption); - /** @type {?Riff.Chunk} */ - var chunk; - - // parse RIFF chunk - parser.parse(); - if (parser.chunkList.length !== 1) { - throw new Error('wrong chunk length'); - } - - chunk = parser.getChunk(0); - if (chunk === null) { - throw new Error('chunk not found'); - } - - this.parseRiffChunk(chunk); - //console.log(this.sampleHeader); - this.input = null; - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseRiffChunk = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'RIFF') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'sfbk') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - if (parser.getNumberOfChunks() !== 3) { - throw new Error('invalid sfbk structure'); - } - - // INFO-list - this.parseInfoList( /** @type {!Riff.Chunk} */parser.getChunk(0)); - - // sdta-list - this.parseSdtaList( /** @type {!Riff.Chunk} */parser.getChunk(1)); - - // pdta-list - this.parsePdtaList( /** @type {!Riff.Chunk} */parser.getChunk(2)); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseInfoList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'INFO') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseSdtaList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'sdta') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - if (parser.chunkList.length !== 1) { - throw new Error('TODO'); - } - this.samplingData = - /** @type {{type: string, size: number, offset: number}} */ - parser.getChunk(0); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePdtaList = function (chunk) { - /** @type {Riff.Parser} */ - var parser; - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {string} */ - var signature; - - // check parse target - if (chunk.type !== 'LIST') { - throw new Error('invalid chunk type:' + chunk.type); - } - - // check signature - signature = String.fromCharCode(data[ip++], data[ip++], data[ip++], data[ip++]); - if (signature !== 'pdta') { - throw new Error('invalid signature:' + signature); - } - - // read structure - parser = new _riff2.default.Parser(data, { 'index': ip, 'length': chunk.size - 4 }); - parser.parse(); - - // check number of chunks - if (parser.getNumberOfChunks() !== 9) { - throw new Error('invalid pdta chunk'); - } - - this.parsePhdr( /** @type {Riff.Chunk} */parser.getChunk(0)); - this.parsePbag( /** @type {Riff.Chunk} */parser.getChunk(1)); - this.parsePmod( /** @type {Riff.Chunk} */parser.getChunk(2)); - this.parsePgen( /** @type {Riff.Chunk} */parser.getChunk(3)); - this.parseInst( /** @type {Riff.Chunk} */parser.getChunk(4)); - this.parseIbag( /** @type {Riff.Chunk} */parser.getChunk(5)); - this.parseImod( /** @type {Riff.Chunk} */parser.getChunk(6)); - this.parseIgen( /** @type {Riff.Chunk} */parser.getChunk(7)); - this.parseShdr( /** @type {Riff.Chunk} */parser.getChunk(8)); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePhdr = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var presetHeader = this.presetHeader = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'phdr') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - presetHeader.push({ - presetName: String.fromCharCode.apply(null, data.subarray(ip, ip += 20)), - preset: data[ip++] | data[ip++] << 8, - bank: data[ip++] | data[ip++] << 8, - presetBagIndex: data[ip++] | data[ip++] << 8, - library: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0, - genre: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0, - morphology: (data[ip++] | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePbag = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var presetZone = this.presetZone = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'pbag') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - presetZone.push({ - presetGeneratorIndex: data[ip++] | data[ip++] << 8, - presetModulatorIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePmod = function (chunk) { - // check parse target - if (chunk.type !== 'pmod') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.presetZoneModulator = this.parseModulator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parsePgen = function (chunk) { - // check parse target - if (chunk.type !== 'pgen') { - throw new Error('invalid chunk type:' + chunk.type); - } - this.presetZoneGenerator = this.parseGenerator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseInst = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var instrument = this.instrument = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'inst') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - instrument.push({ - instrumentName: String.fromCharCode.apply(null, data.subarray(ip, ip += 20)), - instrumentBagIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseIbag = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var instrumentZone = this.instrumentZone = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - - // check parse target - if (chunk.type !== 'ibag') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - instrumentZone.push({ - instrumentGeneratorIndex: data[ip++] | data[ip++] << 8, - instrumentModulatorIndex: data[ip++] | data[ip++] << 8 - }); - } - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseImod = function (chunk) { - // check parse target - if (chunk.type !== 'imod') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.instrumentZoneModulator = this.parseModulator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseIgen = function (chunk) { - // check parse target - if (chunk.type !== 'igen') { - throw new Error('invalid chunk type:' + chunk.type); - } - - this.instrumentZoneGenerator = this.parseGenerator(chunk); - }; - - /** - * @param {Riff.Chunk} chunk - */ - Parser.prototype.parseShdr = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {Array.} */ - var samples = this.sample = []; - /** @type {Array.} */ - var sampleHeader = this.sampleHeader = []; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {string} */ - var sampleName; - /** @type {number} */ - var start; - /** @type {number} */ - var end; - /** @type {number} */ - var startLoop; - /** @type {number} */ - var endLoop; - /** @type {number} */ - var sampleRate; - /** @type {number} */ - var originalPitch; - /** @type {number} */ - var pitchCorrection; - /** @type {number} */ - var sampleLink; - /** @type {number} */ - var sampleType; - - // check parse target - if (chunk.type !== 'shdr') { - throw new Error('invalid chunk type:' + chunk.type); - } - - while (ip < size) { - sampleName = String.fromCharCode.apply(null, data.subarray(ip, ip += 20)); - start = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - end = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - startLoop = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - endLoop = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - sampleRate = (data[ip++] << 0 | data[ip++] << 8 | data[ip++] << 16 | data[ip++] << 24) >>> 0; - originalPitch = data[ip++]; - pitchCorrection = data[ip++] << 24 >> 24; - sampleLink = data[ip++] | data[ip++] << 8; - sampleType = data[ip++] | data[ip++] << 8; - - //* - var sample = new Int16Array(new Uint8Array(data.subarray(this.samplingData.offset + start * 2, this.samplingData.offset + end * 2)).buffer); - - startLoop -= start; - endLoop -= start; - - if (sampleRate > 0) { - var adjust = this.adjustSampleData(sample, sampleRate); - sample = adjust.sample; - sampleRate *= adjust.multiply; - startLoop *= adjust.multiply; - endLoop *= adjust.multiply; - } - - samples.push(sample); - //*/ - - sampleHeader.push({ - sampleName: sampleName, - /* - start: start, - end: end, - */ - startLoop: startLoop, - endLoop: endLoop, - sampleRate: sampleRate, - originalPitch: originalPitch, - pitchCorrection: pitchCorrection, - sampleLink: sampleLink, - sampleType: sampleType - }); - } - }; - - Parser.prototype.adjustSampleData = function (sample, sampleRate) { - /** @type {Int16Array} */ - var newSample; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var multiply = 1; - - // buffer - while (sampleRate < 22050) { - newSample = new Int16Array(sample.length * 2); - for (i = j = 0, il = sample.length; i < il; ++i) { - newSample[j++] = sample[i]; - newSample[j++] = sample[i]; - } - sample = newSample; - multiply *= 2; - sampleRate *= 2; - } - - return { - sample: sample, - multiply: multiply - }; - }; - - /** - * @param {Riff.Chunk} chunk - * @return {Array.} - */ - Parser.prototype.parseModulator = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {number} */ - var code; - /** @type {string} */ - var key; - /** @type {Array.} */ - var output = []; - - while (ip < size) { - // Src Oper - // TODO - ip += 2; - - // Dest Oper - code = data[ip++] | data[ip++] << 8; - key = Parser.GeneratorEnumeratorTable[code]; - if (key === void 0) { - // Amount - output.push({ - type: key, - value: { - code: code, - amount: data[ip] | data[ip + 1] << 8 << 16 >> 16, - lo: data[ip++], - hi: data[ip++] - } - }); - } else { - // Amount - switch (key) { - case 'keyRange': /* FALLTHROUGH */ - case 'velRange': /* FALLTHROUGH */ - case 'keynum': /* FALLTHROUGH */ - case 'velocity': - output.push({ - type: key, - value: { - lo: data[ip++], - hi: data[ip++] - } - }); - break; - default: - output.push({ - type: key, - value: { - amount: data[ip++] | data[ip++] << 8 << 16 >> 16 - } - }); - break; - } - } - - // AmtSrcOper - // TODO - ip += 2; - - // Trans Oper - // TODO - ip += 2; - } - - return output; - }; - - /** - * @param {Riff.Chunk} chunk - * @return {Array.} - */ - Parser.prototype.parseGenerator = function (chunk) { - /** @type {ByteArray} */ - var data = this.input; - /** @type {number} */ - var ip = chunk.offset; - /** @type {number} */ - var size = chunk.offset + chunk.size; - /** @type {number} */ - var code; - /** @type {string} */ - var key; - /** @type {Array.} */ - var output = []; - - while (ip < size) { - code = data[ip++] | data[ip++] << 8; - key = Parser.GeneratorEnumeratorTable[code]; - if (key === void 0) { - output.push({ - type: key, - value: { - code: code, - amount: data[ip] | data[ip + 1] << 8 << 16 >> 16, - lo: data[ip++], - hi: data[ip++] - } - }); - continue; - } - - switch (key) { - case 'keynum': /* FALLTHROUGH */ - case 'keyRange': /* FALLTHROUGH */ - case 'velRange': /* FALLTHROUGH */ - case 'velocity': - output.push({ - type: key, - value: { - lo: data[ip++], - hi: data[ip++] - } - }); - break; - default: - output.push({ - type: key, - value: { - amount: data[ip++] | data[ip++] << 8 << 16 >> 16 - } - }); - break; - } - } - - return output; - }; - - Parser.prototype.createInstrument = function () { - /** @type {Array.} */ - var instrument = this.instrument; - /** @type {Array.} */ - var zone = this.instrumentZone; - /** @type {Array.} */ - var output = []; - /** @type {number} */ - var bagIndex; - /** @type {number} */ - var bagIndexEnd; - /** @type {Array.} */ - var zoneInfo; - /** @type {{generator: Object, generatorInfo: Array.}} */ - var instrumentGenerator; - /** @type {{modulator: Object, modulatorInfo: Array.}} */ - var instrumentModulator; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var jl; - - // instrument -> instrument bag -> generator / modulator - for (i = 0, il = instrument.length; i < il; ++i) { - bagIndex = instrument[i].instrumentBagIndex; - bagIndexEnd = instrument[i + 1] ? instrument[i + 1].instrumentBagIndex : zone.length; - zoneInfo = []; - - // instrument bag - for (j = bagIndex, jl = bagIndexEnd; j < jl; ++j) { - instrumentGenerator = this.createInstrumentGenerator_(zone, j); - instrumentModulator = this.createInstrumentModulator_(zone, j); - - zoneInfo.push({ - generator: instrumentGenerator.generator, - generatorSequence: instrumentGenerator.generatorInfo, - modulator: instrumentModulator.modulator, - modulatorSequence: instrumentModulator.modulatorInfo - }); - } - - output.push({ - name: instrument[i].instrumentName, - info: zoneInfo - }); - } - - return output; - }; - - Parser.prototype.createPreset = function () { - /** @type {Array.} */ - var preset = this.presetHeader; - /** @type {Array.} */ - var zone = this.presetZone; - /** @type {Array.} */ - var output = []; - /** @type {number} */ - var bagIndex; - /** @type {number} */ - var bagIndexEnd; - /** @type {Array.} */ - var zoneInfo; - /** @type {number} */ - var instrument; - /** @type {{generator: Object, generatorInfo: Array.}} */ - var presetGenerator; - /** @type {{modulator: Object, modulatorInfo: Array.}} */ - var presetModulator; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var jl; - - // preset -> preset bag -> generator / modulator - for (i = 0, il = preset.length; i < il; ++i) { - bagIndex = preset[i].presetBagIndex; - bagIndexEnd = preset[i + 1] ? preset[i + 1].presetBagIndex : zone.length; - zoneInfo = []; - - // preset bag - for (j = bagIndex, jl = bagIndexEnd; j < jl; ++j) { - presetGenerator = this.createPresetGenerator_(zone, j); - presetModulator = this.createPresetModulator_(zone, j); - - zoneInfo.push({ - generator: presetGenerator.generator, - generatorSequence: presetGenerator.generatorInfo, - modulator: presetModulator.modulator, - modulatorSequence: presetModulator.modulatorInfo - }); - - instrument = presetGenerator.generator['instrument'] !== void 0 ? presetGenerator.generator['instrument'].amount : presetModulator.modulator['instrument'] !== void 0 ? presetModulator.modulator['instrument'].amount : null; - } - - output.push({ - name: preset[i].presetName, - info: zoneInfo, - header: preset[i], - instrument: instrument - }); - } - - return output; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - * @private - */ - Parser.prototype.createInstrumentGenerator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].instrumentGeneratorIndex, zone[index + 1] ? zone[index + 1].instrumentGeneratorIndex : this.instrumentZoneGenerator.length, this.instrumentZoneGenerator); - - return { - generator: modgen.modgen, - generatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - * @private - */ - Parser.prototype.createInstrumentModulator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].instrumentModulatorIndex : this.instrumentZoneModulator.length, this.instrumentZoneModulator); - - return { - modulator: modgen.modgen, - modulatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{generator: Object, generatorInfo: Array.}} - * @private - */ - Parser.prototype.createPresetGenerator_ = function (zone, index) { - var modgen = this.createBagModGen_(zone, zone[index].presetGeneratorIndex, zone[index + 1] ? zone[index + 1].presetGeneratorIndex : this.presetZoneGenerator.length, this.presetZoneGenerator); - - return { - generator: modgen.modgen, - generatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} index - * @returns {{modulator: Object, modulatorInfo: Array.}} - * @private - */ - Parser.prototype.createPresetModulator_ = function (zone, index) { - /** @type {{modgen: Object, modgenInfo: Array.}} */ - var modgen = this.createBagModGen_(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].presetModulatorIndex : this.presetZoneModulator.length, this.presetZoneModulator); - - return { - modulator: modgen.modgen, - modulatorInfo: modgen.modgenInfo - }; - }; - - /** - * @param {Array.} zone - * @param {number} indexStart - * @param {number} indexEnd - * @param zoneModGen - * @returns {{modgen: Object, modgenInfo: Array.}} - * @private - */ - Parser.prototype.createBagModGen_ = function (zone, indexStart, indexEnd, zoneModGen) { - /** @type {Array.} */ - var modgenInfo = []; - /** @type {Object} */ - var modgen = { - unknown: [], - 'keyRange': { - hi: 127, - lo: 0 - } - }; // TODO - /** @type {Object} */ - var info; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - - for (i = indexStart, il = indexEnd; i < il; ++i) { - info = zoneModGen[i]; - modgenInfo.push(info); - - if (info.type === 'unknown') { - modgen.unknown.push(info.value); - } else { - modgen[info.type] = info.value; - } - } - - return { - modgen: modgen, - modgenInfo: modgenInfo - }; - }; - - /** - * @type {Array.} - * @const - */ - Parser.GeneratorEnumeratorTable = ['startAddrsOffset', 'endAddrsOffset', 'startloopAddrsOffset', 'endloopAddrsOffset', 'startAddrsCoarseOffset', 'modLfoToPitch', 'vibLfoToPitch', 'modEnvToPitch', 'initialFilterFc', 'initialFilterQ', 'modLfoToFilterFc', 'modEnvToFilterFc', 'endAddrsCoarseOffset', 'modLfoToVolume',, // 14 - 'chorusEffectsSend', 'reverbEffectsSend', 'pan',,,, // 18,19,20 - 'delayModLFO', 'freqModLFO', 'delayVibLFO', 'freqVibLFO', 'delayModEnv', 'attackModEnv', 'holdModEnv', 'decayModEnv', 'sustainModEnv', 'releaseModEnv', 'keynumToModEnvHold', 'keynumToModEnvDecay', 'delayVolEnv', 'attackVolEnv', 'holdVolEnv', 'decayVolEnv', 'sustainVolEnv', 'releaseVolEnv', 'keynumToVolEnvHold', 'keynumToVolEnvDecay', 'instrument',, // 42 - 'keyRange', 'velRange', 'startloopAddrsCoarseOffset', 'keynum', 'velocity', 'initialAttenuation',, // 49 - 'endloopAddrsCoarseOffset', 'coarseTune', 'fineTune', 'sampleID', 'sampleModes',, // 55 - 'scaleTuning', 'exclusiveClass', 'overridingRootKey']; - - exports.default = Parser; +"use strict"; -/***/ }, +exports.__esModule = true; +var riff_ts_1 = __webpack_require__(2); +var sf2_data_ts_1 = __webpack_require__(3); +var helper_ts_1 = __webpack_require__(4); +var stream_ts_1 = __webpack_require__(5); +var constants_ts_1 = __webpack_require__(0); +var default_1 = /** @class */ (function () { + function default_1(input, opt_params) { + if (opt_params === void 0) { opt_params = {}; } + this.input = input; + this.parserOption = opt_params.parserOption; + } + default_1.prototype.parse = function () { + var parser = new riff_ts_1.Parser(this.input, this.parserOption); + // parse RIFF chunk + parser.parse(); + if (parser.chunkList.length !== 1) { + throw new Error('wrong chunk length'); + } + var chunk = parser.getChunk(0); + if (chunk === null) { + throw new Error('chunk not found'); + } + this.parseRiffChunk(chunk, this.input); + this.input = null; + }; + default_1.prototype.parseRiffChunk = function (chunk, data) { + var chunkList = getChunkList(chunk, data, "RIFF", "sfbk"); + if (chunkList.length !== 3) { + throw new Error('invalid sfbk structure'); + } + // INFO-list + this.info = parseInfoList(chunkList[0], data); + // sdta-list + this.samplingData = parseSdtaList(chunkList[1], data); + // pdta-list + this.parsePdtaList(chunkList[2], data); + }; + default_1.prototype.parsePdtaList = function (chunk, data) { + var chunkList = getChunkList(chunk, data, "LIST", "pdta"); + // check number of chunks + if (chunkList.length !== 9) { + throw new Error('invalid pdta chunk'); + } + this.presetHeader = parsePhdr(chunkList[0], data); + this.presetZone = parsePbag(chunkList[1], data); + this.presetZoneModulator = parsePmod(chunkList[2], data); + this.presetZoneGenerator = parsePgen(chunkList[3], data); + this.instrument = parseInst(chunkList[4], data); + this.instrumentZone = parseIbag(chunkList[5], data); + this.instrumentZoneModulator = parseImod(chunkList[6], data); + this.instrumentZoneGenerator = parseIgen(chunkList[7], data); + this.sampleHeader = parseShdr(chunkList[8], data); + this.sample = loadSample(this.sampleHeader, this.samplingData.offset, data); + }; + return default_1; +}()); +exports["default"] = default_1; +function getChunkList(chunk, data, expectedType, expectedSignature) { + // check parse target + if (chunk.type !== expectedType) { + throw new Error('invalid chunk type:' + chunk.type); + } + var stream = new stream_ts_1["default"](data, chunk.offset); + // check signature + var signature = stream.readString(4); + if (signature !== expectedSignature) { + throw new Error('invalid signature:' + signature); + } + // read structure + var parser = new riff_ts_1.Parser(data, { 'index': stream.ip, 'length': chunk.size - 4 }); + parser.parse(); + return parser.chunkList; +} +function parseInfoList(chunk, data) { + var info = {}; + var chunkList = getChunkList(chunk, data, "LIST", "INFO"); + for (var _i = 0, chunkList_1 = chunkList; _i < chunkList_1.length; _i++) { + var p = chunkList_1[_i]; + var offset = p.offset, size = p.size, type = p.type; + var name_1 = constants_ts_1.InfoNameTable[type] || type; + info[name_1] = helper_ts_1.readString(data, offset, offset + size); + } + return info; +} +function parseSdtaList(chunk, data) { + var chunkList = getChunkList(chunk, data, "LIST", "sdta"); + if (chunkList.length !== 1) { + throw new Error('TODO'); + } + return chunkList[0]; +} +function parseChunk(chunk, data, type, factory) { + var result = []; + if (chunk.type !== type) { + throw new Error('invalid chunk type:' + chunk.type); + } + var stream = new stream_ts_1["default"](data, chunk.offset); + var size = chunk.offset + chunk.size; + while (stream.ip < size) { + result.push(factory(stream)); + } + return result; +} +var parsePhdr = function (chunk, data) { return parseChunk(chunk, data, "phdr", function (stream) { return sf2_data_ts_1.PresetHeader.parse(stream); }); }; +var parsePbag = function (chunk, data) { return parseChunk(chunk, data, "pbag", function (stream) { return sf2_data_ts_1.PresetBag.parse(stream); }); }; +var parseInst = function (chunk, data) { return parseChunk(chunk, data, "inst", function (stream) { return sf2_data_ts_1.Instrument.parse(stream); }); }; +var parseIbag = function (chunk, data) { return parseChunk(chunk, data, "ibag", function (stream) { return sf2_data_ts_1.InstrumentBag.parse(stream); }); }; +var parsePmod = function (chunk, data) { return parseChunk(chunk, data, "pmod", function (stream) { return sf2_data_ts_1.ModulatorList.parse(stream); }); }; +var parseImod = function (chunk, data) { return parseChunk(chunk, data, "imod", function (stream) { return sf2_data_ts_1.ModulatorList.parse(stream); }); }; +var parsePgen = function (chunk, data) { return parseChunk(chunk, data, "pgen", function (stream) { return sf2_data_ts_1.GeneratorList.parse(stream); }); }; +var parseIgen = function (chunk, data) { return parseChunk(chunk, data, "igen", function (stream) { return sf2_data_ts_1.GeneratorList.parse(stream); }); }; +var parseShdr = function (chunk, data) { return parseChunk(chunk, data, "shdr", function (stream) { return sf2_data_ts_1.Sample.parse(stream); }); }; +function adjustSampleData(sample, sampleRate) { + var multiply = 1; + // buffer + while (sampleRate < 22050) { + var newSample = new Int16Array(sample.length * 2); + for (var i = 0, j = 0, il = sample.length; i < il; ++i) { + newSample[j++] = sample[i]; + newSample[j++] = sample[i]; + } + sample = newSample; + multiply *= 2; + sampleRate *= 2; + } + return { + sample: sample, + multiply: multiply + }; +} +function loadSample(sampleHeader, samplingDataOffset, data) { + var samples = []; + for (var _i = 0, sampleHeader_1 = sampleHeader; _i < sampleHeader_1.length; _i++) { + var header = sampleHeader_1[_i]; + var sample = new Int16Array(new Uint8Array(data.subarray(samplingDataOffset + header.start * 2, samplingDataOffset + header.end * 2)).buffer); + if (header.sampleRate > 0) { + var adjust = adjustSampleData(sample, header.sampleRate); + sample = adjust.sample; + header.sampleRate *= adjust.multiply; + header.startLoop *= adjust.multiply; + header.endLoop *= adjust.multiply; + } + samples.push(sample); + } + return samples; +} + + +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var Riff = {}; - - /** - * @param {ByteArray} input input buffer. - * @param {Object=} opt_params option parameters. - * @constructor - */ - Riff.Parser = function (input, opt_params) { - opt_params = opt_params || {}; - /** @type {ByteArray} */ - this.input = input; - /** @type {number} */ - this.ip = opt_params['index'] || 0; - /** @type {number} */ - this.length = opt_params['length'] || input.length - this.ip; - /** @type {Array.} */ - this.chunkList; - /** @type {number} */ - this.offset = this.ip; - /** @type {boolean} */ - this.padding = opt_params['padding'] !== void 0 ? opt_params['padding'] : true; - /** @type {boolean} */ - this.bigEndian = opt_params['bigEndian'] !== void 0 ? opt_params['bigEndian'] : false; - }; - - /** - * @param {string} type - * @param {number} size - * @param {number} offset - * @constructor - */ - Riff.Chunk = function (type, size, offset) { - /** @type {string} */ - this.type = type; - /** @type {number} */ - this.size = size; - /** @type {number} */ - this.offset = offset; - }; - - Riff.Parser.prototype.parse = function () { - /** @type {number} */ - var length = this.length + this.offset; - - this.chunkList = []; - - while (this.ip < length) { - this.parseChunk(); - } - }; - - Riff.Parser.prototype.parseChunk = function () { - /** @type {ByteArray} */ - var input = this.input; - /** @type {number} */ - var ip = this.ip; - /** @type {number} */ - var size; - - this.chunkList.push(new Riff.Chunk(String.fromCharCode(input[ip++], input[ip++], input[ip++], input[ip++]), size = this.bigEndian ? (input[ip++] << 24 | input[ip++] << 16 | input[ip++] << 8 | input[ip++]) >>> 0 : (input[ip++] | input[ip++] << 8 | input[ip++] << 16 | input[ip++] << 24) >>> 0, ip)); - - ip += size; - - // padding - if (this.padding && (ip - this.offset & 1) === 1) { - ip++; - } - - this.ip = ip; - }; - - /** - * @param {number} index chunk index. - * @return {?Riff.Chunk} - */ - Riff.Parser.prototype.getChunk = function (index) { - /** @type {Riff.Chunk} */ - var chunk = this.chunkList[index]; - - if (chunk === void 0) { - return null; - } - - return chunk; - }; - - /** - * @return {number} - */ - Riff.Parser.prototype.getNumberOfChunks = function () { - return this.chunkList.length; - }; - - exports.default = Riff; +exports.__esModule = true; +var Parser = /** @class */ (function () { + function Parser(input, opt_params) { + if (opt_params === void 0) { opt_params = {}; } + this.chunkList = []; + this.input = input; + this.ip = opt_params['index'] || 0; + this.length = opt_params['length'] || input.length - this.ip; + this.chunkList = []; + this.offset = this.ip; + this.padding = + opt_params['padding'] !== void 0 ? opt_params['padding'] : true; + this.bigEndian = + opt_params['bigEndian'] !== void 0 ? opt_params['bigEndian'] : false; + } + Parser.prototype.parse = function () { + var length = this.length + this.offset; + this.chunkList = []; + while (this.ip < length) { + this.parseChunk(); + } + }; + Parser.prototype.parseChunk = function () { + var input = this.input; + var ip = this.ip; + var size; + this.chunkList.push(new Chunk(String.fromCharCode(input[ip++], input[ip++], input[ip++], input[ip++]), (size = this.bigEndian ? + ((input[ip++] << 24) | (input[ip++] << 16) | + (input[ip++] << 8) | (input[ip++])) >>> 0 : + ((input[ip++]) | (input[ip++] << 8) | + (input[ip++] << 16) | (input[ip++] << 24)) >>> 0), ip)); + ip += size; + // padding + if (this.padding && ((ip - this.offset) & 1) === 1) { + ip++; + } + this.ip = ip; + }; + Parser.prototype.getChunk = function (index) { + var chunk = this.chunkList[index]; + if (chunk === void 0) { + return null; + } + return chunk; + }; + Parser.prototype.getNumberOfChunks = function () { + return this.chunkList.length; + }; + return Parser; +}()); +exports.Parser = Parser; +var Chunk = /** @class */ (function () { + function Chunk(type, size, offset) { + this.type = type; + this.size = size; + this.offset = offset; + } + return Chunk; +}()); +exports.Chunk = Chunk; -/***/ }, + +/***/ }), /* 3 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var constants_ts_1 = __webpack_require__(0); +var VersionTag = /** @class */ (function () { + function VersionTag() { + } + return VersionTag; +}()); +exports.VersionTag = VersionTag; +var PresetHeader = /** @class */ (function () { + function PresetHeader() { + } + PresetHeader.parse = function (stream) { + var p = new PresetHeader(); + p.presetName = stream.readString(20); + p.preset = stream.readWORD(); + p.bank = stream.readWORD(); + p.presetBagIndex = stream.readWORD(); + p.library = stream.readDWORD(); + p.genre = stream.readDWORD(); + p.morphology = stream.readDWORD(); + return p; + }; + return PresetHeader; +}()); +exports.PresetHeader = PresetHeader; +var PresetBag = /** @class */ (function () { + function PresetBag() { + } + PresetBag.parse = function (stream) { + var p = new PresetBag(); + p.presetGeneratorIndex = stream.readWORD(); + p.presetModulatorIndex = stream.readWORD(); + return p; + }; + return PresetBag; +}()); +exports.PresetBag = PresetBag; +var ModulatorList = /** @class */ (function () { + function ModulatorList() { + } + ModulatorList.parse = function (stream) { + var t = new ModulatorList(); + t.sourceOper = stream.readWORD(); + var code = stream.readWORD(); + t.destinationOper = code; + var key = constants_ts_1.GeneratorEnumeratorTable[code]; + t.type = key; + if (key === void 0) { + // Amount + t.value = { + code: code, + amount: stream.readInt16() + }; + } + else { + // Amount + switch (key) { + case 'keyRange': /* FALLTHROUGH */ + case 'velRange': /* FALLTHROUGH */ + case 'keynum': /* FALLTHROUGH */ + case 'velocity': + t.value = { + lo: stream.readByte(), + hi: stream.readByte() + }; + break; + default: + t.value = { + amount: stream.readInt16() + }; + break; + } + } + t.amountSourceOper = stream.readWORD(); + t.transOper = stream.readWORD(); + return t; + }; + return ModulatorList; +}()); +exports.ModulatorList = ModulatorList; +var GeneratorList = /** @class */ (function () { + function GeneratorList() { + } + GeneratorList.parse = function (stream) { + var t = new ModulatorList(); + var code = stream.readWORD(); + var key = constants_ts_1.GeneratorEnumeratorTable[code]; + t.type = key; + if (key === void 0) { + t.value = { + code: code, + amount: stream.readInt16() + }; + } + else { + switch (key) { + case 'keynum': /* FALLTHROUGH */ + case 'keyRange': /* FALLTHROUGH */ + case 'velRange': /* FALLTHROUGH */ + case 'velocity': + t.value = { + lo: stream.readByte(), + hi: stream.readByte() + }; + break; + default: + t.value = { + amount: stream.readInt16() + }; + break; + } + } + return t; + }; + return GeneratorList; +}()); +exports.GeneratorList = GeneratorList; +var Instrument = /** @class */ (function () { + function Instrument() { + } + Instrument.parse = function (stream) { + var t = new Instrument(); + t.instrumentName = stream.readString(20); + t.instrumentBagIndex = stream.readWORD(); + return t; + }; + return Instrument; +}()); +exports.Instrument = Instrument; +var InstrumentBag = /** @class */ (function () { + function InstrumentBag() { + } + InstrumentBag.parse = function (stream) { + var t = new InstrumentBag(); + t.instrumentGeneratorIndex = stream.readWORD(); + t.instrumentModulatorIndex = stream.readWORD(); + return t; + }; + return InstrumentBag; +}()); +exports.InstrumentBag = InstrumentBag; +var Sample = /** @class */ (function () { + function Sample() { + } + Sample.parse = function (stream) { + var s = new Sample(); + s.sampleName = stream.readString(20); + s.start = stream.readDWORD(); + s.end = stream.readDWORD(); + s.startLoop = stream.readDWORD(); + s.endLoop = stream.readDWORD(); + s.sampleRate = stream.readDWORD(); + s.originalPitch = stream.readByte(); + s.pitchCorrection = stream.readInt8(); + s.sampleLink = stream.readWORD(); + s.sampleType = stream.readWORD(); + s.startLoop -= s.start; + s.endLoop -= s.start; + return s; + }; + return Sample; +}()); +exports.Sample = Sample; +/** + * @enum {number} + */ +exports.SampleLink = { + monoSample: 1, + rightSample: 2, + leftSample: 4, + linkedSample: 8, + RomMonoSample: 0x8001, + RomRightSample: 0x8002, + RomLeftSample: 0x8004, + RomLinkedSample: 0x8008 +}; - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _sound_font_synth = __webpack_require__(4); - - var _sound_font_synth2 = _interopRequireDefault(_sound_font_synth); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - /** - * @constructor - */ - var WebMidiLink = function WebMidiLink() { - /** @type {Array.} */ - this.RpnMsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - /** @type {Array.} */ - this.RpnLsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - /** @type {boolean} */ - this.ready; - /** @type {Synthesizer} */ - this.synth; - /** @type {function(ArrayBuffer)} */ - this.loadCallback; - /** @type {Function} */ - this.messageHandler = this.onmessage.bind(this); - - window.addEventListener('DOMContentLoaded', function () { - this.ready = true; - }.bind(this), false); - }; - - WebMidiLink.prototype.setup = function (url) { - if (!this.ready) { - window.addEventListener('DOMContentLoaded', function onload() { - window.removeEventListener('DOMContentLoaded', onload, false); - this.load(url); - }.bind(this), false); - } else { - this.load(url); - } - }; - - WebMidiLink.prototype.load = function (url) { - /** @type {XMLHttpRequest} */ - var xhr = new XMLHttpRequest(); - - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - - xhr.addEventListener('load', function (ev) { - /** @type {XMLHttpRequest} */ - var xhr = ev.target; - - this.onload(xhr.response); - if (typeof this.loadCallback === 'function') { - this.loadCallback(xhr.response); - } - }.bind(this), false); - - xhr.send(); - }; - - /** - * @param {ArrayBuffer} response - */ - WebMidiLink.prototype.onload = function (response) { - /** @type {Uint8Array} */ - var input = new Uint8Array(response); - - this.loadSoundFont(input); - }; - - /** - * @param {Uint8Array} input - */ - WebMidiLink.prototype.loadSoundFont = function (input) { - /** @type {Synthesizer} */ - var synth; - - if (!this.synth) { - synth = this.synth = new _sound_font_synth2.default(input); - document.body.appendChild(synth.drawSynth()); - synth.init(); - synth.start(); - window.addEventListener('message', this.messageHandler, false); - } else { - synth = this.synth; - synth.refreshInstruments(input); - } - - // link ready - if (window.opener) { - window.opener.postMessage("link,ready", '*'); - } else if (window.parent !== window) { - window.parent.postMessage("link,ready", '*'); - } - }; - - /** - * @param {Event} ev - */ - WebMidiLink.prototype.onmessage = function (ev) { - var msg = ev.data.split(','); - var type = msg.shift(); - var command; - - switch (type) { - case 'midi': - this.processMidiMessage(msg.map(function (hex) { - return parseInt(hex, 16); - })); - break; - case 'link': - command = msg.shift(); - switch (command) { - case 'reqpatch': - // TODO: dummy data - if (window.opener) { - window.opener.postMessage("link,patch", '*'); - } else if (window.parent !== window) { - window.parent.postMessage("link,patch", '*'); - } - break; - case 'setpatch': - // TODO: NOP - break; - default: - console.error('unknown link message:', command); - break; - } - break; - default: - console.error('unknown message type'); - } - }; - - /** - * @param {function(ArrayBuffer)} callback - */ - WebMidiLink.prototype.setLoadCallback = function (callback) { - this.loadCallback = callback; - }; - - /** - * @param {Array.} message - */ - WebMidiLink.prototype.processMidiMessage = function (message) { - /** @type {number} */ - var channel = message[0] & 0x0f; - /** @type {Synthesizer} */ - var synth = this.synth; - - switch (message[0] & 0xf0) { - case 0x80: - // NoteOff: 8n kk vv - synth.noteOff(channel, message[1], message[2]); - break; - case 0x90: - // NoteOn: 9n kk vv - if (message[2] > 0) { - synth.noteOn(channel, message[1], message[2]); - } else { - synth.noteOff(channel, message[1], 0); - } - break; - case 0xB0: - // Control Change: Bn cc dd - switch (message[1]) { - case 0x06: - // Data Entry: Bn 06 dd - switch (this.RpnMsb[channel]) { - case 0: - switch (this.RpnLsb[channel]) { - case 0: - // Pitch Bend Sensitivity - synth.pitchBendSensitivity(channel, message[2]); - break; - } - break; - } - break; - case 0x07: - // Volume Change: Bn 07 dd - synth.volumeChange(channel, message[2]); - break; - case 0x0A: - // Panpot Change: Bn 0A dd - synth.panpotChange(channel, message[2]); - break; - case 0x78: - // All Sound Off: Bn 78 00 - synth.allSoundOff(channel); - break; - case 0x79: - // Reset All Control: Bn 79 00 - synth.resetAllControl(channel); - break; - case 0x20: - // BankSelect - //console.log("bankselect:", channel, message[2]); - break; - case 0x64: - // RPN MSB - this.RpnMsb[channel] = message[2]; - break; - case 0x65: - // RPN LSB - this.RpnLsb[channel] = message[2]; - break; - default: - // not supported - } - break; - case 0xC0: - // Program Change: Cn pp - synth.programChange(channel, message[1]); - break; - case 0xE0: - // Pitch Bend - synth.pitchBend(channel, message[1], message[2]); - break; - case 0xf0: - // System Exclusive Message - // ID number - switch (message[1]) { - case 0x7e: - // non-realtime - // TODO - break; - case 0x7f: - // realtime - var device = message[2]; - // sub ID 1 - switch (message[3]) { - case 0x04: - // device control - // sub ID 2 - switch (message[4]) { - case 0x01: - // master volume - synth.setMasterVolume(message[5] + (message[6] << 7)); - break; - } - break; - } - break; - } - break; - default: - // not supported - break; - } - }; - - exports.default = WebMidiLink; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _sound_font_synth_note = __webpack_require__(5); - - var _sound_font_synth_note2 = _interopRequireDefault(_sound_font_synth_note); - - var _sf = __webpack_require__(1); - - var _sf2 = _interopRequireDefault(_sf); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - /** - * @constructor - */ - var Synthesizer = function Synthesizer(input) { - /** @type {Uint8Array} */ - this.input = input; - /** @type {Parser} */ - this.parser; - /** @type {number} */ - this.bank = 0; - /** @type {Array.>} */ - this.bankSet; - /** @type {number} */ - this.bufferSize = 1024; - /** @type {AudioContext} */ - this.ctx = this.getAudioContext(); - /** @type {AudioGainNode} */ - this.gainMaster = this.ctx.createGainNode(); - /** @type {DynamicsCompressorNode} */ - this.compressor = this.ctx.createDynamicsCompressor(); - /** @type {AudioBufferSourceNode} */ - this.bufSrc = this.ctx.createBufferSource(); - /** @type {Array.} */ - this.channelInstrument = [0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15]; - /** @type {Array.} */ - this.channelVolume = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; - /** @type {Array.} */ - this.channelPanpot = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - /** @type {Array.} */ - this.channelPitchBend = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - this.channelPitchBendSensitivity = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - /** @type {Array.>} */ - this.currentNoteOn = [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]; - /** @type {number} */ - this.baseVolume = 1 / 0x8000; - /** @type {number} */ - this.masterVolume = 16384; - - /** @type {HTMLTableElement} */ - this.table; - }; - /** - * @returns {AudioContext} - */ - Synthesizer.prototype.getAudioContext = function () { - /** @type {AudioContext} */ - var ctx; - - if (AudioContext !== void 0) { - ctx = new AudioContext(); - } else if (webkitAudioContext !== void 0) { - ctx = new webkitAudioContext(); - } else if (mozAudioContext !== void 0) { - ctx = new mozAudioContext(); - } else { - throw new Error('Web Audio not supported'); - } - - if (ctx.createGainNode === void 0) { - ctx.createGainNode = ctx.createGain; - } - - return ctx; - }; - - /** - * @type {Array.} - * @const - */ - Synthesizer.ProgramNames = ["Acoustic Piano", "Bright Piano", "Electric Grand Piano", "Honky-tonk Piano", "Electric Piano", "Electric Piano 2", "Harpsichord", "Clavi", "Celesta", "Glockenspiel", "Musical box", "Vibraphone", "Marimba", "Xylophone", "Tubular Bell", "Dulcimer", "Drawbar Organ", "Percussive Organ", "Rock Organ", "Church organ", "Reed organ", "Accordion", "Harmonica", "Tango Accordion", "Acoustic Guitar (nylon)", "Acoustic Guitar (steel)", "Electric Guitar (jazz)", "Electric Guitar (clean)", "Electric Guitar (muted)", "Overdriven Guitar", "Distortion Guitar", "Guitar harmonics", "Acoustic Bass", "Electric Bass (finger)", "Electric Bass (pick)", "Fretless Bass", "Slap Bass 1", "Slap Bass 2", "Synth Bass 1", "Synth Bass 2", "Violin", "Viola", "Cello", "Double bass", "Tremolo Strings", "Pizzicato Strings", "Orchestral Harp", "Timpani", "String Ensemble 1", "String Ensemble 2", "Synth Strings 1", "Synth Strings 2", "Voice Aahs", "Voice Oohs", "Synth Voice", "Orchestra Hit", "Trumpet", "Trombone", "Tuba", "Muted Trumpet", "French horn", "Brass Section", "Synth Brass 1", "Synth Brass 2", "Soprano Sax", "Alto Sax", "Tenor Sax", "Baritone Sax", "Oboe", "English Horn", "Bassoon", "Clarinet", "Piccolo", "Flute", "Recorder", "Pan Flute", "Blown Bottle", "Shakuhachi", "Whistle", "Ocarina", "Lead 1 (square)", "Lead 2 (sawtooth)", "Lead 3 (calliope)", "Lead 4 (chiff)", "Lead 5 (charang)", "Lead 6 (voice)", "Lead 7 (fifths)", "Lead 8 (bass + lead)", "Pad 1 (Fantasia)", "Pad 2 (warm)", "Pad 3 (polysynth)", "Pad 4 (choir)", "Pad 5 (bowed)", "Pad 6 (metallic)", "Pad 7 (halo)", "Pad 8 (sweep)", "FX 1 (rain)", "FX 2 (soundtrack)", "FX 3 (crystal)", "FX 4 (atmosphere)", "FX 5 (brightness)", "FX 6 (goblins)", "FX 7 (echoes)", "FX 8 (sci-fi)", "Sitar", "Banjo", "Shamisen", "Koto", "Kalimba", "Bagpipe", "Fiddle", "Shanai", "Tinkle Bell", "Agogo", "Steel Drums", "Woodblock", "Taiko Drum", "Melodic Tom", "Synth Drum", "Reverse Cymbal", "Guitar Fret Noise", "Breath Noise", "Seashore", "Bird Tweet", "Telephone Ring", "Helicopter", "Applause", "Gunshot"]; - - Synthesizer.prototype.init = function () { - /** @type {number} */ - var i; - - this.parser = new _sf2.default(this.input); - this.bankSet = this.createAllInstruments(); - - for (i = 0; i < 16; ++i) { - this.programChange(i, i); - this.volumeChange(i, 0x64); - this.panpotChange(i, 0x40); - this.pitchBend(i, 0x00, 0x40); // 8192 - this.pitchBendSensitivity(i, 2); - } - }; - - /** - * @param {Uint8Array} input - */ - Synthesizer.prototype.refreshInstruments = function (input) { - this.input = input; - this.parser = new _sf2.default(input); - this.bankSet = this.createAllInstruments(); - }; - - Synthesizer.prototype.createAllInstruments = function () { - /** @type {Parser} */ - var parser = this.parser; - parser.parse(); - /** @type {Array} TODO */ - var presets = parser.createPreset(); - /** @type {Array} TODO */ - var instruments = parser.createInstrument(); - /** @type {Object} */ - var banks = []; - /** @type {Array.>} */ - var bank; - /** @type {Object} TODO */ - var preset; - /** @type {Object} */ - var instrument; - /** @type {number} */ - var presetNumber; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {number} */ - var j; - /** @type {number} */ - var jl; - - for (i = 0, il = presets.length; i < il; ++i) { - preset = presets[i]; - presetNumber = preset.header.preset; - - if (typeof preset.instrument !== 'number') { - continue; - } - - instrument = instruments[preset.instrument]; - if (instrument.name.replace(/\0*$/, '') === 'EOI') { - continue; - } - - // select bank - if (banks[preset.header.bank] === void 0) { - banks[preset.header.bank] = []; - } - bank = banks[preset.header.bank]; - bank[presetNumber] = []; - bank[presetNumber].name = preset.name; - - for (j = 0, jl = instrument.info.length; j < jl; ++j) { - this.createNoteInfo(parser, instrument.info[j], bank[presetNumber]); - } - } - - return banks; - }; - - Synthesizer.prototype.createNoteInfo = function (parser, info, preset) { - var generator = info.generator; - /** @type {number} */ - var sampleId; - /** @type {Object} */ - var sampleHeader; - /** @type {number} */ - var volAttack; - /** @type {number} */ - var volDecay; - /** @type {number} */ - var volSustain; - /** @type {number} */ - var volRelease; - /** @type {number} */ - var modAttack; - /** @type {number} */ - var modDecay; - /** @type {number} */ - var modSustain; - /** @type {number} */ - var modRelease; - /** @type {number} */ - var tune; - /** @type {number} */ - var scale; - /** @type {number} */ - var freqVibLFO; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - - if (generator['keyRange'] === void 0 || generator['sampleID'] === void 0) { - return; - } - - volAttack = this.getModGenAmount(generator, 'attackVolEnv', -12000); - volDecay = this.getModGenAmount(generator, 'decayVolEnv', -12000); - volSustain = this.getModGenAmount(generator, 'sustainVolEnv'); - volRelease = this.getModGenAmount(generator, 'releaseVolEnv', -12000); - modAttack = this.getModGenAmount(generator, 'attackModEnv', -12000); - modDecay = this.getModGenAmount(generator, 'decayModEnv', -12000); - modSustain = this.getModGenAmount(generator, 'sustainModEnv'); - modRelease = this.getModGenAmount(generator, 'releaseModEnv', -12000); - - tune = this.getModGenAmount(generator, 'coarseTune') + this.getModGenAmount(generator, 'fineTune') / 100; - scale = this.getModGenAmount(generator, 'scaleTuning', 100) / 100; - freqVibLFO = this.getModGenAmount(generator, 'freqVibLFO'); - - for (i = generator['keyRange'].lo, il = generator['keyRange'].hi; i <= il; ++i) { - if (preset[i]) { - continue; - } - - sampleId = this.getModGenAmount(generator, 'sampleID'); - sampleHeader = parser.sampleHeader[sampleId]; - preset[i] = { - 'sample': parser.sample[sampleId], - 'sampleRate': sampleHeader.sampleRate, - 'basePlaybackRate': Math.pow(Math.pow(2, 1 / 12), (i - this.getModGenAmount(generator, 'overridingRootKey', sampleHeader.originalPitch) + tune + sampleHeader.pitchCorrection / 100) * scale), - 'modEnvToPitch': this.getModGenAmount(generator, 'modEnvToPitch') / 100, - 'scaleTuning': scale, - 'start': this.getModGenAmount(generator, 'startAddrsCoarseOffset') * 32768 + this.getModGenAmount(generator, 'startAddrsOffset'), - 'end': this.getModGenAmount(generator, 'endAddrsCoarseOffset') * 32768 + this.getModGenAmount(generator, 'endAddrsOffset'), - 'loopStart': - //(sampleHeader.startLoop - sampleHeader.start) + - sampleHeader.startLoop + this.getModGenAmount(generator, 'startloopAddrsCoarseOffset') * 32768 + this.getModGenAmount(generator, 'startloopAddrsOffset'), - 'loopEnd': - //(sampleHeader.endLoop - sampleHeader.start) + - sampleHeader.endLoop + this.getModGenAmount(generator, 'endloopAddrsCoarseOffset') * 32768 + this.getModGenAmount(generator, 'endloopAddrsOffset'), - 'volAttack': Math.pow(2, volAttack / 1200), - 'volDecay': Math.pow(2, volDecay / 1200), - 'volSustain': volSustain / 1000, - 'volRelease': Math.pow(2, volRelease / 1200), - 'modAttack': Math.pow(2, modAttack / 1200), - 'modDecay': Math.pow(2, modDecay / 1200), - 'modSustain': modSustain / 1000, - 'modRelease': Math.pow(2, modRelease / 1200), - 'initialFilterFc': this.getModGenAmount(generator, 'initialFilterFc', 13500), - 'modEnvToFilterFc': this.getModGenAmount(generator, 'modEnvToFilterFc'), - 'initialFilterQ': this.getModGenAmount(generator, 'initialFilterQ'), - 'freqVibLFO': freqVibLFO ? Math.pow(2, freqVibLFO / 1200) * 8.176 : void 0 - }; - } - }; - - /** - * @param {Object} generator - * @param {string} enumeratorType - * @param {number=} opt_default - * @returns {number} - */ - Synthesizer.prototype.getModGenAmount = function (generator, enumeratorType, opt_default) { - if (opt_default === void 0) { - opt_default = 0; - } - - return generator[enumeratorType] ? generator[enumeratorType].amount : opt_default; - }; - - Synthesizer.prototype.start = function () { - this.bufSrc.connect(this.gainMaster); - this.gainMaster.connect(this.ctx.destination); - this.bufSrc.start(0); - - this.setMasterVolume(16383); - }; - - Synthesizer.prototype.setMasterVolume = function (volume) { - this.masterVolume = volume; - this.gainMaster.gain.value = this.baseVolume * (volume / 16384); - }; - - Synthesizer.prototype.stop = function () { - this.bufSrc.disconnect(0); - this.gainMaster.disconnect(0); - this.compressor.disconnect(0); - }; - - /** - * @type {!Array.} - * @const - */ - Synthesizer.TableHeader = ['Instrument', 'Vol', 'Pan', 'Bend', 'Range']; - - Synthesizer.prototype.drawSynth = function () { - /** @type {HTMLTableElement} */ - var table = this.table = - /** @type {HTMLTableElement} */document.createElement('table'); - /** @type {HTMLTableSectionElement} */ - var head = - /** @type {HTMLTableSectionElement} */document.createElement('thead'); - /** @type {HTMLTableSectionElement} */ - var body = - /** @type {HTMLTableSectionElement} */ - document.createElement('tbody'); - /** @type {HTMLTableRowElement} */ - var tableLine; - /** @type {NodeList} */ - var notes; - /** @type {number} */ - var i; - /** @type {number} */ - var j; - - head.appendChild(this.createTableLine(Synthesizer.TableHeader, true)); - - for (i = 0; i < 16; ++i) { - tableLine = this.createTableLine(Synthesizer.TableHeader.length + 128, false); - body.appendChild(tableLine); - - if (i !== 9) { - var select = document.createElement('select'); - var option; - for (j = 0; j < 128; ++j) { - option = document.createElement('option'); - option.textContent = Synthesizer.ProgramNames[j]; - select.appendChild(option); - } - tableLine.querySelector('td:nth-child(1)').appendChild(select); - select.addEventListener('change', function (synth, channel) { - return function (event) { - synth.programChange(channel, event.target.selectedIndex); - }; - }(this, i), false); - select.selectedIndex = this.channelInstrument[i]; - } else { - tableLine.querySelector('td:first-child').textContent = '[ RHYTHM TRACK ]'; - } - - notes = tableLine.querySelectorAll('td:nth-last-child(-n+128)'); - for (j = 0; j < 128; ++j) { - notes[j].addEventListener('mousedown', function (synth, channel, key) { - return function (event) { - event.preventDefault(); - synth.drag = true; - synth.noteOn(channel, key, 127); - }; - }(this, i, j)); - notes[j].addEventListener('mouseover', function (synth, channel, key) { - return function (event) { - event.preventDefault(); - if (synth.drag) { - synth.noteOn(channel, key, 127); - } - }; - }(this, i, j)); - notes[j].addEventListener('mouseout', function (synth, channel, key) { - return function (event) { - event.preventDefault(); - synth.noteOff(channel, key, 0); - }; - }(this, i, j)); - notes[j].addEventListener('mouseup', function (synth, channel, key) { - return function (event) { - event.preventDefault(); - synth.drag = false; - synth.noteOff(channel, key, 0); - }; - }(this, i, j)); - } - } - - table.appendChild(head); - table.appendChild(body); - - return table; - }; - - Synthesizer.prototype.removeSynth = function () { - var table = this.table; - - if (table) { - table.parentNode.removeChild(table); - this.table = null; - } - }; - - /** - * @param {!(Array.|number)} array - * @param {boolean} isTitleLine - * @returns {HTMLTableRowElement} - */ - Synthesizer.prototype.createTableLine = function (array, isTitleLine) { - /** @type {HTMLTableRowElement} */ - var tr = /** @type {HTMLTableRowElement} */document.createElement('tr'); - /** @type {HTMLTableCellElement} */ - var cell; - /** @type {boolean} */ - var isArray = array instanceof Array; - /** @type {number} */ - var i; - /** @type {number} */ - var il = isArray ? array.length : /** @type {number} */array; - - for (i = 0; i < il; ++i) { - cell = - /** @type {HTMLTableCellElement} */ - document.createElement(isTitleLine ? 'th' : 'td'); - cell.textContent = isArray && array[i] !== void 0 ? array[i] : ''; - tr.appendChild(cell); - } - - return tr; - }; - - /** - * @param {number} channel NoteOn するチャンネル. - * @param {number} key NoteOn するキー. - * @param {number} velocity 強さ. - */ - Synthesizer.prototype.noteOn = function (channel, key, velocity) { - /** @type {Object} */ - var bank = this.bankSet[channel === 9 ? 128 : this.bank]; - /** @type {Object} */ - var instrument = bank[this.channelInstrument[channel]]; - /** @type {Object} */ - var instrumentKey; - /** @type {SynthesizerNote} */ - var note; - - if (this.table) { - this.table.querySelector('tbody > ' + 'tr:nth-child(' + (channel + 1) + ') > ' + 'td:nth-child(' + (Synthesizer.TableHeader.length + key + 1) + ')').classList.add('note-on'); - } - - if (!instrument) { - // TODO - console.warn("instrument not found: bank=%s instrument=%s channel=%s", channel === 9 ? 128 : this.bank, this.channelInstrument[channel], channel); - return; - } - - instrumentKey = instrument[key]; - - if (!instrumentKey) { - // TODO - console.warn("instrument not found: bank=%s instrument=%s channel=%s key=%s", channel === 9 ? 128 : this.bank, this.channelInstrument[channel], channel, key); - return; - } - - var panpot = this.channelPanpot[channel] - 64; - panpot /= panpot < 0 ? 64 : 63; - - // create note information - instrumentKey['channel'] = channel; - instrumentKey['key'] = key; - instrumentKey['velocity'] = velocity; - instrumentKey['panpot'] = panpot; - instrumentKey['volume'] = this.channelVolume[channel] / 127; - instrumentKey['pitchBend'] = this.channelPitchBend[channel] - 8192; - instrumentKey['pitchBendSensitivity'] = this.channelPitchBendSensitivity[channel]; - - // note on - note = new _sound_font_synth_note2.default(this.ctx, this.gainMaster, instrumentKey); - note.noteOn(); - this.currentNoteOn[channel].push(note); - }; - - /** - * @param {number} channel NoteOff するチャンネル. - * @param {number} key NoteOff するキー. - * @param {number} velocity 強さ. - */ - Synthesizer.prototype.noteOff = function (channel, key, velocity) { - /** @type {Object} */ - var bank = this.bankSet[channel === 9 ? 128 : this.bank]; - /** @type {Object} */ - var instrument = bank[this.channelInstrument[channel]]; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {Array.} */ - var currentNoteOn = this.currentNoteOn[channel]; - /** @type {SynthesizerNote} */ - var note; - - if (this.table) { - this.table.querySelector('tbody > ' + 'tr:nth-child(' + (channel + 1) + ') > ' + 'td:nth-child(' + (key + Synthesizer.TableHeader.length + 1) + ')').classList.remove('note-on'); - } - - if (!instrument) { - return; - } - - for (i = 0, il = currentNoteOn.length; i < il; ++i) { - note = currentNoteOn[i]; - if (note.key === key) { - note.noteOff(); - currentNoteOn.splice(i, 1); - --i; - --il; - } - } - }; - - /** - * @param {number} channel 音色を変更するチャンネル. - * @param {number} instrument 音色番号. - */ - Synthesizer.prototype.programChange = function (channel, instrument) { - if (this.table) { - if (channel !== 9) { - this.table.querySelector('tbody > tr:nth-child(' + (channel + 1) + ') > td:first-child > select').selectedIndex = instrument; - } - } - // リズムトラックは無視する - if (channel === 9) { - return; - } - - this.channelInstrument[channel] = instrument; - }; - - /** - * @param {number} channel 音量を変更するチャンネル. - * @param {number} volume 音量(0-127). - */ - Synthesizer.prototype.volumeChange = function (channel, volume) { - if (this.table) { - this.table.querySelector('tbody > tr:nth-child(' + (channel + 1) + ') > td:nth-child(2)').textContent = volume; - } - - this.channelVolume[channel] = volume; - }; - - /** - * @param {number} channel panpot を変更するチャンネル. - * @param {number} panpot panpot(0-127). - */ - Synthesizer.prototype.panpotChange = function (channel, panpot) { - if (this.table) { - this.table.querySelector('tbody > tr:nth-child(' + (channel + 1) + ') > td:nth-child(3)').textContent = panpot; - } - - this.channelPanpot[channel] = panpot; - }; - - /** - * @param {number} channel panpot を変更するチャンネル. - * @param {number} lowerByte - * @param {number} higherByte - */ - Synthesizer.prototype.pitchBend = function (channel, lowerByte, higherByte) { - /** @type {number} */ - var bend = lowerByte & 0x7f | (higherByte & 0x7f) << 7; - /** @type {number} */ - var i; - /** @type {number} */ - var il; - /** @type {Array.} */ - var currentNoteOn = this.currentNoteOn[channel]; - /** @type {number} */ - var calculated = bend - 8192; - - if (this.table) { - this.table.querySelector('tbody > tr:nth-child(' + (channel + 1) + ') > td:nth-child(4)').textContent = calculated; - } - - for (i = 0, il = currentNoteOn.length; i < il; ++i) { - currentNoteOn[i].updatePitchBend(calculated); - } - - this.channelPitchBend[channel] = bend; - }; - - /** - * @param {number} channel pitch bend sensitivity を変更するチャンネル. - * @param {number} sensitivity - */ - Synthesizer.prototype.pitchBendSensitivity = function (channel, sensitivity) { - if (this.table) { - this.table.querySelector('tbody > tr:nth-child(' + (channel + 1) + ') > td:nth-child(5)').textContent = sensitivity; - } - - this.channelPitchBendSensitivity[channel] = sensitivity; - }; - - /** - * @param {number} channel 音を消すチャンネル. - */ - Synthesizer.prototype.allSoundOff = function (channel) { - /** @type {Array.} */ - var currentNoteOn = this.currentNoteOn[channel]; - - while (currentNoteOn.length > 0) { - this.noteOff(channel, currentNoteOn[0].key, 0); - } - }; - - /** - * @param {number} channel リセットするチャンネル - */ - Synthesizer.prototype.resetAllControl = function (channel) { - this.pitchBend(channel, 0x00, 0x40); // 8192 - }; - - exports.default = Synthesizer; +"use strict"; -/***/ }, +exports.__esModule = true; +function readString(data, start, end) { + var str = String.fromCharCode.apply(null, data.subarray(start, end)); + var nullLocation = str.indexOf("\u0000"); + if (nullLocation > 0) { + return str.substr(0, nullLocation); + } + return str; +} +exports.readString = readString; + + +/***/ }), /* 5 */ -/***/ function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var Stream = /** @class */ (function () { + function Stream(data, offset) { + this.data = data; + this.ip = offset; + } + Stream.prototype.readString = function (size) { + var str = String.fromCharCode.apply(null, this.data.subarray(this.ip, this.ip += size)); + var nullLocation = str.indexOf("\u0000"); + if (nullLocation > 0) { + return str.substr(0, nullLocation); + } + return str; + }; + Stream.prototype.readWORD = function () { + return this.data[this.ip++] | (this.data[this.ip++] << 8); + }; + Stream.prototype.readDWORD = function () { + return (this.data[this.ip++] | + (this.data[this.ip++] << 8) | + (this.data[this.ip++] << 16) | + (this.data[this.ip++] << 24)) >>> 0; + }; + Stream.prototype.readByte = function () { + return this.data[this.ip++]; + }; + Stream.prototype.readAt = function (offset) { + return this.data[this.ip + offset]; + }; + /* helper */ + Stream.prototype.readUInt8 = function () { + return this.readByte(); + }; + Stream.prototype.readInt8 = function () { + return (this.readByte() << 24) >> 24; + }; + Stream.prototype.readUInt16 = function () { + return this.readWORD(); + }; + Stream.prototype.readInt16 = function () { + return (this.readWORD() << 16) >> 16; + }; + Stream.prototype.readUInt32 = function () { + return this.readDWORD(); + }; + return Stream; +}()); +exports["default"] = Stream; + + +/***/ }), +/* 6 */, +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_wml_ts__ = __webpack_require__(8); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_wml_ts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__src_wml_ts__); + +/* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__src_wml_ts___default.a); + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var sound_font_synth_ts_1 = __webpack_require__(9); +var synth_view_ts_1 = __webpack_require__(12); +var midi_message_handler_ts_1 = __webpack_require__(14); +/** + * @constructor + */ +var WebMidiLink = function () { + /** @type {function(ArrayBuffer)} */ + this.loadCallback; + /** @type {Function} */ + this.messageHandler = this.onmessage.bind(this); + this.midiMessageHandler = new midi_message_handler_ts_1["default"](); + window.addEventListener('DOMContentLoaded', function () { + this.ready = true; + }.bind(this), false); +}; +WebMidiLink.prototype.setup = function (url) { + if (!this.ready) { + window.addEventListener('DOMContentLoaded', function onload() { + window.removeEventListener('DOMContentLoaded', onload, false); + this.load(url); + }.bind(this), false); + } + else { + this.load(url); + } +}; +WebMidiLink.prototype.load = function (url) { + /** @type {XMLHttpRequest} */ + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.addEventListener('load', function (ev) { + /** @type {XMLHttpRequest} */ + var xhr = ev.target; + this.onload(xhr.response); + if (typeof this.loadCallback === 'function') { + this.loadCallback(xhr.response); + } + }.bind(this), false); + xhr.send(); +}; +/** + * @param {ArrayBuffer} response + */ +WebMidiLink.prototype.onload = function (response) { + /** @type {Uint8Array} */ + var input = new Uint8Array(response); + this.loadSoundFont(input); +}; +/** + * @param {Uint8Array} input + */ +WebMidiLink.prototype.loadSoundFont = function (input) { + /** @type {Synthesizer} */ + var synth; + if (!this.synth) { + synth = this.synth = new sound_font_synth_ts_1["default"](input); + var view = this.view = new synth_view_ts_1["default"](); + document.body.appendChild(view.draw(synth)); + this.midiMessageHandler.synth = synth; + synth.init(); + synth.start(); + window.addEventListener('message', this.messageHandler, false); + } + else { + synth = this.synth; + synth.refreshInstruments(input); + } + // link ready + if (window.opener) { + window.opener.postMessage("link,ready", '*'); + } + else if (window.parent !== window) { + window.parent.postMessage("link,ready", '*'); + } +}; +/** + * @param {Event} ev + */ +WebMidiLink.prototype.onmessage = function (ev) { + var msg = ev.data.split(','); + var type = msg.shift(); + var command; + switch (type) { + case 'midi': + this.midiMessageHandler.processMidiMessage(msg.map(function (hex) { + return parseInt(hex, 16); + })); + break; + case 'link': + command = msg.shift(); + switch (command) { + case 'reqpatch': + // TODO: dummy data + if (window.opener) { + window.opener.postMessage("link,patch", '*'); + } + else if (window.parent !== window) { + window.parent.postMessage("link,patch", '*'); + } + break; + case 'setpatch': + // TODO: NOP + break; + default: + console.error('unknown link message:', command); + break; + } + break; + default: + console.error('unknown message type'); + } +}; +/** + * @param {function(ArrayBuffer)} callback + */ +WebMidiLink.prototype.setLoadCallback = function (callback) { + this.loadCallback = callback; +}; +exports["default"] = WebMidiLink; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var sound_font_synth_note_ts_1 = __webpack_require__(10); +var sf2_ts_1 = __webpack_require__(1); +var sound_font_ts_1 = __webpack_require__(11); +var BASE_VOLUME = 0.4; +var Channel = /** @class */ (function () { + function Channel() { + this.instrument = 0; + this.volume = 0; + this.pitchBend = 0; + this.pitchBendSensitivity = 0; + this.panpot = 0; + this.currentNoteOn = []; + } + return Channel; +}()); +var DummyView = /** @class */ (function () { + function DummyView() { + } + DummyView.prototype.draw = function () { }; + DummyView.prototype.remove = function () { }; + DummyView.prototype.getInstrumentElement = function () { }; + DummyView.prototype.getKeyElement = function () { }; + DummyView.prototype.noteOn = function () { }; + DummyView.prototype.noteOff = function () { }; + DummyView.prototype.programChange = function () { }; + DummyView.prototype.volumeChange = function () { }; + DummyView.prototype.panpotChange = function () { }; + DummyView.prototype.pitchBend = function () { }; + DummyView.prototype.pitchBendSensitivity = function () { }; + return DummyView; +}()); +var Synthesizer = /** @class */ (function () { + function Synthesizer(ctx) { + this.input = null; + this.bank = 0; + this.bufferSize = 1024; + this.channels = []; + this.masterVolume = 1.0; + this.view = new DummyView(); + this.ctx = ctx; + this.gainMaster = this.ctx.createGain(); + this.setMasterVolume(this.masterVolume); + this.init(); + } + Synthesizer.prototype.init = function () { + for (var i = 0; i < 16; ++i) { + this.channels.push(new Channel()); + this.programChange(i, i !== 9 ? i : 0); + this.volumeChange(i, 0x64); + this.panpotChange(i, 0x40); + this.pitchBend(i, 0x00, 0x40); // 8192 + this.pitchBendSensitivity(i, 2); + } + }; + Synthesizer.prototype.refreshInstruments = function (input) { + this.input = input; + var parser = new sf2_ts_1["default"](input); + parser.parse(); + this.soundFont = new sound_font_ts_1["default"](parser); + }; + Synthesizer.prototype.connect = function (destination) { + this.gainMaster.connect(destination); + }; + Synthesizer.prototype.setMasterVolume = function (volume) { + this.masterVolume = volume; + this.gainMaster.gain.value = BASE_VOLUME * volume / 0x8000; + }; + Synthesizer.prototype.noteOn = function (channelNumber, key, velocity) { + if (!this.soundFont) { + return; + } + var bankNumber = channelNumber === 9 ? 128 : this.bank; + var channel = this.channels[channelNumber]; + var instrumentKey = this.soundFont.getInstrumentKey(bankNumber, channel.instrument, key, velocity); + if (!instrumentKey) { + return; + } + var panpot = channel.panpot - 64; + panpot /= panpot < 0 ? 64 : 63; + // create note information + instrumentKey['channel'] = channelNumber; + instrumentKey['key'] = key; + instrumentKey['velocity'] = velocity; + instrumentKey['panpot'] = panpot; + instrumentKey['volume'] = channel.volume / 127; + instrumentKey['pitchBend'] = channel.pitchBend - 0x2000; + instrumentKey['pitchBendSensitivity'] = channel.pitchBendSensitivity; + // note on + var note = new sound_font_synth_note_ts_1["default"](this.ctx, this.gainMaster, instrumentKey); + note.noteOn(); + channel.currentNoteOn.push(note); + this.view.noteOn(channelNumber, key); + }; + Synthesizer.prototype.noteOff = function (channelNumber, key, velocity) { + if (!this.soundFont) { + return; + } + var bankNumber = channelNumber === 9 ? 128 : this.bank; + var channel = this.channels[channelNumber]; + var instrumentKey = this.soundFont.getInstrumentKey(bankNumber, channel.instrument, key); + if (!instrumentKey) { + return; + } + var currentNoteOn = channel.currentNoteOn; + for (var i = 0, il = currentNoteOn.length; i < il; ++i) { + var note = currentNoteOn[i]; + if (note.key === key) { + note.noteOff(); + currentNoteOn.splice(i, 1); + --i; + --il; + } + } + this.view.noteOff(channelNumber, key); + }; + Synthesizer.prototype.programChange = function (channelNumber, instrument) { + this.view.programChange(channelNumber, instrument); + this.channels[channelNumber].instrument = instrument; + }; + Synthesizer.prototype.volumeChange = function (channelNumber, volume) { + this.view.volumeChange(channelNumber, volume); + this.channels[channelNumber].volume = volume; + }; + Synthesizer.prototype.panpotChange = function (channelNumber, panpot) { + this.view.panpotChange(channelNumber, panpot); + this.channels[channelNumber].panpot = panpot; + }; + Synthesizer.prototype.pitchBend = function (channelNumber, lowerByte, higherByte) { + var bend = (lowerByte & 0x7f) | ((higherByte & 0x7f) << 7); + var channel = this.channels[channelNumber]; + var currentNoteOn = channel.currentNoteOn; + var calculated = bend - 0x2000; + this.view.pitchBend(channelNumber, calculated); + for (var i = 0, il = currentNoteOn.length; i < il; ++i) { + currentNoteOn[i].updatePitchBend(calculated); + } + channel.pitchBend = bend; + }; + Synthesizer.prototype.pitchBendSensitivity = function (channelNumber, sensitivity) { + this.view.pitchBendSensitivity(channelNumber, sensitivity); + this.channels[channelNumber].pitchBendSensitivity = sensitivity; + }; + Synthesizer.prototype.allSoundOff = function (channelNumber) { + var currentNoteOn = this.channels[channelNumber].currentNoteOn; + while (currentNoteOn.length > 0) { + this.noteOff(channelNumber, currentNoteOn[0].key, 0); + } + }; + Synthesizer.prototype.resetAllControl = function (channelNumber) { + this.pitchBend(channelNumber, 0x00, 0x40); // 8192 + }; + return Synthesizer; +}()); +exports["default"] = Synthesizer; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var SynthesizerNote = /** @class */ (function () { + function SynthesizerNote(ctx, destination, instrument) { + this.ctx = ctx; + this.destination = destination; + this.instrument = instrument; + this.channel = instrument.channel; + this.key = instrument.key; + this.velocity = instrument.velocity; + this.buffer = instrument.sample; + this.playbackRate = instrument.playbackRate(instrument.key); + this.sampleRate = instrument.sampleRate; + this.volume = instrument.volume; + this.panpot = instrument.panpot; + this.pitchBend = instrument.pitchBend; + this.pitchBendSensitivity = instrument.pitchBendSensitivity; + this.modEnvToPitch = instrument.modEnvToPitch; + this.startTime = ctx.currentTime; + this.computedPlaybackRate = this.playbackRate; + } + SynthesizerNote.prototype.noteOn = function () { + var _this = this; + var _a = this, ctx = _a.ctx, instrument = _a.instrument, buffer = _a.buffer; + var sample = buffer.subarray(0, buffer.length + instrument.end); + this.audioBuffer = ctx.createBuffer(1, sample.length, this.sampleRate); + var channelData = this.audioBuffer.getChannelData(0); + channelData.set(sample); + // buffer source + var bufferSource = ctx.createBufferSource(); + bufferSource.buffer = this.audioBuffer; + bufferSource.loop = (this.channel !== 9); + bufferSource.loopStart = instrument.loopStart / this.sampleRate; + bufferSource.loopEnd = instrument.loopEnd / this.sampleRate; + bufferSource.onended = function () { return _this.disconnect(); }; + this.bufferSource = bufferSource; + this.updatePitchBend(this.pitchBend); + // audio node + var panner = this.panner = ctx.createPanner(); + var output = this.gainOutput = ctx.createGain(); + var outputGain = output.gain; + // filter + var filter = ctx.createBiquadFilter(); + filter.type = "lowpass"; + this.filter = filter; + // panpot + panner.panningModel = "equalpower"; + panner.setPosition(Math.sin(this.panpot * Math.PI / 2), 0, Math.cos(this.panpot * Math.PI / 2)); + //--------------------------------------------------------------------------- + // Attack, Decay, Sustain + //--------------------------------------------------------------------------- + var now = this.ctx.currentTime; + var volAttackTime = now + instrument.volAttack; + var modAttackTime = now + instrument.modAttack; + var volDecay = volAttackTime + instrument.volDecay; + var modDecay = modAttackTime + instrument.modDecay; + var startTime = instrument.start / this.sampleRate; + var attackVolume = this.volume * (this.velocity / 127); + outputGain.setValueAtTime(0, now); + outputGain.linearRampToValueAtTime(attackVolume, volAttackTime); + outputGain.linearRampToValueAtTime(attackVolume * (1 - instrument.volSustain), volDecay); + filter.Q.setValueAtTime(instrument.initialFilterQ / 10, now); + var baseFreq = amountToFreq(instrument.initialFilterFc); + var peekFreq = amountToFreq(instrument.initialFilterFc + instrument.modEnvToFilterFc); + var sustainFreq = baseFreq + (peekFreq - baseFreq) * (1 - instrument.modSustain); + filter.frequency.setValueAtTime(baseFreq, now); + filter.frequency.linearRampToValueAtTime(peekFreq, modAttackTime); + filter.frequency.linearRampToValueAtTime(sustainFreq, modDecay); + function amountToFreq(val) { + return Math.pow(2, (val - 6900) / 1200) * 440; + } + // connect + bufferSource.connect(filter); + filter.connect(panner); + panner.connect(output); + output.connect(this.destination); + // fire + bufferSource.start(0, startTime); + }; + SynthesizerNote.prototype.noteOff = function () { + var _a = this, instrument = _a.instrument, bufferSource = _a.bufferSource; + var output = this.gainOutput; + var now = this.ctx.currentTime; + var volEndTime = now + instrument.volRelease; + var modEndTime = now + instrument.modRelease; + if (!this.audioBuffer) { + return; + } + // ignore note off for rhythm track + if (this.channel === 9) { + return; + } + //--------------------------------------------------------------------------- + // Release + //--------------------------------------------------------------------------- + output.gain.cancelScheduledValues(0); + output.gain.linearRampToValueAtTime(0, volEndTime); + bufferSource.playbackRate.cancelScheduledValues(0); + bufferSource.playbackRate.linearRampToValueAtTime(this.computedPlaybackRate, modEndTime); + bufferSource.loop = false; + bufferSource.stop(volEndTime); + }; + SynthesizerNote.prototype.disconnect = function () { + this.bufferSource.disconnect(0); + this.panner.disconnect(0); + this.gainOutput.disconnect(0); + }; + SynthesizerNote.prototype.schedulePlaybackRate = function () { + var playbackRate = this.bufferSource.playbackRate; + var computed = this.computedPlaybackRate; + var start = this.startTime; + var instrument = this.instrument; + var modAttack = start + instrument.modAttack; + var modDecay = modAttack + instrument.modDecay; + var peekPitch = computed * Math.pow(Math.pow(2, 1 / 12), this.modEnvToPitch * this.instrument.scaleTuning); + playbackRate.cancelScheduledValues(0); + playbackRate.setValueAtTime(computed, start); + playbackRate.linearRampToValueAtTime(peekPitch, modAttack); + playbackRate.linearRampToValueAtTime(computed + (peekPitch - computed) * (1 - instrument.modSustain), modDecay); + }; + SynthesizerNote.prototype.updatePitchBend = function (pitchBend) { + this.computedPlaybackRate = this.playbackRate * Math.pow(Math.pow(2, 1 / 12), (this.pitchBendSensitivity * (pitchBend / (pitchBend < 0 ? 8192 : 8191))) * this.instrument.scaleTuning); + this.schedulePlaybackRate(); + }; + return SynthesizerNote; +}()); +exports["default"] = SynthesizerNote; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +exports.__esModule = true; +/** + * Parser で読み込んだサウンドフォントのデータを + * Synthesizer から利用しやすい形にするクラス + */ +var SoundFont = /** @class */ (function () { + function SoundFont(parser) { + this.bankSet = createAllInstruments(parser); + } + SoundFont.prototype.getInstrumentKey = function (bankNumber, instrumentNumber, key, velocity) { + if (velocity === void 0) { velocity = 100; } + var bank = this.bankSet[bankNumber]; + if (!bank) { + console.warn("bank not found: bank=%s instrument=%s", bankNumber, instrumentNumber); + return null; + } + var instrument = bank[instrumentNumber]; + if (!instrument) { + // TODO + console.warn("instrument not found: bank=%s instrument=%s", bankNumber, instrumentNumber); + return null; + } + var instrumentKey = instrument.notes.filter(function (i) { + var isInKeyRange = false; + if (i.keyRange) { + isInKeyRange = key >= i.keyRange.lo && key <= i.keyRange.hi; + } + var isInVelRange = true; + if (i.velRange) { + isInVelRange = velocity >= i.velRange.lo && velocity <= i.velRange.hi; + } + return isInKeyRange && isInVelRange; + })[0]; + if (!instrumentKey) { + // TODO + console.warn("instrument not found: bank=%s instrument=%s key=%s", bankNumber, instrumentNumber, key); + return null; + } + return instrumentKey; + }; + return SoundFont; +}()); +exports["default"] = SoundFont; +function createInstrument(_a) { + var instrument = _a.instrument, instrumentZone = _a.instrumentZone, instrumentZoneGenerator = _a.instrumentZoneGenerator, instrumentZoneModulator = _a.instrumentZoneModulator; + var zone = instrumentZone; + var output = []; + // instrument -> instrument bag -> generator / modulator + for (var i = 0; i < instrument.length; ++i) { + var bagIndex = instrument[i].instrumentBagIndex; + var bagIndexEnd = instrument[i + 1] ? instrument[i + 1].instrumentBagIndex : zone.length; + var zoneInfo = []; + // instrument bag + for (var j = bagIndex; j < bagIndexEnd; ++j) { + var instrumentGenerator = createInstrumentGenerator(zone, j, instrumentZoneGenerator); + var instrumentModulator = createInstrumentModulator(zone, j, instrumentZoneModulator); + zoneInfo.push({ + generator: instrumentGenerator.generator, + generatorSequence: instrumentGenerator.generatorInfo, + modulator: instrumentModulator.modulator, + modulatorSequence: instrumentModulator.modulatorInfo + }); + } + output.push({ + name: instrument[i].instrumentName, + info: zoneInfo + }); + } + return output; +} +function createPreset(_a) { + var presetHeader = _a.presetHeader, presetZone = _a.presetZone, presetZoneGenerator = _a.presetZoneGenerator, presetZoneModulator = _a.presetZoneModulator; + // preset -> preset bag -> generator / modulator + return presetHeader.map(function (preset, i) { + var nextPreset = presetHeader[i + 1]; + var bagIndex = preset.presetBagIndex; + var bagIndexEnd = nextPreset ? nextPreset.presetBagIndex : presetZone.length; + var zoneInfo = []; + // preset bag + for (var j = bagIndex, jl = bagIndexEnd; j < jl; ++j) { + zoneInfo.push({ + presetGenerator: createPresetGenerator(presetZone, j, presetZoneGenerator), + presetModulator: createPresetModulator(presetZone, j, presetZoneModulator) + }); + } + return { + info: zoneInfo, + header: preset + }; + }); +} +function createAllInstruments(parser) { + var presets = createPreset(parser); + var instruments = createInstrument(parser); + var banks = []; + for (var _i = 0, presets_1 = presets; _i < presets_1.length; _i++) { + var preset = presets_1[_i]; + var bankNumber = preset.header.bank; + var presetNumber = preset.header.preset; + var notes = preset.info + .map(function (info) { return info.presetGenerator.generator; }) + .map(function (generator) { + if (generator.instrument === undefined) { + return null; + } + var instrumentNumber = generator.instrument.amount; + var instrument = instruments[instrumentNumber]; + // use the first generator in the zone as the default value + var baseGenerator; + if (instrument.info[0].generator) { + var generator_1 = instrument.info[0].generator; + if (generator_1.sampleID === undefined && generator_1.keyRange.lo === 0 && generator_1.keyRange.hi === 127) { + baseGenerator = generator_1; + } + } + return instrument.info + .map(function (info) { return createNoteInfo(parser, info.generator, baseGenerator); }) + .filter(function (x) { return x; }); // remove null + }) + .filter(function (x) { return x; }) // remove null + .reduce(function (a, b) { return a.concat(b); }, []); // flatten + // select bank + if (banks[bankNumber] === undefined) { + banks[bankNumber] = []; + } + var bank = banks[bankNumber]; + bank[presetNumber] = { + notes: notes, + name: preset.header.presetName + }; + } + return banks; +} +function createNoteInfo(parser, targetGenerator, baseGenerator) { + var generator = __assign({}, baseGenerator, targetGenerator); + var _a = generator, keyRange = _a.keyRange, sampleID = _a.sampleID, velRange = _a.velRange; + if (keyRange === undefined || sampleID === undefined) { + return null; + } + var volAttack = getModGenAmount(generator, 'attackVolEnv', -12000); + var volDecay = getModGenAmount(generator, 'decayVolEnv', -12000); + var volSustain = getModGenAmount(generator, 'sustainVolEnv'); + var volRelease = getModGenAmount(generator, 'releaseVolEnv', -12000); + var modAttack = getModGenAmount(generator, 'attackModEnv', -12000); + var modDecay = getModGenAmount(generator, 'decayModEnv', -12000); + var modSustain = getModGenAmount(generator, 'sustainModEnv'); + var modRelease = getModGenAmount(generator, 'releaseModEnv', -12000); + var tune = (getModGenAmount(generator, 'coarseTune') + + getModGenAmount(generator, 'fineTune') / 100); + var scale = getModGenAmount(generator, 'scaleTuning', 100) / 100; + var freqVibLFO = getModGenAmount(generator, 'freqVibLFO'); + var sampleId = getModGenAmount(generator, 'sampleID'); + var sampleHeader = parser.sampleHeader[sampleId]; + var basePitch = tune + (sampleHeader.pitchCorrection / 100) - getModGenAmount(generator, 'overridingRootKey', sampleHeader.originalPitch); + return { + sample: parser.sample[sampleId], + sampleRate: sampleHeader.sampleRate, + sampleName: sampleHeader.sampleName, + modEnvToPitch: getModGenAmount(generator, 'modEnvToPitch') / 100, + scaleTuning: scale, + start: getModGenAmount(generator, 'startAddrsCoarseOffset') * 32768 + + getModGenAmount(generator, 'startAddrsOffset'), + end: getModGenAmount(generator, 'endAddrsCoarseOffset') * 32768 + + getModGenAmount(generator, 'endAddrsOffset'), + loopStart: ( + //(sampleHeader.startLoop - sampleHeader.start) + + (sampleHeader.startLoop) + + getModGenAmount(generator, 'startloopAddrsCoarseOffset') * 32768 + + getModGenAmount(generator, 'startloopAddrsOffset')), + loopEnd: ( + //(sampleHeader.endLoop - sampleHeader.start) + + (sampleHeader.endLoop) + + getModGenAmount(generator, 'endloopAddrsCoarseOffset') * 32768 + + getModGenAmount(generator, 'endloopAddrsOffset')), + volAttack: Math.pow(2, volAttack / 1200), + volDecay: Math.pow(2, volDecay / 1200), + volSustain: volSustain / 1000, + volRelease: Math.pow(2, volRelease / 1200), + modAttack: Math.pow(2, modAttack / 1200), + modDecay: Math.pow(2, modDecay / 1200), + modSustain: modSustain / 1000, + modRelease: Math.pow(2, modRelease / 1200), + initialFilterFc: getModGenAmount(generator, 'initialFilterFc', 13500), + modEnvToFilterFc: getModGenAmount(generator, 'modEnvToFilterFc'), + initialFilterQ: getModGenAmount(generator, 'initialFilterQ', 1), + freqVibLFO: freqVibLFO ? Math.pow(2, freqVibLFO / 1200) * 8.176 : undefined, + playbackRate: function (key) { return Math.pow(Math.pow(2, 1 / 12), (key + basePitch) * scale); }, + keyRange: keyRange, + velRange: velRange + }; +} +function getModGenAmount(generator, enumeratorType, opt_default) { + if (opt_default === void 0) { opt_default = 0; } + return generator[enumeratorType] ? generator[enumeratorType].amount : opt_default; +} +function createBagModGen(zone, indexStart, indexEnd, zoneModGen) { + var modgenInfo = []; + var modgen = { + unknown: [], + 'keyRange': { + hi: 127, + lo: 0 + } + }; // TODO + for (var i = indexStart; i < indexEnd; ++i) { + var info = zoneModGen[i]; + modgenInfo.push(info); + if (info.type === 'unknown') { + modgen.unknown.push(info.value); + } + else { + modgen[info.type] = info.value; + } + } + return { modgen: modgen, modgenInfo: modgenInfo }; +} +function createInstrumentGenerator(zone, index, instrumentZoneGenerator) { + var modgen = createBagModGen(zone, zone[index].instrumentGeneratorIndex, zone[index + 1] ? zone[index + 1].instrumentGeneratorIndex : instrumentZoneGenerator.length, instrumentZoneGenerator); + return { + generator: modgen.modgen, + generatorInfo: modgen.modgenInfo + }; +} +function createInstrumentModulator(zone, index, instrumentZoneModulator) { + var modgen = createBagModGen(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].instrumentModulatorIndex : instrumentZoneModulator.length, instrumentZoneModulator); + return { + modulator: modgen.modgen, + modulatorInfo: modgen.modgenInfo + }; +} +function createPresetGenerator(zone, index, presetZoneGenerator) { + var modgen = createBagModGen(zone, zone[index].presetGeneratorIndex, zone[index + 1] ? zone[index + 1].presetGeneratorIndex : presetZoneGenerator.length, presetZoneGenerator); + return { + generator: modgen.modgen, + generatorInfo: modgen.modgenInfo + }; +} +function createPresetModulator(zone, index, presetZoneModulator) { + var modgen = createBagModGen(zone, zone[index].presetModulatorIndex, zone[index + 1] ? zone[index + 1].presetModulatorIndex : presetZoneModulator.length, presetZoneModulator); + return { + modulator: modgen.modgen, + modulatorInfo: modgen.modgenInfo + }; +} + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var program_names_ts_1 = __webpack_require__(13); +function render(str) { + var wrapper = document.createElement("div"); + wrapper.innerHTML = str.replace(/^\s+/, ""); + return wrapper.firstElementChild; +} +function renderKeys() { + var html = ""; + for (var i = 0; i < 128; i++) { + var n = i % 12; + var isBlack = [1, 3, 6, 8, 10].includes(n); + html += "
"; + } + return html; +} +function renderProgramOptions(programNames, bank) { + var html = ""; + var names = programNames[bank]; + for (var i in names) { + var name_1 = names[i]; + html += ""; + } + return ""; +} +function renderInstrument(program) { + return render("\n
\n
" + program + "
\n
\n
\n
\n
\n
" + renderKeys() + "
\n
\n "); +} +function programNamesFromBankSet(bankSet) { + return bankSet.map(function (bank) { return bank.map(function (s) { return s.name; }); }); +} +function mergeProgramNames(left, right) { + function mergedKeys(a, b) { + return new Set(Object.keys(a).concat(Object.keys(b))); + } + var banks = mergedKeys(left, right); + var result = {}; + banks.forEach(function (bank) { + var l = left[bank] || []; + var r = right[bank] || []; + var list = {}; + var programs = mergedKeys(l, r); + programs.forEach(function (p) { + list[p] = (l[p] || "None") + " (" + (r[p] || "None") + ")"; + }); + result[bank] = list; + }); + return result; +} +var View = /** @class */ (function () { + function View() { + this.drag = false; + } + View.prototype.draw = function (synth) { + var _this = this; + var element = this.element = render("
"); + var programNames = mergeProgramNames(programNamesFromBankSet(synth.soundFont.bankSet), program_names_ts_1["default"]); + var _loop_1 = function (i) { + var bank = i !== 9 ? 0 : 128; + var program = renderProgramOptions(programNames, bank); + var item = renderInstrument(program); + var channel = i; + var select = item.querySelector('select'); + if (select) { + select.addEventListener('change', function (event) { + var target = event.target; + synth.programChange(channel, parseInt(target.value, 10)); + }, false); + select.selectedIndex = synth.channels[i].instrument; + } + var notes = item.querySelectorAll(".key"); + var _loop_2 = function (j) { + var key = j; + notes[j].addEventListener('mousedown', function (event) { + event.preventDefault(); + _this.drag = true; + synth.noteOn(channel, key, 127); + }); + notes[j].addEventListener('mouseover', function (event) { + event.preventDefault(); + if (_this.drag) { + synth.noteOn(channel, key, 127); + } + }); + notes[j].addEventListener('mouseout', function (event) { + event.preventDefault(); + synth.noteOff(channel, key, 0); + }); + notes[j].addEventListener('mouseup', function (event) { + event.preventDefault(); + _this.drag = false; + synth.noteOff(channel, key, 0); + }); + }; + for (var j = 0; j < 128; ++j) { + _loop_2(j); + } + element.appendChild(item); + }; + for (var i = 0; i < 16; ++i) { + _loop_1(i); + } + return element; + }; + View.prototype.remove = function () { + if (!this.element) { + return; + } + this.element.parentNode.removeChild(this.element); + this.element = null; + }; + View.prototype.getInstrumentElement = function (channel) { + return this.element.querySelectorAll(".instrument")[channel]; + }; + View.prototype.getKeyElement = function (channel, key) { + return this.getInstrumentElement(channel).querySelectorAll(".key")[key]; + }; + View.prototype.noteOn = function (channel, key) { + if (!this.element) { + return; + } + this.getKeyElement(channel, key).classList.add('note-on'); + }; + View.prototype.noteOff = function (channel, key) { + if (!this.element) { + return; + } + this.getKeyElement(channel, key).classList.remove('note-on'); + }; + View.prototype.programChange = function (channel, instrument) { + if (!this.element) { + return; + } + var select = this.getInstrumentElement(channel).querySelector(".program select"); + if (select) { + select.value = instrument; + } + }; + View.prototype.volumeChange = function (channel, volume) { + if (!this.element) { + return; + } + this.getInstrumentElement(channel).querySelector(".volume").textContent = volume; + }; + View.prototype.panpotChange = function (channel, panpot) { + if (!this.element) { + return; + } + this.getInstrumentElement(channel).querySelector(".panpot").textContent = panpot; + }; + View.prototype.pitchBend = function (channel, calculatedPitch) { + if (!this.element) { + return; + } + this.getInstrumentElement(channel).querySelector(".pitchBend").textContent = calculatedPitch; + }; + View.prototype.pitchBendSensitivity = function (channel, sensitivity) { + if (!this.element) { + return; + } + this.getInstrumentElement(channel).querySelector(".pitchBendSensitivity").textContent = sensitivity; + }; + return View; +}()); +exports["default"] = View; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var ProgramNames = { + 0: [ + "Acoustic Piano", + "Bright Piano", + "Electric Grand Piano", + "Honky-tonk Piano", + "Electric Piano", + "Electric Piano 2", + "Harpsichord", + "Clavi", + "Celesta", + "Glockenspiel", + "Musical box", + "Vibraphone", + "Marimba", + "Xylophone", + "Tubular Bell", + "Dulcimer", + "Drawbar Organ", + "Percussive Organ", + "Rock Organ", + "Church organ", + "Reed organ", + "Accordion", + "Harmonica", + "Tango Accordion", + "Acoustic Guitar (nylon)", + "Acoustic Guitar (steel)", + "Electric Guitar (jazz)", + "Electric Guitar (clean)", + "Electric Guitar (muted)", + "Overdriven Guitar", + "Distortion Guitar", + "Guitar harmonics", + "Acoustic Bass", + "Electric Bass (finger)", + "Electric Bass (pick)", + "Fretless Bass", + "Slap Bass 1", + "Slap Bass 2", + "Synth Bass 1", + "Synth Bass 2", + "Violin", + "Viola", + "Cello", + "Double bass", + "Tremolo Strings", + "Pizzicato Strings", + "Orchestral Harp", + "Timpani", + "String Ensemble 1", + "String Ensemble 2", + "Synth Strings 1", + "Synth Strings 2", + "Voice Aahs", + "Voice Oohs", + "Synth Voice", + "Orchestra Hit", + "Trumpet", + "Trombone", + "Tuba", + "Muted Trumpet", + "French horn", + "Brass Section", + "Synth Brass 1", + "Synth Brass 2", + "Soprano Sax", + "Alto Sax", + "Tenor Sax", + "Baritone Sax", + "Oboe", + "English Horn", + "Bassoon", + "Clarinet", + "Piccolo", + "Flute", + "Recorder", + "Pan Flute", + "Blown Bottle", + "Shakuhachi", + "Whistle", + "Ocarina", + "Lead 1 (square)", + "Lead 2 (sawtooth)", + "Lead 3 (calliope)", + "Lead 4 (chiff)", + "Lead 5 (charang)", + "Lead 6 (voice)", + "Lead 7 (fifths)", + "Lead 8 (bass + lead)", + "Pad 1 (Fantasia)", + "Pad 2 (warm)", + "Pad 3 (polysynth)", + "Pad 4 (choir)", + "Pad 5 (bowed)", + "Pad 6 (metallic)", + "Pad 7 (halo)", + "Pad 8 (sweep)", + "FX 1 (rain)", + "FX 2 (soundtrack)", + "FX 3 (crystal)", + "FX 4 (atmosphere)", + "FX 5 (brightness)", + "FX 6 (goblins)", + "FX 7 (echoes)", + "FX 8 (sci-fi)", + "Sitar", + "Banjo", + "Shamisen", + "Koto", + "Kalimba", + "Bagpipe", + "Fiddle", + "Shanai", + "Tinkle Bell", + "Agogo", + "Steel Drums", + "Woodblock", + "Taiko Drum", + "Melodic Tom", + "Synth Drum", + "Reverse Cymbal", + "Guitar Fret Noise", + "Breath Noise", + "Seashore", + "Bird Tweet", + "Telephone Ring", + "Helicopter", + "Applause", + "Gunshot" + ], 128: ["Rhythm Track"] +}; +exports["default"] = ProgramNames; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +exports.__esModule = true; +var MidiMessageHandler = /** @class */ (function () { + function MidiMessageHandler() { + this.RpnMsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + this.RpnLsb = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + } + MidiMessageHandler.prototype.processMidiMessage = function (message) { + var channel = message[0] & 0x0f; + var synth = this.synth; + if (!synth) { + return; + } + switch (message[0] & 0xf0) { + case 0x80:// NoteOff: 8n kk vv + synth.noteOff(channel, message[1], message[2]); + break; + case 0x90:// NoteOn: 9n kk vv + if (message[2] > 0) { + synth.noteOn(channel, message[1], message[2]); + } + else { + synth.noteOff(channel, message[1], 0); + } + break; + case 0xB0:// Control Change: Bn cc dd + switch (message[1]) { + case 0x06:// Data Entry: Bn 06 dd + switch (this.RpnMsb[channel]) { + case 0: + switch (this.RpnLsb[channel]) { + case 0:// Pitch Bend Sensitivity + synth.pitchBendSensitivity(channel, message[2]); + break; + default: + break; + } + break; + default: + break; + } + break; + case 0x07:// Volume Change: Bn 07 dd + synth.volumeChange(channel, message[2]); + break; + case 0x0A:// Panpot Change: Bn 0A dd + synth.panpotChange(channel, message[2]); + break; + case 0x78:// All Sound Off: Bn 78 00 + synth.allSoundOff(channel); + break; + case 0x79:// Reset All Control: Bn 79 00 + synth.resetAllControl(channel); + break; + case 0x20:// BankSelect + //console.log("bankselect:", channel, message[2]) + break; + case 0x64:// RPN MSB + this.RpnMsb[channel] = message[2]; + break; + case 0x65:// RPN LSB + this.RpnLsb[channel] = message[2]; + break; + default: + } + break; + case 0xC0:// Program Change: Cn pp + synth.programChange(channel, message[1]); + break; + case 0xE0:// Pitch Bend + synth.pitchBend(channel, message[1], message[2]); + break; + case 0xf0:// System Exclusive Message + // ID number + switch (message[1]) { + case 0x7e:// non-realtime + // TODO + break; + case 0x7f:// realtime + // const device = message[2] + // sub ID 1 + switch (message[3]) { + case 0x04:// device control + // sub ID 2 + switch (message[4]) { + case 0x01: { + var volume = message[5] + (message[6] << 7); + var MAX_VOLUME = 0x4000 - 1; + synth.setMasterVolume(volume / MAX_VOLUME); + break; + } + default: + break; + } + break; + default: + break; + } + break; + default: + break; + } + break; + default:// not supported + break; + } + }; + return MidiMessageHandler; +}()); +exports["default"] = MidiMessageHandler; - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - /** - * @param {AudioContext} ctx - * @param {AudioNode} destination - * @param {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * basePlaybackRate: number, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} instrument - * @constructor - */ - var SynthesizerNote = function SynthesizerNote(ctx, destination, instrument) { - /** @type {AudioContext} */ - this.ctx = ctx; - /** @type {AudioNode} */ - this.destination = destination; - /** @type {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * basePlaybackRate: number, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} - */ - this.instrument = instrument; - /** @type {number} */ - this.channel = instrument['channel']; - /** @type {number} */ - this.key = instrument['key']; - /** @type {number} */ - this.velocity = instrument['velocity']; - /** @type {Int16Array} */ - this.buffer = instrument['sample']; - /** @type {number} */ - this.playbackRate = instrument['basePlaybackRate']; - /** @type {number} */ - this.sampleRate = instrument['sampleRate']; - /** @type {number} */ - this.volume = instrument['volume']; - /** @type {number} */ - this.panpot = instrument['panpot']; - /** @type {number} */ - this.pitchBend = instrument['pitchBend']; - /** @type {number} */ - this.pitchBendSensitivity = instrument['pitchBendSensitivity']; - /** @type {number} */ - this.modEnvToPitch = instrument['modEnvToPitch']; - - // state - /** @type {number} */ - this.startTime = ctx.currentTime; - /** @type {number} */ - this.computedPlaybackRate = this.playbackRate; - - //--------------------------------------------------------------------------- - // audio node - //--------------------------------------------------------------------------- - - /** @type {AudioBuffer} */ - this.audioBuffer; - /** @type {AudioBufferSourceNode} */ - this.bufferSource; - /** @type {AudioPannerNode} */ - this.panner; - /** @type {AudioGainNode} */ - this.gainOutput; - - //console.log(instrument['modAttack'], instrument['modDecay'], instrument['modSustain'], instrument['modRelease']); - }; - - SynthesizerNote.prototype.noteOn = function () { - /** @type {AudioContext} */ - var ctx = this.ctx; - /** @type {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * basePlaybackRate: number, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} */ - var instrument = this.instrument; - /** @type {Int16Array} */ - var sample = this.buffer; - /** @type {AudioBuffer} */ - var buffer; - /** @type {Float32Array} */ - var channelData; - /** @type {AudioBufferSourceNode} */ - var bufferSource; - /** @type {BiquadFilterNode} */ - var filter; - /** @type {AudioPannerNode} */ - var panner; - /** @type {AudioGainNode} */ - var output; - /** @type {AudioGain} */ - var outputGain; - /** @type {number} */ - var now = this.ctx.currentTime; - /** @type {number} */ - var volAttack = now + instrument['volAttack']; - /** @type {number} */ - var modAttack = now + instrument['modAttack']; - /** @type {number} */ - var volDecay = volAttack + instrument['volDecay']; - /** @type {number} */ - var modDecay = modAttack + instrument['modDecay']; - /** @type {number} */ - var loopStart = instrument['loopStart'] / this.sampleRate; - /** @type {number} */ - var loopEnd = instrument['loopEnd'] / this.sampleRate; - /** @type {number} */ - var startTime = instrument['start'] / this.sampleRate; - /** @type {number} */ - var baseFreq; - /** @type {number} */ - var peekFreq; - /** @type {number} */ - var sustainFreq; - - sample = sample.subarray(0, sample.length + instrument['end']); - buffer = this.audioBuffer = ctx.createBuffer(1, sample.length, this.sampleRate); - channelData = buffer.getChannelData(0); - channelData.set(sample); - - // buffer source - bufferSource = this.bufferSource = ctx.createBufferSource(); - bufferSource.buffer = buffer; - bufferSource.loop = this.channel !== 9; - bufferSource.loopStart = loopStart; - bufferSource.loopEnd = loopEnd; - this.updatePitchBend(this.pitchBend); - - // audio node - panner = this.panner = ctx.createPanner(); - output = this.gainOutput = ctx.createGainNode(); - outputGain = output.gain; - - // filter - filter = this.filter = ctx.createBiquadFilter(); - filter.type = filter.LOWPASS; - - // panpot - panner.panningModel = 0; - panner.setPosition(Math.sin(this.panpot * Math.PI / 2), 0, Math.cos(this.panpot * Math.PI / 2)); - - //--------------------------------------------------------------------------- - // Attack, Decay, Sustain - //--------------------------------------------------------------------------- - outputGain.setValueAtTime(0, now); - outputGain.linearRampToValueAtTime(this.volume * (this.velocity / 127), volAttack); - outputGain.linearRampToValueAtTime(this.volume * (1 - instrument['volSustain']), volDecay); - - filter.Q.setValueAtTime(instrument['initialFilterQ'] * Math.pow(10, 200), now); - baseFreq = amountToFreq(instrument['initialFilterFc']); - peekFreq = amountToFreq(instrument['initialFilterFc'] + instrument['modEnvToFilterFc']); - sustainFreq = baseFreq + (peekFreq - baseFreq) * (1 - instrument['modSustain']); - filter.frequency.setValueAtTime(baseFreq, now); - filter.frequency.linearRampToValueAtTime(peekFreq, modAttack); - filter.frequency.linearRampToValueAtTime(sustainFreq, modDecay); - - /** - * @param {number} val - * @returns {number} - */ - function amountToFreq(val) { - return Math.pow(2, (val - 6900) / 1200) * 440; - } - - // connect - bufferSource.connect(filter); - filter.connect(panner); - panner.connect(output); - output.connect(this.destination); - - // fire - bufferSource.start(0, startTime); - }; - - SynthesizerNote.prototype.noteOff = function () { - /** @type {{ - * channel: number, - * key: number, - * sample: Uint8Array, - * basePlaybackRate: number, - * loopStart: number, - * loopEnd: number, - * volume: number, - * panpot: number - * }} */ - var instrument = this.instrument; - /** @type {AudioBufferSourceNode} */ - var bufferSource = this.bufferSource; - /** @type {AudioGainNode} */ - var output = this.gainOutput; - /** @type {number} */ - var now = this.ctx.currentTime; - /** @type {number} */ - var volEndTime = now + instrument['volRelease']; - /** @type {number} */ - var modEndTime = now + instrument['modRelease']; - - if (!this.audioBuffer) { - return; - } - - //--------------------------------------------------------------------------- - // Release - //--------------------------------------------------------------------------- - output.gain.cancelScheduledValues(0); - output.gain.linearRampToValueAtTime(0, volEndTime); - bufferSource.playbackRate.cancelScheduledValues(0); - bufferSource.playbackRate.linearRampToValueAtTime(this.computedPlaybackRate, modEndTime); - - bufferSource.loop = false; - bufferSource.stop(volEndTime); - - // disconnect - //* - setTimeout(function (note) { - return function () { - note.bufferSource.disconnect(0); - note.panner.disconnect(0); - note.gainOutput.disconnect(0); - }; - }(this), instrument['volRelease'] * 1000); - //*/ - }; - - SynthesizerNote.prototype.schedulePlaybackRate = function () { - var playbackRate = this.bufferSource.playbackRate; - /** @type {number} */ - var computed = this.computedPlaybackRate; - /** @type {number} */ - var start = this.startTime; - /** @type {Object} */ - var instrument = this.instrument; - /** @type {number} */ - var modAttack = start + instrument['modAttack']; - /** @type {number} */ - var modDecay = modAttack + instrument['modDecay']; - /** @type {number} */ - var peekPitch = computed * Math.pow(Math.pow(2, 1 / 12), this.modEnvToPitch * this.instrument['scaleTuning']); - - playbackRate.cancelScheduledValues(0); - playbackRate.setValueAtTime(computed, start); - playbackRate.linearRampToValueAtTime(peekPitch, modAttack); - playbackRate.linearRampToValueAtTime(computed + (peekPitch - computed) * (1 - instrument['modSustain']), modDecay); - }; - - /** - * @param {number} pitchBend - */ - SynthesizerNote.prototype.updatePitchBend = function (pitchBend) { - this.computedPlaybackRate = this.playbackRate * Math.pow(Math.pow(2, 1 / 12), this.pitchBendSensitivity * (pitchBend / (pitchBend < 0 ? 8192 : 8191)) * this.instrument['scaleTuning']); - this.schedulePlaybackRate(); - }; - - exports.default = SynthesizerNote; -/***/ } +/***/ }) /******/ ]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgM2E3YTZiZGVkYmY2M2VlNWI1ZWQ/YTM4ZiIsIndlYnBhY2s6Ly8vLi9leHBvcnQvc3ludGguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3NmMi5qcz80M2ZhIiwid2VicGFjazovLy8uL3NyYy9yaWZmLmpzPzQyZDIiLCJ3ZWJwYWNrOi8vLy4vc3JjL3dtbC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc291bmRfZm9udF9zeW50aC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc291bmRfZm9udF9zeW50aF9ub3RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUN0Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEk7Ozs7Ozs7Ozs7OztBQ0FBOzs7Ozs7QUFFQTs7Ozs7QUFLQSxLQUFNLFNBQVMsU0FBVCxNQUFTLENBQVMsS0FBVCxFQUFnQixVQUFoQixFQUE0QjtBQUN6QyxnQkFBYSxjQUFjLEVBQTNCO0FBQ0E7QUFDQSxRQUFLLEtBQUwsR0FBYSxLQUFiO0FBQ0E7QUFDQSxRQUFLLFlBQUwsR0FBb0IsV0FBVyxjQUFYLENBQXBCOztBQUVBO0FBQ0EsUUFBSyxZQUFMO0FBQ0E7QUFDQSxRQUFLLFVBQUw7QUFDQTtBQUNBLFFBQUssbUJBQUw7QUFDQTtBQUNBLFFBQUssbUJBQUw7QUFDQTtBQUNBLFFBQUssVUFBTDtBQUNBO0FBQ0EsUUFBSyxjQUFMO0FBQ0E7QUFDQSxRQUFLLHVCQUFMO0FBQ0E7QUFDQSxRQUFLLHVCQUFMO0FBQ0E7QUFDQSxRQUFLLFlBQUw7QUFDRCxFQXpC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QUNBO0FBQ0EsT0FBSSxXQUFXLFlBQVksV0FBVyxVQUFYLENBQTNCO0FBQ0E7QUFDQSxPQUFJLFlBQVksV0FBVyxLQUFLLEdBQUwsQ0FDekIsS0FBSyxHQUFMLENBQVMsQ0FBVCxFQUFZLElBQUUsRUFBZCxDQUR5QixFQUV6QixLQUFLLGFBQUwsR0FBcUIsS0FBSyxVQUFMLENBQWdCLGFBQWhCLENBRkksQ0FBM0I7O0FBS0EsZ0JBQWEscUJBQWIsQ0FBbUMsQ0FBbkM7QUFDQSxnQkFBYSxjQUFiLENBQTRCLFFBQTVCLEVBQXNDLEtBQXRDO0FBQ0EsZ0JBQWEsdUJBQWIsQ0FBcUMsU0FBckMsRUFBZ0QsU0FBaEQ7QUFDQSxnQkFBYSx1QkFBYixDQUFxQyxXQUFXLENBQUMsWUFBWSxRQUFiLEtBQTBCLElBQUksV0FBVyxZQUFYLENBQTlCLENBQWhELEVBQXlHLFFBQXpHO0FBQ0QsRUF0QkQ7O0FBd0JBOzs7QUFHQSxpQkFBZ0IsU0FBaEIsQ0FBMEIsZUFBMUIsR0FBNEMsVUFBUyxTQUFULEVBQW9CO0FBQzlELFFBQUssb0JBQUwsR0FBNEIsS0FBSyxZQUFMLEdBQW9CLEtBQUssR0FBTCxDQUM5QyxLQUFLLEdBQUwsQ0FBUyxDQUFULEVBQVksSUFBRSxFQUFkLENBRDhDLEVBRzVDLEtBQUssb0JBQUwsSUFDRSxhQUFhLFlBQVksQ0FBWixHQUFnQixJQUFoQixHQUF1QixJQUFwQyxDQURGLENBREYsR0FJSSxLQUFLLFVBQUwsQ0FBZ0IsYUFBaEIsQ0FOMEMsQ0FBaEQ7QUFRQSxRQUFLLG9CQUFMO0FBQ0QsRUFWRDs7bUJBWWUsZSIsImZpbGUiOiJzZjIuc3ludGguanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0ZXhwb3J0czoge30sXG4gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuIFx0XHRcdGxvYWRlZDogZmFsc2VcbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJzdGF0aWNcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIHdlYnBhY2svYm9vdHN0cmFwIDNhN2E2YmRlZGJmNjNlZTViNWVkXG4gKiovIiwiZXhwb3J0ICogZnJvbSBcIi4uL3NyYy93bWxcIlxyXG5cblxuXG4vKiogV0VCUEFDSyBGT09URVIgKipcbiAqKiAuL2V4cG9ydC9zeW50aC5qc1xuICoqLyIsImltcG9ydCBSaWZmIGZyb20gXCIuL3JpZmZcIlxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7Qnl0ZUFycmF5fSBpbnB1dFxyXG4gKiBAcGFyYW0ge09iamVjdD19IG9wdF9wYXJhbXNcclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5jb25zdCBQYXJzZXIgPSBmdW5jdGlvbihpbnB1dCwgb3B0X3BhcmFtcykge1xyXG4gIG9wdF9wYXJhbXMgPSBvcHRfcGFyYW1zIHx8IHt9O1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHRoaXMuaW5wdXQgPSBpbnB1dDtcclxuICAvKiogQHR5cGUgeyhPYmplY3R8dW5kZWZpbmVkKX0gKi9cclxuICB0aGlzLnBhcnNlck9wdGlvbiA9IG9wdF9wYXJhbXNbJ3BhcnNlck9wdGlvbiddO1xyXG5cclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHRoaXMucHJlc2V0SGVhZGVyO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lTW9kdWxhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5wcmVzZXRab25lR2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5pbnN0cnVtZW50O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5pbnN0cnVtZW50Wm9uZTtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHRoaXMuaW5zdHJ1bWVudFpvbmVNb2R1bGF0b3I7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB0aGlzLmluc3RydW1lbnRab25lR2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdGhpcy5zYW1wbGVIZWFkZXI7XHJcbn07XHJcblxyXG5QYXJzZXIucHJvdG90eXBlLnBhcnNlID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtSaWZmLlBhcnNlcn0gKi9cclxuICB2YXIgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKHRoaXMuaW5wdXQsIHRoaXMucGFyc2VyT3B0aW9uKTtcclxuICAvKiogQHR5cGUgez9SaWZmLkNodW5rfSAqL1xyXG4gIHZhciBjaHVuaztcclxuXHJcbiAgLy8gcGFyc2UgUklGRiBjaHVua1xyXG4gIHBhcnNlci5wYXJzZSgpO1xyXG4gIGlmIChwYXJzZXIuY2h1bmtMaXN0Lmxlbmd0aCAhPT0gMSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBjaHVuayBsZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGNodW5rID0gcGFyc2VyLmdldENodW5rKDApO1xyXG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdjaHVuayBub3QgZm91bmQnKTtcclxuICB9XHJcblxyXG4gIHRoaXMucGFyc2VSaWZmQ2h1bmsoY2h1bmspO1xyXG4vL2NvbnNvbGUubG9nKHRoaXMuc2FtcGxlSGVhZGVyKTtcclxuICB0aGlzLmlucHV0ID0gbnVsbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge1JpZmYuQ2h1bmt9IGNodW5rXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLnBhcnNlUmlmZkNodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ1JJRkYnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdzZmJrJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbiAgaWYgKHBhcnNlci5nZXROdW1iZXJPZkNodW5rcygpICE9PSAzKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2ZiayBzdHJ1Y3R1cmUnKTtcclxuICB9XHJcblxyXG4gIC8vIElORk8tbGlzdFxyXG4gIHRoaXMucGFyc2VJbmZvTGlzdCgvKiogQHR5cGUgeyFSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMCkpKTtcclxuXHJcbiAgLy8gc2R0YS1saXN0XHJcbiAgdGhpcy5wYXJzZVNkdGFMaXN0KC8qKiBAdHlwZSB7IVJpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuaygxKSkpO1xyXG5cclxuICAvLyBwZHRhLWxpc3RcclxuICB0aGlzLnBhcnNlUGR0YUxpc3QoLyoqIEB0eXBlIHshUmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDIpKSk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUluZm9MaXN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ0xJU1QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdJTkZPJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVNkdGFMaXN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge1JpZmYuUGFyc2VyfSAqL1xyXG4gIHZhciBwYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGRhdGEgPSB0aGlzLmlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpcCA9IGNodW5rLm9mZnNldDtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB2YXIgc2lnbmF0dXJlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ0xJU1QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBzaWduYXR1cmVcclxuICBzaWduYXR1cmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10sIGRhdGFbaXArK10pO1xyXG4gIGlmIChzaWduYXR1cmUgIT09ICdzZHRhJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKTtcclxuICB9XHJcblxyXG4gIC8vIHJlYWQgc3RydWN0dXJlXHJcbiAgcGFyc2VyID0gbmV3IFJpZmYuUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBpcCwgJ2xlbmd0aCc6IGNodW5rLnNpemUgLSA0fSk7XHJcbiAgcGFyc2VyLnBhcnNlKCk7XHJcbiAgaWYgKHBhcnNlci5jaHVua0xpc3QubGVuZ3RoICE9PSAxKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8nKTtcclxuICB9XHJcbiAgdGhpcy5zYW1wbGluZ0RhdGEgPVxyXG4gICAgLyoqIEB0eXBlIHt7dHlwZTogc3RyaW5nLCBzaXplOiBudW1iZXIsIG9mZnNldDogbnVtYmVyfX0gKi9cclxuICAgIChwYXJzZXIuZ2V0Q2h1bmsoMCkpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQZHRhTGlzdCA9IGZ1bmN0aW9uKGNodW5rKSB7XHJcbiAgLyoqIEB0eXBlIHtSaWZmLlBhcnNlcn0gKi9cclxuICB2YXIgcGFyc2VyO1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtzdHJpbmd9ICovXHJcbiAgdmFyIHNpZ25hdHVyZTtcclxuXHJcbiAgLy8gY2hlY2sgcGFyc2UgdGFyZ2V0XHJcbiAgaWYgKGNodW5rLnR5cGUgIT09ICdMSVNUJykge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNodW5rIHR5cGU6JyArIGNodW5rLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2sgc2lnbmF0dXJlXHJcbiAgc2lnbmF0dXJlID0gU3RyaW5nLmZyb21DaGFyQ29kZShkYXRhW2lwKytdLCBkYXRhW2lwKytdLCBkYXRhW2lwKytdLCBkYXRhW2lwKytdKTtcclxuICBpZiAoc2lnbmF0dXJlICE9PSAncGR0YScpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWduYXR1cmU6JyArIHNpZ25hdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvLyByZWFkIHN0cnVjdHVyZVxyXG4gIHBhcnNlciA9IG5ldyBSaWZmLlBhcnNlcihkYXRhLCB7J2luZGV4JzogaXAsICdsZW5ndGgnOiBjaHVuay5zaXplIC0gNH0pO1xyXG4gIHBhcnNlci5wYXJzZSgpO1xyXG5cclxuICAvLyBjaGVjayBudW1iZXIgb2YgY2h1bmtzXHJcbiAgaWYgKHBhcnNlci5nZXROdW1iZXJPZkNodW5rcygpICE9PSA5KSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcGR0YSBjaHVuaycpO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5wYXJzZVBoZHIoLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMCkpKTtcclxuICB0aGlzLnBhcnNlUGJhZygvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuaygxKSkpO1xyXG4gIHRoaXMucGFyc2VQbW9kKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDIpKSk7XHJcbiAgdGhpcy5wYXJzZVBnZW4oLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoMykpKTtcclxuICB0aGlzLnBhcnNlSW5zdCgvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuayg0KSkpO1xyXG4gIHRoaXMucGFyc2VJYmFnKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDUpKSk7XHJcbiAgdGhpcy5wYXJzZUltb2QoLyoqIEB0eXBlIHtSaWZmLkNodW5rfSAqLyhwYXJzZXIuZ2V0Q2h1bmsoNikpKTtcclxuICB0aGlzLnBhcnNlSWdlbigvKiogQHR5cGUge1JpZmYuQ2h1bmt9ICovKHBhcnNlci5nZXRDaHVuayg3KSkpO1xyXG4gIHRoaXMucGFyc2VTaGRyKC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi8ocGFyc2VyLmdldENodW5rKDgpKSk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVBoZHIgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgcHJlc2V0SGVhZGVyID0gdGhpcy5wcmVzZXRIZWFkZXIgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncGhkcicpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIHByZXNldEhlYWRlci5wdXNoKHtcclxuICAgICAgcHJlc2V0TmFtZTogU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnN1YmFycmF5KGlwLCBpcCArPSAyMCkpLFxyXG4gICAgICBwcmVzZXQ6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KSxcclxuICAgICAgYmFuazogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBwcmVzZXRCYWdJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBsaWJyYXJ5OiAoZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpIHwgKGRhdGFbaXArK10gPDwgMTYpIHwgKGRhdGFbaXArK10gPDwgMjQpKSA+Pj4gMCxcclxuICAgICAgZ2VucmU6IChkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNCkpID4+PiAwLFxyXG4gICAgICBtb3JwaG9sb2d5OiAoZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpIHwgKGRhdGFbaXArK10gPDwgMTYpIHwgKGRhdGFbaXArK10gPDwgMjQpKSA+Pj4gMFxyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQYmFnID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge0J5dGVBcnJheX0gKi9cclxuICB2YXIgZGF0YSA9IHRoaXMuaW5wdXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlwID0gY2h1bmsub2Zmc2V0O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIHByZXNldFpvbmUgPSB0aGlzLnByZXNldFpvbmUgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncGJhZycpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB3aGlsZSAoaXAgPCBzaXplKSB7XHJcbiAgICBwcmVzZXRab25lLnB1c2goe1xyXG4gICAgICBwcmVzZXRHZW5lcmF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBwcmVzZXRNb2R1bGF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVBtb2QgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAncG1vZCcpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHRoaXMucHJlc2V0Wm9uZU1vZHVsYXRvciA9IHRoaXMucGFyc2VNb2R1bGF0b3IoY2h1bmspO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VQZ2VuID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ3BnZW4nKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG4gIHRoaXMucHJlc2V0Wm9uZUdlbmVyYXRvciA9IHRoaXMucGFyc2VHZW5lcmF0b3IoY2h1bmspO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJbnN0ID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvKiogQHR5cGUge0J5dGVBcnJheX0gKi9cclxuICB2YXIgZGF0YSA9IHRoaXMuaW5wdXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlwID0gY2h1bmsub2Zmc2V0O1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcblxyXG4gIC8vIGNoZWNrIHBhcnNlIHRhcmdldFxyXG4gIGlmIChjaHVuay50eXBlICE9PSAnaW5zdCcpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgKyBjaHVuay50eXBlKTtcclxuICB9XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIGluc3RydW1lbnQucHVzaCh7XHJcbiAgICAgIGluc3RydW1lbnROYW1lOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGRhdGEuc3ViYXJyYXkoaXAsIGlwICs9IDIwKSksXHJcbiAgICAgIGluc3RydW1lbnRCYWdJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUliYWcgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgaW5zdHJ1bWVudFpvbmUgPSB0aGlzLmluc3RydW1lbnRab25lID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2liYWcnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgd2hpbGUgKGlwIDwgc2l6ZSkge1xyXG4gICAgaW5zdHJ1bWVudFpvbmUucHVzaCh7XHJcbiAgICAgIGluc3RydW1lbnRHZW5lcmF0b3JJbmRleDogZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpLFxyXG4gICAgICBpbnN0cnVtZW50TW9kdWxhdG9ySW5kZXg6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KVxyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJbW9kID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2ltb2QnKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB0aGlzLmluc3RydW1lbnRab25lTW9kdWxhdG9yID0gdGhpcy5wYXJzZU1vZHVsYXRvcihjaHVuayk7XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7UmlmZi5DaHVua30gY2h1bmtcclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VJZ2VuID0gZnVuY3Rpb24oY2h1bmspIHtcclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ2lnZW4nKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB0aGlzLmluc3RydW1lbnRab25lR2VuZXJhdG9yID0gdGhpcy5wYXJzZUdlbmVyYXRvcihjaHVuayk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5wYXJzZVNoZHIgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgc2FtcGxlcyA9IHRoaXMuc2FtcGxlID0gW107XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgc2FtcGxlSGVhZGVyID0gdGhpcy5zYW1wbGVIZWFkZXIgPSBbXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemU7XHJcbiAgLyoqIEB0eXBlIHtzdHJpbmd9ICovXHJcbiAgdmFyIHNhbXBsZU5hbWU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHN0YXJ0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBlbmQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHN0YXJ0TG9vcDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgZW5kTG9vcDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc2FtcGxlUmF0ZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgb3JpZ2luYWxQaXRjaDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgcGl0Y2hDb3JyZWN0aW9uO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzYW1wbGVMaW5rO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzYW1wbGVUeXBlO1xyXG5cclxuICAvLyBjaGVjayBwYXJzZSB0YXJnZXRcclxuICBpZiAoY2h1bmsudHlwZSAhPT0gJ3NoZHInKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2h1bmsgdHlwZTonICsgY2h1bmsudHlwZSk7XHJcbiAgfVxyXG5cclxuICB3aGlsZSAoaXAgPCBzaXplKSB7XHJcbiAgICBzYW1wbGVOYW1lID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnN1YmFycmF5KGlwLCBpcCArPSAyMCkpO1xyXG4gICAgc3RhcnQgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBlbmQgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBzdGFydExvb3AgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBlbmRMb29wID0gIChcclxuICAgICAgKGRhdGFbaXArK10gPDwgMCkgfCAoZGF0YVtpcCsrXSA8PCA4KSB8IChkYXRhW2lwKytdIDw8IDE2KSB8IChkYXRhW2lwKytdIDw8IDI0KVxyXG4gICAgKSA+Pj4gMDtcclxuICAgIHNhbXBsZVJhdGUgPSAoXHJcbiAgICAgIChkYXRhW2lwKytdIDw8IDApIHwgKGRhdGFbaXArK10gPDwgOCkgfCAoZGF0YVtpcCsrXSA8PCAxNikgfCAoZGF0YVtpcCsrXSA8PCAyNClcclxuICAgICkgPj4+IDA7XHJcbiAgICBvcmlnaW5hbFBpdGNoID0gZGF0YVtpcCsrXTtcclxuICAgIHBpdGNoQ29ycmVjdGlvbiA9IChkYXRhW2lwKytdIDw8IDI0KSA+PiAyNDtcclxuICAgIHNhbXBsZUxpbmsgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBzYW1wbGVUeXBlID0gZGF0YVtpcCsrXSB8IChkYXRhW2lwKytdIDw8IDgpO1xyXG5cclxuICAgIC8vKlxyXG4gICAgdmFyIHNhbXBsZSA9IG5ldyBJbnQxNkFycmF5KG5ldyBVaW50OEFycmF5KGRhdGEuc3ViYXJyYXkoXHJcbiAgICAgIHRoaXMuc2FtcGxpbmdEYXRhLm9mZnNldCArIHN0YXJ0ICogMixcclxuICAgICAgdGhpcy5zYW1wbGluZ0RhdGEub2Zmc2V0ICsgZW5kICAgKiAyXHJcbiAgICApKS5idWZmZXIpO1xyXG5cclxuICAgIHN0YXJ0TG9vcCAtPSBzdGFydDtcclxuICAgIGVuZExvb3AgLT0gc3RhcnQ7XHJcblxyXG4gICAgaWYgKHNhbXBsZVJhdGUgPiAwKSB7XHJcbiAgICAgIHZhciBhZGp1c3QgPSB0aGlzLmFkanVzdFNhbXBsZURhdGEoc2FtcGxlLCBzYW1wbGVSYXRlKTtcclxuICAgICAgc2FtcGxlID0gYWRqdXN0LnNhbXBsZTtcclxuICAgICAgc2FtcGxlUmF0ZSAqPSBhZGp1c3QubXVsdGlwbHk7XHJcbiAgICAgIHN0YXJ0TG9vcCAqPSBhZGp1c3QubXVsdGlwbHk7XHJcbiAgICAgIGVuZExvb3AgKj0gYWRqdXN0Lm11bHRpcGx5O1xyXG4gICAgfVxyXG5cclxuICAgIHNhbXBsZXMucHVzaChzYW1wbGUpO1xyXG4gICAgLy8qL1xyXG5cclxuICAgIHNhbXBsZUhlYWRlci5wdXNoKHtcclxuICAgICAgc2FtcGxlTmFtZTogc2FtcGxlTmFtZSxcclxuICAgICAgLypcclxuICAgICAgc3RhcnQ6IHN0YXJ0LFxyXG4gICAgICBlbmQ6IGVuZCxcclxuICAgICAgKi9cclxuICAgICAgc3RhcnRMb29wOiBzdGFydExvb3AsXHJcbiAgICAgIGVuZExvb3A6IGVuZExvb3AsXHJcbiAgICAgIHNhbXBsZVJhdGU6IHNhbXBsZVJhdGUsXHJcbiAgICAgIG9yaWdpbmFsUGl0Y2g6IG9yaWdpbmFsUGl0Y2gsXHJcbiAgICAgIHBpdGNoQ29ycmVjdGlvbjogcGl0Y2hDb3JyZWN0aW9uLFxyXG4gICAgICBzYW1wbGVMaW5rOiBzYW1wbGVMaW5rLFxyXG4gICAgICBzYW1wbGVUeXBlOiBzYW1wbGVUeXBlXHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5QYXJzZXIucHJvdG90eXBlLmFkanVzdFNhbXBsZURhdGEgPSBmdW5jdGlvbihzYW1wbGUsIHNhbXBsZVJhdGUpIHtcclxuICAvKiogQHR5cGUge0ludDE2QXJyYXl9ICovXHJcbiAgdmFyIG5ld1NhbXBsZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaWw7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGo7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG11bHRpcGx5ID0gMTtcclxuXHJcbiAgLy8gYnVmZmVyXHJcbiAgd2hpbGUgKHNhbXBsZVJhdGUgPCAyMjA1MCkge1xyXG4gICAgbmV3U2FtcGxlID0gbmV3IEludDE2QXJyYXkoc2FtcGxlLmxlbmd0aCAqIDIpO1xyXG4gICAgZm9yIChpID0gaiA9IDAsIGlsID0gc2FtcGxlLmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgICAgbmV3U2FtcGxlW2orK10gPSBzYW1wbGVbaV07XHJcbiAgICAgIG5ld1NhbXBsZVtqKytdID0gc2FtcGxlW2ldO1xyXG4gICAgfVxyXG4gICAgc2FtcGxlID0gbmV3U2FtcGxlO1xyXG4gICAgbXVsdGlwbHkgKj0gMjtcclxuICAgIHNhbXBsZVJhdGUgKj0gMjtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBzYW1wbGU6IHNhbXBsZSxcclxuICAgIG11bHRpcGx5OiBtdWx0aXBseVxyXG4gIH07XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn1cclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VNb2R1bGF0b3IgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjb2RlO1xyXG4gIC8qKiBAdHlwZSB7c3RyaW5nfSAqL1xyXG4gIHZhciBrZXk7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIC8vIFNyYyAgT3BlclxyXG4gICAgLy8gVE9ET1xyXG4gICAgaXAgKz0gMjtcclxuXHJcbiAgICAvLyBEZXN0IE9wZXJcclxuICAgIGNvZGUgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBrZXkgPSBQYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdO1xyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIC8vIEFtb3VudFxyXG4gICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgdHlwZToga2V5LFxyXG4gICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICBjb2RlOiBjb2RlLFxyXG4gICAgICAgICAgYW1vdW50OiBkYXRhW2lwXSB8IChkYXRhW2lwKzFdIDw8IDgpIDw8IDE2ID4+IDE2LFxyXG4gICAgICAgICAgbG86IGRhdGFbaXArK10sXHJcbiAgICAgICAgICBoaTogZGF0YVtpcCsrXVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBBbW91bnRcclxuICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICBjYXNlICdrZXlSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsUmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ2tleW51bSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAndmVsb2NpdHknOlxyXG4gICAgICAgICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgbG86IGRhdGFbaXArK10sXHJcbiAgICAgICAgICAgICAgaGk6IGRhdGFbaXArK11cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgYW1vdW50OiBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCkgPDwgMTYgPj4gMTZcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEFtdFNyY09wZXJcclxuICAgIC8vIFRPRE9cclxuICAgIGlwICs9IDI7XHJcblxyXG4gICAgLy8gVHJhbnMgT3BlclxyXG4gICAgLy8gVE9ET1xyXG4gICAgaXAgKz0gMjtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtSaWZmLkNodW5rfSBjaHVua1xyXG4gKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn1cclxuICovXHJcblBhcnNlci5wcm90b3R5cGUucGFyc2VHZW5lcmF0b3IgPSBmdW5jdGlvbihjaHVuaykge1xyXG4gIC8qKiBAdHlwZSB7Qnl0ZUFycmF5fSAqL1xyXG4gIHZhciBkYXRhID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSBjaHVuay5vZmZzZXQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNpemUgPSBjaHVuay5vZmZzZXQgKyBjaHVuay5zaXplO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjb2RlO1xyXG4gIC8qKiBAdHlwZSB7c3RyaW5nfSAqL1xyXG4gIHZhciBrZXk7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcblxyXG4gIHdoaWxlIChpcCA8IHNpemUpIHtcclxuICAgIGNvZGUgPSBkYXRhW2lwKytdIHwgKGRhdGFbaXArK10gPDwgOCk7XHJcbiAgICBrZXkgPSBQYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlW2NvZGVdO1xyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIG91dHB1dC5wdXNoKHtcclxuICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgIGNvZGU6IGNvZGUsXHJcbiAgICAgICAgICBhbW91bnQ6IGRhdGFbaXBdIHwgKGRhdGFbaXArMV0gPDwgOCkgPDwgMTYgPj4gMTYsXHJcbiAgICAgICAgICBsbzogZGF0YVtpcCsrXSxcclxuICAgICAgICAgIGhpOiBkYXRhW2lwKytdXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgY29udGludWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAna2V5bnVtJzogLyogRkFMTFRIUk9VR0ggKi9cclxuICAgICAgY2FzZSAna2V5UmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICBjYXNlICd2ZWxSYW5nZSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgIGNhc2UgJ3ZlbG9jaXR5JzpcclxuICAgICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBsbzogZGF0YVtpcCsrXSxcclxuICAgICAgICAgICAgaGk6IGRhdGFbaXArK11cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiBrZXksXHJcbiAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBhbW91bnQ6IGRhdGFbaXArK10gfCAoZGF0YVtpcCsrXSA8PCA4KSA8PCAxNiA+PiAxNlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dDtcclxufTtcclxuXHJcblBhcnNlci5wcm90b3R5cGUuY3JlYXRlSW5zdHJ1bWVudCA9IGZ1bmN0aW9uKCkge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQ7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgem9uZSA9IHRoaXMuaW5zdHJ1bWVudFpvbmU7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGJhZ0luZGV4O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBiYWdJbmRleEVuZDtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciB6b25lSW5mbztcclxuICAvKiogQHR5cGUge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50R2VuZXJhdG9yO1xyXG4gIC8qKiBAdHlwZSB7e21vZHVsYXRvcjogT2JqZWN0LCBtb2R1bGF0b3JJbmZvOiBBcnJheS48T2JqZWN0Pn19ICovXHJcbiAgdmFyIGluc3RydW1lbnRNb2R1bGF0b3I7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGk7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlsO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqbDtcclxuXHJcbiAgLy8gaW5zdHJ1bWVudCAtPiBpbnN0cnVtZW50IGJhZyAtPiBnZW5lcmF0b3IgLyBtb2R1bGF0b3JcclxuICBmb3IgKGkgPSAwLCBpbCA9IGluc3RydW1lbnQubGVuZ3RoOyBpIDwgaWw7ICsraSkge1xyXG4gICAgYmFnSW5kZXggICAgPSBpbnN0cnVtZW50W2ldLmluc3RydW1lbnRCYWdJbmRleDtcclxuICAgIGJhZ0luZGV4RW5kID0gaW5zdHJ1bWVudFtpKzFdID8gaW5zdHJ1bWVudFtpKzFdLmluc3RydW1lbnRCYWdJbmRleCA6IHpvbmUubGVuZ3RoO1xyXG4gICAgem9uZUluZm8gPSBbXTtcclxuXHJcbiAgICAvLyBpbnN0cnVtZW50IGJhZ1xyXG4gICAgZm9yIChqID0gYmFnSW5kZXgsIGpsID0gYmFnSW5kZXhFbmQ7IGogPCBqbDsgKytqKSB7XHJcbiAgICAgIGluc3RydW1lbnRHZW5lcmF0b3IgPSB0aGlzLmNyZWF0ZUluc3RydW1lbnRHZW5lcmF0b3JfKHpvbmUsIGopO1xyXG4gICAgICBpbnN0cnVtZW50TW9kdWxhdG9yID0gdGhpcy5jcmVhdGVJbnN0cnVtZW50TW9kdWxhdG9yXyh6b25lLCBqKTtcclxuXHJcbiAgICAgIHpvbmVJbmZvLnB1c2goe1xyXG4gICAgICAgIGdlbmVyYXRvcjogaW5zdHJ1bWVudEdlbmVyYXRvci5nZW5lcmF0b3IsXHJcbiAgICAgICAgZ2VuZXJhdG9yU2VxdWVuY2U6IGluc3RydW1lbnRHZW5lcmF0b3IuZ2VuZXJhdG9ySW5mbyxcclxuICAgICAgICBtb2R1bGF0b3I6IGluc3RydW1lbnRNb2R1bGF0b3IubW9kdWxhdG9yLFxyXG4gICAgICAgIG1vZHVsYXRvclNlcXVlbmNlOiBpbnN0cnVtZW50TW9kdWxhdG9yLm1vZHVsYXRvckluZm9cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICBuYW1lOiBpbnN0cnVtZW50W2ldLmluc3RydW1lbnROYW1lLFxyXG4gICAgICBpbmZvOiB6b25lSW5mb1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59O1xyXG5cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVQcmVzZXQgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciBwcmVzZXQgICA9IHRoaXMucHJlc2V0SGVhZGVyO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIHpvbmUgPSB0aGlzLnByZXNldFpvbmU7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48T2JqZWN0Pn0gKi9cclxuICB2YXIgb3V0cHV0ID0gW107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGJhZ0luZGV4O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBiYWdJbmRleEVuZDtcclxuICAvKiogQHR5cGUge0FycmF5LjxPYmplY3Q+fSAqL1xyXG4gIHZhciB6b25lSW5mbztcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaW5zdHJ1bWVudDtcclxuICAvKiogQHR5cGUge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fSAqL1xyXG4gIHZhciBwcmVzZXRHZW5lcmF0b3I7XHJcbiAgLyoqIEB0eXBlIHt7bW9kdWxhdG9yOiBPYmplY3QsIG1vZHVsYXRvckluZm86IEFycmF5LjxPYmplY3Q+fX0gKi9cclxuICB2YXIgcHJlc2V0TW9kdWxhdG9yO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgajtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgamw7XHJcblxyXG4gIC8vIHByZXNldCAtPiBwcmVzZXQgYmFnIC0+IGdlbmVyYXRvciAvIG1vZHVsYXRvclxyXG4gIGZvciAoaSA9IDAsIGlsID0gcHJlc2V0Lmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGJhZ0luZGV4ICAgID0gcHJlc2V0W2ldLnByZXNldEJhZ0luZGV4O1xyXG4gICAgYmFnSW5kZXhFbmQgPSBwcmVzZXRbaSsxXSA/IHByZXNldFtpKzFdLnByZXNldEJhZ0luZGV4IDogem9uZS5sZW5ndGg7XHJcbiAgICB6b25lSW5mbyA9IFtdO1xyXG5cclxuICAgIC8vIHByZXNldCBiYWdcclxuICAgIGZvciAoaiA9IGJhZ0luZGV4LCBqbCA9IGJhZ0luZGV4RW5kOyBqIDwgamw7ICsraikge1xyXG4gICAgICBwcmVzZXRHZW5lcmF0b3IgPSB0aGlzLmNyZWF0ZVByZXNldEdlbmVyYXRvcl8oem9uZSwgaik7XHJcbiAgICAgIHByZXNldE1vZHVsYXRvciA9IHRoaXMuY3JlYXRlUHJlc2V0TW9kdWxhdG9yXyh6b25lLCBqKTtcclxuXHJcbiAgICAgIHpvbmVJbmZvLnB1c2goe1xyXG4gICAgICAgIGdlbmVyYXRvcjogcHJlc2V0R2VuZXJhdG9yLmdlbmVyYXRvcixcclxuICAgICAgICBnZW5lcmF0b3JTZXF1ZW5jZTogcHJlc2V0R2VuZXJhdG9yLmdlbmVyYXRvckluZm8sXHJcbiAgICAgICAgbW9kdWxhdG9yOiBwcmVzZXRNb2R1bGF0b3IubW9kdWxhdG9yLFxyXG4gICAgICAgIG1vZHVsYXRvclNlcXVlbmNlOiBwcmVzZXRNb2R1bGF0b3IubW9kdWxhdG9ySW5mb1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGluc3RydW1lbnQgPVxyXG4gICAgICAgIHByZXNldEdlbmVyYXRvci5nZW5lcmF0b3JbJ2luc3RydW1lbnQnXSAhPT0gdm9pZCAwID9cclxuICAgICAgICAgIHByZXNldEdlbmVyYXRvci5nZW5lcmF0b3JbJ2luc3RydW1lbnQnXS5hbW91bnQgOlxyXG4gICAgICAgIHByZXNldE1vZHVsYXRvci5tb2R1bGF0b3JbJ2luc3RydW1lbnQnXSAhPT0gdm9pZCAwID9cclxuICAgICAgICAgIHByZXNldE1vZHVsYXRvci5tb2R1bGF0b3JbJ2luc3RydW1lbnQnXS5hbW91bnQgOlxyXG4gICAgICAgIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgb3V0cHV0LnB1c2goe1xyXG4gICAgICBuYW1lOiBwcmVzZXRbaV0ucHJlc2V0TmFtZSxcclxuICAgICAgaW5mbzogem9uZUluZm8sXHJcbiAgICAgIGhlYWRlcjogcHJlc2V0W2ldLFxyXG4gICAgICBpbnN0cnVtZW50OiBpbnN0cnVtZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheS48T2JqZWN0Pn0gem9uZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICogQHJldHVybnMge3tnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVJbnN0cnVtZW50R2VuZXJhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgdmFyIG1vZGdlbiA9IHRoaXMuY3JlYXRlQmFnTW9kR2VuXyhcclxuICAgIHpvbmUsXHJcbiAgICB6b25lW2luZGV4XS5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4KzFdID8gem9uZVtpbmRleCsxXS5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXg6IHRoaXMuaW5zdHJ1bWVudFpvbmVHZW5lcmF0b3IubGVuZ3RoLFxyXG4gICAgdGhpcy5pbnN0cnVtZW50Wm9uZUdlbmVyYXRvclxyXG4gICk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZW5lcmF0b3I6IG1vZGdlbi5tb2RnZW4sXHJcbiAgICBnZW5lcmF0b3JJbmZvOiBtb2RnZW4ubW9kZ2VuSW5mb1xyXG4gIH07XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheS48T2JqZWN0Pn0gem9uZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICogQHJldHVybnMge3ttb2R1bGF0b3I6IE9iamVjdCwgbW9kdWxhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuUGFyc2VyLnByb3RvdHlwZS5jcmVhdGVJbnN0cnVtZW50TW9kdWxhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgdmFyIG1vZGdlbiA9IHRoaXMuY3JlYXRlQmFnTW9kR2VuXyhcclxuICAgIHpvbmUsXHJcbiAgICB6b25lW2luZGV4XS5wcmVzZXRNb2R1bGF0b3JJbmRleCxcclxuICAgIHpvbmVbaW5kZXgrMV0gPyB6b25lW2luZGV4KzFdLmluc3RydW1lbnRNb2R1bGF0b3JJbmRleDogdGhpcy5pbnN0cnVtZW50Wm9uZU1vZHVsYXRvci5sZW5ndGgsXHJcbiAgICB0aGlzLmluc3RydW1lbnRab25lTW9kdWxhdG9yXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZHVsYXRvcjogbW9kZ2VuLm1vZGdlbixcclxuICAgIG1vZHVsYXRvckluZm86IG1vZGdlbi5tb2RnZW5JbmZvXHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gKiBAcmV0dXJucyB7e2dlbmVyYXRvcjogT2JqZWN0LCBnZW5lcmF0b3JJbmZvOiBBcnJheS48T2JqZWN0Pn19XHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLmNyZWF0ZVByZXNldEdlbmVyYXRvcl8gPSBmdW5jdGlvbih6b25lLCBpbmRleCkge1xyXG4gIHZhciBtb2RnZW4gPSB0aGlzLmNyZWF0ZUJhZ01vZEdlbl8oXHJcbiAgICB6b25lLFxyXG4gICAgem9uZVtpbmRleF0ucHJlc2V0R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4KzFdID8gem9uZVtpbmRleCsxXS5wcmVzZXRHZW5lcmF0b3JJbmRleCA6IHRoaXMucHJlc2V0Wm9uZUdlbmVyYXRvci5sZW5ndGgsXHJcbiAgICB0aGlzLnByZXNldFpvbmVHZW5lcmF0b3JcclxuICApO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgZ2VuZXJhdG9yOiBtb2RnZW4ubW9kZ2VuLFxyXG4gICAgZ2VuZXJhdG9ySW5mbzogbW9kZ2VuLm1vZGdlbkluZm9cclxuICB9O1xyXG59O1xyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHJldHVybnMge3ttb2R1bGF0b3I6IE9iamVjdCwgbW9kdWxhdG9ySW5mbzogQXJyYXkuPE9iamVjdD59fVxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcblBhcnNlci5wcm90b3R5cGUuY3JlYXRlUHJlc2V0TW9kdWxhdG9yXyA9IGZ1bmN0aW9uKHpvbmUsIGluZGV4KSB7XHJcbiAgLyoqIEB0eXBlIHt7bW9kZ2VuOiBPYmplY3QsIG1vZGdlbkluZm86IEFycmF5LjxPYmplY3Q+fX0gKi9cclxuICB2YXIgbW9kZ2VuID0gdGhpcy5jcmVhdGVCYWdNb2RHZW5fKFxyXG4gICAgem9uZSxcclxuICAgIHpvbmVbaW5kZXhdLnByZXNldE1vZHVsYXRvckluZGV4LFxyXG4gICAgem9uZVtpbmRleCsxXSA/IHpvbmVbaW5kZXgrMV0ucHJlc2V0TW9kdWxhdG9ySW5kZXggOiB0aGlzLnByZXNldFpvbmVNb2R1bGF0b3IubGVuZ3RoLFxyXG4gICAgdGhpcy5wcmVzZXRab25lTW9kdWxhdG9yXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZHVsYXRvcjogbW9kZ2VuLm1vZGdlbixcclxuICAgIG1vZHVsYXRvckluZm86IG1vZGdlbi5tb2RnZW5JbmZvXHJcbiAgfTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSB6b25lXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFN0YXJ0XHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleEVuZFxyXG4gKiBAcGFyYW0gem9uZU1vZEdlblxyXG4gKiBAcmV0dXJucyB7e21vZGdlbjogT2JqZWN0LCBtb2RnZW5JbmZvOiBBcnJheS48T2JqZWN0Pn19XHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5QYXJzZXIucHJvdG90eXBlLmNyZWF0ZUJhZ01vZEdlbl8gPSBmdW5jdGlvbih6b25lLCBpbmRleFN0YXJ0LCBpbmRleEVuZCwgem9uZU1vZEdlbikge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPE9iamVjdD59ICovXHJcbiAgdmFyIG1vZGdlbkluZm8gPSBbXTtcclxuICAvKiogQHR5cGUge09iamVjdH0gKi9cclxuICB2YXIgbW9kZ2VuID0ge1xyXG4gICAgdW5rbm93bjogW10sXHJcbiAgICAna2V5UmFuZ2UnOiB7XHJcbiAgICAgIGhpOiAxMjcsXHJcbiAgICAgIGxvOiAwXHJcbiAgICB9XHJcbiAgfTsgLy8gVE9ET1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBpbmZvO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuXHJcbiAgZm9yIChpID0gaW5kZXhTdGFydCwgaWwgPSBpbmRleEVuZDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGluZm8gPSB6b25lTW9kR2VuW2ldO1xyXG4gICAgbW9kZ2VuSW5mby5wdXNoKGluZm8pO1xyXG5cclxuICAgIGlmIChpbmZvLnR5cGUgPT09ICd1bmtub3duJykge1xyXG4gICAgICBtb2RnZW4udW5rbm93bi5wdXNoKGluZm8udmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbW9kZ2VuW2luZm8udHlwZV0gPSBpbmZvLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG1vZGdlbjogbW9kZ2VuLFxyXG4gICAgbW9kZ2VuSW5mbzogbW9kZ2VuSW5mb1xyXG4gIH07XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEB0eXBlIHtBcnJheS48c3RyaW5nPn1cclxuICogQGNvbnN0XHJcbiAqL1xyXG5QYXJzZXIuR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlID0gW1xyXG4gICdzdGFydEFkZHJzT2Zmc2V0JyxcclxuICAnZW5kQWRkcnNPZmZzZXQnLFxyXG4gICdzdGFydGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ2VuZGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ3N0YXJ0QWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1BpdGNoJyxcclxuICAndmliTGZvVG9QaXRjaCcsXHJcbiAgJ21vZEVudlRvUGl0Y2gnLFxyXG4gICdpbml0aWFsRmlsdGVyRmMnLFxyXG4gICdpbml0aWFsRmlsdGVyUScsXHJcbiAgJ21vZExmb1RvRmlsdGVyRmMnLFxyXG4gICdtb2RFbnZUb0ZpbHRlckZjJyxcclxuICAnZW5kQWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1ZvbHVtZScsXHJcbiAgLCAvLyAxNFxyXG4gICdjaG9ydXNFZmZlY3RzU2VuZCcsXHJcbiAgJ3JldmVyYkVmZmVjdHNTZW5kJyxcclxuICAncGFuJyxcclxuICAsLCwgLy8gMTgsMTksMjBcclxuICAnZGVsYXlNb2RMRk8nLFxyXG4gICdmcmVxTW9kTEZPJyxcclxuICAnZGVsYXlWaWJMRk8nLFxyXG4gICdmcmVxVmliTEZPJyxcclxuICAnZGVsYXlNb2RFbnYnLFxyXG4gICdhdHRhY2tNb2RFbnYnLFxyXG4gICdob2xkTW9kRW52JyxcclxuICAnZGVjYXlNb2RFbnYnLFxyXG4gICdzdXN0YWluTW9kRW52JyxcclxuICAncmVsZWFzZU1vZEVudicsXHJcbiAgJ2tleW51bVRvTW9kRW52SG9sZCcsXHJcbiAgJ2tleW51bVRvTW9kRW52RGVjYXknLFxyXG4gICdkZWxheVZvbEVudicsXHJcbiAgJ2F0dGFja1ZvbEVudicsXHJcbiAgJ2hvbGRWb2xFbnYnLFxyXG4gICdkZWNheVZvbEVudicsXHJcbiAgJ3N1c3RhaW5Wb2xFbnYnLFxyXG4gICdyZWxlYXNlVm9sRW52JyxcclxuICAna2V5bnVtVG9Wb2xFbnZIb2xkJyxcclxuICAna2V5bnVtVG9Wb2xFbnZEZWNheScsXHJcbiAgJ2luc3RydW1lbnQnLFxyXG4gICwgLy8gNDJcclxuICAna2V5UmFuZ2UnLFxyXG4gICd2ZWxSYW5nZScsXHJcbiAgJ3N0YXJ0bG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAna2V5bnVtJyxcclxuICAndmVsb2NpdHknLFxyXG4gICdpbml0aWFsQXR0ZW51YXRpb24nLFxyXG4gICwgLy8gNDlcclxuICAnZW5kbG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAnY29hcnNlVHVuZScsXHJcbiAgJ2ZpbmVUdW5lJyxcclxuICAnc2FtcGxlSUQnLFxyXG4gICdzYW1wbGVNb2RlcycsXHJcbiAgLCAvLyA1NVxyXG4gICdzY2FsZVR1bmluZycsXHJcbiAgJ2V4Y2x1c2l2ZUNsYXNzJyxcclxuICAnb3ZlcnJpZGluZ1Jvb3RLZXknXHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBQYXJzZXJcclxuXG5cblxuLyoqIFdFQlBBQ0sgRk9PVEVSICoqXG4gKiogLi9zcmMvc2YyLmpzXG4gKiovIiwiY29uc3QgUmlmZiA9IHt9O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7Qnl0ZUFycmF5fSBpbnB1dCBpbnB1dCBidWZmZXIuXHJcbiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X3BhcmFtcyBvcHRpb24gcGFyYW1ldGVycy5cclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5SaWZmLlBhcnNlciA9IGZ1bmN0aW9uKGlucHV0LCBvcHRfcGFyYW1zKSB7XHJcbiAgb3B0X3BhcmFtcyA9IG9wdF9wYXJhbXMgfHwge307XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdGhpcy5pbnB1dCA9IGlucHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuaXAgPSBvcHRfcGFyYW1zWydpbmRleCddIHx8IDA7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5sZW5ndGggPSBvcHRfcGFyYW1zWydsZW5ndGgnXSB8fCBpbnB1dC5sZW5ndGggLSB0aGlzLmlwO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPFJpZmYuQ2h1bms+fSAqL1xyXG4gIHRoaXMuY2h1bmtMaXN0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMub2Zmc2V0ID0gdGhpcy5pcDtcclxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXHJcbiAgdGhpcy5wYWRkaW5nID1cclxuICAgIG9wdF9wYXJhbXNbJ3BhZGRpbmcnXSAhPT0gdm9pZCAwID8gb3B0X3BhcmFtc1sncGFkZGluZyddIDogdHJ1ZTtcclxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXHJcbiAgdGhpcy5iaWdFbmRpYW4gPVxyXG4gICAgb3B0X3BhcmFtc1snYmlnRW5kaWFuJ10gIT09IHZvaWQgMCA/IG9wdF9wYXJhbXNbJ2JpZ0VuZGlhbiddIDogZmFsc2U7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcclxuICogQHBhcmFtIHtudW1iZXJ9IHNpemVcclxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxyXG4gKiBAY29uc3RydWN0b3JcclxuICovXHJcblJpZmYuQ2h1bmsgPSBmdW5jdGlvbih0eXBlLCBzaXplLCBvZmZzZXQpIHtcclxuICAvKiogQHR5cGUge3N0cmluZ30gKi9cclxuICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuc2l6ZSA9IHNpemU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbn07XHJcblxyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGggKyB0aGlzLm9mZnNldDtcclxuXHJcbiAgdGhpcy5jaHVua0xpc3QgPSBbXTtcclxuXHJcbiAgd2hpbGUgKHRoaXMuaXAgPCBsZW5ndGgpIHtcclxuICAgIHRoaXMucGFyc2VDaHVuaygpO1xyXG4gIH1cclxufTtcclxuXHJcblJpZmYuUGFyc2VyLnByb3RvdHlwZS5wYXJzZUNodW5rID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtCeXRlQXJyYXl9ICovXHJcbiAgdmFyIGlucHV0ID0gdGhpcy5pbnB1dDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaXAgPSB0aGlzLmlwO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzaXplO1xyXG5cclxuICB0aGlzLmNodW5rTGlzdC5wdXNoKG5ldyBSaWZmLkNodW5rKFxyXG4gICAgU3RyaW5nLmZyb21DaGFyQ29kZShpbnB1dFtpcCsrXSwgaW5wdXRbaXArK10sIGlucHV0W2lwKytdLCBpbnB1dFtpcCsrXSksXHJcbiAgICAoc2l6ZSA9IHRoaXMuYmlnRW5kaWFuID9cclxuICAgICAgICgoaW5wdXRbaXArK10gPDwgMjQpIHwgKGlucHV0W2lwKytdIDw8IDE2KSB8XHJcbiAgICAgICAgKGlucHV0W2lwKytdIDw8ICA4KSB8IChpbnB1dFtpcCsrXSAgICAgICkpID4+PiAwIDpcclxuICAgICAgICgoaW5wdXRbaXArK10gICAgICApIHwgKGlucHV0W2lwKytdIDw8ICA4KSB8XHJcbiAgICAgICAgKGlucHV0W2lwKytdIDw8IDE2KSB8IChpbnB1dFtpcCsrXSA8PCAyNCkpID4+PiAwXHJcbiAgICApLFxyXG4gICAgaXBcclxuICApKTtcclxuXHJcbiAgaXAgKz0gc2l6ZTtcclxuXHJcbiAgLy8gcGFkZGluZ1xyXG4gIGlmICh0aGlzLnBhZGRpbmcgJiYgKChpcCAtIHRoaXMub2Zmc2V0KSAmIDEpID09PSAxKSB7XHJcbiAgICBpcCsrO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5pcCA9IGlwO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBjaHVuayBpbmRleC5cclxuICogQHJldHVybiB7P1JpZmYuQ2h1bmt9XHJcbiAqL1xyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUuZ2V0Q2h1bmsgPSBmdW5jdGlvbihpbmRleCkge1xyXG4gIC8qKiBAdHlwZSB7UmlmZi5DaHVua30gKi9cclxuICB2YXIgY2h1bmsgPSB0aGlzLmNodW5rTGlzdFtpbmRleF07XHJcblxyXG4gIGlmIChjaHVuayA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBjaHVuaztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9XHJcbiAqL1xyXG5SaWZmLlBhcnNlci5wcm90b3R5cGUuZ2V0TnVtYmVyT2ZDaHVua3MgPSBmdW5jdGlvbigpIHtcclxuICByZXR1cm4gdGhpcy5jaHVua0xpc3QubGVuZ3RoO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSaWZmXHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vc3JjL3JpZmYuanNcbiAqKi8iLCJpbXBvcnQgU3ludGhlc2l6ZXIgZnJvbSBcIi4vc291bmRfZm9udF9zeW50aFwiXHJcblxyXG4vKipcclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5jb25zdCBXZWJNaWRpTGluayA9IGZ1bmN0aW9uKCkge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPG51bWJlcj59ICovXHJcbiAgdGhpcy5ScG5Nc2IgPSBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF07XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48bnVtYmVyPn0gKi9cclxuICB0aGlzLlJwbkxzYiA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXTtcclxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXHJcbiAgdGhpcy5yZWFkeTtcclxuICAvKiogQHR5cGUge1N5bnRoZXNpemVyfSAqL1xyXG4gIHRoaXMuc3ludGg7XHJcbiAgLyoqIEB0eXBlIHtmdW5jdGlvbihBcnJheUJ1ZmZlcil9ICovXHJcbiAgdGhpcy5sb2FkQ2FsbGJhY2s7XHJcbiAgLyoqIEB0eXBlIHtGdW5jdGlvbn0gKi9cclxuICB0aGlzLm1lc3NhZ2VIYW5kbGVyID0gdGhpcy5vbm1lc3NhZ2UuYmluZCh0aGlzKTtcclxuXHJcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gIH0uYmluZCh0aGlzKSwgZmFsc2UpO1xyXG59O1xyXG5cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLnNldHVwID0gZnVuY3Rpb24odXJsKSB7XHJcbiAgaWYgKCF0aGlzLnJlYWR5KSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uIG9ubG9hZCgpIHtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBvbmxvYWQsIGZhbHNlKTtcclxuICAgICAgdGhpcy5sb2FkKHVybCk7XHJcbiAgICB9LmJpbmQodGhpcyksIGZhbHNlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5sb2FkKHVybCk7XHJcbiAgfVxyXG59O1xyXG5cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLmxvYWQgPSBmdW5jdGlvbih1cmwpIHtcclxuICAvKiogQHR5cGUge1hNTEh0dHBSZXF1ZXN0fSAqL1xyXG4gIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuXHJcbiAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7XHJcbiAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcblxyXG4gIHhoci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oZXYpIHtcclxuICAgIC8qKiBAdHlwZSB7WE1MSHR0cFJlcXVlc3R9ICovXHJcbiAgICB2YXIgeGhyID0gZXYudGFyZ2V0O1xyXG5cclxuICAgIHRoaXMub25sb2FkKHhoci5yZXNwb25zZSk7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubG9hZENhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMubG9hZENhbGxiYWNrKHhoci5yZXNwb25zZSk7XHJcbiAgICB9XHJcbiAgfS5iaW5kKHRoaXMpLCBmYWxzZSk7XHJcblxyXG4gIHhoci5zZW5kKCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheUJ1ZmZlcn0gcmVzcG9uc2VcclxuICovXHJcbldlYk1pZGlMaW5rLnByb3RvdHlwZS5vbmxvYWQgPSBmdW5jdGlvbihyZXNwb25zZSkge1xyXG4gIC8qKiBAdHlwZSB7VWludDhBcnJheX0gKi9cclxuICB2YXIgaW5wdXQgPSBuZXcgVWludDhBcnJheShyZXNwb25zZSk7XHJcblxyXG4gIHRoaXMubG9hZFNvdW5kRm9udChpbnB1dCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtVaW50OEFycmF5fSBpbnB1dFxyXG4gKi9cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLmxvYWRTb3VuZEZvbnQgPSBmdW5jdGlvbihpbnB1dCkge1xyXG4gIC8qKiBAdHlwZSB7U3ludGhlc2l6ZXJ9ICovXHJcbiAgdmFyIHN5bnRoO1xyXG5cclxuICBpZiAoIXRoaXMuc3ludGgpIHtcclxuICAgIHN5bnRoID0gdGhpcy5zeW50aCA9IG5ldyBTeW50aGVzaXplcihpbnB1dCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN5bnRoLmRyYXdTeW50aCgpKTtcclxuICAgIHN5bnRoLmluaXQoKTtcclxuICAgIHN5bnRoLnN0YXJ0KCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMubWVzc2FnZUhhbmRsZXIsIGZhbHNlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgc3ludGggPSB0aGlzLnN5bnRoO1xyXG4gICAgc3ludGgucmVmcmVzaEluc3RydW1lbnRzKGlucHV0KTtcclxuICB9XHJcblxyXG4gIC8vIGxpbmsgcmVhZHlcclxuICBpZiAod2luZG93Lm9wZW5lcikge1xyXG4gICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZShcImxpbmsscmVhZHlcIiwgJyonKTtcclxuICB9IGVsc2UgaWYgKHdpbmRvdy5wYXJlbnQgIT09IHdpbmRvdykge1xyXG4gICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShcImxpbmsscmVhZHlcIiwgJyonKTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtFdmVudH0gZXZcclxuICovXHJcbldlYk1pZGlMaW5rLnByb3RvdHlwZS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldikge1xyXG4gIHZhciBtc2cgPSBldi5kYXRhLnNwbGl0KCcsJyk7XHJcbiAgdmFyIHR5cGUgPSBtc2cuc2hpZnQoKTtcclxuICB2YXIgY29tbWFuZDtcclxuXHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlICdtaWRpJzpcclxuICAgICAgdGhpcy5wcm9jZXNzTWlkaU1lc3NhZ2UoXHJcbiAgICAgICAgbXNnLm1hcChmdW5jdGlvbihoZXgpIHtcclxuICAgICAgICAgIHJldHVybiBwYXJzZUludChoZXgsIDE2KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2xpbmsnOlxyXG4gICAgICBjb21tYW5kID0gbXNnLnNoaWZ0KCk7XHJcbiAgICAgIHN3aXRjaCAoY29tbWFuZCkge1xyXG4gICAgICAgIGNhc2UgJ3JlcXBhdGNoJzpcclxuICAgICAgICAgIC8vIFRPRE86IGR1bW15IGRhdGFcclxuICAgICAgICAgIGlmICh3aW5kb3cub3BlbmVyKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoXCJsaW5rLHBhdGNoXCIsICcqJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5wYXJlbnQgIT09IHdpbmRvdykge1xyXG4gICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFwibGluayxwYXRjaFwiLCAnKicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2V0cGF0Y2gnOlxyXG4gICAgICAgICAgLy8gVE9ETzogTk9QXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biBsaW5rIG1lc3NhZ2U6JywgY29tbWFuZCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ3Vua25vd24gbWVzc2FnZSB0eXBlJyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oQXJyYXlCdWZmZXIpfSBjYWxsYmFja1xyXG4gKi9cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLnNldExvYWRDYWxsYmFjayA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgdGhpcy5sb2FkQ2FsbGJhY2sgPSBjYWxsYmFjaztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0FycmF5LjxudW1iZXI+fSBtZXNzYWdlXHJcbiAqL1xyXG5XZWJNaWRpTGluay5wcm90b3R5cGUucHJvY2Vzc01pZGlNZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSkge1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjaGFubmVsID0gbWVzc2FnZVswXSAmIDB4MGY7XHJcbiAgLyoqIEB0eXBlIHtTeW50aGVzaXplcn0gKi9cclxuICB2YXIgc3ludGggPSB0aGlzLnN5bnRoO1xyXG5cclxuICBzd2l0Y2ggKG1lc3NhZ2VbMF0gJiAweGYwKSB7XHJcbiAgICBjYXNlIDB4ODA6IC8vIE5vdGVPZmY6IDhuIGtrIHZ2XHJcbiAgICAgIHN5bnRoLm5vdGVPZmYoY2hhbm5lbCwgbWVzc2FnZVsxXSwgbWVzc2FnZVsyXSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAweDkwOiAvLyBOb3RlT246IDluIGtrIHZ2XHJcbiAgICAgIGlmIChtZXNzYWdlWzJdID4gMCkge1xyXG4gICAgICAgIHN5bnRoLm5vdGVPbihjaGFubmVsLCBtZXNzYWdlWzFdLCBtZXNzYWdlWzJdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzeW50aC5ub3RlT2ZmKGNoYW5uZWwsIG1lc3NhZ2VbMV0sIDApO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAweEIwOiAvLyBDb250cm9sIENoYW5nZTogQm4gY2MgZGRcclxuICAgICAgc3dpdGNoIChtZXNzYWdlWzFdKSB7XHJcbiAgICAgICAgY2FzZSAweDA2OiAvLyBEYXRhIEVudHJ5OiBCbiAwNiBkZFxyXG4gICAgICAgICAgc3dpdGNoICh0aGlzLlJwbk1zYltjaGFubmVsXSkge1xyXG4gICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLlJwbkxzYltjaGFubmVsXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiAvLyBQaXRjaCBCZW5kIFNlbnNpdGl2aXR5XHJcbiAgICAgICAgICAgICAgICAgIHN5bnRoLnBpdGNoQmVuZFNlbnNpdGl2aXR5KGNoYW5uZWwsIG1lc3NhZ2VbMl0pO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDB4MDc6IC8vIFZvbHVtZSBDaGFuZ2U6IEJuIDA3IGRkXHJcbiAgICAgICAgICBzeW50aC52b2x1bWVDaGFuZ2UoY2hhbm5lbCwgbWVzc2FnZVsyXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDB4MEE6IC8vIFBhbnBvdCBDaGFuZ2U6IEJuIDBBIGRkXHJcbiAgICAgICAgICBzeW50aC5wYW5wb3RDaGFuZ2UoY2hhbm5lbCwgbWVzc2FnZVsyXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDB4Nzg6IC8vIEFsbCBTb3VuZCBPZmY6IEJuIDc4IDAwXHJcbiAgICAgICAgICBzeW50aC5hbGxTb3VuZE9mZihjaGFubmVsKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgMHg3OTogLy8gUmVzZXQgQWxsIENvbnRyb2w6IEJuIDc5IDAwXHJcbiAgICAgICAgICBzeW50aC5yZXNldEFsbENvbnRyb2woY2hhbm5lbCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDB4MjA6IC8vIEJhbmtTZWxlY3RcclxuICAgICAgICAgIC8vY29uc29sZS5sb2coXCJiYW5rc2VsZWN0OlwiLCBjaGFubmVsLCBtZXNzYWdlWzJdKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgMHg2NDogLy8gUlBOIE1TQlxyXG4gICAgICAgICAgdGhpcy5ScG5Nc2JbY2hhbm5lbF0gPSBtZXNzYWdlWzJdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAweDY1OiAvLyBSUE4gTFNCXHJcbiAgICAgICAgICB0aGlzLlJwbkxzYltjaGFubmVsXSA9IG1lc3NhZ2VbMl07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgIC8vIG5vdCBzdXBwb3J0ZWRcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgMHhDMDogLy8gUHJvZ3JhbSBDaGFuZ2U6IENuIHBwXHJcbiAgICAgIHN5bnRoLnByb2dyYW1DaGFuZ2UoY2hhbm5lbCwgbWVzc2FnZVsxXSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAweEUwOiAvLyBQaXRjaCBCZW5kXHJcbiAgICAgIHN5bnRoLnBpdGNoQmVuZChjaGFubmVsLCBtZXNzYWdlWzFdLCBtZXNzYWdlWzJdKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIDB4ZjA6IC8vIFN5c3RlbSBFeGNsdXNpdmUgTWVzc2FnZVxyXG4gICAgICAvLyBJRCBudW1iZXJcclxuICAgICAgc3dpdGNoIChtZXNzYWdlWzFdKSB7XHJcbiAgICAgICAgY2FzZSAweDdlOiAvLyBub24tcmVhbHRpbWVcclxuICAgICAgICAgIC8vIFRPRE9cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgMHg3ZjogLy8gcmVhbHRpbWVcclxuICAgICAgICAgIHZhciBkZXZpY2UgPSBtZXNzYWdlWzJdO1xyXG4gICAgICAgICAgLy8gc3ViIElEIDFcclxuICAgICAgICAgIHN3aXRjaCAobWVzc2FnZVszXSkge1xyXG4gICAgICAgICAgICBjYXNlIDB4MDQ6IC8vIGRldmljZSBjb250cm9sXHJcbiAgICAgICAgICAgICAgLy8gc3ViIElEIDJcclxuICAgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VbNF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMHgwMTogLy8gbWFzdGVyIHZvbHVtZVxyXG4gICAgICAgICAgICAgICAgICBzeW50aC5zZXRNYXN0ZXJWb2x1bWUobWVzc2FnZVs1XSArIChtZXNzYWdlWzZdIDw8IDcpKTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OiAvLyBub3Qgc3VwcG9ydGVkXHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IFdlYk1pZGlMaW5rXHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vc3JjL3dtbC5qc1xuICoqLyIsImltcG9ydCBTeW50aGVzaXplck5vdGUgZnJvbSBcIi4vc291bmRfZm9udF9zeW50aF9ub3RlXCJcclxuaW1wb3J0IFBhcnNlciBmcm9tIFwiLi9zZjJcIlxyXG5cclxuLyoqXHJcbiAqIEBjb25zdHJ1Y3RvclxyXG4gKi9cclxuY29uc3QgU3ludGhlc2l6ZXIgPSBmdW5jdGlvbihpbnB1dCkge1xyXG4gIC8qKiBAdHlwZSB7VWludDhBcnJheX0gKi9cclxuICB0aGlzLmlucHV0ID0gaW5wdXQ7XHJcbiAgLyoqIEB0eXBlIHtQYXJzZXJ9ICovXHJcbiAgdGhpcy5wYXJzZXI7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5iYW5rID0gMDtcclxuICAvKiogQHR5cGUge0FycmF5LjxBcnJheS48T2JqZWN0Pj59ICovXHJcbiAgdGhpcy5iYW5rU2V0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuYnVmZmVyU2l6ZSA9IDEwMjQ7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0NvbnRleHR9ICovXHJcbiAgdGhpcy5jdHggPSB0aGlzLmdldEF1ZGlvQ29udGV4dCgpO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9HYWluTm9kZX0gKi9cclxuICB0aGlzLmdhaW5NYXN0ZXIgPSB0aGlzLmN0eC5jcmVhdGVHYWluTm9kZSgpO1xyXG4gIC8qKiBAdHlwZSB7RHluYW1pY3NDb21wcmVzc29yTm9kZX0gKi9cclxuICB0aGlzLmNvbXByZXNzb3IgPSB0aGlzLmN0eC5jcmVhdGVEeW5hbWljc0NvbXByZXNzb3IoKTtcclxuICAvKiogQHR5cGUge0F1ZGlvQnVmZmVyU291cmNlTm9kZX0gKi9cclxuICB0aGlzLmJ1ZlNyYyA9IHRoaXMuY3R4LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPG51bWJlcj59ICovXHJcbiAgdGhpcy5jaGFubmVsSW5zdHJ1bWVudCA9XHJcbiAgICBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgMCwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNV07XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48bnVtYmVyPn0gKi9cclxuICB0aGlzLmNoYW5uZWxWb2x1bWUgPVxyXG4gICAgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPG51bWJlcj59ICovXHJcbiAgdGhpcy5jaGFubmVsUGFucG90ID1cclxuICAgIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXTtcclxuICAvKiogQHR5cGUge0FycmF5LjxudW1iZXI+fSAqL1xyXG4gIHRoaXMuY2hhbm5lbFBpdGNoQmVuZCA9XHJcbiAgICBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF07XHJcbiAgdGhpcy5jaGFubmVsUGl0Y2hCZW5kU2Vuc2l0aXZpdHkgPVxyXG4gICAgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPEFycmF5LjxTeW50aGVzaXplck5vdGU+Pn0gKi9cclxuICB0aGlzLmN1cnJlbnROb3RlT24gPSBbXHJcbiAgICBbXSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sXHJcbiAgICBbXSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW11cclxuICBdO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuYmFzZVZvbHVtZSA9IDEgLyAweDgwMDA7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5tYXN0ZXJWb2x1bWUgPSAxNjM4NDtcclxuXHJcbiAgLyoqIEB0eXBlIHtIVE1MVGFibGVFbGVtZW50fSAqL1xyXG4gIHRoaXMudGFibGU7XHJcbn07XHJcbi8qKlxyXG4gKiBAcmV0dXJucyB7QXVkaW9Db250ZXh0fVxyXG4gKi9cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmdldEF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uKCkge1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9Db250ZXh0fSAqL1xyXG4gIHZhciBjdHg7XHJcblxyXG4gIGlmIChBdWRpb0NvbnRleHQgIT09IHZvaWQgMCkge1xyXG4gICAgY3R4ID0gbmV3IEF1ZGlvQ29udGV4dCgpO1xyXG4gIH0gZWxzZSBpZiAod2Via2l0QXVkaW9Db250ZXh0ICE9PSB2b2lkIDApIHtcclxuICAgIGN0eCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTtcclxuICB9IGVsc2UgaWYgKG1vekF1ZGlvQ29udGV4dCAhPT0gdm9pZCAwKSB7XHJcbiAgICBjdHggPSBuZXcgbW96QXVkaW9Db250ZXh0KCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignV2ViIEF1ZGlvIG5vdCBzdXBwb3J0ZWQnKTtcclxuICB9XHJcblxyXG4gIGlmIChjdHguY3JlYXRlR2Fpbk5vZGUgPT09IHZvaWQgMCkge1xyXG4gICAgY3R4LmNyZWF0ZUdhaW5Ob2RlID0gY3R4LmNyZWF0ZUdhaW47XHJcbiAgfVxyXG5cclxuICByZXR1cm4gY3R4O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlIHtBcnJheS48c3RyaW5nPn1cclxuICogQGNvbnN0XHJcbiAqL1xyXG5TeW50aGVzaXplci5Qcm9ncmFtTmFtZXMgPSBbXHJcbiAgXCJBY291c3RpYyBQaWFub1wiLFxyXG4gIFwiQnJpZ2h0IFBpYW5vXCIsXHJcbiAgXCJFbGVjdHJpYyBHcmFuZCBQaWFub1wiLFxyXG4gIFwiSG9ua3ktdG9uayBQaWFub1wiLFxyXG4gIFwiRWxlY3RyaWMgUGlhbm9cIixcclxuICBcIkVsZWN0cmljIFBpYW5vIDJcIixcclxuICBcIkhhcnBzaWNob3JkXCIsXHJcbiAgXCJDbGF2aVwiLFxyXG4gIFwiQ2VsZXN0YVwiLFxyXG4gIFwiR2xvY2tlbnNwaWVsXCIsXHJcbiAgXCJNdXNpY2FsIGJveFwiLFxyXG4gIFwiVmlicmFwaG9uZVwiLFxyXG4gIFwiTWFyaW1iYVwiLFxyXG4gIFwiWHlsb3Bob25lXCIsXHJcbiAgXCJUdWJ1bGFyIEJlbGxcIixcclxuICBcIkR1bGNpbWVyXCIsXHJcbiAgXCJEcmF3YmFyIE9yZ2FuXCIsXHJcbiAgXCJQZXJjdXNzaXZlIE9yZ2FuXCIsXHJcbiAgXCJSb2NrIE9yZ2FuXCIsXHJcbiAgXCJDaHVyY2ggb3JnYW5cIixcclxuICBcIlJlZWQgb3JnYW5cIixcclxuICBcIkFjY29yZGlvblwiLFxyXG4gIFwiSGFybW9uaWNhXCIsXHJcbiAgXCJUYW5nbyBBY2NvcmRpb25cIixcclxuICBcIkFjb3VzdGljIEd1aXRhciAobnlsb24pXCIsXHJcbiAgXCJBY291c3RpYyBHdWl0YXIgKHN0ZWVsKVwiLFxyXG4gIFwiRWxlY3RyaWMgR3VpdGFyIChqYXp6KVwiLFxyXG4gIFwiRWxlY3RyaWMgR3VpdGFyIChjbGVhbilcIixcclxuICBcIkVsZWN0cmljIEd1aXRhciAobXV0ZWQpXCIsXHJcbiAgXCJPdmVyZHJpdmVuIEd1aXRhclwiLFxyXG4gIFwiRGlzdG9ydGlvbiBHdWl0YXJcIixcclxuICBcIkd1aXRhciBoYXJtb25pY3NcIixcclxuICBcIkFjb3VzdGljIEJhc3NcIixcclxuICBcIkVsZWN0cmljIEJhc3MgKGZpbmdlcilcIixcclxuICBcIkVsZWN0cmljIEJhc3MgKHBpY2spXCIsXHJcbiAgXCJGcmV0bGVzcyBCYXNzXCIsXHJcbiAgXCJTbGFwIEJhc3MgMVwiLFxyXG4gIFwiU2xhcCBCYXNzIDJcIixcclxuICBcIlN5bnRoIEJhc3MgMVwiLFxyXG4gIFwiU3ludGggQmFzcyAyXCIsXHJcbiAgXCJWaW9saW5cIixcclxuICBcIlZpb2xhXCIsXHJcbiAgXCJDZWxsb1wiLFxyXG4gIFwiRG91YmxlIGJhc3NcIixcclxuICBcIlRyZW1vbG8gU3RyaW5nc1wiLFxyXG4gIFwiUGl6emljYXRvIFN0cmluZ3NcIixcclxuICBcIk9yY2hlc3RyYWwgSGFycFwiLFxyXG4gIFwiVGltcGFuaVwiLFxyXG4gIFwiU3RyaW5nIEVuc2VtYmxlIDFcIixcclxuICBcIlN0cmluZyBFbnNlbWJsZSAyXCIsXHJcbiAgXCJTeW50aCBTdHJpbmdzIDFcIixcclxuICBcIlN5bnRoIFN0cmluZ3MgMlwiLFxyXG4gIFwiVm9pY2UgQWFoc1wiLFxyXG4gIFwiVm9pY2UgT29oc1wiLFxyXG4gIFwiU3ludGggVm9pY2VcIixcclxuICBcIk9yY2hlc3RyYSBIaXRcIixcclxuICBcIlRydW1wZXRcIixcclxuICBcIlRyb21ib25lXCIsXHJcbiAgXCJUdWJhXCIsXHJcbiAgXCJNdXRlZCBUcnVtcGV0XCIsXHJcbiAgXCJGcmVuY2ggaG9yblwiLFxyXG4gIFwiQnJhc3MgU2VjdGlvblwiLFxyXG4gIFwiU3ludGggQnJhc3MgMVwiLFxyXG4gIFwiU3ludGggQnJhc3MgMlwiLFxyXG4gIFwiU29wcmFubyBTYXhcIixcclxuICBcIkFsdG8gU2F4XCIsXHJcbiAgXCJUZW5vciBTYXhcIixcclxuICBcIkJhcml0b25lIFNheFwiLFxyXG4gIFwiT2JvZVwiLFxyXG4gIFwiRW5nbGlzaCBIb3JuXCIsXHJcbiAgXCJCYXNzb29uXCIsXHJcbiAgXCJDbGFyaW5ldFwiLFxyXG4gIFwiUGljY29sb1wiLFxyXG4gIFwiRmx1dGVcIixcclxuICBcIlJlY29yZGVyXCIsXHJcbiAgXCJQYW4gRmx1dGVcIixcclxuICBcIkJsb3duIEJvdHRsZVwiLFxyXG4gIFwiU2hha3VoYWNoaVwiLFxyXG4gIFwiV2hpc3RsZVwiLFxyXG4gIFwiT2NhcmluYVwiLFxyXG4gIFwiTGVhZCAxIChzcXVhcmUpXCIsXHJcbiAgXCJMZWFkIDIgKHNhd3Rvb3RoKVwiLFxyXG4gIFwiTGVhZCAzIChjYWxsaW9wZSlcIixcclxuICBcIkxlYWQgNCAoY2hpZmYpXCIsXHJcbiAgXCJMZWFkIDUgKGNoYXJhbmcpXCIsXHJcbiAgXCJMZWFkIDYgKHZvaWNlKVwiLFxyXG4gIFwiTGVhZCA3IChmaWZ0aHMpXCIsXHJcbiAgXCJMZWFkIDggKGJhc3MgKyBsZWFkKVwiLFxyXG4gIFwiUGFkIDEgKEZhbnRhc2lhKVwiLFxyXG4gIFwiUGFkIDIgKHdhcm0pXCIsXHJcbiAgXCJQYWQgMyAocG9seXN5bnRoKVwiLFxyXG4gIFwiUGFkIDQgKGNob2lyKVwiLFxyXG4gIFwiUGFkIDUgKGJvd2VkKVwiLFxyXG4gIFwiUGFkIDYgKG1ldGFsbGljKVwiLFxyXG4gIFwiUGFkIDcgKGhhbG8pXCIsXHJcbiAgXCJQYWQgOCAoc3dlZXApXCIsXHJcbiAgXCJGWCAxIChyYWluKVwiLFxyXG4gIFwiRlggMiAoc291bmR0cmFjaylcIixcclxuICBcIkZYIDMgKGNyeXN0YWwpXCIsXHJcbiAgXCJGWCA0IChhdG1vc3BoZXJlKVwiLFxyXG4gIFwiRlggNSAoYnJpZ2h0bmVzcylcIixcclxuICBcIkZYIDYgKGdvYmxpbnMpXCIsXHJcbiAgXCJGWCA3IChlY2hvZXMpXCIsXHJcbiAgXCJGWCA4IChzY2ktZmkpXCIsXHJcbiAgXCJTaXRhclwiLFxyXG4gIFwiQmFuam9cIixcclxuICBcIlNoYW1pc2VuXCIsXHJcbiAgXCJLb3RvXCIsXHJcbiAgXCJLYWxpbWJhXCIsXHJcbiAgXCJCYWdwaXBlXCIsXHJcbiAgXCJGaWRkbGVcIixcclxuICBcIlNoYW5haVwiLFxyXG4gIFwiVGlua2xlIEJlbGxcIixcclxuICBcIkFnb2dvXCIsXHJcbiAgXCJTdGVlbCBEcnVtc1wiLFxyXG4gIFwiV29vZGJsb2NrXCIsXHJcbiAgXCJUYWlrbyBEcnVtXCIsXHJcbiAgXCJNZWxvZGljIFRvbVwiLFxyXG4gIFwiU3ludGggRHJ1bVwiLFxyXG4gIFwiUmV2ZXJzZSBDeW1iYWxcIixcclxuICBcIkd1aXRhciBGcmV0IE5vaXNlXCIsXHJcbiAgXCJCcmVhdGggTm9pc2VcIixcclxuICBcIlNlYXNob3JlXCIsXHJcbiAgXCJCaXJkIFR3ZWV0XCIsXHJcbiAgXCJUZWxlcGhvbmUgUmluZ1wiLFxyXG4gIFwiSGVsaWNvcHRlclwiLFxyXG4gIFwiQXBwbGF1c2VcIixcclxuICBcIkd1bnNob3RcIlxyXG5dO1xyXG5cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuXHJcbiAgdGhpcy5wYXJzZXIgPSBuZXcgUGFyc2VyKHRoaXMuaW5wdXQpO1xyXG4gIHRoaXMuYmFua1NldCA9IHRoaXMuY3JlYXRlQWxsSW5zdHJ1bWVudHMoKTtcclxuXHJcbiAgZm9yIChpID0gMDsgaSA8IDE2OyArK2kpIHtcclxuICAgIHRoaXMucHJvZ3JhbUNoYW5nZShpLCBpKTtcclxuICAgIHRoaXMudm9sdW1lQ2hhbmdlKGksIDB4NjQpO1xyXG4gICAgdGhpcy5wYW5wb3RDaGFuZ2UoaSwgMHg0MCk7XHJcbiAgICB0aGlzLnBpdGNoQmVuZChpLCAweDAwLCAweDQwKTsgLy8gODE5MlxyXG4gICAgdGhpcy5waXRjaEJlbmRTZW5zaXRpdml0eShpLCAyKTtcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtVaW50OEFycmF5fSBpbnB1dFxyXG4gKi9cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLnJlZnJlc2hJbnN0cnVtZW50cyA9IGZ1bmN0aW9uKGlucHV0KSB7XHJcbiAgdGhpcy5pbnB1dCA9IGlucHV0O1xyXG4gIHRoaXMucGFyc2VyID0gbmV3IFBhcnNlcihpbnB1dCk7XHJcbiAgdGhpcy5iYW5rU2V0ID0gdGhpcy5jcmVhdGVBbGxJbnN0cnVtZW50cygpO1xyXG59O1xyXG5cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmNyZWF0ZUFsbEluc3RydW1lbnRzID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtQYXJzZXJ9ICovXHJcbiAgdmFyIHBhcnNlciA9IHRoaXMucGFyc2VyO1xyXG4gIHBhcnNlci5wYXJzZSgpO1xyXG4gIC8qKiBAdHlwZSB7QXJyYXl9IFRPRE8gKi9cclxuICB2YXIgcHJlc2V0cyA9IHBhcnNlci5jcmVhdGVQcmVzZXQoKTtcclxuICAvKiogQHR5cGUge0FycmF5fSBUT0RPICovXHJcbiAgdmFyIGluc3RydW1lbnRzID0gcGFyc2VyLmNyZWF0ZUluc3RydW1lbnQoKTtcclxuICAvKiogQHR5cGUge09iamVjdH0gKi9cclxuICB2YXIgYmFua3MgPSBbXTtcclxuICAvKiogQHR5cGUge0FycmF5LjxBcnJheS48T2JqZWN0Pj59ICovXHJcbiAgdmFyIGJhbms7XHJcbiAgLyoqIEB0eXBlIHtPYmplY3R9IFRPRE8gKi9cclxuICB2YXIgcHJlc2V0O1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBwcmVzZXROdW1iZXI7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGk7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIGlsO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBqbDtcclxuXHJcbiAgZm9yIChpID0gMCwgaWwgPSBwcmVzZXRzLmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgIHByZXNldCA9IHByZXNldHNbaV07XHJcbiAgICBwcmVzZXROdW1iZXIgPSBwcmVzZXQuaGVhZGVyLnByZXNldDtcclxuXHJcbiAgICBpZiAodHlwZW9mIHByZXNldC5pbnN0cnVtZW50ICE9PSAnbnVtYmVyJykge1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuXHJcbiAgICBpbnN0cnVtZW50ID0gaW5zdHJ1bWVudHNbcHJlc2V0Lmluc3RydW1lbnRdO1xyXG4gICAgaWYgKGluc3RydW1lbnQubmFtZS5yZXBsYWNlKC9cXDAqJC8sICcnKSA9PT0gJ0VPSScpIHtcclxuICAgICAgY29udGludWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2VsZWN0IGJhbmtcclxuICAgIGlmIChiYW5rc1twcmVzZXQuaGVhZGVyLmJhbmtdID09PSB2b2lkIDApIHtcclxuICAgICAgYmFua3NbcHJlc2V0LmhlYWRlci5iYW5rXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgYmFuayA9IGJhbmtzW3ByZXNldC5oZWFkZXIuYmFua107XHJcbiAgICBiYW5rW3ByZXNldE51bWJlcl0gPSBbXTtcclxuICAgIGJhbmtbcHJlc2V0TnVtYmVyXS5uYW1lID0gcHJlc2V0Lm5hbWU7XHJcblxyXG4gICAgZm9yIChqID0gMCwgamwgPSBpbnN0cnVtZW50LmluZm8ubGVuZ3RoOyBqIDwgamw7ICsraikge1xyXG4gICAgICB0aGlzLmNyZWF0ZU5vdGVJbmZvKHBhcnNlciwgaW5zdHJ1bWVudC5pbmZvW2pdLCBiYW5rW3ByZXNldE51bWJlcl0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGJhbmtzO1xyXG59O1xyXG5cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmNyZWF0ZU5vdGVJbmZvID0gZnVuY3Rpb24ocGFyc2VyLCBpbmZvLCBwcmVzZXQpIHtcclxuICB2YXIgZ2VuZXJhdG9yID0gaW5mby5nZW5lcmF0b3I7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNhbXBsZUlkO1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBzYW1wbGVIZWFkZXI7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHZvbEF0dGFjaztcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgdm9sRGVjYXk7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHZvbFN1c3RhaW47XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHZvbFJlbGVhc2U7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG1vZEF0dGFjaztcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbW9kRGVjYXk7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG1vZFN1c3RhaW47XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG1vZFJlbGVhc2U7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHR1bmU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHNjYWxlO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBmcmVxVmliTEZPO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuXHJcbiAgaWYgKGdlbmVyYXRvclsna2V5UmFuZ2UnXSA9PT0gdm9pZCAwIHx8IGdlbmVyYXRvclsnc2FtcGxlSUQnXSA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB2b2xBdHRhY2sgID0gdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnYXR0YWNrVm9sRW52JywgIC0xMjAwMCk7XHJcbiAgdm9sRGVjYXkgICA9IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2RlY2F5Vm9sRW52JywgICAtMTIwMDApO1xyXG4gIHZvbFN1c3RhaW4gPSB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdXN0YWluVm9sRW52Jyk7XHJcbiAgdm9sUmVsZWFzZSA9IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3JlbGVhc2VWb2xFbnYnLCAtMTIwMDApO1xyXG4gIG1vZEF0dGFjayAgPSB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdhdHRhY2tNb2RFbnYnLCAgLTEyMDAwKTtcclxuICBtb2REZWNheSAgID0gdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZGVjYXlNb2RFbnYnLCAgIC0xMjAwMCk7XHJcbiAgbW9kU3VzdGFpbiA9IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3N1c3RhaW5Nb2RFbnYnKTtcclxuICBtb2RSZWxlYXNlID0gdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAncmVsZWFzZU1vZEVudicsIC0xMjAwMCk7XHJcblxyXG4gIHR1bmUgPSAoXHJcbiAgICB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdjb2Fyc2VUdW5lJykgK1xyXG4gICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZmluZVR1bmUnKSAvIDEwMFxyXG4gICk7XHJcbiAgc2NhbGUgPSB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzY2FsZVR1bmluZycsIDEwMCkgLyAxMDA7XHJcbiAgZnJlcVZpYkxGTyA9IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2ZyZXFWaWJMRk8nKTtcclxuXHJcbiAgZm9yIChpID0gZ2VuZXJhdG9yWydrZXlSYW5nZSddLmxvLCBpbCA9IGdlbmVyYXRvclsna2V5UmFuZ2UnXS5oaTsgaSA8PSBpbDsgKytpKSAge1xyXG4gICAgaWYgKHByZXNldFtpXSkge1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuXHJcbiAgICBzYW1wbGVJZCA9IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3NhbXBsZUlEJyk7XHJcbiAgICBzYW1wbGVIZWFkZXIgPSBwYXJzZXIuc2FtcGxlSGVhZGVyW3NhbXBsZUlkXTtcclxuICAgIHByZXNldFtpXSA9IHtcclxuICAgICAgJ3NhbXBsZSc6IHBhcnNlci5zYW1wbGVbc2FtcGxlSWRdLFxyXG4gICAgICAnc2FtcGxlUmF0ZSc6IHNhbXBsZUhlYWRlci5zYW1wbGVSYXRlLFxyXG4gICAgICAnYmFzZVBsYXliYWNrUmF0ZSc6IE1hdGgucG93KFxyXG4gICAgICAgIE1hdGgucG93KDIsIDEvMTIpLFxyXG4gICAgICAgIChcclxuICAgICAgICAgIGkgLVxyXG4gICAgICAgICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnb3ZlcnJpZGluZ1Jvb3RLZXknLCBzYW1wbGVIZWFkZXIub3JpZ2luYWxQaXRjaCkgK1xyXG4gICAgICAgICAgdHVuZSArIChzYW1wbGVIZWFkZXIucGl0Y2hDb3JyZWN0aW9uIC8gMTAwKVxyXG4gICAgICAgICkgKiBzY2FsZVxyXG4gICAgICApLFxyXG4gICAgICAnbW9kRW52VG9QaXRjaCc6IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ21vZEVudlRvUGl0Y2gnKSAvIDEwMCxcclxuICAgICAgJ3NjYWxlVHVuaW5nJzogc2NhbGUsXHJcbiAgICAgICdzdGFydCc6XHJcbiAgICAgICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnc3RhcnRBZGRyc0NvYXJzZU9mZnNldCcpICogMzI3NjggK1xyXG4gICAgICAgICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnc3RhcnRBZGRyc09mZnNldCcpLFxyXG4gICAgICAnZW5kJzpcclxuICAgICAgICB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdlbmRBZGRyc0NvYXJzZU9mZnNldCcpICogMzI3NjggK1xyXG4gICAgICAgICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZW5kQWRkcnNPZmZzZXQnKSxcclxuICAgICAgJ2xvb3BTdGFydCc6IChcclxuICAgICAgICAvLyhzYW1wbGVIZWFkZXIuc3RhcnRMb29wIC0gc2FtcGxlSGVhZGVyLnN0YXJ0KSArXHJcbiAgICAgICAgKHNhbXBsZUhlYWRlci5zdGFydExvb3ApICtcclxuICAgICAgICAgIHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3N0YXJ0bG9vcEFkZHJzQ29hcnNlT2Zmc2V0JykgKiAzMjc2OCArXHJcbiAgICAgICAgICB0aGlzLmdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdGFydGxvb3BBZGRyc09mZnNldCcpXHJcbiAgICAgICAgKSxcclxuICAgICAgJ2xvb3BFbmQnOiAoXHJcbiAgICAgICAgLy8oc2FtcGxlSGVhZGVyLmVuZExvb3AgLSBzYW1wbGVIZWFkZXIuc3RhcnQpICtcclxuICAgICAgICAoc2FtcGxlSGVhZGVyLmVuZExvb3ApICtcclxuICAgICAgICAgIHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2VuZGxvb3BBZGRyc0NvYXJzZU9mZnNldCcpICogMzI3NjggK1xyXG4gICAgICAgICAgdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZW5kbG9vcEFkZHJzT2Zmc2V0JylcclxuICAgICAgICApLFxyXG4gICAgICAndm9sQXR0YWNrJzogIE1hdGgucG93KDIsIHZvbEF0dGFjayAvIDEyMDApLFxyXG4gICAgICAndm9sRGVjYXknOiAgIE1hdGgucG93KDIsIHZvbERlY2F5IC8gMTIwMCksXHJcbiAgICAgICd2b2xTdXN0YWluJzogdm9sU3VzdGFpbiAvIDEwMDAsXHJcbiAgICAgICd2b2xSZWxlYXNlJzogTWF0aC5wb3coMiwgdm9sUmVsZWFzZSAvIDEyMDApLFxyXG4gICAgICAnbW9kQXR0YWNrJzogIE1hdGgucG93KDIsIG1vZEF0dGFjayAvIDEyMDApLFxyXG4gICAgICAnbW9kRGVjYXknOiAgIE1hdGgucG93KDIsIG1vZERlY2F5IC8gMTIwMCksXHJcbiAgICAgICdtb2RTdXN0YWluJzogbW9kU3VzdGFpbiAvIDEwMDAsXHJcbiAgICAgICdtb2RSZWxlYXNlJzogTWF0aC5wb3coMiwgbW9kUmVsZWFzZSAvIDEyMDApLFxyXG4gICAgICAnaW5pdGlhbEZpbHRlckZjJzogdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnaW5pdGlhbEZpbHRlckZjJywgMTM1MDApLFxyXG4gICAgICAnbW9kRW52VG9GaWx0ZXJGYyc6IHRoaXMuZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ21vZEVudlRvRmlsdGVyRmMnKSxcclxuICAgICAgJ2luaXRpYWxGaWx0ZXJRJzogdGhpcy5nZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnaW5pdGlhbEZpbHRlclEnKSxcclxuICAgICAgJ2ZyZXFWaWJMRk8nOiBmcmVxVmliTEZPID8gTWF0aC5wb3coMiwgZnJlcVZpYkxGTyAvIDEyMDApICogOC4xNzYgOiB2b2lkIDBcclxuICAgIH07XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBnZW5lcmF0b3JcclxuICogQHBhcmFtIHtzdHJpbmd9IGVudW1lcmF0b3JUeXBlXHJcbiAqIEBwYXJhbSB7bnVtYmVyPX0gb3B0X2RlZmF1bHRcclxuICogQHJldHVybnMge251bWJlcn1cclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS5nZXRNb2RHZW5BbW91bnQgPSBmdW5jdGlvbihnZW5lcmF0b3IsIGVudW1lcmF0b3JUeXBlLCBvcHRfZGVmYXVsdCkge1xyXG4gIGlmIChvcHRfZGVmYXVsdCA9PT0gdm9pZCAwKSB7XHJcbiAgICBvcHRfZGVmYXVsdCA9IDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZ2VuZXJhdG9yW2VudW1lcmF0b3JUeXBlXSA/IGdlbmVyYXRvcltlbnVtZXJhdG9yVHlwZV0uYW1vdW50IDogb3B0X2RlZmF1bHQ7XHJcbn07XHJcblxyXG5TeW50aGVzaXplci5wcm90b3R5cGUuc3RhcnQgPSBmdW5jdGlvbigpIHtcclxuICB0aGlzLmJ1ZlNyYy5jb25uZWN0KHRoaXMuZ2Fpbk1hc3Rlcik7XHJcbiAgdGhpcy5nYWluTWFzdGVyLmNvbm5lY3QodGhpcy5jdHguZGVzdGluYXRpb24pO1xyXG4gIHRoaXMuYnVmU3JjLnN0YXJ0KDApO1xyXG5cclxuICB0aGlzLnNldE1hc3RlclZvbHVtZSgxNjM4Myk7XHJcbn07XHJcblxyXG5TeW50aGVzaXplci5wcm90b3R5cGUuc2V0TWFzdGVyVm9sdW1lID0gZnVuY3Rpb24odm9sdW1lKSB7XHJcbiAgdGhpcy5tYXN0ZXJWb2x1bWUgPSB2b2x1bWU7XHJcbiAgdGhpcy5nYWluTWFzdGVyLmdhaW4udmFsdWUgPSB0aGlzLmJhc2VWb2x1bWUgKiAodm9sdW1lIC8gMTYzODQpO1xyXG59O1xyXG5cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbigpIHtcclxuICB0aGlzLmJ1ZlNyYy5kaXNjb25uZWN0KDApO1xyXG4gIHRoaXMuZ2Fpbk1hc3Rlci5kaXNjb25uZWN0KDApO1xyXG4gIHRoaXMuY29tcHJlc3Nvci5kaXNjb25uZWN0KDApO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlIHshQXJyYXkuPHN0cmluZz59XHJcbiAqIEBjb25zdFxyXG4gKi9cclxuU3ludGhlc2l6ZXIuVGFibGVIZWFkZXIgPSBbJ0luc3RydW1lbnQnLCAnVm9sJywgJ1BhbicsICdCZW5kJywgJ1JhbmdlJ107XHJcblxyXG5TeW50aGVzaXplci5wcm90b3R5cGUuZHJhd1N5bnRoID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtIVE1MVGFibGVFbGVtZW50fSAqL1xyXG4gIHZhciB0YWJsZSA9IHRoaXMudGFibGUgPVxyXG4gICAgLyoqIEB0eXBlIHtIVE1MVGFibGVFbGVtZW50fSAqLyhkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpKTtcclxuICAvKiogQHR5cGUge0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50fSAqL1xyXG4gIHZhciBoZWFkID1cclxuICAgIC8qKiBAdHlwZSB7SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnR9ICovKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RoZWFkJykpO1xyXG4gIC8qKiBAdHlwZSB7SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnR9ICovXHJcbiAgdmFyIGJvZHkgPVxyXG4gICAgLyoqIEB0eXBlIHtIVE1MVGFibGVTZWN0aW9uRWxlbWVudH0gKi9cclxuICAgIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0Ym9keScpKTtcclxuICAvKiogQHR5cGUge0hUTUxUYWJsZVJvd0VsZW1lbnR9ICovXHJcbiAgdmFyIHRhYmxlTGluZTtcclxuICAvKiogQHR5cGUge05vZGVMaXN0fSAqL1xyXG4gIHZhciBub3RlcztcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgajtcclxuXHJcbiAgaGVhZC5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVRhYmxlTGluZShTeW50aGVzaXplci5UYWJsZUhlYWRlciwgdHJ1ZSkpO1xyXG5cclxuICBmb3IgKGkgPSAwOyBpIDwgMTY7ICsraSkge1xyXG4gICAgdGFibGVMaW5lID0gdGhpcy5jcmVhdGVUYWJsZUxpbmUoU3ludGhlc2l6ZXIuVGFibGVIZWFkZXIubGVuZ3RoICsgMTI4LCBmYWxzZSk7XHJcbiAgICBib2R5LmFwcGVuZENoaWxkKHRhYmxlTGluZSk7XHJcblxyXG4gICAgaWYgKGkgIT09IDkpIHtcclxuICAgICAgdmFyIHNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xyXG4gICAgICB2YXIgb3B0aW9uO1xyXG4gICAgICBmb3IgKGogPSAwOyBqIDwgMTI4OyArK2opIHtcclxuICAgICAgICBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgICBvcHRpb24udGV4dENvbnRlbnQgPSBTeW50aGVzaXplci5Qcm9ncmFtTmFtZXNbal07XHJcbiAgICAgICAgc2VsZWN0LmFwcGVuZENoaWxkKG9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgdGFibGVMaW5lLnF1ZXJ5U2VsZWN0b3IoJ3RkOm50aC1jaGlsZCgxKScpLmFwcGVuZENoaWxkKHNlbGVjdCk7XHJcbiAgICAgIHNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZnVuY3Rpb24oc3ludGgsIGNoYW5uZWwpIHtcclxuICAgICAgICByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHtcclxuICAgICAgICAgIHN5bnRoLnByb2dyYW1DaGFuZ2UoY2hhbm5lbCwgZXZlbnQudGFyZ2V0LnNlbGVjdGVkSW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkodGhpcywgaSksIGZhbHNlKTtcclxuICAgICAgc2VsZWN0LnNlbGVjdGVkSW5kZXggPSB0aGlzLmNoYW5uZWxJbnN0cnVtZW50W2ldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGFibGVMaW5lLnF1ZXJ5U2VsZWN0b3IoJ3RkOmZpcnN0LWNoaWxkJykudGV4dENvbnRlbnQgPSAnWyBSSFlUSE0gVFJBQ0sgXSc7XHJcbiAgICB9XHJcblxyXG4gICAgbm90ZXMgPSB0YWJsZUxpbmUucXVlcnlTZWxlY3RvckFsbCgndGQ6bnRoLWxhc3QtY2hpbGQoLW4rMTI4KScpO1xyXG4gICAgZm9yIChqID0gMDsgaiA8IDEyODsgKytqKSB7XHJcbiAgICAgIG5vdGVzW2pdLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChmdW5jdGlvbihzeW50aCwgY2hhbm5lbCwga2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgc3ludGguZHJhZyA9IHRydWU7XHJcbiAgICAgICAgICBzeW50aC5ub3RlT24oY2hhbm5lbCwga2V5LCAxMjcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkodGhpcywgaSwgaikpO1xyXG4gICAgICBub3Rlc1tqXS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZnVuY3Rpb24oc3ludGgsIGNoYW5uZWwsIGtleSkge1xyXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihldmVudCkge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIGlmIChzeW50aC5kcmFnKSB7XHJcbiAgICAgICAgICAgIHN5bnRoLm5vdGVPbihjaGFubmVsLCBrZXksIDEyNyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSh0aGlzLCBpLCBqKSk7XHJcbiAgICAgIG5vdGVzW2pdLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKGZ1bmN0aW9uKHN5bnRoLCBjaGFubmVsLCBrZXkpIHtcclxuICAgICAgICByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICBzeW50aC5ub3RlT2ZmKGNoYW5uZWwsIGtleSwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSh0aGlzLCBpLCBqKSk7XHJcbiAgICAgIG5vdGVzW2pdLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAoZnVuY3Rpb24oc3ludGgsIGNoYW5uZWwsIGtleSkge1xyXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihldmVudCkge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIHN5bnRoLmRyYWcgPSBmYWxzZTtcclxuICAgICAgICAgIHN5bnRoLm5vdGVPZmYoY2hhbm5lbCwga2V5LCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKHRoaXMsIGksIGopKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRhYmxlLmFwcGVuZENoaWxkKGhlYWQpO1xyXG4gIHRhYmxlLmFwcGVuZENoaWxkKGJvZHkpO1xyXG5cclxuICByZXR1cm4gdGFibGU7XHJcbn07XHJcblxyXG5TeW50aGVzaXplci5wcm90b3R5cGUucmVtb3ZlU3ludGggPSBmdW5jdGlvbigpIHtcclxuICB2YXIgdGFibGUgPSB0aGlzLnRhYmxlO1xyXG5cclxuICBpZiAodGFibGUpIHtcclxuICAgIHRhYmxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGFibGUpO1xyXG4gICAgdGhpcy50YWJsZSA9IG51bGw7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7IShBcnJheS48c3RyaW5nPnxudW1iZXIpfSBhcnJheVxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzVGl0bGVMaW5lXHJcbiAqIEByZXR1cm5zIHtIVE1MVGFibGVSb3dFbGVtZW50fVxyXG4gKi9cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmNyZWF0ZVRhYmxlTGluZSA9IGZ1bmN0aW9uKGFycmF5LCBpc1RpdGxlTGluZSkge1xyXG4gIC8qKiBAdHlwZSB7SFRNTFRhYmxlUm93RWxlbWVudH0gKi9cclxuICB2YXIgdHIgPSAvKiogQHR5cGUge0hUTUxUYWJsZVJvd0VsZW1lbnR9ICovKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJykpO1xyXG4gIC8qKiBAdHlwZSB7SFRNTFRhYmxlQ2VsbEVsZW1lbnR9ICovXHJcbiAgdmFyIGNlbGw7XHJcbiAgLyoqIEB0eXBlIHtib29sZWFufSAqL1xyXG4gIHZhciBpc0FycmF5ID0gYXJyYXkgaW5zdGFuY2VvZiBBcnJheTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaWwgPSBpc0FycmF5ID8gYXJyYXkubGVuZ3RoIDogLyoqIEB0eXBlIHtudW1iZXJ9ICovKGFycmF5KTtcclxuXHJcbiAgZm9yIChpID0gMDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGNlbGwgPVxyXG4gICAgICAvKiogQHR5cGUge0hUTUxUYWJsZUNlbGxFbGVtZW50fSAqL1xyXG4gICAgICAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpc1RpdGxlTGluZSA/ICd0aCcgOiAndGQnKSk7XHJcbiAgICBjZWxsLnRleHRDb250ZW50ID0gKGlzQXJyYXkgJiYgYXJyYXlbaV0gIT09IHZvaWQgMCkgPyBhcnJheVtpXSA6ICcnO1xyXG4gICAgdHIuYXBwZW5kQ2hpbGQoY2VsbCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHI7XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBjaGFubmVsIE5vdGVPbiDjgZnjgovjg4Hjg6Pjg7Pjg43jg6suXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBrZXkgTm90ZU9uIOOBmeOCi+OCreODvC5cclxuICogQHBhcmFtIHtudW1iZXJ9IHZlbG9jaXR5IOW8t+OBlS5cclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS5ub3RlT24gPSBmdW5jdGlvbihjaGFubmVsLCBrZXksIHZlbG9jaXR5KSB7XHJcbiAgLyoqIEB0eXBlIHtPYmplY3R9ICovXHJcbiAgdmFyIGJhbmsgPSB0aGlzLmJhbmtTZXRbY2hhbm5lbCA9PT0gOSA/IDEyOCA6IHRoaXMuYmFua107XHJcbiAgLyoqIEB0eXBlIHtPYmplY3R9ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSBiYW5rW3RoaXMuY2hhbm5lbEluc3RydW1lbnRbY2hhbm5lbF1dO1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50S2V5O1xyXG4gIC8qKiBAdHlwZSB7U3ludGhlc2l6ZXJOb3RlfSAqL1xyXG4gIHZhciBub3RlO1xyXG5cclxuICBpZiAodGhpcy50YWJsZSkge1xyXG4gICAgdGhpcy50YWJsZS5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAndGJvZHkgPiAnICtcclxuICAgICAgICAndHI6bnRoLWNoaWxkKCcgKyAoY2hhbm5lbCsxKSArICcpID4gJyArXHJcbiAgICAgICAgJ3RkOm50aC1jaGlsZCgnICsgKFN5bnRoZXNpemVyLlRhYmxlSGVhZGVyLmxlbmd0aCtrZXkrMSkgKyAnKSdcclxuICAgICkuY2xhc3NMaXN0LmFkZCgnbm90ZS1vbicpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFpbnN0cnVtZW50KSB7XHJcbiAgICAvLyBUT0RPXHJcbiAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgIFwiaW5zdHJ1bWVudCBub3QgZm91bmQ6IGJhbms9JXMgaW5zdHJ1bWVudD0lcyBjaGFubmVsPSVzXCIsXHJcbiAgICAgIGNoYW5uZWwgPT09IDkgPyAxMjggOiB0aGlzLmJhbmssXHJcbiAgICAgIHRoaXMuY2hhbm5lbEluc3RydW1lbnRbY2hhbm5lbF0sXHJcbiAgICAgIGNoYW5uZWxcclxuICAgICk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpbnN0cnVtZW50S2V5ID0gaW5zdHJ1bWVudFtrZXldO1xyXG5cclxuICBpZiAoIShpbnN0cnVtZW50S2V5KSkge1xyXG4gICAgLy8gVE9ET1xyXG4gICAgY29uc29sZS53YXJuKFxyXG4gICAgICBcImluc3RydW1lbnQgbm90IGZvdW5kOiBiYW5rPSVzIGluc3RydW1lbnQ9JXMgY2hhbm5lbD0lcyBrZXk9JXNcIixcclxuICAgICAgY2hhbm5lbCA9PT0gOSA/IDEyOCA6IHRoaXMuYmFuayxcclxuICAgICAgdGhpcy5jaGFubmVsSW5zdHJ1bWVudFtjaGFubmVsXSxcclxuICAgICAgY2hhbm5lbCxcclxuICAgICAga2V5XHJcbiAgICApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdmFyIHBhbnBvdCA9IHRoaXMuY2hhbm5lbFBhbnBvdFtjaGFubmVsXSAtIDY0O1xyXG4gIHBhbnBvdCAvPSBwYW5wb3QgPCAwID8gNjQgOiA2MztcclxuXHJcbiAgLy8gY3JlYXRlIG5vdGUgaW5mb3JtYXRpb25cclxuICBpbnN0cnVtZW50S2V5WydjaGFubmVsJ10gPSBjaGFubmVsO1xyXG4gIGluc3RydW1lbnRLZXlbJ2tleSddID0ga2V5O1xyXG4gIGluc3RydW1lbnRLZXlbJ3ZlbG9jaXR5J10gPSB2ZWxvY2l0eTtcclxuICBpbnN0cnVtZW50S2V5WydwYW5wb3QnXSA9IHBhbnBvdDtcclxuICBpbnN0cnVtZW50S2V5Wyd2b2x1bWUnXSA9IHRoaXMuY2hhbm5lbFZvbHVtZVtjaGFubmVsXSAvIDEyNztcclxuICBpbnN0cnVtZW50S2V5WydwaXRjaEJlbmQnXSA9IHRoaXMuY2hhbm5lbFBpdGNoQmVuZFtjaGFubmVsXSAtIDgxOTI7XHJcbiAgaW5zdHJ1bWVudEtleVsncGl0Y2hCZW5kU2Vuc2l0aXZpdHknXSA9IHRoaXMuY2hhbm5lbFBpdGNoQmVuZFNlbnNpdGl2aXR5W2NoYW5uZWxdO1xyXG5cclxuICAvLyBub3RlIG9uXHJcbiAgbm90ZSA9IG5ldyBTeW50aGVzaXplck5vdGUodGhpcy5jdHgsIHRoaXMuZ2Fpbk1hc3RlciwgaW5zdHJ1bWVudEtleSk7XHJcbiAgbm90ZS5ub3RlT24oKTtcclxuICB0aGlzLmN1cnJlbnROb3RlT25bY2hhbm5lbF0ucHVzaChub3RlKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gY2hhbm5lbCBOb3RlT2ZmIOOBmeOCi+ODgeODo+ODs+ODjeODqy5cclxuICogQHBhcmFtIHtudW1iZXJ9IGtleSBOb3RlT2ZmIOOBmeOCi+OCreODvC5cclxuICogQHBhcmFtIHtudW1iZXJ9IHZlbG9jaXR5IOW8t+OBlS5cclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS5ub3RlT2ZmID0gZnVuY3Rpb24oY2hhbm5lbCwga2V5LCB2ZWxvY2l0eSkge1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBiYW5rID0gdGhpcy5iYW5rU2V0W2NoYW5uZWwgPT09IDkgPyAxMjggOiB0aGlzLmJhbmtdO1xyXG4gIC8qKiBAdHlwZSB7T2JqZWN0fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50ID0gYmFua1t0aGlzLmNoYW5uZWxJbnN0cnVtZW50W2NoYW5uZWxdXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgaWw7XHJcbiAgLyoqIEB0eXBlIHtBcnJheS48U3ludGhlc2l6ZXJOb3RlPn0gKi9cclxuICB2YXIgY3VycmVudE5vdGVPbiA9IHRoaXMuY3VycmVudE5vdGVPbltjaGFubmVsXTtcclxuICAvKiogQHR5cGUge1N5bnRoZXNpemVyTm90ZX0gKi9cclxuICB2YXIgbm90ZTtcclxuXHJcbiAgaWYgKHRoaXMudGFibGUpIHtcclxuICAgIHRoaXMudGFibGUucXVlcnlTZWxlY3RvcihcclxuICAgICAgJ3Rib2R5ID4gJyArXHJcbiAgICAgICd0cjpudGgtY2hpbGQoJyArIChjaGFubmVsKzEpICsgJykgPiAnICtcclxuICAgICAgJ3RkOm50aC1jaGlsZCgnICsgKGtleStTeW50aGVzaXplci5UYWJsZUhlYWRlci5sZW5ndGgrMSkgKyAnKSdcclxuICAgICkuY2xhc3NMaXN0LnJlbW92ZSgnbm90ZS1vbicpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFpbnN0cnVtZW50KSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBmb3IgKGkgPSAwLCBpbCA9IGN1cnJlbnROb3RlT24ubGVuZ3RoOyBpIDwgaWw7ICsraSkge1xyXG4gICAgbm90ZSA9IGN1cnJlbnROb3RlT25baV07XHJcbiAgICBpZiAobm90ZS5rZXkgPT09IGtleSkge1xyXG4gICAgICBub3RlLm5vdGVPZmYoKTtcclxuICAgICAgY3VycmVudE5vdGVPbi5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIC0taTtcclxuICAgICAgLS1pbDtcclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtudW1iZXJ9IGNoYW5uZWwg6Z+z6Imy44KS5aSJ5pu044GZ44KL44OB44Oj44Oz44ON44OrLlxyXG4gKiBAcGFyYW0ge251bWJlcn0gaW5zdHJ1bWVudCDpn7PoibLnlarlj7cuXHJcbiAqL1xyXG5TeW50aGVzaXplci5wcm90b3R5cGUucHJvZ3JhbUNoYW5nZSA9IGZ1bmN0aW9uKGNoYW5uZWwsIGluc3RydW1lbnQpIHtcclxuICBpZiAodGhpcy50YWJsZSkge1xyXG4gICAgaWYgKGNoYW5uZWwgIT09IDkpIHtcclxuICAgICAgdGhpcy50YWJsZS5xdWVyeVNlbGVjdG9yKCd0Ym9keSA+IHRyOm50aC1jaGlsZCgnICsgKGNoYW5uZWwrMSkgKyAnKSA+IHRkOmZpcnN0LWNoaWxkID4gc2VsZWN0Jykuc2VsZWN0ZWRJbmRleCA9IGluc3RydW1lbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIOODquOCuuODoOODiOODqeODg+OCr+OBr+eEoeimluOBmeOCi1xyXG4gIGlmIChjaGFubmVsID09PSA5KSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB0aGlzLmNoYW5uZWxJbnN0cnVtZW50W2NoYW5uZWxdID0gaW5zdHJ1bWVudDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gY2hhbm5lbCDpn7Pph4/jgpLlpInmm7TjgZnjgovjg4Hjg6Pjg7Pjg43jg6suXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB2b2x1bWUg6Z+z6YePKDAtMTI3KS5cclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS52b2x1bWVDaGFuZ2UgPSBmdW5jdGlvbihjaGFubmVsLCB2b2x1bWUpIHtcclxuICBpZiAodGhpcy50YWJsZSkge1xyXG4gICAgdGhpcy50YWJsZS5xdWVyeVNlbGVjdG9yKCd0Ym9keSA+IHRyOm50aC1jaGlsZCgnICsgKGNoYW5uZWwrMSkgKyAnKSA+IHRkOm50aC1jaGlsZCgyKScpLnRleHRDb250ZW50ID0gdm9sdW1lO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5jaGFubmVsVm9sdW1lW2NoYW5uZWxdID0gdm9sdW1lO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBjaGFubmVsIHBhbnBvdCDjgpLlpInmm7TjgZnjgovjg4Hjg6Pjg7Pjg43jg6suXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYW5wb3QgcGFucG90KDAtMTI3KS5cclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS5wYW5wb3RDaGFuZ2UgPSBmdW5jdGlvbihjaGFubmVsLCBwYW5wb3QpIHtcclxuICBpZiAodGhpcy50YWJsZSkge1xyXG4gICAgdGhpcy50YWJsZS5xdWVyeVNlbGVjdG9yKCd0Ym9keSA+IHRyOm50aC1jaGlsZCgnICsgKGNoYW5uZWwrMSkgKyAnKSA+IHRkOm50aC1jaGlsZCgzKScpLnRleHRDb250ZW50ID0gcGFucG90O1xyXG4gIH1cclxuXHJcbiAgdGhpcy5jaGFubmVsUGFucG90W2NoYW5uZWxdID0gcGFucG90O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBjaGFubmVsIHBhbnBvdCDjgpLlpInmm7TjgZnjgovjg4Hjg6Pjg7Pjg43jg6suXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBsb3dlckJ5dGVcclxuICogQHBhcmFtIHtudW1iZXJ9IGhpZ2hlckJ5dGVcclxuICovXHJcblN5bnRoZXNpemVyLnByb3RvdHlwZS5waXRjaEJlbmQgPSBmdW5jdGlvbihjaGFubmVsLCBsb3dlckJ5dGUsIGhpZ2hlckJ5dGUpIHtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgYmVuZCA9IChsb3dlckJ5dGUgJiAweDdmKSB8ICgoaGlnaGVyQnl0ZSAmIDB4N2YpIDw8IDcpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBpbDtcclxuICAvKiogQHR5cGUge0FycmF5LjxTeW50aGVzaXplck5vdGU+fSAqL1xyXG4gIHZhciBjdXJyZW50Tm90ZU9uID0gdGhpcy5jdXJyZW50Tm90ZU9uW2NoYW5uZWxdO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjYWxjdWxhdGVkID0gYmVuZCAtIDgxOTI7XHJcblxyXG4gIGlmICh0aGlzLnRhYmxlKSB7XHJcbiAgICB0aGlzLnRhYmxlLnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5ID4gdHI6bnRoLWNoaWxkKCcgKyAoY2hhbm5lbCsxKSArICcpID4gdGQ6bnRoLWNoaWxkKDQpJykudGV4dENvbnRlbnQgPSBjYWxjdWxhdGVkO1xyXG4gIH1cclxuXHJcbiAgZm9yIChpID0gMCwgaWwgPSBjdXJyZW50Tm90ZU9uLmxlbmd0aDsgaSA8IGlsOyArK2kpIHtcclxuICAgIGN1cnJlbnROb3RlT25baV0udXBkYXRlUGl0Y2hCZW5kKGNhbGN1bGF0ZWQpO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5jaGFubmVsUGl0Y2hCZW5kW2NoYW5uZWxdID0gYmVuZDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gY2hhbm5lbCBwaXRjaCBiZW5kIHNlbnNpdGl2aXR5IOOCkuWkieabtOOBmeOCi+ODgeODo+ODs+ODjeODqy5cclxuICogQHBhcmFtIHtudW1iZXJ9IHNlbnNpdGl2aXR5XHJcbiAqL1xyXG5TeW50aGVzaXplci5wcm90b3R5cGUucGl0Y2hCZW5kU2Vuc2l0aXZpdHkgPSBmdW5jdGlvbihjaGFubmVsLCBzZW5zaXRpdml0eSkge1xyXG4gIGlmICh0aGlzLnRhYmxlKSB7XHJcbiAgICB0aGlzLnRhYmxlLnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5ID4gdHI6bnRoLWNoaWxkKCcgKyAoY2hhbm5lbCsxKSArICcpID4gdGQ6bnRoLWNoaWxkKDUpJykudGV4dENvbnRlbnQgPSBzZW5zaXRpdml0eTtcclxuICB9XHJcblxyXG4gIHRoaXMuY2hhbm5lbFBpdGNoQmVuZFNlbnNpdGl2aXR5W2NoYW5uZWxdID0gc2Vuc2l0aXZpdHk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtudW1iZXJ9IGNoYW5uZWwg6Z+z44KS5raI44GZ44OB44Oj44Oz44ON44OrLlxyXG4gKi9cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLmFsbFNvdW5kT2ZmID0gZnVuY3Rpb24oY2hhbm5lbCkge1xyXG4gIC8qKiBAdHlwZSB7QXJyYXkuPFN5bnRoZXNpemVyTm90ZT59ICovXHJcbiAgdmFyIGN1cnJlbnROb3RlT24gPSB0aGlzLmN1cnJlbnROb3RlT25bY2hhbm5lbF07XHJcblxyXG4gIHdoaWxlIChjdXJyZW50Tm90ZU9uLmxlbmd0aCA+IDApIHtcclxuICAgIHRoaXMubm90ZU9mZihjaGFubmVsLCBjdXJyZW50Tm90ZU9uWzBdLmtleSwgMCk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBjaGFubmVsIOODquOCu+ODg+ODiOOBmeOCi+ODgeODo+ODs+ODjeODq1xyXG4gKi9cclxuU3ludGhlc2l6ZXIucHJvdG90eXBlLnJlc2V0QWxsQ29udHJvbCA9IGZ1bmN0aW9uKGNoYW5uZWwpIHtcclxuICB0aGlzLnBpdGNoQmVuZChjaGFubmVsLCAweDAwLCAweDQwKTsgLy8gODE5MlxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgU3ludGhlc2l6ZXJcclxuXG5cblxuLyoqIFdFQlBBQ0sgRk9PVEVSICoqXG4gKiogLi9zcmMvc291bmRfZm9udF9zeW50aC5qc1xuICoqLyIsIi8qKlxyXG4gKiBAcGFyYW0ge0F1ZGlvQ29udGV4dH0gY3R4XHJcbiAqIEBwYXJhbSB7QXVkaW9Ob2RlfSBkZXN0aW5hdGlvblxyXG4gKiBAcGFyYW0ge3tcclxuICogICBjaGFubmVsOiBudW1iZXIsXHJcbiAqICAga2V5OiBudW1iZXIsXHJcbiAqICAgc2FtcGxlOiBVaW50OEFycmF5LFxyXG4gKiAgIGJhc2VQbGF5YmFja1JhdGU6IG51bWJlcixcclxuICogICBsb29wU3RhcnQ6IG51bWJlcixcclxuICogICBsb29wRW5kOiBudW1iZXIsXHJcbiAqICAgdm9sdW1lOiBudW1iZXIsXHJcbiAqICAgcGFucG90OiBudW1iZXJcclxuICogfX0gaW5zdHJ1bWVudFxyXG4gKiBAY29uc3RydWN0b3JcclxuICovXHJcbmNvbnN0IFN5bnRoZXNpemVyTm90ZSA9IGZ1bmN0aW9uKGN0eCwgZGVzdGluYXRpb24sIGluc3RydW1lbnQpIHtcclxuICAvKiogQHR5cGUge0F1ZGlvQ29udGV4dH0gKi9cclxuICB0aGlzLmN0eCA9IGN0eDtcclxuICAvKiogQHR5cGUge0F1ZGlvTm9kZX0gKi9cclxuICB0aGlzLmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XHJcbiAgLyoqIEB0eXBlIHt7XHJcbiAgICogICBjaGFubmVsOiBudW1iZXIsXHJcbiAgICogICBrZXk6IG51bWJlcixcclxuICAgKiAgIHNhbXBsZTogVWludDhBcnJheSxcclxuICAgKiAgIGJhc2VQbGF5YmFja1JhdGU6IG51bWJlcixcclxuICAgKiAgIGxvb3BTdGFydDogbnVtYmVyLFxyXG4gICAqICAgbG9vcEVuZDogbnVtYmVyLFxyXG4gICAqICAgdm9sdW1lOiBudW1iZXIsXHJcbiAgICogICBwYW5wb3Q6IG51bWJlclxyXG4gICAqIH19XHJcbiAgICovXHJcbiAgdGhpcy5pbnN0cnVtZW50ID0gaW5zdHJ1bWVudDtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB0aGlzLmNoYW5uZWwgPSBpbnN0cnVtZW50WydjaGFubmVsJ107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5rZXkgPSBpbnN0cnVtZW50WydrZXknXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB0aGlzLnZlbG9jaXR5ID0gaW5zdHJ1bWVudFsndmVsb2NpdHknXTtcclxuICAvKiogQHR5cGUge0ludDE2QXJyYXl9ICovXHJcbiAgdGhpcy5idWZmZXIgPSBpbnN0cnVtZW50WydzYW1wbGUnXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB0aGlzLnBsYXliYWNrUmF0ZSA9IGluc3RydW1lbnRbJ2Jhc2VQbGF5YmFja1JhdGUnXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB0aGlzLnNhbXBsZVJhdGUgPSBpbnN0cnVtZW50WydzYW1wbGVSYXRlJ107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy52b2x1bWUgPSBpbnN0cnVtZW50Wyd2b2x1bWUnXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB0aGlzLnBhbnBvdCA9IGluc3RydW1lbnRbJ3BhbnBvdCddO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMucGl0Y2hCZW5kID0gaW5zdHJ1bWVudFsncGl0Y2hCZW5kJ107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5waXRjaEJlbmRTZW5zaXRpdml0eSA9IGluc3RydW1lbnRbJ3BpdGNoQmVuZFNlbnNpdGl2aXR5J107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdGhpcy5tb2RFbnZUb1BpdGNoID0gaW5zdHJ1bWVudFsnbW9kRW52VG9QaXRjaCddO1xyXG5cclxuICAvLyBzdGF0ZVxyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuc3RhcnRUaW1lID0gY3R4LmN1cnJlbnRUaW1lO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHRoaXMuY29tcHV0ZWRQbGF5YmFja1JhdGUgPSB0aGlzLnBsYXliYWNrUmF0ZTtcclxuXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvLyBhdWRpbyBub2RlXHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqIEB0eXBlIHtBdWRpb0J1ZmZlcn0gKi9cclxuICB0aGlzLmF1ZGlvQnVmZmVyO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9CdWZmZXJTb3VyY2VOb2RlfSAqL1xyXG4gIHRoaXMuYnVmZmVyU291cmNlO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9QYW5uZXJOb2RlfSAqL1xyXG4gIHRoaXMucGFubmVyO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9HYWluTm9kZX0gKi9cclxuICB0aGlzLmdhaW5PdXRwdXQ7XHJcblxyXG4gIC8vY29uc29sZS5sb2coaW5zdHJ1bWVudFsnbW9kQXR0YWNrJ10sIGluc3RydW1lbnRbJ21vZERlY2F5J10sIGluc3RydW1lbnRbJ21vZFN1c3RhaW4nXSwgaW5zdHJ1bWVudFsnbW9kUmVsZWFzZSddKTtcclxufTtcclxuXHJcblN5bnRoZXNpemVyTm90ZS5wcm90b3R5cGUubm90ZU9uID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0NvbnRleHR9ICovXHJcbiAgdmFyIGN0eCA9IHRoaXMuY3R4O1xyXG4gIC8qKiBAdHlwZSB7e1xyXG4gICAqICAgY2hhbm5lbDogbnVtYmVyLFxyXG4gICAqICAga2V5OiBudW1iZXIsXHJcbiAgICogICBzYW1wbGU6IFVpbnQ4QXJyYXksXHJcbiAgICogICBiYXNlUGxheWJhY2tSYXRlOiBudW1iZXIsXHJcbiAgICogICBsb29wU3RhcnQ6IG51bWJlcixcclxuICAgKiAgIGxvb3BFbmQ6IG51bWJlcixcclxuICAgKiAgIHZvbHVtZTogbnVtYmVyLFxyXG4gICAqICAgcGFucG90OiBudW1iZXJcclxuICAgKiB9fSAqL1xyXG4gIHZhciBpbnN0cnVtZW50ID0gdGhpcy5pbnN0cnVtZW50O1xyXG4gIC8qKiBAdHlwZSB7SW50MTZBcnJheX0gKi9cclxuICB2YXIgc2FtcGxlID0gdGhpcy5idWZmZXI7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0J1ZmZlcn0gKi9cclxuICB2YXIgYnVmZmVyO1xyXG4gIC8qKiBAdHlwZSB7RmxvYXQzMkFycmF5fSAqL1xyXG4gIHZhciBjaGFubmVsRGF0YTtcclxuICAvKiogQHR5cGUge0F1ZGlvQnVmZmVyU291cmNlTm9kZX0gKi9cclxuICB2YXIgYnVmZmVyU291cmNlO1xyXG4gIC8qKiBAdHlwZSB7QmlxdWFkRmlsdGVyTm9kZX0gKi9cclxuICB2YXIgZmlsdGVyO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9QYW5uZXJOb2RlfSAqL1xyXG4gIHZhciBwYW5uZXI7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0dhaW5Ob2RlfSAqL1xyXG4gIHZhciBvdXRwdXQ7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0dhaW59ICovXHJcbiAgdmFyIG91dHB1dEdhaW47XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG5vdyA9IHRoaXMuY3R4LmN1cnJlbnRUaW1lO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciB2b2xBdHRhY2sgPSBub3cgKyBpbnN0cnVtZW50Wyd2b2xBdHRhY2snXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbW9kQXR0YWNrID0gbm93ICsgaW5zdHJ1bWVudFsnbW9kQXR0YWNrJ107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHZvbERlY2F5ID0gdm9sQXR0YWNrICsgaW5zdHJ1bWVudFsndm9sRGVjYXknXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbW9kRGVjYXkgPSBtb2RBdHRhY2sgKyBpbnN0cnVtZW50Wydtb2REZWNheSddO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBsb29wU3RhcnQgPSBpbnN0cnVtZW50Wydsb29wU3RhcnQnXSAvIHRoaXMuc2FtcGxlUmF0ZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbG9vcEVuZCA9IGluc3RydW1lbnRbJ2xvb3BFbmQnXSAvIHRoaXMuc2FtcGxlUmF0ZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgc3RhcnRUaW1lID0gaW5zdHJ1bWVudFsnc3RhcnQnXSAvIHRoaXMuc2FtcGxlUmF0ZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgYmFzZUZyZXE7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHBlZWtGcmVxO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBzdXN0YWluRnJlcTtcclxuXHJcbiAgc2FtcGxlID0gc2FtcGxlLnN1YmFycmF5KDAsIHNhbXBsZS5sZW5ndGggKyBpbnN0cnVtZW50WydlbmQnXSk7XHJcbiAgYnVmZmVyID0gdGhpcy5hdWRpb0J1ZmZlciA9IGN0eC5jcmVhdGVCdWZmZXIoMSwgc2FtcGxlLmxlbmd0aCwgdGhpcy5zYW1wbGVSYXRlKTtcclxuICBjaGFubmVsRGF0YSA9IGJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTtcclxuICBjaGFubmVsRGF0YS5zZXQoc2FtcGxlKTtcclxuXHJcbiAgLy8gYnVmZmVyIHNvdXJjZVxyXG4gIGJ1ZmZlclNvdXJjZSA9IHRoaXMuYnVmZmVyU291cmNlID0gY3R4LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpO1xyXG4gIGJ1ZmZlclNvdXJjZS5idWZmZXIgPSBidWZmZXI7XHJcbiAgYnVmZmVyU291cmNlLmxvb3AgPSAodGhpcy5jaGFubmVsICE9PSA5KTtcclxuICBidWZmZXJTb3VyY2UubG9vcFN0YXJ0ID0gbG9vcFN0YXJ0O1xyXG4gIGJ1ZmZlclNvdXJjZS5sb29wRW5kICAgPSBsb29wRW5kO1xyXG4gIHRoaXMudXBkYXRlUGl0Y2hCZW5kKHRoaXMucGl0Y2hCZW5kKTtcclxuXHJcbiAgLy8gYXVkaW8gbm9kZVxyXG4gIHBhbm5lciA9IHRoaXMucGFubmVyID0gY3R4LmNyZWF0ZVBhbm5lcigpO1xyXG4gIG91dHB1dCA9IHRoaXMuZ2Fpbk91dHB1dCA9IGN0eC5jcmVhdGVHYWluTm9kZSgpO1xyXG4gIG91dHB1dEdhaW4gPSBvdXRwdXQuZ2FpbjtcclxuXHJcbiAgLy8gZmlsdGVyXHJcbiAgZmlsdGVyID0gdGhpcy5maWx0ZXIgPSBjdHguY3JlYXRlQmlxdWFkRmlsdGVyKCk7XHJcbiAgZmlsdGVyLnR5cGUgPSBmaWx0ZXIuTE9XUEFTUztcclxuXHJcbiAgLy8gcGFucG90XHJcbiAgcGFubmVyLnBhbm5pbmdNb2RlbCA9IDA7XHJcbiAgcGFubmVyLnNldFBvc2l0aW9uKFxyXG4gICAgTWF0aC5zaW4odGhpcy5wYW5wb3QgKiBNYXRoLlBJIC8gMiksXHJcbiAgICAwLFxyXG4gICAgTWF0aC5jb3ModGhpcy5wYW5wb3QgKiBNYXRoLlBJIC8gMilcclxuICApO1xyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIEF0dGFjaywgRGVjYXksIFN1c3RhaW5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIG91dHB1dEdhaW4uc2V0VmFsdWVBdFRpbWUoMCwgbm93KTtcclxuICBvdXRwdXRHYWluLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHRoaXMudm9sdW1lICogKHRoaXMudmVsb2NpdHkgLyAxMjcpLCB2b2xBdHRhY2spO1xyXG4gIG91dHB1dEdhaW4ubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUodGhpcy52b2x1bWUgKiAoMSAtIGluc3RydW1lbnRbJ3ZvbFN1c3RhaW4nXSksIHZvbERlY2F5KTtcclxuXHJcbiAgZmlsdGVyLlEuc2V0VmFsdWVBdFRpbWUoaW5zdHJ1bWVudFsnaW5pdGlhbEZpbHRlclEnXSAqIE1hdGgucG93KDEwLCAyMDApLCBub3cpO1xyXG4gIGJhc2VGcmVxID0gYW1vdW50VG9GcmVxKGluc3RydW1lbnRbJ2luaXRpYWxGaWx0ZXJGYyddKTtcclxuICBwZWVrRnJlcSA9IGFtb3VudFRvRnJlcShpbnN0cnVtZW50Wydpbml0aWFsRmlsdGVyRmMnXSArIGluc3RydW1lbnRbJ21vZEVudlRvRmlsdGVyRmMnXSk7XHJcbiAgc3VzdGFpbkZyZXEgPSBiYXNlRnJlcSArIChwZWVrRnJlcSAtIGJhc2VGcmVxKSAqICgxIC0gaW5zdHJ1bWVudFsnbW9kU3VzdGFpbiddKTtcclxuICBmaWx0ZXIuZnJlcXVlbmN5LnNldFZhbHVlQXRUaW1lKGJhc2VGcmVxLCBub3cpO1xyXG4gIGZpbHRlci5mcmVxdWVuY3kubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUocGVla0ZyZXEsIG1vZEF0dGFjayk7XHJcbiAgZmlsdGVyLmZyZXF1ZW5jeS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShzdXN0YWluRnJlcSwgbW9kRGVjYXkpO1xyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsXHJcbiAgICogQHJldHVybnMge251bWJlcn1cclxuICAgKi9cclxuICBmdW5jdGlvbiBhbW91bnRUb0ZyZXEodmFsKSB7XHJcbiAgICByZXR1cm4gTWF0aC5wb3coMiwgKHZhbCAtIDY5MDApIC8gMTIwMCkgKiA0NDA7XHJcbiAgfVxyXG5cclxuICAvLyBjb25uZWN0XHJcbiAgYnVmZmVyU291cmNlLmNvbm5lY3QoZmlsdGVyKTtcclxuICBmaWx0ZXIuY29ubmVjdChwYW5uZXIpO1xyXG4gIHBhbm5lci5jb25uZWN0KG91dHB1dCk7XHJcbiAgb3V0cHV0LmNvbm5lY3QodGhpcy5kZXN0aW5hdGlvbik7XHJcblxyXG4gIC8vIGZpcmVcclxuICBidWZmZXJTb3VyY2Uuc3RhcnQoMCwgc3RhcnRUaW1lKTtcclxufTtcclxuXHJcblxyXG5cclxuU3ludGhlc2l6ZXJOb3RlLnByb3RvdHlwZS5ub3RlT2ZmID0gZnVuY3Rpb24oKSB7XHJcbiAgLyoqIEB0eXBlIHt7XHJcbiAgICogICBjaGFubmVsOiBudW1iZXIsXHJcbiAgICogICBrZXk6IG51bWJlcixcclxuICAgKiAgIHNhbXBsZTogVWludDhBcnJheSxcclxuICAgKiAgIGJhc2VQbGF5YmFja1JhdGU6IG51bWJlcixcclxuICAgKiAgIGxvb3BTdGFydDogbnVtYmVyLFxyXG4gICAqICAgbG9vcEVuZDogbnVtYmVyLFxyXG4gICAqICAgdm9sdW1lOiBudW1iZXIsXHJcbiAgICogICBwYW5wb3Q6IG51bWJlclxyXG4gICAqIH19ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQ7XHJcbiAgLyoqIEB0eXBlIHtBdWRpb0J1ZmZlclNvdXJjZU5vZGV9ICovXHJcbiAgdmFyIGJ1ZmZlclNvdXJjZSA9IHRoaXMuYnVmZmVyU291cmNlO1xyXG4gIC8qKiBAdHlwZSB7QXVkaW9HYWluTm9kZX0gKi9cclxuICB2YXIgb3V0cHV0ID0gdGhpcy5nYWluT3V0cHV0O1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBub3cgPSB0aGlzLmN0eC5jdXJyZW50VGltZTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgdm9sRW5kVGltZSA9IG5vdyArIGluc3RydW1lbnRbJ3ZvbFJlbGVhc2UnXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgbW9kRW5kVGltZSA9IG5vdyArIGluc3RydW1lbnRbJ21vZFJlbGVhc2UnXTtcclxuXHJcbiAgaWYgKCF0aGlzLmF1ZGlvQnVmZmVyKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIFJlbGVhc2VcclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIG91dHB1dC5nYWluLmNhbmNlbFNjaGVkdWxlZFZhbHVlcygwKTtcclxuICBvdXRwdXQuZ2Fpbi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSgwLCB2b2xFbmRUaW1lKTtcclxuICBidWZmZXJTb3VyY2UucGxheWJhY2tSYXRlLmNhbmNlbFNjaGVkdWxlZFZhbHVlcygwKTtcclxuICBidWZmZXJTb3VyY2UucGxheWJhY2tSYXRlLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHRoaXMuY29tcHV0ZWRQbGF5YmFja1JhdGUsIG1vZEVuZFRpbWUpO1xyXG5cclxuICBidWZmZXJTb3VyY2UubG9vcCA9IGZhbHNlO1xyXG4gIGJ1ZmZlclNvdXJjZS5zdG9wKHZvbEVuZFRpbWUpO1xyXG5cclxuICAvLyBkaXNjb25uZWN0XHJcbiAgLy8qXHJcbiAgc2V0VGltZW91dChcclxuICAgIChmdW5jdGlvbihub3RlKSB7XHJcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcclxuICAgICAgICBub3RlLmJ1ZmZlclNvdXJjZS5kaXNjb25uZWN0KDApO1xyXG4gICAgICAgIG5vdGUucGFubmVyLmRpc2Nvbm5lY3QoMCk7XHJcbiAgICAgICAgbm90ZS5nYWluT3V0cHV0LmRpc2Nvbm5lY3QoMCk7XHJcbiAgICAgIH07XHJcbiAgICB9KSh0aGlzKSxcclxuICAgIGluc3RydW1lbnRbJ3ZvbFJlbGVhc2UnXSAqIDEwMDBcclxuICApO1xyXG4gIC8vKi9cclxufTtcclxuXHJcblN5bnRoZXNpemVyTm90ZS5wcm90b3R5cGUuc2NoZWR1bGVQbGF5YmFja1JhdGUgPSBmdW5jdGlvbigpIHtcclxuICB2YXIgcGxheWJhY2tSYXRlID0gdGhpcy5idWZmZXJTb3VyY2UucGxheWJhY2tSYXRlO1xyXG4gIC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xyXG4gIHZhciBjb21wdXRlZCA9IHRoaXMuY29tcHV0ZWRQbGF5YmFja1JhdGU7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIHN0YXJ0ID0gdGhpcy5zdGFydFRpbWU7XHJcbiAgLyoqIEB0eXBlIHtPYmplY3R9ICovXHJcbiAgdmFyIGluc3RydW1lbnQgPSB0aGlzLmluc3RydW1lbnQ7XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG1vZEF0dGFjayA9IHN0YXJ0ICsgaW5zdHJ1bWVudFsnbW9kQXR0YWNrJ107XHJcbiAgLyoqIEB0eXBlIHtudW1iZXJ9ICovXHJcbiAgdmFyIG1vZERlY2F5ID0gbW9kQXR0YWNrICsgaW5zdHJ1bWVudFsnbW9kRGVjYXknXTtcclxuICAvKiogQHR5cGUge251bWJlcn0gKi9cclxuICB2YXIgcGVla1BpdGNoID0gY29tcHV0ZWQgKiBNYXRoLnBvdyhcclxuICAgIE1hdGgucG93KDIsIDEvMTIpLFxyXG4gICAgdGhpcy5tb2RFbnZUb1BpdGNoICogdGhpcy5pbnN0cnVtZW50WydzY2FsZVR1bmluZyddXHJcbiAgKTtcclxuXHJcbiAgcGxheWJhY2tSYXRlLmNhbmNlbFNjaGVkdWxlZFZhbHVlcygwKTtcclxuICBwbGF5YmFja1JhdGUuc2V0VmFsdWVBdFRpbWUoY29tcHV0ZWQsIHN0YXJ0KTtcclxuICBwbGF5YmFja1JhdGUubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUocGVla1BpdGNoLCBtb2RBdHRhY2spO1xyXG4gIHBsYXliYWNrUmF0ZS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShjb21wdXRlZCArIChwZWVrUGl0Y2ggLSBjb21wdXRlZCkgKiAoMSAtIGluc3RydW1lbnRbJ21vZFN1c3RhaW4nXSksIG1vZERlY2F5KTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gcGl0Y2hCZW5kXHJcbiAqL1xyXG5TeW50aGVzaXplck5vdGUucHJvdG90eXBlLnVwZGF0ZVBpdGNoQmVuZCA9IGZ1bmN0aW9uKHBpdGNoQmVuZCkge1xyXG4gIHRoaXMuY29tcHV0ZWRQbGF5YmFja1JhdGUgPSB0aGlzLnBsYXliYWNrUmF0ZSAqIE1hdGgucG93KFxyXG4gICAgTWF0aC5wb3coMiwgMS8xMiksXHJcbiAgICAoXHJcbiAgICAgIHRoaXMucGl0Y2hCZW5kU2Vuc2l0aXZpdHkgKiAoXHJcbiAgICAgICAgcGl0Y2hCZW5kIC8gKHBpdGNoQmVuZCA8IDAgPyA4MTkyIDogODE5MSlcclxuICAgICAgKVxyXG4gICAgKSAqIHRoaXMuaW5zdHJ1bWVudFsnc2NhbGVUdW5pbmcnXVxyXG4gICk7XHJcbiAgdGhpcy5zY2hlZHVsZVBsYXliYWNrUmF0ZSgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgU3ludGhlc2l6ZXJOb3RlXHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vc3JjL3NvdW5kX2ZvbnRfc3ludGhfbm90ZS5qc1xuICoqLyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCBlMjk4YjliNTJjYWJlODJhNzhjYSIsIndlYnBhY2s6Ly8vLi9zcmMvY29uc3RhbnRzLnRzIiwid2VicGFjazovLy8uL3NyYy9zZjIudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3JpZmYudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3NmMl9kYXRhLnRzIiwid2VicGFjazovLy8uL3NyYy9oZWxwZXIudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0cmVhbS50cyIsIndlYnBhY2s6Ly8vLi9leHBvcnQvc3ludGguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3dtbC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvc291bmRfZm9udF9zeW50aC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvc291bmRfZm9udF9zeW50aF9ub3RlLnRzIiwid2VicGFjazovLy8uL3NyYy9zb3VuZF9mb250LnRzIiwid2VicGFjazovLy8uL3NyYy9zeW50aF92aWV3LnRzIiwid2VicGFjazovLy8uL3NyYy9wcm9ncmFtX25hbWVzLnRzIiwid2VicGFjazovLy8uL3NyYy9taWRpX21lc3NhZ2VfaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsTztBQ1ZBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFD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QU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxLQUFLO1lBQ1AsS0FBSyxJQUFJLENBQUUsMkJBQTJCO2dCQUNwQyxZQUFZO2dCQUNaLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25CLEtBQUssSUFBSSxDQUFFLGVBQWU7d0JBQ3hCLE9BQU87d0JBQ1AsS0FBSztvQkFDUCxLQUFLLElBQUksQ0FBRSxXQUFXO3dCQUNwQiw0QkFBNEI7d0JBQzVCLFdBQVc7d0JBQ1gsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDbkIsS0FBSyxJQUFJLENBQUUsaUJBQWlCO2dDQUMxQixXQUFXO2dDQUNYLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0NBQ25CLEtBQUssSUFBSSxFQUFFLENBQUM7d0NBQ1YsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3Q0FDN0MsSUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLENBQUM7d0NBQzdCLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQzt3Q0FDMUMsS0FBSztvQ0FDUCxDQUFDO29DQUNEO3dDQUNFLEtBQUs7Z0NBQ1QsQ0FBQztnQ0FDRCxLQUFLOzRCQUNQO2dDQUNFLEtBQUs7d0JBQ1QsQ0FBQzt3QkFDRCxLQUFLO29CQUNQO3dCQUNFLEtBQUs7Z0JBQ1QsQ0FBQztnQkFDRCxLQUFLO1lBQ1AsUUFBUyxnQkFBZ0I7Z0JBQ3ZCLEtBQUs7UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUNILHlCQUFDO0FBQUQsQ0FBQyIsImZpbGUiOiJzZjIuc3ludGguanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJzeW50aFwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJzeW50aFwiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiBcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNyk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgZTI5OGI5YjUyY2FiZTgyYTc4Y2EiLCJleHBvcnQgY29uc3QgR2VuZXJhdG9yRW51bWVyYXRvclRhYmxlID0gW1xyXG4gICdzdGFydEFkZHJzT2Zmc2V0JyxcclxuICAnZW5kQWRkcnNPZmZzZXQnLFxyXG4gICdzdGFydGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ2VuZGxvb3BBZGRyc09mZnNldCcsXHJcbiAgJ3N0YXJ0QWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1BpdGNoJyxcclxuICAndmliTGZvVG9QaXRjaCcsXHJcbiAgJ21vZEVudlRvUGl0Y2gnLFxyXG4gICdpbml0aWFsRmlsdGVyRmMnLFxyXG4gICdpbml0aWFsRmlsdGVyUScsXHJcbiAgJ21vZExmb1RvRmlsdGVyRmMnLFxyXG4gICdtb2RFbnZUb0ZpbHRlckZjJyxcclxuICAnZW5kQWRkcnNDb2Fyc2VPZmZzZXQnLFxyXG4gICdtb2RMZm9Ub1ZvbHVtZScsXHJcbiAgdW5kZWZpbmVkLCAvLyAxNFxyXG4gICdjaG9ydXNFZmZlY3RzU2VuZCcsXHJcbiAgJ3JldmVyYkVmZmVjdHNTZW5kJyxcclxuICAncGFuJyxcclxuICB1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCwgLy8gMTgsMTksMjBcclxuICAnZGVsYXlNb2RMRk8nLFxyXG4gICdmcmVxTW9kTEZPJyxcclxuICAnZGVsYXlWaWJMRk8nLFxyXG4gICdmcmVxVmliTEZPJyxcclxuICAnZGVsYXlNb2RFbnYnLFxyXG4gICdhdHRhY2tNb2RFbnYnLFxyXG4gICdob2xkTW9kRW52JyxcclxuICAnZGVjYXlNb2RFbnYnLFxyXG4gICdzdXN0YWluTW9kRW52JyxcclxuICAncmVsZWFzZU1vZEVudicsXHJcbiAgJ2tleW51bVRvTW9kRW52SG9sZCcsXHJcbiAgJ2tleW51bVRvTW9kRW52RGVjYXknLFxyXG4gICdkZWxheVZvbEVudicsXHJcbiAgJ2F0dGFja1ZvbEVudicsXHJcbiAgJ2hvbGRWb2xFbnYnLFxyXG4gICdkZWNheVZvbEVudicsXHJcbiAgJ3N1c3RhaW5Wb2xFbnYnLFxyXG4gICdyZWxlYXNlVm9sRW52JyxcclxuICAna2V5bnVtVG9Wb2xFbnZIb2xkJyxcclxuICAna2V5bnVtVG9Wb2xFbnZEZWNheScsXHJcbiAgJ2luc3RydW1lbnQnLFxyXG4gIHVuZGVmaW5lZCwgLy8gNDJcclxuICAna2V5UmFuZ2UnLFxyXG4gICd2ZWxSYW5nZScsXHJcbiAgJ3N0YXJ0bG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAna2V5bnVtJyxcclxuICAndmVsb2NpdHknLFxyXG4gICdpbml0aWFsQXR0ZW51YXRpb24nLFxyXG4gIHVuZGVmaW5lZCwgLy8gNDlcclxuICAnZW5kbG9vcEFkZHJzQ29hcnNlT2Zmc2V0JyxcclxuICAnY29hcnNlVHVuZScsXHJcbiAgJ2ZpbmVUdW5lJyxcclxuICAnc2FtcGxlSUQnLFxyXG4gICdzYW1wbGVNb2RlcycsXHJcbiAgdW5kZWZpbmVkLCAvLyA1NVxyXG4gICdzY2FsZVR1bmluZycsXHJcbiAgJ2V4Y2x1c2l2ZUNsYXNzJyxcclxuICAnb3ZlcnJpZGluZ1Jvb3RLZXknXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBJbmZvTmFtZVRhYmxlID0ge1xyXG4gIElDTVQ6IFwiY29tbWVudFwiLFxyXG4gIElDT1A6IFwiY29weXJpZ2h0XCIsXHJcbiAgSUNSRDogXCJjcmVhdGlvbl9kYXRlXCIsXHJcbiAgSUVORzogXCJlbmdpbmVlclwiLFxyXG4gIElOQU06IFwibmFtZVwiLFxyXG4gIElQUkQ6IFwicHJvZHVjdFwiLFxyXG4gIElTRlQ6IFwic29mdHdhcmVcIixcclxuICBpZmlsOiBcInZlcnNpb25cIixcclxuICBpc25nOiBcInNvdW5kX2VuZ2luZVwiLFxyXG4gIGlyb206IFwicm9tX25hbWVcIixcclxuICBpdmVyOiBcInJvbV92ZXJzaW9uXCJcclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvY29uc3RhbnRzLnRzIiwiaW1wb3J0IHsgUGFyc2VyLCBDaHVuayB9IGZyb20gXCIuL3JpZmYudHNcIlxyXG5pbXBvcnQgeyBQcmVzZXRIZWFkZXIsIFNhbXBsZSwgUHJlc2V0QmFnLCBJbnN0cnVtZW50LCBJbnN0cnVtZW50QmFnLCBNb2R1bGF0b3JMaXN0LCBHZW5lcmF0b3JMaXN0IH0gZnJvbSBcIi4vc2YyX2RhdGEudHNcIlxyXG5pbXBvcnQgeyByZWFkU3RyaW5nIH0gZnJvbSBcIi4vaGVscGVyLnRzXCJcclxuaW1wb3J0IFN0cmVhbSBmcm9tIFwiLi9zdHJlYW0udHNcIlxyXG5pbXBvcnQgeyBJbmZvTmFtZVRhYmxlIH0gZnJvbSBcIi4vY29uc3RhbnRzLnRzXCJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxlSGVhZGVyIHtcclxuICBzYW1wbGVSYXRlOiBudW1iZXJcclxuICBzYW1wbGVOYW1lOiBudW1iZXJcclxuICBwaXRjaENvcnJlY3Rpb246IG51bWJlclxyXG4gIHN0YXJ0TG9vcDogbnVtYmVyXHJcbiAgZW5kTG9vcDogbnVtYmVyXHJcbiAgb3JpZ2luYWxQaXRjaDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5zdHJ1bWVudFpvbmUge1xyXG4gIGluc3RydW1lbnRHZW5lcmF0b3JJbmRleDogbnVtYmVyXHJcbiAgaW5zdHJ1bWVudE1vZHVsYXRvckluZGV4OiBudW1iZXJcclxuICBwcmVzZXRNb2R1bGF0b3JJbmRleDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIHtcclxuICBpbnB1dDogVWludDhBcnJheVxyXG4gIHBhcnNlck9wdGlvbjoge30gfCB1bmRlZmluZWRcclxuICBwcmVzZXRIZWFkZXI6IHt9W11cclxuICBwcmVzZXRab25lOiB7fVtdXHJcbiAgcHJlc2V0Wm9uZU1vZHVsYXRvcjoge31bXVxyXG4gIHByZXNldFpvbmVHZW5lcmF0b3I6IHt9W11cclxuICBpbnN0cnVtZW50OiB7IGluc3RydW1lbnROYW1lOiBzdHJpbmcsIGluc3RydW1lbnRCYWdJbmRleDogbnVtYmVyIH1bXVxyXG4gIGluc3RydW1lbnRab25lOiBJbnN0cnVtZW50Wm9uZVtdXHJcbiAgaW5zdHJ1bWVudFpvbmVNb2R1bGF0b3I6IHt9W11cclxuICBpbnN0cnVtZW50Wm9uZUdlbmVyYXRvcjoge31bXVxyXG4gIHNhbXBsZUhlYWRlcjogU2FtcGxlSGVhZGVyW11cclxuICBzYW1wbGU6IEludDE2QXJyYXlbXVxyXG4gIHNhbXBsaW5nRGF0YTogQ2h1bmtcclxuICBpbmZvOiB7fVxyXG5cclxuICBjb25zdHJ1Y3RvcihpbnB1dDogVWludDhBcnJheSwgb3B0X3BhcmFtczogeyBwYXJzZXJPcHRpb24/OiB7fSB9ID0ge30pIHtcclxuICAgIHRoaXMuaW5wdXQgPSBpbnB1dFxyXG4gICAgdGhpcy5wYXJzZXJPcHRpb24gPSBvcHRfcGFyYW1zLnBhcnNlck9wdGlvblxyXG4gIH1cclxuXHJcbiAgcGFyc2UoKSB7XHJcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgUGFyc2VyKHRoaXMuaW5wdXQsIHRoaXMucGFyc2VyT3B0aW9uKVxyXG5cclxuICAgIC8vIHBhcnNlIFJJRkYgY2h1bmtcclxuICAgIHBhcnNlci5wYXJzZSgpXHJcbiAgICBpZiAocGFyc2VyLmNodW5rTGlzdC5sZW5ndGggIT09IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBjaHVuayBsZW5ndGgnKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNodW5rID0gcGFyc2VyLmdldENodW5rKDApXHJcbiAgICBpZiAoY2h1bmsgPT09IG51bGwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjaHVuayBub3QgZm91bmQnKVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucGFyc2VSaWZmQ2h1bmsoY2h1bmssIHRoaXMuaW5wdXQpXHJcbiAgICB0aGlzLmlucHV0ID0gbnVsbFxyXG4gIH1cclxuXHJcbiAgcGFyc2VSaWZmQ2h1bmsoY2h1bms6IENodW5rLCBkYXRhOiBVaW50OEFycmF5KSB7XHJcbiAgICBjb25zdCBjaHVua0xpc3QgPSBnZXRDaHVua0xpc3QoY2h1bmssIGRhdGEsIFwiUklGRlwiLCBcInNmYmtcIilcclxuXHJcbiAgICBpZiAoY2h1bmtMaXN0Lmxlbmd0aCAhPT0gMykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2ZiayBzdHJ1Y3R1cmUnKVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElORk8tbGlzdFxyXG4gICAgdGhpcy5pbmZvID0gcGFyc2VJbmZvTGlzdChjaHVua0xpc3RbMF0sIGRhdGEpXHJcblxyXG4gICAgLy8gc2R0YS1saXN0XHJcbiAgICB0aGlzLnNhbXBsaW5nRGF0YSA9IHBhcnNlU2R0YUxpc3QoY2h1bmtMaXN0WzFdLCBkYXRhKVxyXG5cclxuICAgIC8vIHBkdGEtbGlzdFxyXG4gICAgdGhpcy5wYXJzZVBkdGFMaXN0KGNodW5rTGlzdFsyXSwgZGF0YSlcclxuICB9XHJcblxyXG4gIHBhcnNlUGR0YUxpc3QoY2h1bms6IENodW5rLCBkYXRhOiBVaW50OEFycmF5KSB7XHJcbiAgICBjb25zdCBjaHVua0xpc3QgPSBnZXRDaHVua0xpc3QoY2h1bmssIGRhdGEsIFwiTElTVFwiLCBcInBkdGFcIilcclxuXHJcbiAgICAvLyBjaGVjayBudW1iZXIgb2YgY2h1bmtzXHJcbiAgICBpZiAoY2h1bmtMaXN0Lmxlbmd0aCAhPT0gOSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcGR0YSBjaHVuaycpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wcmVzZXRIZWFkZXIgPSBwYXJzZVBoZHIoY2h1bmtMaXN0WzBdLCBkYXRhKVxyXG4gICAgdGhpcy5wcmVzZXRab25lID0gcGFyc2VQYmFnKGNodW5rTGlzdFsxXSwgZGF0YSlcclxuICAgIHRoaXMucHJlc2V0Wm9uZU1vZHVsYXRvciA9IHBhcnNlUG1vZChjaHVua0xpc3RbMl0sIGRhdGEpXHJcbiAgICB0aGlzLnByZXNldFpvbmVHZW5lcmF0b3IgPSBwYXJzZVBnZW4oY2h1bmtMaXN0WzNdLCBkYXRhKVxyXG4gICAgdGhpcy5pbnN0cnVtZW50ID0gcGFyc2VJbnN0KGNodW5rTGlzdFs0XSwgZGF0YSkgYXMgYW55XHJcbiAgICB0aGlzLmluc3RydW1lbnRab25lID0gcGFyc2VJYmFnKGNodW5rTGlzdFs1XSwgZGF0YSkgYXMgSW5zdHJ1bWVudFpvbmVbXVxyXG4gICAgdGhpcy5pbnN0cnVtZW50Wm9uZU1vZHVsYXRvciA9IHBhcnNlSW1vZChjaHVua0xpc3RbNl0sIGRhdGEpXHJcbiAgICB0aGlzLmluc3RydW1lbnRab25lR2VuZXJhdG9yID0gcGFyc2VJZ2VuKGNodW5rTGlzdFs3XSwgZGF0YSlcclxuICAgIHRoaXMuc2FtcGxlSGVhZGVyID0gcGFyc2VTaGRyKGNodW5rTGlzdFs4XSwgZGF0YSkgYXMgU2FtcGxlSGVhZGVyW11cclxuICAgIHRoaXMuc2FtcGxlID0gbG9hZFNhbXBsZSh0aGlzLnNhbXBsZUhlYWRlciwgdGhpcy5zYW1wbGluZ0RhdGEub2Zmc2V0LCBkYXRhKVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Q2h1bmtMaXN0KGNodW5rLCBkYXRhLCBleHBlY3RlZFR5cGUsIGV4cGVjdGVkU2lnbmF0dXJlKSB7XHJcbiAgLy8gY2hlY2sgcGFyc2UgdGFyZ2V0XHJcbiAgaWYgKGNodW5rLnR5cGUgIT09IGV4cGVjdGVkVHlwZSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNodW5rIHR5cGU6JyArIGNodW5rLnR5cGUpXHJcbiAgfVxyXG5cclxuICBjb25zdCBzdHJlYW0gPSBuZXcgU3RyZWFtKGRhdGEsIGNodW5rLm9mZnNldClcclxuXHJcbiAgLy8gY2hlY2sgc2lnbmF0dXJlXHJcbiAgY29uc3Qgc2lnbmF0dXJlID0gc3RyZWFtLnJlYWRTdHJpbmcoNClcclxuICBpZiAoc2lnbmF0dXJlICE9PSBleHBlY3RlZFNpZ25hdHVyZSkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNpZ25hdHVyZTonICsgc2lnbmF0dXJlKVxyXG4gIH1cclxuXHJcbiAgLy8gcmVhZCBzdHJ1Y3R1cmVcclxuICBjb25zdCBwYXJzZXIgPSBuZXcgUGFyc2VyKGRhdGEsIHsnaW5kZXgnOiBzdHJlYW0uaXAsICdsZW5ndGgnOiBjaHVuay5zaXplIC0gNH0pXHJcbiAgcGFyc2VyLnBhcnNlKClcclxuXHJcbiAgcmV0dXJuIHBhcnNlci5jaHVua0xpc3RcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VJbmZvTGlzdChjaHVuazogQ2h1bmssIGRhdGE6IFVpbnQ4QXJyYXkpOiB7fSB7XHJcbiAgY29uc3QgaW5mbyA9IHt9XHJcbiAgY29uc3QgY2h1bmtMaXN0ID0gZ2V0Q2h1bmtMaXN0KGNodW5rLCBkYXRhLCBcIkxJU1RcIiwgXCJJTkZPXCIpXHJcblxyXG4gIGZvciAobGV0IHAgb2YgY2h1bmtMaXN0KSB7XHJcbiAgICBjb25zdCB7IG9mZnNldCwgc2l6ZSwgdHlwZSB9ID0gcFxyXG4gICAgY29uc3QgbmFtZSA9IEluZm9OYW1lVGFibGVbdHlwZV0gfHwgdHlwZVxyXG4gICAgaW5mb1tuYW1lXSA9IHJlYWRTdHJpbmcoZGF0YSwgb2Zmc2V0LCBvZmZzZXQgKyBzaXplKVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGluZm9cclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VTZHRhTGlzdChjaHVuazogQ2h1bmssIGRhdGE6IFVpbnQ4QXJyYXkpOiBDaHVuayB7XHJcbiAgY29uc3QgY2h1bmtMaXN0ID0gZ2V0Q2h1bmtMaXN0KGNodW5rLCBkYXRhLCBcIkxJU1RcIiwgXCJzZHRhXCIpXHJcblxyXG4gIGlmIChjaHVua0xpc3QubGVuZ3RoICE9PSAxKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8nKVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNodW5rTGlzdFswXVxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUNodW5rKGNodW5rOiBDaHVuaywgZGF0YTogVWludDhBcnJheSwgdHlwZTogc3RyaW5nLCBmYWN0b3J5KToge31bXSB7XHJcbiAgY29uc3QgcmVzdWx0ID0gW11cclxuXHJcbiAgaWYgKGNodW5rLnR5cGUgIT09IHR5cGUpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaHVuayB0eXBlOicgICsgY2h1bmsudHlwZSlcclxuICB9XHJcbiAgXHJcbiAgY29uc3Qgc3RyZWFtID0gbmV3IFN0cmVhbShkYXRhLCBjaHVuay5vZmZzZXQpXHJcbiAgY29uc3Qgc2l6ZSA9IGNodW5rLm9mZnNldCArIGNodW5rLnNpemVcclxuICBcclxuICB3aGlsZSAoc3RyZWFtLmlwIDwgc2l6ZSkge1xyXG4gICAgcmVzdWx0LnB1c2goZmFjdG9yeShzdHJlYW0pKVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlc3VsdFxyXG59XHJcblxyXG5jb25zdCBwYXJzZVBoZHIgPSAoY2h1bmssIGRhdGEpID0+IHBhcnNlQ2h1bmsoY2h1bmssIGRhdGEsIFwicGhkclwiLCBzdHJlYW0gPT4gUHJlc2V0SGVhZGVyLnBhcnNlKHN0cmVhbSkpXHJcbmNvbnN0IHBhcnNlUGJhZyA9IChjaHVuaywgZGF0YSkgPT4gcGFyc2VDaHVuayhjaHVuaywgZGF0YSwgXCJwYmFnXCIsIHN0cmVhbSA9PiBQcmVzZXRCYWcucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VJbnN0ID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcImluc3RcIiwgc3RyZWFtID0+IEluc3RydW1lbnQucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VJYmFnID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcImliYWdcIiwgc3RyZWFtID0+IEluc3RydW1lbnRCYWcucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VQbW9kID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcInBtb2RcIiwgc3RyZWFtID0+IE1vZHVsYXRvckxpc3QucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VJbW9kID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcImltb2RcIiwgc3RyZWFtID0+IE1vZHVsYXRvckxpc3QucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VQZ2VuID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcInBnZW5cIiwgc3RyZWFtID0+IEdlbmVyYXRvckxpc3QucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VJZ2VuID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcImlnZW5cIiwgc3RyZWFtID0+IEdlbmVyYXRvckxpc3QucGFyc2Uoc3RyZWFtKSlcclxuY29uc3QgcGFyc2VTaGRyID0gKGNodW5rLCBkYXRhKSA9PiBwYXJzZUNodW5rKGNodW5rLCBkYXRhLCBcInNoZHJcIiwgc3RyZWFtID0+IFNhbXBsZS5wYXJzZShzdHJlYW0pKVxyXG5cclxuZnVuY3Rpb24gYWRqdXN0U2FtcGxlRGF0YShzYW1wbGUsIHNhbXBsZVJhdGUpIHtcclxuICBsZXQgbXVsdGlwbHkgPSAxXHJcblxyXG4gIC8vIGJ1ZmZlclxyXG4gIHdoaWxlIChzYW1wbGVSYXRlIDwgMjIwNTApIHtcclxuICAgIGNvbnN0IG5ld1NhbXBsZSA9IG5ldyBJbnQxNkFycmF5KHNhbXBsZS5sZW5ndGggKiAyKVxyXG4gICAgZm9yIChsZXQgaSA9IDAsIGogPSAwLCBpbCA9IHNhbXBsZS5sZW5ndGg7IGkgPCBpbDsgKytpKSB7XHJcbiAgICAgIG5ld1NhbXBsZVtqKytdID0gc2FtcGxlW2ldXHJcbiAgICAgIG5ld1NhbXBsZVtqKytdID0gc2FtcGxlW2ldXHJcbiAgICB9XHJcbiAgICBzYW1wbGUgPSBuZXdTYW1wbGVcclxuICAgIG11bHRpcGx5ICo9IDJcclxuICAgIHNhbXBsZVJhdGUgKj0gMlxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHNhbXBsZSxcclxuICAgIG11bHRpcGx5XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBsb2FkU2FtcGxlKHNhbXBsZUhlYWRlciwgc2FtcGxpbmdEYXRhT2Zmc2V0LCBkYXRhKTogSW50MTZBcnJheVtdIHtcclxuICBjb25zdCBzYW1wbGVzID0gW11cclxuICBmb3IgKGxldCBoZWFkZXIgb2Ygc2FtcGxlSGVhZGVyKSB7XHJcbiAgICBsZXQgc2FtcGxlID0gbmV3IEludDE2QXJyYXkobmV3IFVpbnQ4QXJyYXkoZGF0YS5zdWJhcnJheShcclxuICAgICAgc2FtcGxpbmdEYXRhT2Zmc2V0ICsgaGVhZGVyLnN0YXJ0ICogMixcclxuICAgICAgc2FtcGxpbmdEYXRhT2Zmc2V0ICsgaGVhZGVyLmVuZCAgICogMlxyXG4gICAgKSkuYnVmZmVyKVxyXG4gICAgaWYgKGhlYWRlci5zYW1wbGVSYXRlID4gMCkge1xyXG4gICAgICBjb25zdCBhZGp1c3QgPSBhZGp1c3RTYW1wbGVEYXRhKHNhbXBsZSwgaGVhZGVyLnNhbXBsZVJhdGUpXHJcbiAgICAgIHNhbXBsZSA9IGFkanVzdC5zYW1wbGVcclxuICAgICAgaGVhZGVyLnNhbXBsZVJhdGUgKj0gYWRqdXN0Lm11bHRpcGx5XHJcbiAgICAgIGhlYWRlci5zdGFydExvb3AgKj0gYWRqdXN0Lm11bHRpcGx5XHJcbiAgICAgIGhlYWRlci5lbmRMb29wICo9IGFkanVzdC5tdWx0aXBseVxyXG4gICAgfVxyXG4gICAgc2FtcGxlcy5wdXNoKHNhbXBsZSlcclxuICB9XHJcbiAgcmV0dXJuIHNhbXBsZXNcclxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zZjIudHMiLCJleHBvcnQgY2xhc3MgUGFyc2VyIHtcclxuICBjaHVua0xpc3Q6IENodW5rW10gPSBbXVxyXG4gIFxyXG4gIHByaXZhdGUgaW5wdXQ6IFVpbnQ4QXJyYXlcclxuICBwcml2YXRlIGlwOiBudW1iZXJcclxuICBwcml2YXRlIGxlbmd0aDogbnVtYmVyXHJcbiAgcHJpdmF0ZSBvZmZzZXQ6IG51bWJlclxyXG4gIHByaXZhdGUgcGFkZGluZzogYm9vbGVhblxyXG4gIHByaXZhdGUgYmlnRW5kaWFuOiBib29sZWFuXHJcblxyXG4gIGNvbnN0cnVjdG9yKGlucHV0OiBVaW50OEFycmF5LCBvcHRfcGFyYW1zOiB7fSA9IHt9KSB7XHJcbiAgICB0aGlzLmlucHV0ID0gaW5wdXRcclxuICAgIHRoaXMuaXAgPSBvcHRfcGFyYW1zWydpbmRleCddIHx8IDBcclxuICAgIHRoaXMubGVuZ3RoID0gb3B0X3BhcmFtc1snbGVuZ3RoJ10gfHwgaW5wdXQubGVuZ3RoIC0gdGhpcy5pcFxyXG4gICAgdGhpcy5jaHVua0xpc3QgPSBbXVxyXG4gICAgdGhpcy5vZmZzZXQgPSB0aGlzLmlwXHJcbiAgICB0aGlzLnBhZGRpbmcgPVxyXG4gICAgICBvcHRfcGFyYW1zWydwYWRkaW5nJ10gIT09IHZvaWQgMCA/IG9wdF9wYXJhbXNbJ3BhZGRpbmcnXSA6IHRydWVcclxuICAgIHRoaXMuYmlnRW5kaWFuID1cclxuICAgICAgb3B0X3BhcmFtc1snYmlnRW5kaWFuJ10gIT09IHZvaWQgMCA/IG9wdF9wYXJhbXNbJ2JpZ0VuZGlhbiddIDogZmFsc2VcclxuICB9XHJcbiAgXHJcbiAgcGFyc2UoKSB7XHJcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmxlbmd0aCArIHRoaXMub2Zmc2V0XHJcblxyXG4gICAgdGhpcy5jaHVua0xpc3QgPSBbXVxyXG5cclxuICAgIHdoaWxlICh0aGlzLmlwIDwgbGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMucGFyc2VDaHVuaygpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwYXJzZUNodW5rKCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0XHJcbiAgICBsZXQgaXAgPSB0aGlzLmlwXHJcbiAgICBsZXQgc2l6ZVxyXG5cclxuICAgIHRoaXMuY2h1bmtMaXN0LnB1c2gobmV3IENodW5rKFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGlucHV0W2lwKytdLCBpbnB1dFtpcCsrXSwgaW5wdXRbaXArK10sIGlucHV0W2lwKytdKSxcclxuICAgICAgKHNpemUgPSB0aGlzLmJpZ0VuZGlhbiA/XHJcbiAgICAgICAgKChpbnB1dFtpcCsrXSA8PCAyNCkgfCAoaW5wdXRbaXArK10gPDwgMTYpIHxcclxuICAgICAgICAgIChpbnB1dFtpcCsrXSA8PCAgOCkgfCAoaW5wdXRbaXArK10gICAgICApKSA+Pj4gMCA6XHJcbiAgICAgICAgKChpbnB1dFtpcCsrXSAgICAgICkgfCAoaW5wdXRbaXArK10gPDwgIDgpIHxcclxuICAgICAgICAgIChpbnB1dFtpcCsrXSA8PCAxNikgfCAoaW5wdXRbaXArK10gPDwgMjQpKSA+Pj4gMFxyXG4gICAgICApLFxyXG4gICAgICBpcFxyXG4gICAgKSlcclxuXHJcbiAgICBpcCArPSBzaXplXHJcblxyXG4gICAgLy8gcGFkZGluZ1xyXG4gICAgaWYgKHRoaXMucGFkZGluZyAmJiAoKGlwIC0gdGhpcy5vZmZzZXQpICYgMSkgPT09IDEpIHtcclxuICAgICAgaXArK1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXAgPSBpcFxyXG4gIH1cclxuXHJcbiAgZ2V0Q2h1bmsoaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgY2h1bmsgPSB0aGlzLmNodW5rTGlzdFtpbmRleF1cclxuXHJcbiAgICBpZiAoY2h1bmsgPT09IHZvaWQgMCkge1xyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjaHVua1xyXG4gIH1cclxuXHJcbiAgZ2V0TnVtYmVyT2ZDaHVua3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaHVua0xpc3QubGVuZ3RoXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2h1bmsge1xyXG4gIHR5cGU6IHN0cmluZ1xyXG4gIHNpemU6IG51bWJlclxyXG4gIG9mZnNldDogbnVtYmVyXHJcblxyXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgc2l6ZTogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZVxyXG4gICAgdGhpcy5zaXplID0gc2l6ZVxyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXRcclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3JpZmYudHMiLCJpbXBvcnQgeyBHZW5lcmF0b3JFbnVtZXJhdG9yVGFibGUgfSBmcm9tIFwiLi9jb25zdGFudHMudHNcIlxyXG5cclxuZXhwb3J0IGNsYXNzIFZlcnNpb25UYWcge1xyXG4gIG1ham9yOiBudW1iZXJcclxuICBtaW5vcjogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmVzZXRIZWFkZXIge1xyXG4gIHByZXNldE5hbWU6IHN0cmluZ1xyXG4gIHByZXNldDogbnVtYmVyXHJcbiAgYmFuazogbnVtYmVyXHJcbiAgcHJlc2V0QmFnSW5kZXg6IG51bWJlclxyXG4gIGxpYnJhcnk6IG51bWJlclxyXG4gIGdlbnJlOiBudW1iZXJcclxuICBtb3JwaG9sb2d5OiBudW1iZXJcclxuXHJcbiAgc3RhdGljIHBhcnNlKHN0cmVhbSkge1xyXG4gICAgY29uc3QgcCA9IG5ldyBQcmVzZXRIZWFkZXIoKVxyXG4gICAgcC5wcmVzZXROYW1lID0gc3RyZWFtLnJlYWRTdHJpbmcoMjApXHJcbiAgICBwLnByZXNldCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICBwLmJhbmsgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgcC5wcmVzZXRCYWdJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICBwLmxpYnJhcnkgPSBzdHJlYW0ucmVhZERXT1JEKClcclxuICAgIHAuZ2VucmUgPSBzdHJlYW0ucmVhZERXT1JEKClcclxuICAgIHAubW9ycGhvbG9neSA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcmV0dXJuIHBcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmVzZXRCYWcge1xyXG4gIHByZXNldEdlbmVyYXRvckluZGV4OiBudW1iZXJcclxuICBwcmVzZXRNb2R1bGF0b3JJbmRleDogbnVtYmVyXHJcblxyXG4gIHN0YXRpYyBwYXJzZShzdHJlYW0pIHtcclxuICAgIGNvbnN0IHAgPSBuZXcgUHJlc2V0QmFnKClcclxuICAgIHAucHJlc2V0R2VuZXJhdG9ySW5kZXggPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgcC5wcmVzZXRNb2R1bGF0b3JJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICByZXR1cm4gcFxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1vZHVsYXRvckxpc3Qge1xyXG4gIHNvdXJjZU9wZXI6IG51bWJlclxyXG4gIGRlc3RpbmF0aW9uT3BlcjogR2VuZXJhdG9yXHJcbiAgdmFsdWU6IE9iamVjdFxyXG4gIGFtb3VudFNvdXJjZU9wZXI6IG51bWJlclxyXG4gIHRyYW5zT3BlcjogR2VuZXJhdG9yXHJcbiAgdHlwZTogc3RyaW5nXHJcblxyXG4gIHN0YXRpYyBwYXJzZShzdHJlYW0pIHtcclxuICAgIGNvbnN0IHQgPSBuZXcgTW9kdWxhdG9yTGlzdCgpXHJcblxyXG4gICAgdC5zb3VyY2VPcGVyID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIGNvbnN0IGNvZGUgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgdC5kZXN0aW5hdGlvbk9wZXIgPSBjb2RlXHJcbiAgICBcclxuICAgIGNvbnN0IGtleSA9IEdlbmVyYXRvckVudW1lcmF0b3JUYWJsZVtjb2RlXVxyXG4gICAgdC50eXBlID0ga2V5XHJcblxyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIC8vIEFtb3VudFxyXG4gICAgICB0LnZhbHVlID0ge1xyXG4gICAgICAgIGNvZGU6IGNvZGUsXHJcbiAgICAgICAgYW1vdW50OiBzdHJlYW0ucmVhZEludDE2KClcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gQW1vdW50XHJcbiAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgY2FzZSAna2V5UmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ3ZlbFJhbmdlJzogLyogRkFMTFRIUk9VR0ggKi9cclxuICAgICAgICBjYXNlICdrZXludW0nOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ3ZlbG9jaXR5JzpcclxuICAgICAgICAgIHQudmFsdWUgPSB7XHJcbiAgICAgICAgICAgIGxvOiBzdHJlYW0ucmVhZEJ5dGUoKSxcclxuICAgICAgICAgICAgaGk6IHN0cmVhbS5yZWFkQnl0ZSgpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0LnZhbHVlID0ge1xyXG4gICAgICAgICAgICBhbW91bnQ6IHN0cmVhbS5yZWFkSW50MTYoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0LmFtb3VudFNvdXJjZU9wZXIgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgdC50cmFuc09wZXIgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG5cclxuICAgIHJldHVybiB0XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJhdG9yTGlzdCB7XHJcbiAgdHlwZTogc3RyaW5nXHJcbiAgdmFsdWU6IE9iamVjdFxyXG5cclxuICBzdGF0aWMgcGFyc2Uoc3RyZWFtKSB7XHJcbiAgICBjb25zdCB0ID0gbmV3IE1vZHVsYXRvckxpc3QoKVxyXG4gICAgXHJcbiAgICBjb25zdCBjb2RlID0gc3RyZWFtLnJlYWRXT1JEKClcclxuICAgIGNvbnN0IGtleSA9IEdlbmVyYXRvckVudW1lcmF0b3JUYWJsZVtjb2RlXVxyXG4gICAgdC50eXBlID0ga2V5XHJcblxyXG4gICAgaWYgKGtleSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIHQudmFsdWUgPSB7XHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBhbW91bnQ6IHN0cmVhbS5yZWFkSW50MTYoKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICAgIGNhc2UgJ2tleW51bSc6IC8qIEZBTExUSFJPVUdIICovXHJcbiAgICAgICAgY2FzZSAna2V5UmFuZ2UnOiAvKiBGQUxMVEhST1VHSCAqL1xyXG4gICAgICAgIGNhc2UgJ3ZlbFJhbmdlJzogLyogRkFMTFRIUk9VR0ggKi9cclxuICAgICAgICBjYXNlICd2ZWxvY2l0eSc6XHJcbiAgICAgICAgICB0LnZhbHVlID0ge1xyXG4gICAgICAgICAgICBsbzogc3RyZWFtLnJlYWRCeXRlKCksXHJcbiAgICAgICAgICAgIGhpOiBzdHJlYW0ucmVhZEJ5dGUoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdC52YWx1ZSA9IHtcclxuICAgICAgICAgICAgYW1vdW50OiBzdHJlYW0ucmVhZEludDE2KClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdFxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEluc3RydW1lbnQge1xyXG4gIGluc3RydW1lbnROYW1lOiBzdHJpbmdcclxuICBpbnN0cnVtZW50QmFnSW5kZXg6IG51bWJlclxyXG4gIFxyXG4gIHN0YXRpYyBwYXJzZShzdHJlYW0pIHtcclxuICAgIGNvbnN0IHQgPSBuZXcgSW5zdHJ1bWVudCgpXHJcbiAgICB0Lmluc3RydW1lbnROYW1lID0gc3RyZWFtLnJlYWRTdHJpbmcoMjApXHJcbiAgICB0Lmluc3RydW1lbnRCYWdJbmRleCA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICByZXR1cm4gdFxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEluc3RydW1lbnRCYWcge1xyXG4gIGluc3RydW1lbnRHZW5lcmF0b3JJbmRleDogbnVtYmVyXHJcbiAgaW5zdHJ1bWVudE1vZHVsYXRvckluZGV4OiBudW1iZXJcclxuICBcclxuICBzdGF0aWMgcGFyc2Uoc3RyZWFtKSB7XHJcbiAgICBjb25zdCB0ID0gbmV3IEluc3RydW1lbnRCYWcoKVxyXG4gICAgdC5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXggPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgdC5pbnN0cnVtZW50TW9kdWxhdG9ySW5kZXggPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG4gICAgcmV0dXJuIHRcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYW1wbGUge1xyXG4gIHNhbXBsZU5hbWU6IHN0cmluZ1xyXG4gIHN0YXJ0OiBudW1iZXJcclxuICBlbmQ6IG51bWJlclxyXG4gIHN0YXJ0TG9vcDogbnVtYmVyXHJcbiAgZW5kTG9vcDogbnVtYmVyXHJcbiAgc2FtcGxlUmF0ZTogbnVtYmVyXHJcbiAgb3JpZ2luYWxQaXRjaDogbnVtYmVyXHJcbiAgcGl0Y2hDb3JyZWN0aW9uOiBudW1iZXJcclxuICBzYW1wbGVMaW5rOiBudW1iZXJcclxuICBzYW1wbGVUeXBlOiBudW1iZXJcclxuXHJcbiAgc3RhdGljIHBhcnNlKHN0cmVhbSkge1xyXG4gICAgY29uc3QgcyA9IG5ldyBTYW1wbGUoKVxyXG5cclxuICAgIHMuc2FtcGxlTmFtZSA9IHN0cmVhbS5yZWFkU3RyaW5nKDIwKVxyXG4gICAgcy5zdGFydCA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcy5lbmQgPSBzdHJlYW0ucmVhZERXT1JEKClcclxuICAgIHMuc3RhcnRMb29wID0gc3RyZWFtLnJlYWREV09SRCgpXHJcbiAgICBzLmVuZExvb3AgPSBzdHJlYW0ucmVhZERXT1JEKClcclxuICAgIHMuc2FtcGxlUmF0ZSA9IHN0cmVhbS5yZWFkRFdPUkQoKVxyXG4gICAgcy5vcmlnaW5hbFBpdGNoID0gc3RyZWFtLnJlYWRCeXRlKClcclxuICAgIHMucGl0Y2hDb3JyZWN0aW9uID0gc3RyZWFtLnJlYWRJbnQ4KClcclxuICAgIHMuc2FtcGxlTGluayA9IHN0cmVhbS5yZWFkV09SRCgpXHJcbiAgICBzLnNhbXBsZVR5cGUgPSBzdHJlYW0ucmVhZFdPUkQoKVxyXG5cclxuICAgIHMuc3RhcnRMb29wIC09IHMuc3RhcnRcclxuICAgIHMuZW5kTG9vcCAtPSBzLnN0YXJ0XHJcblxyXG4gICAgcmV0dXJuIHNcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZW51bSB7bnVtYmVyfVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFNhbXBsZUxpbmsgPSB7XHJcbiAgbW9ub1NhbXBsZTogMSxcclxuICByaWdodFNhbXBsZTogMixcclxuICBsZWZ0U2FtcGxlOiA0LFxyXG4gIGxpbmtlZFNhbXBsZTogOCxcclxuICBSb21Nb25vU2FtcGxlOiAweDgwMDEsXHJcbiAgUm9tUmlnaHRTYW1wbGU6IDB4ODAwMixcclxuICBSb21MZWZ0U2FtcGxlOiAweDgwMDQsXHJcbiAgUm9tTGlua2VkU2FtcGxlOiAweDgwMDhcclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2YyX2RhdGEudHMiLCJleHBvcnQgZnVuY3Rpb24gcmVhZFN0cmluZyhkYXRhOiBVaW50OEFycmF5LCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgY29uc3Qgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBkYXRhLnN1YmFycmF5KHN0YXJ0LCBlbmQpKVxyXG4gIGNvbnN0IG51bGxMb2NhdGlvbiA9IHN0ci5pbmRleE9mKFwiXFx1MDAwMFwiKVxyXG4gIGlmIChudWxsTG9jYXRpb24gPiAwKSB7XHJcbiAgICByZXR1cm4gc3RyLnN1YnN0cigwLCBudWxsTG9jYXRpb24pXHJcbiAgfVxyXG4gIHJldHVybiBzdHJcclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvaGVscGVyLnRzIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RyZWFtIHtcclxuICBwcml2YXRlIGRhdGE6IFVpbnQ4QXJyYXlcclxuICBpcDogbnVtYmVyXHJcblxyXG4gIGNvbnN0cnVjdG9yKGRhdGEsIG9mZnNldCkge1xyXG4gICAgdGhpcy5kYXRhID0gZGF0YVxyXG4gICAgdGhpcy5pcCA9IG9mZnNldFxyXG4gIH1cclxuXHJcbiAgcmVhZFN0cmluZyhzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCB0aGlzLmRhdGEuc3ViYXJyYXkodGhpcy5pcCwgdGhpcy5pcCArPSBzaXplKSlcclxuICAgIGNvbnN0IG51bGxMb2NhdGlvbiA9IHN0ci5pbmRleE9mKFwiXFx1MDAwMFwiKVxyXG4gICAgaWYgKG51bGxMb2NhdGlvbiA+IDApIHtcclxuICAgICAgcmV0dXJuIHN0ci5zdWJzdHIoMCwgbnVsbExvY2F0aW9uKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0clxyXG4gIH1cclxuXHJcbiAgcmVhZFdPUkQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5pcCsrXSB8ICh0aGlzLmRhdGFbdGhpcy5pcCsrXSA8PCA4KVxyXG4gIH1cclxuXHJcbiAgcmVhZERXT1JEKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRhdGFbdGhpcy5pcCsrXSB8IFxyXG4gICAgICAodGhpcy5kYXRhW3RoaXMuaXArK10gPDwgOCkgfCBcclxuICAgICAgKHRoaXMuZGF0YVt0aGlzLmlwKytdIDw8IDE2KSB8IFxyXG4gICAgICAodGhpcy5kYXRhW3RoaXMuaXArK10gPDwgMjQpXHJcbiAgICApID4+PiAwXHJcbiAgfVxyXG5cclxuICByZWFkQnl0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5pcCsrXVxyXG4gIH1cclxuXHJcbiAgcmVhZEF0KG9mZnNldDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhW3RoaXMuaXAgKyBvZmZzZXRdXHJcbiAgfVxyXG5cclxuICAvKiBoZWxwZXIgKi9cclxuXHJcbiAgcmVhZFVJbnQ4KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVhZEJ5dGUoKVxyXG4gIH1cclxuICBcclxuICByZWFkSW50OCgpIHtcclxuICAgIHJldHVybiAodGhpcy5yZWFkQnl0ZSgpIDw8IDI0KSA+PiAyNFxyXG4gIH1cclxuICBcclxuICByZWFkVUludDE2KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVhZFdPUkQoKVxyXG4gIH1cclxuXHJcbiAgcmVhZEludDE2KCkge1xyXG4gICAgcmV0dXJuICh0aGlzLnJlYWRXT1JEKCkgPDwgMTYpID4+IDE2XHJcbiAgfVxyXG5cclxuICByZWFkVUludDMyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVhZERXT1JEKClcclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3N0cmVhbS50cyIsImltcG9ydCBXZWJNaWRpTGluayBmcm9tIFwiLi4vc3JjL3dtbC50c1wiXHJcbmV4cG9ydCBkZWZhdWx0IFdlYk1pZGlMaW5rXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2V4cG9ydC9zeW50aC5qcyIsImltcG9ydCBTeW50aGVzaXplciBmcm9tIFwiLi9zb3VuZF9mb250X3N5bnRoLnRzXCJcclxuaW1wb3J0IFZpZXcgZnJvbSBcIi4vc3ludGhfdmlldy50c1wiXHJcbmltcG9ydCBNaWRpTWVzc2FnZUhhbmRsZXIgZnJvbSBcIi4vbWlkaV9tZXNzYWdlX2hhbmRsZXIudHNcIlxyXG5cclxuLyoqXHJcbiAqIEBjb25zdHJ1Y3RvclxyXG4gKi9cclxuY29uc3QgV2ViTWlkaUxpbmsgPSBmdW5jdGlvbigpIHtcclxuICAvKiogQHR5cGUge2Z1bmN0aW9uKEFycmF5QnVmZmVyKX0gKi9cclxuICB0aGlzLmxvYWRDYWxsYmFjaztcclxuICAvKiogQHR5cGUge0Z1bmN0aW9ufSAqL1xyXG4gIHRoaXMubWVzc2FnZUhhbmRsZXIgPSB0aGlzLm9ubWVzc2FnZS5iaW5kKHRoaXMpO1xyXG5cclxuICB0aGlzLm1pZGlNZXNzYWdlSGFuZGxlciA9IG5ldyBNaWRpTWVzc2FnZUhhbmRsZXIoKTtcclxuXHJcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gIH0uYmluZCh0aGlzKSwgZmFsc2UpO1xyXG59O1xyXG5cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLnNldHVwID0gZnVuY3Rpb24odXJsKSB7XHJcbiAgaWYgKCF0aGlzLnJlYWR5KSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uIG9ubG9hZCgpIHtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBvbmxvYWQsIGZhbHNlKTtcclxuICAgICAgdGhpcy5sb2FkKHVybCk7XHJcbiAgICB9LmJpbmQodGhpcyksIGZhbHNlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5sb2FkKHVybCk7XHJcbiAgfVxyXG59O1xyXG5cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLmxvYWQgPSBmdW5jdGlvbih1cmwpIHtcclxuICAvKiogQHR5cGUge1hNTEh0dHBSZXF1ZXN0fSAqL1xyXG4gIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuXHJcbiAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7XHJcbiAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcblxyXG4gIHhoci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oZXYpIHtcclxuICAgIC8qKiBAdHlwZSB7WE1MSHR0cFJlcXVlc3R9ICovXHJcbiAgICB2YXIgeGhyID0gZXYudGFyZ2V0O1xyXG5cclxuICAgIHRoaXMub25sb2FkKHhoci5yZXNwb25zZSk7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubG9hZENhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMubG9hZENhbGxiYWNrKHhoci5yZXNwb25zZSk7XHJcbiAgICB9XHJcbiAgfS5iaW5kKHRoaXMpLCBmYWxzZSk7XHJcblxyXG4gIHhoci5zZW5kKCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtBcnJheUJ1ZmZlcn0gcmVzcG9uc2VcclxuICovXHJcbldlYk1pZGlMaW5rLnByb3RvdHlwZS5vbmxvYWQgPSBmdW5jdGlvbihyZXNwb25zZSkge1xyXG4gIC8qKiBAdHlwZSB7VWludDhBcnJheX0gKi9cclxuICB2YXIgaW5wdXQgPSBuZXcgVWludDhBcnJheShyZXNwb25zZSk7XHJcblxyXG4gIHRoaXMubG9hZFNvdW5kRm9udChpbnB1dCk7XHJcbn07XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtVaW50OEFycmF5fSBpbnB1dFxyXG4gKi9cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLmxvYWRTb3VuZEZvbnQgPSBmdW5jdGlvbihpbnB1dCkge1xyXG4gIC8qKiBAdHlwZSB7U3ludGhlc2l6ZXJ9ICovXHJcbiAgdmFyIHN5bnRoO1xyXG5cclxuICBpZiAoIXRoaXMuc3ludGgpIHtcclxuICAgIHN5bnRoID0gdGhpcy5zeW50aCA9IG5ldyBTeW50aGVzaXplcihpbnB1dCk7XHJcbiAgICB2YXIgdmlldyA9IHRoaXMudmlldyA9IG5ldyBWaWV3KClcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlldy5kcmF3KHN5bnRoKSk7XHJcbiAgICB0aGlzLm1pZGlNZXNzYWdlSGFuZGxlci5zeW50aCA9IHN5bnRoO1xyXG4gICAgc3ludGguaW5pdCgpO1xyXG4gICAgc3ludGguc3RhcnQoKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5tZXNzYWdlSGFuZGxlciwgZmFsc2UpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBzeW50aCA9IHRoaXMuc3ludGg7XHJcbiAgICBzeW50aC5yZWZyZXNoSW5zdHJ1bWVudHMoaW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgLy8gbGluayByZWFkeVxyXG4gIGlmICh3aW5kb3cub3BlbmVyKSB7XHJcbiAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKFwibGluayxyZWFkeVwiLCAnKicpO1xyXG4gIH0gZWxzZSBpZiAod2luZG93LnBhcmVudCAhPT0gd2luZG93KSB7XHJcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFwibGluayxyZWFkeVwiLCAnKicpO1xyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0V2ZW50fSBldlxyXG4gKi9cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2KSB7XHJcbiAgdmFyIG1zZyA9IGV2LmRhdGEuc3BsaXQoJywnKTtcclxuICB2YXIgdHlwZSA9IG1zZy5zaGlmdCgpO1xyXG4gIHZhciBjb21tYW5kO1xyXG5cclxuICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgIGNhc2UgJ21pZGknOlxyXG4gICAgICB0aGlzLm1pZGlNZXNzYWdlSGFuZGxlci5wcm9jZXNzTWlkaU1lc3NhZ2UoXHJcbiAgICAgICAgbXNnLm1hcChmdW5jdGlvbihoZXgpIHtcclxuICAgICAgICAgIHJldHVybiBwYXJzZUludChoZXgsIDE2KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2xpbmsnOlxyXG4gICAgICBjb21tYW5kID0gbXNnLnNoaWZ0KCk7XHJcbiAgICAgIHN3aXRjaCAoY29tbWFuZCkge1xyXG4gICAgICAgIGNhc2UgJ3JlcXBhdGNoJzpcclxuICAgICAgICAgIC8vIFRPRE86IGR1bW15IGRhdGFcclxuICAgICAgICAgIGlmICh3aW5kb3cub3BlbmVyKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoXCJsaW5rLHBhdGNoXCIsICcqJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5wYXJlbnQgIT09IHdpbmRvdykge1xyXG4gICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFwibGluayxwYXRjaFwiLCAnKicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2V0cGF0Y2gnOlxyXG4gICAgICAgICAgLy8gVE9ETzogTk9QXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biBsaW5rIG1lc3NhZ2U6JywgY29tbWFuZCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ3Vua25vd24gbWVzc2FnZSB0eXBlJyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oQXJyYXlCdWZmZXIpfSBjYWxsYmFja1xyXG4gKi9cclxuV2ViTWlkaUxpbmsucHJvdG90eXBlLnNldExvYWRDYWxsYmFjayA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgdGhpcy5sb2FkQ2FsbGJhY2sgPSBjYWxsYmFjaztcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IFdlYk1pZGlMaW5rXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy93bWwudHMiLCJpbXBvcnQgU3ludGhlc2l6ZXJOb3RlIGZyb20gXCIuL3NvdW5kX2ZvbnRfc3ludGhfbm90ZS50c1wiXHJcbmltcG9ydCBQYXJzZXIgZnJvbSBcIi4vc2YyLnRzXCJcclxuaW1wb3J0IFNvdW5kRm9udCBmcm9tIFwiLi9zb3VuZF9mb250LnRzXCJcclxuXHJcbmNvbnN0IEJBU0VfVk9MVU1FID0gMC40XHJcblxyXG5jbGFzcyBDaGFubmVsIHtcclxuICBpbnN0cnVtZW50ID0gMFxyXG4gIHZvbHVtZSA9IDBcclxuICBwaXRjaEJlbmQgPSAwXHJcbiAgcGl0Y2hCZW5kU2Vuc2l0aXZpdHkgPSAwXHJcbiAgcGFucG90ID0gMFxyXG4gIGN1cnJlbnROb3RlT246IFN5bnRoZXNpemVyTm90ZVtdID0gW11cclxufVxyXG5cclxuaW50ZXJmYWNlIFZpZXcge1xyXG4gIGRyYXcoKVxyXG4gIHJlbW92ZSgpXHJcbiAgZ2V0SW5zdHJ1bWVudEVsZW1lbnQoKVxyXG4gIGdldEtleUVsZW1lbnQoKVxyXG4gIG5vdGVPbihjaGFubmVsTnVtYmVyOiBudW1iZXIsIGtleTogbnVtYmVyKVxyXG4gIG5vdGVPZmYoY2hhbm5lbE51bWJlcjogbnVtYmVyLCBrZXk6IG51bWJlcilcclxuICBwcm9ncmFtQ2hhbmdlKGNoYW5uZWxOdW1iZXI6IG51bWJlciwgaW5zdHJ1bWVudDogbnVtYmVyKVxyXG4gIHZvbHVtZUNoYW5nZShjaGFubmVsTnVtYmVyOiBudW1iZXIsIHZvbHVtZTogbnVtYmVyKVxyXG4gIHBhbnBvdENoYW5nZShjaGFubmVsTnVtYmVyOiBudW1iZXIsIHBhbnBvdDogbnVtYmVyKVxyXG4gIHBpdGNoQmVuZChjaGFubmVsTnVtYmVyOiBudW1iZXIsIHBpdGNoQmVuZDogbnVtYmVyKVxyXG4gIHBpdGNoQmVuZFNlbnNpdGl2aXR5KGNoYW5uZWxOdW1iZXI6IG51bWJlciwgc2Vuc2l0aXZpdHk6IG51bWJlcilcclxufVxyXG5cclxuY2xhc3MgRHVtbXlWaWV3IGltcGxlbWVudHMgVmlldyB7XHJcbiAgZHJhdygpIHsgfVxyXG4gIHJlbW92ZSgpIHsgfVxyXG4gIGdldEluc3RydW1lbnRFbGVtZW50KCkgeyB9XHJcbiAgZ2V0S2V5RWxlbWVudCgpIHsgfVxyXG4gIG5vdGVPbigpIHsgfVxyXG4gIG5vdGVPZmYoKSB7IH1cclxuICBwcm9ncmFtQ2hhbmdlKCkgeyB9XHJcbiAgdm9sdW1lQ2hhbmdlKCkgeyB9XHJcbiAgcGFucG90Q2hhbmdlKCkgeyB9XHJcbiAgcGl0Y2hCZW5kKCkgeyB9XHJcbiAgcGl0Y2hCZW5kU2Vuc2l0aXZpdHkoKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ludGhlc2l6ZXIge1xyXG4gIGlucHV0OiBVaW50OEFycmF5ID0gbnVsbFxyXG4gIGJhbms6IG51bWJlciA9IDBcclxuICBidWZmZXJTaXplOiBudW1iZXIgPSAxMDI0XHJcbiAgY3R4OiBBdWRpb0NvbnRleHRcclxuICBnYWluTWFzdGVyOiBHYWluTm9kZVxyXG4gIGNoYW5uZWxzOiBDaGFubmVsW10gPSBbXVxyXG4gIG1hc3RlclZvbHVtZTogbnVtYmVyID0gMS4wXHJcbiAgdmlldzogVmlldyA9IG5ldyBEdW1teVZpZXcoKVxyXG4gIHNvdW5kRm9udDogU291bmRGb250XHJcblxyXG4gIGNvbnN0cnVjdG9yKGN0eCkge1xyXG4gICAgdGhpcy5jdHggPSBjdHhcclxuICAgIHRoaXMuZ2Fpbk1hc3RlciA9IHRoaXMuY3R4LmNyZWF0ZUdhaW4oKVxyXG4gICAgdGhpcy5zZXRNYXN0ZXJWb2x1bWUodGhpcy5tYXN0ZXJWb2x1bWUpXHJcbiAgICB0aGlzLmluaXQoKVxyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkge1xyXG4gICAgICB0aGlzLmNoYW5uZWxzLnB1c2gobmV3IENoYW5uZWwoKSlcclxuICAgICAgdGhpcy5wcm9ncmFtQ2hhbmdlKGksIGkgIT09IDkgPyBpIDogMClcclxuICAgICAgdGhpcy52b2x1bWVDaGFuZ2UoaSwgMHg2NClcclxuICAgICAgdGhpcy5wYW5wb3RDaGFuZ2UoaSwgMHg0MClcclxuICAgICAgdGhpcy5waXRjaEJlbmQoaSwgMHgwMCwgMHg0MCk7IC8vIDgxOTJcclxuICAgICAgdGhpcy5waXRjaEJlbmRTZW5zaXRpdml0eShpLCAyKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEluc3RydW1lbnRzKGlucHV0OiBVaW50OEFycmF5KSB7XHJcbiAgICB0aGlzLmlucHV0ID0gaW5wdXRcclxuXHJcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgUGFyc2VyKGlucHV0KVxyXG4gICAgcGFyc2VyLnBhcnNlKClcclxuICAgIHRoaXMuc291bmRGb250ID0gbmV3IFNvdW5kRm9udChwYXJzZXIpXHJcbiAgfVxyXG5cclxuICBjb25uZWN0KGRlc3RpbmF0aW9uKSB7XHJcbiAgICB0aGlzLmdhaW5NYXN0ZXIuY29ubmVjdChkZXN0aW5hdGlvbilcclxuICB9XHJcblxyXG4gIHNldE1hc3RlclZvbHVtZSh2b2x1bWUpIHtcclxuICAgIHRoaXMubWFzdGVyVm9sdW1lID0gdm9sdW1lXHJcbiAgICB0aGlzLmdhaW5NYXN0ZXIuZ2Fpbi52YWx1ZSA9IEJBU0VfVk9MVU1FICogdm9sdW1lIC8gMHg4MDAwXHJcbiAgfVxyXG5cclxuICBub3RlT24oY2hhbm5lbE51bWJlcjogbnVtYmVyLCBrZXk6IG51bWJlciwgdmVsb2NpdHk6IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLnNvdW5kRm9udCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGNvbnN0IGJhbmtOdW1iZXIgPSBjaGFubmVsTnVtYmVyID09PSA5ID8gMTI4IDogdGhpcy5iYW5rXHJcbiAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVsc1tjaGFubmVsTnVtYmVyXVxyXG5cclxuICAgIGNvbnN0IGluc3RydW1lbnRLZXkgPSB0aGlzLnNvdW5kRm9udC5nZXRJbnN0cnVtZW50S2V5KGJhbmtOdW1iZXIsIGNoYW5uZWwuaW5zdHJ1bWVudCwga2V5LCB2ZWxvY2l0eSlcclxuXHJcbiAgICBpZiAoIWluc3RydW1lbnRLZXkpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBhbnBvdCA9IGNoYW5uZWwucGFucG90IC0gNjRcclxuICAgIHBhbnBvdCAvPSBwYW5wb3QgPCAwID8gNjQgOiA2M1xyXG5cclxuICAgIC8vIGNyZWF0ZSBub3RlIGluZm9ybWF0aW9uXHJcbiAgICBpbnN0cnVtZW50S2V5WydjaGFubmVsJ10gPSBjaGFubmVsTnVtYmVyXHJcbiAgICBpbnN0cnVtZW50S2V5WydrZXknXSA9IGtleVxyXG4gICAgaW5zdHJ1bWVudEtleVsndmVsb2NpdHknXSA9IHZlbG9jaXR5XHJcbiAgICBpbnN0cnVtZW50S2V5WydwYW5wb3QnXSA9IHBhbnBvdFxyXG4gICAgaW5zdHJ1bWVudEtleVsndm9sdW1lJ10gPSBjaGFubmVsLnZvbHVtZSAvIDEyN1xyXG4gICAgaW5zdHJ1bWVudEtleVsncGl0Y2hCZW5kJ10gPSBjaGFubmVsLnBpdGNoQmVuZCAtIDB4MjAwMFxyXG4gICAgaW5zdHJ1bWVudEtleVsncGl0Y2hCZW5kU2Vuc2l0aXZpdHknXSA9IGNoYW5uZWwucGl0Y2hCZW5kU2Vuc2l0aXZpdHlcclxuXHJcbiAgICAvLyBub3RlIG9uXHJcbiAgICBjb25zdCBub3RlID0gbmV3IFN5bnRoZXNpemVyTm90ZSh0aGlzLmN0eCwgdGhpcy5nYWluTWFzdGVyLCBpbnN0cnVtZW50S2V5KVxyXG4gICAgbm90ZS5ub3RlT24oKVxyXG4gICAgY2hhbm5lbC5jdXJyZW50Tm90ZU9uLnB1c2gobm90ZSlcclxuXHJcbiAgICB0aGlzLnZpZXcubm90ZU9uKGNoYW5uZWxOdW1iZXIsIGtleSlcclxuICB9XHJcblxyXG4gIG5vdGVPZmYoY2hhbm5lbE51bWJlcjogbnVtYmVyLCBrZXk6IG51bWJlciwgdmVsb2NpdHk6IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLnNvdW5kRm9udCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGNvbnN0IGJhbmtOdW1iZXIgPSBjaGFubmVsTnVtYmVyID09PSA5ID8gMTI4IDogdGhpcy5iYW5rXHJcbiAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVsc1tjaGFubmVsTnVtYmVyXVxyXG5cclxuICAgIGNvbnN0IGluc3RydW1lbnRLZXkgPSB0aGlzLnNvdW5kRm9udC5nZXRJbnN0cnVtZW50S2V5KGJhbmtOdW1iZXIsIGNoYW5uZWwuaW5zdHJ1bWVudCwga2V5KVxyXG5cclxuICAgIGlmICghaW5zdHJ1bWVudEtleSkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXJyZW50Tm90ZU9uID0gY2hhbm5lbC5jdXJyZW50Tm90ZU9uXHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDAsIGlsID0gY3VycmVudE5vdGVPbi5sZW5ndGg7IGkgPCBpbDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IG5vdGUgPSBjdXJyZW50Tm90ZU9uW2ldXHJcbiAgICAgIGlmIChub3RlLmtleSA9PT0ga2V5KSB7XHJcbiAgICAgICAgbm90ZS5ub3RlT2ZmKClcclxuICAgICAgICBjdXJyZW50Tm90ZU9uLnNwbGljZShpLCAxKVxyXG4gICAgICAgIC0taVxyXG4gICAgICAgIC0taWxcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlldy5ub3RlT2ZmKGNoYW5uZWxOdW1iZXIsIGtleSlcclxuICB9XHJcblxyXG4gIHByb2dyYW1DaGFuZ2UoY2hhbm5lbE51bWJlcjogbnVtYmVyLCBpbnN0cnVtZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMudmlldy5wcm9ncmFtQ2hhbmdlKGNoYW5uZWxOdW1iZXIsIGluc3RydW1lbnQpXHJcbiAgICB0aGlzLmNoYW5uZWxzW2NoYW5uZWxOdW1iZXJdLmluc3RydW1lbnQgPSBpbnN0cnVtZW50XHJcbiAgfVxyXG5cclxuICB2b2x1bWVDaGFuZ2UoY2hhbm5lbE51bWJlcjogbnVtYmVyLCB2b2x1bWU6IG51bWJlcikge1xyXG4gICAgdGhpcy52aWV3LnZvbHVtZUNoYW5nZShjaGFubmVsTnVtYmVyLCB2b2x1bWUpXHJcbiAgICB0aGlzLmNoYW5uZWxzW2NoYW5uZWxOdW1iZXJdLnZvbHVtZSA9IHZvbHVtZVxyXG4gIH1cclxuXHJcbiAgcGFucG90Q2hhbmdlKGNoYW5uZWxOdW1iZXI6IG51bWJlciwgcGFucG90OiBudW1iZXIpIHtcclxuICAgIHRoaXMudmlldy5wYW5wb3RDaGFuZ2UoY2hhbm5lbE51bWJlciwgcGFucG90KVxyXG4gICAgdGhpcy5jaGFubmVsc1tjaGFubmVsTnVtYmVyXS5wYW5wb3QgPSBwYW5wb3RcclxuICB9XHJcblxyXG4gIHBpdGNoQmVuZChjaGFubmVsTnVtYmVyOiBudW1iZXIsIGxvd2VyQnl0ZTogbnVtYmVyLCBoaWdoZXJCeXRlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGJlbmQgPSAobG93ZXJCeXRlICYgMHg3ZikgfCAoKGhpZ2hlckJ5dGUgJiAweDdmKSA8PCA3KVxyXG4gICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hhbm5lbHNbY2hhbm5lbE51bWJlcl1cclxuICAgIGNvbnN0IGN1cnJlbnROb3RlT24gPSBjaGFubmVsLmN1cnJlbnROb3RlT25cclxuICAgIGNvbnN0IGNhbGN1bGF0ZWQgPSBiZW5kIC0gMHgyMDAwXHJcblxyXG4gICAgdGhpcy52aWV3LnBpdGNoQmVuZChjaGFubmVsTnVtYmVyLCBjYWxjdWxhdGVkKVxyXG5cclxuICAgIGZvciAobGV0IGkgPSAwLCBpbCA9IGN1cnJlbnROb3RlT24ubGVuZ3RoOyBpIDwgaWw7ICsraSkge1xyXG4gICAgICBjdXJyZW50Tm90ZU9uW2ldLnVwZGF0ZVBpdGNoQmVuZChjYWxjdWxhdGVkKVxyXG4gICAgfVxyXG5cclxuICAgIGNoYW5uZWwucGl0Y2hCZW5kID0gYmVuZFxyXG4gIH1cclxuXHJcbiAgcGl0Y2hCZW5kU2Vuc2l0aXZpdHkoY2hhbm5lbE51bWJlcjogbnVtYmVyLCBzZW5zaXRpdml0eTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnZpZXcucGl0Y2hCZW5kU2Vuc2l0aXZpdHkoY2hhbm5lbE51bWJlciwgc2Vuc2l0aXZpdHkpXHJcbiAgICB0aGlzLmNoYW5uZWxzW2NoYW5uZWxOdW1iZXJdLnBpdGNoQmVuZFNlbnNpdGl2aXR5ID0gc2Vuc2l0aXZpdHlcclxuICB9XHJcblxyXG4gIGFsbFNvdW5kT2ZmKGNoYW5uZWxOdW1iZXI6IG51bWJlcikge1xyXG4gICAgY29uc3QgY3VycmVudE5vdGVPbiA9IHRoaXMuY2hhbm5lbHNbY2hhbm5lbE51bWJlcl0uY3VycmVudE5vdGVPblxyXG5cclxuICAgIHdoaWxlIChjdXJyZW50Tm90ZU9uLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub3RlT2ZmKGNoYW5uZWxOdW1iZXIsIGN1cnJlbnROb3RlT25bMF0ua2V5LCAwKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRBbGxDb250cm9sKGNoYW5uZWxOdW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5waXRjaEJlbmQoY2hhbm5lbE51bWJlciwgMHgwMCwgMHg0MCk7IC8vIDgxOTJcclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3NvdW5kX2ZvbnRfc3ludGgudHMiLCJpbXBvcnQgeyBJbnN0cnVtZW50IH0gZnJvbSBcIi4vc2YyX2RhdGFcIjtcclxuXHJcbmludGVyZmFjZSBJbnN0cnVtZW50U3RhdGUge1xyXG4gIGNoYW5uZWw6IG51bWJlclxyXG4gIGtleTogbnVtYmVyXHJcbiAgc2FtcGxlOiBVaW50OEFycmF5XHJcbiAgc2FtcGxlUmF0ZTogbnVtYmVyXHJcbiAgcGxheWJhY2tSYXRlOiBGdW5jdGlvblxyXG4gIHN0YXJ0OiBudW1iZXJcclxuICBlbmQ6IG51bWJlclxyXG4gIGxvb3BTdGFydDogbnVtYmVyXHJcbiAgbG9vcEVuZDogbnVtYmVyXHJcbiAgdm9sdW1lOiBudW1iZXJcclxuICBwYW5wb3Q6IG51bWJlclxyXG4gIHZvbEF0dGFjazogbnVtYmVyXHJcbiAgbW9kQXR0YWNrOiBudW1iZXJcclxuICB2ZWxvY2l0eTogbnVtYmVyXHJcbiAgcGl0Y2hCZW5kOiBudW1iZXJcclxuICBwaXRjaEJlbmRTZW5zaXRpdml0eTogbnVtYmVyXHJcbiAgbW9kRW52VG9QaXRjaDogbnVtYmVyXHJcbiAgbW9kRW52VG9GaWx0ZXJGYzogbnVtYmVyXHJcbiAgaW5pdGlhbEZpbHRlckZjOiBudW1iZXJcclxuICBpbml0aWFsRmlsdGVyUTogbnVtYmVyXHJcbiAgdm9sRGVjYXk6IG51bWJlclxyXG4gIHZvbFN1c3RhaW46IG51bWJlclxyXG4gIHZvbFJlbGVhc2U6IG51bWJlclxyXG4gIG1vZERlY2F5OiBudW1iZXJcclxuICBtb2RTdXN0YWluOiBudW1iZXJcclxuICBtb2RSZWxlYXNlOiBudW1iZXJcclxuICBzY2FsZVR1bmluZzogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN5bnRoZXNpemVyTm90ZSB7XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy8gYXVkaW8gbm9kZVxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIGF1ZGlvQnVmZmVyOiBBdWRpb0J1ZmZlclxyXG4gIGJ1ZmZlclNvdXJjZTogQXVkaW9CdWZmZXJTb3VyY2VOb2RlXHJcbiAgcGFubmVyOiBQYW5uZXJOb2RlXHJcbiAgZ2Fpbk91dHB1dDogR2Fpbk5vZGVcclxuICBjdHg6IEF1ZGlvQ29udGV4dFxyXG4gIGRlc3RpbmF0aW9uOiBBdWRpb05vZGVcclxuICBmaWx0ZXI6IEJpcXVhZEZpbHRlck5vZGVcclxuICBpbnN0cnVtZW50OiBJbnN0cnVtZW50U3RhdGVcclxuICBjaGFubmVsOiBudW1iZXJcclxuICBrZXk6IG51bWJlclxyXG4gIHZlbG9jaXR5OiBudW1iZXJcclxuICBidWZmZXI6IFVpbnQ4QXJyYXlcclxuICBwbGF5YmFja1JhdGU6IG51bWJlclxyXG4gIHNhbXBsZVJhdGU6IG51bWJlclxyXG4gIHZvbHVtZTogbnVtYmVyXHJcbiAgcGFucG90OiBudW1iZXJcclxuICBwaXRjaEJlbmQ6IG51bWJlclxyXG4gIHBpdGNoQmVuZFNlbnNpdGl2aXR5OiBudW1iZXJcclxuICBtb2RFbnZUb1BpdGNoOiBudW1iZXJcclxuXHJcbiAgLy8gc3RhdGVcclxuICBzdGFydFRpbWU6IG51bWJlclxyXG4gIGNvbXB1dGVkUGxheWJhY2tSYXRlOiBudW1iZXJcclxuXHJcbiAgY29uc3RydWN0b3IoY3R4OiBBdWRpb0NvbnRleHQsIGRlc3RpbmF0aW9uOiBBdWRpb05vZGUsIGluc3RydW1lbnQ6IEluc3RydW1lbnRTdGF0ZSkge1xyXG4gICAgdGhpcy5jdHggPSBjdHhcclxuICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvblxyXG4gICAgdGhpcy5pbnN0cnVtZW50ID0gaW5zdHJ1bWVudFxyXG4gICAgdGhpcy5jaGFubmVsID0gaW5zdHJ1bWVudC5jaGFubmVsXHJcbiAgICB0aGlzLmtleSA9IGluc3RydW1lbnQua2V5XHJcbiAgICB0aGlzLnZlbG9jaXR5ID0gaW5zdHJ1bWVudC52ZWxvY2l0eVxyXG4gICAgdGhpcy5idWZmZXIgPSBpbnN0cnVtZW50LnNhbXBsZVxyXG4gICAgdGhpcy5wbGF5YmFja1JhdGUgPSBpbnN0cnVtZW50LnBsYXliYWNrUmF0ZShpbnN0cnVtZW50LmtleSlcclxuICAgIHRoaXMuc2FtcGxlUmF0ZSA9IGluc3RydW1lbnQuc2FtcGxlUmF0ZVxyXG4gICAgdGhpcy52b2x1bWUgPSBpbnN0cnVtZW50LnZvbHVtZVxyXG4gICAgdGhpcy5wYW5wb3QgPSBpbnN0cnVtZW50LnBhbnBvdFxyXG4gICAgdGhpcy5waXRjaEJlbmQgPSBpbnN0cnVtZW50LnBpdGNoQmVuZFxyXG4gICAgdGhpcy5waXRjaEJlbmRTZW5zaXRpdml0eSA9IGluc3RydW1lbnQucGl0Y2hCZW5kU2Vuc2l0aXZpdHlcclxuICAgIHRoaXMubW9kRW52VG9QaXRjaCA9IGluc3RydW1lbnQubW9kRW52VG9QaXRjaFxyXG4gICAgdGhpcy5zdGFydFRpbWUgPSBjdHguY3VycmVudFRpbWVcclxuICAgIHRoaXMuY29tcHV0ZWRQbGF5YmFja1JhdGUgPSB0aGlzLnBsYXliYWNrUmF0ZVxyXG4gIH1cclxuXHJcbiAgbm90ZU9uKCkge1xyXG4gICAgY29uc3QgeyBjdHgsIGluc3RydW1lbnQsIGJ1ZmZlciB9ID0gdGhpc1xyXG5cclxuICAgIGNvbnN0IHNhbXBsZSA9IGJ1ZmZlci5zdWJhcnJheSgwLCBidWZmZXIubGVuZ3RoICsgaW5zdHJ1bWVudC5lbmQpXHJcbiAgICB0aGlzLmF1ZGlvQnVmZmVyID0gY3R4LmNyZWF0ZUJ1ZmZlcigxLCBzYW1wbGUubGVuZ3RoLCB0aGlzLnNhbXBsZVJhdGUpXHJcblxyXG4gICAgY29uc3QgY2hhbm5lbERhdGEgPSB0aGlzLmF1ZGlvQnVmZmVyLmdldENoYW5uZWxEYXRhKDApXHJcbiAgICBjaGFubmVsRGF0YS5zZXQoc2FtcGxlKVxyXG5cclxuICAgIC8vIGJ1ZmZlciBzb3VyY2VcclxuICAgIGNvbnN0IGJ1ZmZlclNvdXJjZSA9IGN0eC5jcmVhdGVCdWZmZXJTb3VyY2UoKVxyXG4gICAgYnVmZmVyU291cmNlLmJ1ZmZlciA9IHRoaXMuYXVkaW9CdWZmZXJcclxuICAgIGJ1ZmZlclNvdXJjZS5sb29wID0gKHRoaXMuY2hhbm5lbCAhPT0gOSlcclxuICAgIGJ1ZmZlclNvdXJjZS5sb29wU3RhcnQgPSBpbnN0cnVtZW50Lmxvb3BTdGFydCAvIHRoaXMuc2FtcGxlUmF0ZVxyXG4gICAgYnVmZmVyU291cmNlLmxvb3BFbmQgPSBpbnN0cnVtZW50Lmxvb3BFbmQgLyB0aGlzLnNhbXBsZVJhdGVcclxuICAgIGJ1ZmZlclNvdXJjZS5vbmVuZGVkID0gKCkgPT4gdGhpcy5kaXNjb25uZWN0KClcclxuICAgIHRoaXMuYnVmZmVyU291cmNlID0gYnVmZmVyU291cmNlXHJcbiAgICB0aGlzLnVwZGF0ZVBpdGNoQmVuZCh0aGlzLnBpdGNoQmVuZClcclxuXHJcbiAgICAvLyBhdWRpbyBub2RlXHJcbiAgICBjb25zdCBwYW5uZXIgPSB0aGlzLnBhbm5lciA9IGN0eC5jcmVhdGVQYW5uZXIoKVxyXG4gICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5nYWluT3V0cHV0ID0gY3R4LmNyZWF0ZUdhaW4oKVxyXG4gICAgY29uc3Qgb3V0cHV0R2FpbiA9IG91dHB1dC5nYWluXHJcblxyXG4gICAgLy8gZmlsdGVyXHJcbiAgICBjb25zdCBmaWx0ZXIgPSBjdHguY3JlYXRlQmlxdWFkRmlsdGVyKClcclxuICAgIGZpbHRlci50eXBlID0gXCJsb3dwYXNzXCJcclxuICAgIHRoaXMuZmlsdGVyID0gZmlsdGVyXHJcblxyXG4gICAgLy8gcGFucG90XHJcbiAgICBwYW5uZXIucGFubmluZ01vZGVsID0gXCJlcXVhbHBvd2VyXCJcclxuICAgIHBhbm5lci5zZXRQb3NpdGlvbihcclxuICAgICAgTWF0aC5zaW4odGhpcy5wYW5wb3QgKiBNYXRoLlBJIC8gMiksXHJcbiAgICAgIDAsXHJcbiAgICAgIE1hdGguY29zKHRoaXMucGFucG90ICogTWF0aC5QSSAvIDIpXHJcbiAgICApXHJcblxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEF0dGFjaywgRGVjYXksIFN1c3RhaW5cclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBjb25zdCBub3cgPSB0aGlzLmN0eC5jdXJyZW50VGltZVxyXG4gICAgY29uc3Qgdm9sQXR0YWNrVGltZSA9IG5vdyArIGluc3RydW1lbnQudm9sQXR0YWNrXHJcbiAgICBjb25zdCBtb2RBdHRhY2tUaW1lID0gbm93ICsgaW5zdHJ1bWVudC5tb2RBdHRhY2tcclxuICAgIGNvbnN0IHZvbERlY2F5ID0gdm9sQXR0YWNrVGltZSArIGluc3RydW1lbnQudm9sRGVjYXlcclxuICAgIGNvbnN0IG1vZERlY2F5ID0gbW9kQXR0YWNrVGltZSArIGluc3RydW1lbnQubW9kRGVjYXlcclxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IGluc3RydW1lbnQuc3RhcnQgLyB0aGlzLnNhbXBsZVJhdGVcclxuXHJcbiAgICBjb25zdCBhdHRhY2tWb2x1bWUgPSB0aGlzLnZvbHVtZSAqICh0aGlzLnZlbG9jaXR5IC8gMTI3KVxyXG4gICAgb3V0cHV0R2Fpbi5zZXRWYWx1ZUF0VGltZSgwLCBub3cpXHJcbiAgICBvdXRwdXRHYWluLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKGF0dGFja1ZvbHVtZSwgdm9sQXR0YWNrVGltZSlcclxuICAgIG91dHB1dEdhaW4ubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoYXR0YWNrVm9sdW1lICogKDEgLSBpbnN0cnVtZW50LnZvbFN1c3RhaW4pLCB2b2xEZWNheSlcclxuXHJcbiAgICBmaWx0ZXIuUS5zZXRWYWx1ZUF0VGltZShpbnN0cnVtZW50LmluaXRpYWxGaWx0ZXJRIC8gMTAsIG5vdylcclxuICAgIGNvbnN0IGJhc2VGcmVxID0gYW1vdW50VG9GcmVxKGluc3RydW1lbnQuaW5pdGlhbEZpbHRlckZjKVxyXG4gICAgY29uc3QgcGVla0ZyZXEgPSBhbW91bnRUb0ZyZXEoaW5zdHJ1bWVudC5pbml0aWFsRmlsdGVyRmMgKyBpbnN0cnVtZW50Lm1vZEVudlRvRmlsdGVyRmMpXHJcbiAgICBjb25zdCBzdXN0YWluRnJlcSA9IGJhc2VGcmVxICsgKHBlZWtGcmVxIC0gYmFzZUZyZXEpICogKDEgLSBpbnN0cnVtZW50Lm1vZFN1c3RhaW4pXHJcbiAgICBmaWx0ZXIuZnJlcXVlbmN5LnNldFZhbHVlQXRUaW1lKGJhc2VGcmVxLCBub3cpXHJcbiAgICBmaWx0ZXIuZnJlcXVlbmN5LmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHBlZWtGcmVxLCBtb2RBdHRhY2tUaW1lKVxyXG4gICAgZmlsdGVyLmZyZXF1ZW5jeS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShzdXN0YWluRnJlcSwgbW9kRGVjYXkpXHJcblxyXG4gICAgZnVuY3Rpb24gYW1vdW50VG9GcmVxKHZhbDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgcmV0dXJuIE1hdGgucG93KDIsICh2YWwgLSA2OTAwKSAvIDEyMDApICogNDQwXHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29ubmVjdFxyXG4gICAgYnVmZmVyU291cmNlLmNvbm5lY3QoZmlsdGVyKVxyXG4gICAgZmlsdGVyLmNvbm5lY3QocGFubmVyKVxyXG4gICAgcGFubmVyLmNvbm5lY3Qob3V0cHV0KVxyXG4gICAgb3V0cHV0LmNvbm5lY3QodGhpcy5kZXN0aW5hdGlvbilcclxuXHJcbiAgICAvLyBmaXJlXHJcbiAgICBidWZmZXJTb3VyY2Uuc3RhcnQoMCwgc3RhcnRUaW1lKVxyXG4gIH1cclxuXHJcbiAgbm90ZU9mZigpIHtcclxuICAgIGNvbnN0IHsgaW5zdHJ1bWVudCwgYnVmZmVyU291cmNlIH0gPSB0aGlzXHJcbiAgICBjb25zdCBvdXRwdXQgPSB0aGlzLmdhaW5PdXRwdXRcclxuICAgIGNvbnN0IG5vdyA9IHRoaXMuY3R4LmN1cnJlbnRUaW1lXHJcbiAgICBjb25zdCB2b2xFbmRUaW1lID0gbm93ICsgaW5zdHJ1bWVudC52b2xSZWxlYXNlXHJcbiAgICBjb25zdCBtb2RFbmRUaW1lID0gbm93ICsgaW5zdHJ1bWVudC5tb2RSZWxlYXNlXHJcblxyXG4gICAgaWYgKCF0aGlzLmF1ZGlvQnVmZmVyKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIC8vIGlnbm9yZSBub3RlIG9mZiBmb3Igcmh5dGhtIHRyYWNrXHJcbiAgICBpZiAodGhpcy5jaGFubmVsID09PSA5KSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBSZWxlYXNlXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgb3V0cHV0LmdhaW4uY2FuY2VsU2NoZWR1bGVkVmFsdWVzKDApXHJcbiAgICBvdXRwdXQuZ2Fpbi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSgwLCB2b2xFbmRUaW1lKVxyXG4gICAgYnVmZmVyU291cmNlLnBsYXliYWNrUmF0ZS5jYW5jZWxTY2hlZHVsZWRWYWx1ZXMoMClcclxuICAgIGJ1ZmZlclNvdXJjZS5wbGF5YmFja1JhdGUubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUodGhpcy5jb21wdXRlZFBsYXliYWNrUmF0ZSwgbW9kRW5kVGltZSlcclxuXHJcbiAgICBidWZmZXJTb3VyY2UubG9vcCA9IGZhbHNlXHJcbiAgICBidWZmZXJTb3VyY2Uuc3RvcCh2b2xFbmRUaW1lKVxyXG4gIH1cclxuXHJcbiAgZGlzY29ubmVjdCgpIHtcclxuICAgIHRoaXMuYnVmZmVyU291cmNlLmRpc2Nvbm5lY3QoMClcclxuICAgIHRoaXMucGFubmVyLmRpc2Nvbm5lY3QoMClcclxuICAgIHRoaXMuZ2Fpbk91dHB1dC5kaXNjb25uZWN0KDApXHJcbiAgfVxyXG5cclxuICBzY2hlZHVsZVBsYXliYWNrUmF0ZSgpIHtcclxuICAgIGNvbnN0IHBsYXliYWNrUmF0ZSA9IHRoaXMuYnVmZmVyU291cmNlLnBsYXliYWNrUmF0ZVxyXG4gICAgY29uc3QgY29tcHV0ZWQgPSB0aGlzLmNvbXB1dGVkUGxheWJhY2tSYXRlXHJcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnRUaW1lXHJcbiAgICBjb25zdCBpbnN0cnVtZW50ID0gdGhpcy5pbnN0cnVtZW50XHJcbiAgICBjb25zdCBtb2RBdHRhY2sgPSBzdGFydCArIGluc3RydW1lbnQubW9kQXR0YWNrXHJcbiAgICBjb25zdCBtb2REZWNheSA9IG1vZEF0dGFjayArIGluc3RydW1lbnQubW9kRGVjYXlcclxuICAgIGNvbnN0IHBlZWtQaXRjaCA9IGNvbXB1dGVkICogTWF0aC5wb3coXHJcbiAgICAgIE1hdGgucG93KDIsIDEgLyAxMiksXHJcbiAgICAgIHRoaXMubW9kRW52VG9QaXRjaCAqIHRoaXMuaW5zdHJ1bWVudC5zY2FsZVR1bmluZ1xyXG4gICAgKVxyXG5cclxuICAgIHBsYXliYWNrUmF0ZS5jYW5jZWxTY2hlZHVsZWRWYWx1ZXMoMClcclxuICAgIHBsYXliYWNrUmF0ZS5zZXRWYWx1ZUF0VGltZShjb21wdXRlZCwgc3RhcnQpXHJcbiAgICBwbGF5YmFja1JhdGUubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUocGVla1BpdGNoLCBtb2RBdHRhY2spXHJcbiAgICBwbGF5YmFja1JhdGUubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoY29tcHV0ZWQgKyAocGVla1BpdGNoIC0gY29tcHV0ZWQpICogKDEgLSBpbnN0cnVtZW50Lm1vZFN1c3RhaW4pLCBtb2REZWNheSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBpdGNoQmVuZChwaXRjaEJlbmQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jb21wdXRlZFBsYXliYWNrUmF0ZSA9IHRoaXMucGxheWJhY2tSYXRlICogTWF0aC5wb3coXHJcbiAgICAgIE1hdGgucG93KDIsIDEgLyAxMiksXHJcbiAgICAgIChcclxuICAgICAgICB0aGlzLnBpdGNoQmVuZFNlbnNpdGl2aXR5ICogKFxyXG4gICAgICAgICAgcGl0Y2hCZW5kIC8gKHBpdGNoQmVuZCA8IDAgPyA4MTkyIDogODE5MSlcclxuICAgICAgICApXHJcbiAgICAgICkgKiB0aGlzLmluc3RydW1lbnQuc2NhbGVUdW5pbmdcclxuICAgIClcclxuICAgIHRoaXMuc2NoZWR1bGVQbGF5YmFja1JhdGUoKVxyXG4gIH1cclxufVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc291bmRfZm9udF9zeW50aF9ub3RlLnRzIiwiaW1wb3J0IFBhcnNlciwgeyBJbnN0cnVtZW50Wm9uZSB9IGZyb20gXCIuL3NmMlwiXHJcblxyXG4vKipcclxuICogUGFyc2VyIOOBp+iqreOBv+i+vOOCk+OBoOOCteOCpuODs+ODieODleOCqeODs+ODiOOBruODh+ODvOOCv+OCklxyXG4gKiBTeW50aGVzaXplciDjgYvjgonliKnnlKjjgZfjgoTjgZnjgYTlvaLjgavjgZnjgovjgq/jg6njgrlcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNvdW5kRm9udCB7XHJcbiAgYmFua1NldDogT2JqZWN0W11cclxuXHJcbiAgY29uc3RydWN0b3IocGFyc2VyKSB7XHJcbiAgICB0aGlzLmJhbmtTZXQgPSBjcmVhdGVBbGxJbnN0cnVtZW50cyhwYXJzZXIpXHJcbiAgfVxyXG5cclxuICBnZXRJbnN0cnVtZW50S2V5KGJhbmtOdW1iZXIsIGluc3RydW1lbnROdW1iZXIsIGtleSwgdmVsb2NpdHkgPSAxMDApIHtcclxuICAgIGNvbnN0IGJhbmsgPSB0aGlzLmJhbmtTZXRbYmFua051bWJlcl1cclxuICAgIGlmICghYmFuaykge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgXCJiYW5rIG5vdCBmb3VuZDogYmFuaz0lcyBpbnN0cnVtZW50PSVzXCIsXHJcbiAgICAgICAgYmFua051bWJlcixcclxuICAgICAgICBpbnN0cnVtZW50TnVtYmVyXHJcbiAgICAgIClcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnN0cnVtZW50ID0gYmFua1tpbnN0cnVtZW50TnVtYmVyXVxyXG4gICAgaWYgKCFpbnN0cnVtZW50KSB7XHJcbiAgICAgIC8vIFRPRE9cclxuICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIFwiaW5zdHJ1bWVudCBub3QgZm91bmQ6IGJhbms9JXMgaW5zdHJ1bWVudD0lc1wiLFxyXG4gICAgICAgIGJhbmtOdW1iZXIsXHJcbiAgICAgICAgaW5zdHJ1bWVudE51bWJlclxyXG4gICAgICApXHJcbiAgICAgIHJldHVybiBudWxsXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5zdHJ1bWVudEtleSA9IGluc3RydW1lbnQubm90ZXMuZmlsdGVyKGkgPT4ge1xyXG4gICAgICBsZXQgaXNJbktleVJhbmdlID0gZmFsc2VcclxuICAgICAgaWYgKGkua2V5UmFuZ2UpIHtcclxuICAgICAgICBpc0luS2V5UmFuZ2UgPSBrZXkgPj0gaS5rZXlSYW5nZS5sbyAmJiBrZXkgPD0gaS5rZXlSYW5nZS5oaVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaXNJblZlbFJhbmdlID0gdHJ1ZVxyXG4gICAgICBpZiAoaS52ZWxSYW5nZSkge1xyXG4gICAgICAgIGlzSW5WZWxSYW5nZSA9IHZlbG9jaXR5ID49IGkudmVsUmFuZ2UubG8gJiYgdmVsb2NpdHkgPD0gaS52ZWxSYW5nZS5oaVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gaXNJbktleVJhbmdlICYmIGlzSW5WZWxSYW5nZVxyXG4gICAgfSlbMF1cclxuXHJcbiAgICBpZiAoIWluc3RydW1lbnRLZXkpIHtcclxuICAgICAgLy8gVE9ET1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgXCJpbnN0cnVtZW50IG5vdCBmb3VuZDogYmFuaz0lcyBpbnN0cnVtZW50PSVzIGtleT0lc1wiLFxyXG4gICAgICAgIGJhbmtOdW1iZXIsXHJcbiAgICAgICAgaW5zdHJ1bWVudE51bWJlcixcclxuICAgICAgICBrZXlcclxuICAgICAgKVxyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnN0cnVtZW50S2V5XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVJbnN0cnVtZW50KHsgaW5zdHJ1bWVudCwgaW5zdHJ1bWVudFpvbmUsIGluc3RydW1lbnRab25lR2VuZXJhdG9yLCBpbnN0cnVtZW50Wm9uZU1vZHVsYXRvciB9OiBcclxuICB7IGluc3RydW1lbnQ6IHsgaW5zdHJ1bWVudE5hbWU6IHN0cmluZywgaW5zdHJ1bWVudEJhZ0luZGV4OiBudW1iZXIgfVtdLCBcclxuICAgIGluc3RydW1lbnRab25lOiBJbnN0cnVtZW50Wm9uZVtdLCBcclxuICAgIGluc3RydW1lbnRab25lR2VuZXJhdG9yOiB7fVtdLCBcclxuICAgIGluc3RydW1lbnRab25lTW9kdWxhdG9yOiB7fVtdIFxyXG4gIH0pOiBcclxuICB7IG5hbWU6IHN0cmluZywgaW5mbzogeyBnZW5lcmF0b3I6IHsgc2FtcGxlSUQ6IG51bWJlciwga2V5UmFuZ2U6IHsgaGk6IG51bWJlciwgbG86IG51bWJlciB9IH0gfVtdIH1bXSB7XHJcbiAgY29uc3Qgem9uZSA9IGluc3RydW1lbnRab25lXHJcbiAgY29uc3Qgb3V0cHV0ID0gW11cclxuXHJcbiAgLy8gaW5zdHJ1bWVudCAtPiBpbnN0cnVtZW50IGJhZyAtPiBnZW5lcmF0b3IgLyBtb2R1bGF0b3JcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RydW1lbnQubGVuZ3RoOyArK2kpIHtcclxuICAgIGNvbnN0IGJhZ0luZGV4ID0gaW5zdHJ1bWVudFtpXS5pbnN0cnVtZW50QmFnSW5kZXhcclxuICAgIGNvbnN0IGJhZ0luZGV4RW5kID0gaW5zdHJ1bWVudFtpICsgMV0gPyBpbnN0cnVtZW50W2kgKyAxXS5pbnN0cnVtZW50QmFnSW5kZXggOiB6b25lLmxlbmd0aFxyXG4gICAgY29uc3Qgem9uZUluZm8gPSBbXVxyXG5cclxuICAgIC8vIGluc3RydW1lbnQgYmFnXHJcbiAgICBmb3IgKGxldCBqID0gYmFnSW5kZXg7IGogPCBiYWdJbmRleEVuZDsgKytqKSB7XHJcbiAgICAgIGNvbnN0IGluc3RydW1lbnRHZW5lcmF0b3IgPSBjcmVhdGVJbnN0cnVtZW50R2VuZXJhdG9yKHpvbmUsIGosIGluc3RydW1lbnRab25lR2VuZXJhdG9yKVxyXG4gICAgICBjb25zdCBpbnN0cnVtZW50TW9kdWxhdG9yID0gY3JlYXRlSW5zdHJ1bWVudE1vZHVsYXRvcih6b25lLCBqLCBpbnN0cnVtZW50Wm9uZU1vZHVsYXRvcilcclxuXHJcbiAgICAgIHpvbmVJbmZvLnB1c2goe1xyXG4gICAgICAgIGdlbmVyYXRvcjogaW5zdHJ1bWVudEdlbmVyYXRvci5nZW5lcmF0b3IsXHJcbiAgICAgICAgZ2VuZXJhdG9yU2VxdWVuY2U6IGluc3RydW1lbnRHZW5lcmF0b3IuZ2VuZXJhdG9ySW5mbyxcclxuICAgICAgICBtb2R1bGF0b3I6IGluc3RydW1lbnRNb2R1bGF0b3IubW9kdWxhdG9yLFxyXG4gICAgICAgIG1vZHVsYXRvclNlcXVlbmNlOiBpbnN0cnVtZW50TW9kdWxhdG9yLm1vZHVsYXRvckluZm9cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBvdXRwdXQucHVzaCh7XHJcbiAgICAgIG5hbWU6IGluc3RydW1lbnRbaV0uaW5zdHJ1bWVudE5hbWUsXHJcbiAgICAgIGluZm86IHpvbmVJbmZvXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dFxyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVQcmVzZXQoeyBwcmVzZXRIZWFkZXIsIHByZXNldFpvbmUsIHByZXNldFpvbmVHZW5lcmF0b3IsIHByZXNldFpvbmVNb2R1bGF0b3IgfSk6IHtcclxuICBpbmZvOiB7IHByZXNldEdlbmVyYXRvcjogeyBnZW5lcmF0b3I6IHsgaW5zdHJ1bWVudDogeyBhbW91bnQ6IG51bWJlciB9IH0gfSB9W10sIFxyXG4gIGhlYWRlcjogeyBiYW5rOiBudW1iZXIsIHByZXNldDogbnVtYmVyLCBwcmVzZXROYW1lOiBzdHJpbmcgfSBcclxufVtdIHtcclxuICAvLyBwcmVzZXQgLT4gcHJlc2V0IGJhZyAtPiBnZW5lcmF0b3IgLyBtb2R1bGF0b3JcclxuICByZXR1cm4gcHJlc2V0SGVhZGVyLm1hcCgocHJlc2V0LCBpKSA9PiB7XHJcbiAgICBjb25zdCBuZXh0UHJlc2V0ID0gcHJlc2V0SGVhZGVyW2kgKyAxXVxyXG4gICAgY29uc3QgYmFnSW5kZXggPSBwcmVzZXQucHJlc2V0QmFnSW5kZXhcclxuICAgIGNvbnN0IGJhZ0luZGV4RW5kID0gbmV4dFByZXNldCA/IG5leHRQcmVzZXQucHJlc2V0QmFnSW5kZXggOiBwcmVzZXRab25lLmxlbmd0aFxyXG4gICAgY29uc3Qgem9uZUluZm8gPSBbXVxyXG5cclxuICAgIC8vIHByZXNldCBiYWdcclxuICAgIGZvciAobGV0IGogPSBiYWdJbmRleCwgamwgPSBiYWdJbmRleEVuZDsgaiA8IGpsOyArK2opIHtcclxuICAgICAgem9uZUluZm8ucHVzaCh7XHJcbiAgICAgICAgcHJlc2V0R2VuZXJhdG9yOiBjcmVhdGVQcmVzZXRHZW5lcmF0b3IocHJlc2V0Wm9uZSwgaiwgcHJlc2V0Wm9uZUdlbmVyYXRvciksXHJcbiAgICAgICAgcHJlc2V0TW9kdWxhdG9yOiBjcmVhdGVQcmVzZXRNb2R1bGF0b3IocHJlc2V0Wm9uZSwgaiwgcHJlc2V0Wm9uZU1vZHVsYXRvcilcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpbmZvOiB6b25lSW5mbyxcclxuICAgICAgaGVhZGVyOiBwcmVzZXRcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVBbGxJbnN0cnVtZW50cyhwYXJzZXI6IFBhcnNlcik6IHt9W10ge1xyXG4gIGNvbnN0IHByZXNldHMgPSBjcmVhdGVQcmVzZXQocGFyc2VyKVxyXG4gIGNvbnN0IGluc3RydW1lbnRzID0gY3JlYXRlSW5zdHJ1bWVudChwYXJzZXIpXHJcbiAgY29uc3QgYmFua3M6IHt9W10gPSBbXVxyXG5cclxuICBmb3IgKGxldCBwcmVzZXQgb2YgcHJlc2V0cykge1xyXG4gICAgY29uc3QgYmFua051bWJlciA9IHByZXNldC5oZWFkZXIuYmFua1xyXG4gICAgY29uc3QgcHJlc2V0TnVtYmVyID0gcHJlc2V0LmhlYWRlci5wcmVzZXRcclxuXHJcbiAgICBjb25zdCBub3RlcyA9IHByZXNldC5pbmZvXHJcbiAgICAgIC5tYXAoaW5mbyA9PiBpbmZvLnByZXNldEdlbmVyYXRvci5nZW5lcmF0b3IpXHJcbiAgICAgIC5tYXAoZ2VuZXJhdG9yID0+IHtcclxuICAgICAgICBpZiAoZ2VuZXJhdG9yLmluc3RydW1lbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgcmV0dXJuIG51bGxcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudE51bWJlciA9IGdlbmVyYXRvci5pbnN0cnVtZW50LmFtb3VudFxyXG4gICAgICAgIGNvbnN0IGluc3RydW1lbnQgPSBpbnN0cnVtZW50c1tpbnN0cnVtZW50TnVtYmVyXVxyXG5cclxuICAgICAgICAvLyB1c2UgdGhlIGZpcnN0IGdlbmVyYXRvciBpbiB0aGUgem9uZSBhcyB0aGUgZGVmYXVsdCB2YWx1ZVxyXG4gICAgICAgIGxldCBiYXNlR2VuZXJhdG9yXHJcbiAgICAgICAgaWYgKGluc3RydW1lbnQuaW5mb1swXS5nZW5lcmF0b3IpIHtcclxuICAgICAgICAgIGNvbnN0IGdlbmVyYXRvciA9IGluc3RydW1lbnQuaW5mb1swXS5nZW5lcmF0b3JcclxuICAgICAgICAgIGlmIChnZW5lcmF0b3Iuc2FtcGxlSUQgPT09IHVuZGVmaW5lZCAmJiBnZW5lcmF0b3Iua2V5UmFuZ2UubG8gPT09IDAgJiYgZ2VuZXJhdG9yLmtleVJhbmdlLmhpID09PSAxMjcpIHtcclxuICAgICAgICAgICAgYmFzZUdlbmVyYXRvciA9IGdlbmVyYXRvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdHJ1bWVudC5pbmZvXHJcbiAgICAgICAgICAubWFwKGluZm8gPT4gY3JlYXRlTm90ZUluZm8ocGFyc2VyLCBpbmZvLmdlbmVyYXRvciwgYmFzZUdlbmVyYXRvcikpXHJcbiAgICAgICAgICAuZmlsdGVyKHggPT4geCkgLy8gcmVtb3ZlIG51bGxcclxuICAgICAgfSlcclxuICAgICAgLmZpbHRlcih4ID0+IHgpIC8vIHJlbW92ZSBudWxsXHJcbiAgICAgIC5yZWR1Y2UoKGEsIGIpID0+IGEuY29uY2F0KGIpLCBbXSkgLy8gZmxhdHRlblxyXG5cclxuICAgIC8vIHNlbGVjdCBiYW5rXHJcbiAgICBpZiAoYmFua3NbYmFua051bWJlcl0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBiYW5rc1tiYW5rTnVtYmVyXSA9IFtdXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYmFuayA9IGJhbmtzW2JhbmtOdW1iZXJdXHJcbiAgICBiYW5rW3ByZXNldE51bWJlcl0gPSB7XHJcbiAgICAgIG5vdGVzLFxyXG4gICAgICBuYW1lOiBwcmVzZXQuaGVhZGVyLnByZXNldE5hbWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBiYW5rc1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVOb3RlSW5mbyhwYXJzZXI6IFBhcnNlciwgdGFyZ2V0R2VuZXJhdG9yOiB7fSwgYmFzZUdlbmVyYXRvcjoge30pIHtcclxuICBjb25zdCBnZW5lcmF0b3IgPSB7IC4uLmJhc2VHZW5lcmF0b3IsIC4uLnRhcmdldEdlbmVyYXRvciB9XHJcblxyXG4gIGNvbnN0IHsga2V5UmFuZ2UsIHNhbXBsZUlELCB2ZWxSYW5nZSB9ID0gZ2VuZXJhdG9yIGFzIGFueVxyXG4gIGlmIChrZXlSYW5nZSA9PT0gdW5kZWZpbmVkIHx8IHNhbXBsZUlEID09PSB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBjb25zdCB2b2xBdHRhY2sgPSBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnYXR0YWNrVm9sRW52JywgLTEyMDAwKVxyXG4gIGNvbnN0IHZvbERlY2F5ID0gZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2RlY2F5Vm9sRW52JywgLTEyMDAwKVxyXG4gIGNvbnN0IHZvbFN1c3RhaW4gPSBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnc3VzdGFpblZvbEVudicpXHJcbiAgY29uc3Qgdm9sUmVsZWFzZSA9IGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdyZWxlYXNlVm9sRW52JywgLTEyMDAwKVxyXG4gIGNvbnN0IG1vZEF0dGFjayA9IGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdhdHRhY2tNb2RFbnYnLCAtMTIwMDApXHJcbiAgY29uc3QgbW9kRGVjYXkgPSBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZGVjYXlNb2RFbnYnLCAtMTIwMDApXHJcbiAgY29uc3QgbW9kU3VzdGFpbiA9IGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdXN0YWluTW9kRW52JylcclxuICBjb25zdCBtb2RSZWxlYXNlID0gZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3JlbGVhc2VNb2RFbnYnLCAtMTIwMDApXHJcblxyXG4gIGNvbnN0IHR1bmUgPSAoXHJcbiAgICBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnY29hcnNlVHVuZScpICtcclxuICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdmaW5lVHVuZScpIC8gMTAwXHJcbiAgKVxyXG4gIGNvbnN0IHNjYWxlID0gZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ3NjYWxlVHVuaW5nJywgMTAwKSAvIDEwMFxyXG4gIGNvbnN0IGZyZXFWaWJMRk8gPSBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZnJlcVZpYkxGTycpXHJcbiAgY29uc3Qgc2FtcGxlSWQgPSBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnc2FtcGxlSUQnKVxyXG4gIGNvbnN0IHNhbXBsZUhlYWRlciA9IHBhcnNlci5zYW1wbGVIZWFkZXJbc2FtcGxlSWRdXHJcbiAgY29uc3QgYmFzZVBpdGNoID0gdHVuZSArIChzYW1wbGVIZWFkZXIucGl0Y2hDb3JyZWN0aW9uIC8gMTAwKSAtIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdvdmVycmlkaW5nUm9vdEtleScsIHNhbXBsZUhlYWRlci5vcmlnaW5hbFBpdGNoKVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgc2FtcGxlOiBwYXJzZXIuc2FtcGxlW3NhbXBsZUlkXSxcclxuICAgIHNhbXBsZVJhdGU6IHNhbXBsZUhlYWRlci5zYW1wbGVSYXRlLFxyXG4gICAgc2FtcGxlTmFtZTogc2FtcGxlSGVhZGVyLnNhbXBsZU5hbWUsXHJcbiAgICBtb2RFbnZUb1BpdGNoOiBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnbW9kRW52VG9QaXRjaCcpIC8gMTAwLFxyXG4gICAgc2NhbGVUdW5pbmc6IHNjYWxlLFxyXG4gICAgc3RhcnQ6XHJcbiAgICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdGFydEFkZHJzQ29hcnNlT2Zmc2V0JykgKiAzMjc2OCArXHJcbiAgICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdGFydEFkZHJzT2Zmc2V0JyksXHJcbiAgICBlbmQ6XHJcbiAgICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdlbmRBZGRyc0NvYXJzZU9mZnNldCcpICogMzI3NjggK1xyXG4gICAgICBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnZW5kQWRkcnNPZmZzZXQnKSxcclxuICAgIGxvb3BTdGFydDogKFxyXG4gICAgICAvLyhzYW1wbGVIZWFkZXIuc3RhcnRMb29wIC0gc2FtcGxlSGVhZGVyLnN0YXJ0KSArXHJcbiAgICAgIChzYW1wbGVIZWFkZXIuc3RhcnRMb29wKSArXHJcbiAgICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdzdGFydGxvb3BBZGRyc0NvYXJzZU9mZnNldCcpICogMzI3NjggK1xyXG4gICAgICBnZXRNb2RHZW5BbW91bnQoZ2VuZXJhdG9yLCAnc3RhcnRsb29wQWRkcnNPZmZzZXQnKVxyXG4gICAgKSxcclxuICAgIGxvb3BFbmQ6IChcclxuICAgICAgLy8oc2FtcGxlSGVhZGVyLmVuZExvb3AgLSBzYW1wbGVIZWFkZXIuc3RhcnQpICtcclxuICAgICAgKHNhbXBsZUhlYWRlci5lbmRMb29wKSArXHJcbiAgICAgIGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdlbmRsb29wQWRkcnNDb2Fyc2VPZmZzZXQnKSAqIDMyNzY4ICtcclxuICAgICAgZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2VuZGxvb3BBZGRyc09mZnNldCcpXHJcbiAgICApLFxyXG4gICAgdm9sQXR0YWNrOiBNYXRoLnBvdygyLCB2b2xBdHRhY2sgLyAxMjAwKSxcclxuICAgIHZvbERlY2F5OiBNYXRoLnBvdygyLCB2b2xEZWNheSAvIDEyMDApLFxyXG4gICAgdm9sU3VzdGFpbjogdm9sU3VzdGFpbiAvIDEwMDAsXHJcbiAgICB2b2xSZWxlYXNlOiBNYXRoLnBvdygyLCB2b2xSZWxlYXNlIC8gMTIwMCksXHJcbiAgICBtb2RBdHRhY2s6IE1hdGgucG93KDIsIG1vZEF0dGFjayAvIDEyMDApLFxyXG4gICAgbW9kRGVjYXk6IE1hdGgucG93KDIsIG1vZERlY2F5IC8gMTIwMCksXHJcbiAgICBtb2RTdXN0YWluOiBtb2RTdXN0YWluIC8gMTAwMCxcclxuICAgIG1vZFJlbGVhc2U6IE1hdGgucG93KDIsIG1vZFJlbGVhc2UgLyAxMjAwKSxcclxuICAgIGluaXRpYWxGaWx0ZXJGYzogZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2luaXRpYWxGaWx0ZXJGYycsIDEzNTAwKSxcclxuICAgIG1vZEVudlRvRmlsdGVyRmM6IGdldE1vZEdlbkFtb3VudChnZW5lcmF0b3IsICdtb2RFbnZUb0ZpbHRlckZjJyksXHJcbiAgICBpbml0aWFsRmlsdGVyUTogZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvciwgJ2luaXRpYWxGaWx0ZXJRJywgMSksXHJcbiAgICBmcmVxVmliTEZPOiBmcmVxVmliTEZPID8gTWF0aC5wb3coMiwgZnJlcVZpYkxGTyAvIDEyMDApICogOC4xNzYgOiB1bmRlZmluZWQsXHJcbiAgICBwbGF5YmFja1JhdGU6IChrZXkpID0+IE1hdGgucG93KE1hdGgucG93KDIsIDEgLyAxMiksIChrZXkgKyBiYXNlUGl0Y2gpICogc2NhbGUpLFxyXG4gICAga2V5UmFuZ2UsXHJcbiAgICB2ZWxSYW5nZVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0TW9kR2VuQW1vdW50KGdlbmVyYXRvcjoge30sIGVudW1lcmF0b3JUeXBlOiBzdHJpbmcsIG9wdF9kZWZhdWx0OiBudW1iZXIgPSAwKTogbnVtYmVyIHtcclxuICByZXR1cm4gZ2VuZXJhdG9yW2VudW1lcmF0b3JUeXBlXSA/IGdlbmVyYXRvcltlbnVtZXJhdG9yVHlwZV0uYW1vdW50IDogb3B0X2RlZmF1bHRcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQmFnTW9kR2VuKHpvbmU6IHt9W10sIGluZGV4U3RhcnQ6IG51bWJlciwgaW5kZXhFbmQ6IG51bWJlciwgem9uZU1vZEdlbjoge30pOiB7bW9kZ2VuOiB7fSwgbW9kZ2VuSW5mbzoge31bXX0gIHtcclxuICBjb25zdCBtb2RnZW5JbmZvID0gW11cclxuICBjb25zdCBtb2RnZW4gPSB7XHJcbiAgICB1bmtub3duOiBbXSxcclxuICAgICdrZXlSYW5nZSc6IHtcclxuICAgICAgaGk6IDEyNyxcclxuICAgICAgbG86IDBcclxuICAgIH1cclxuICB9OyAvLyBUT0RPXHJcblxyXG4gIGZvciAobGV0IGkgPSBpbmRleFN0YXJ0OyBpIDwgaW5kZXhFbmQ7ICsraSkge1xyXG4gICAgY29uc3QgaW5mbyA9IHpvbmVNb2RHZW5baV1cclxuICAgIG1vZGdlbkluZm8ucHVzaChpbmZvKVxyXG5cclxuICAgIGlmIChpbmZvLnR5cGUgPT09ICd1bmtub3duJykge1xyXG4gICAgICBtb2RnZW4udW5rbm93bi5wdXNoKGluZm8udmFsdWUpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtb2RnZW5baW5mby50eXBlXSA9IGluZm8udmFsdWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB7IG1vZGdlbiwgbW9kZ2VuSW5mbyB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUluc3RydW1lbnRHZW5lcmF0b3Ioem9uZToge2luc3RydW1lbnRHZW5lcmF0b3JJbmRleDogbnVtYmVyfVtdLCBpbmRleDogbnVtYmVyLCBpbnN0cnVtZW50Wm9uZUdlbmVyYXRvcjoge31bXSkge1xyXG4gIGNvbnN0IG1vZGdlbiA9IGNyZWF0ZUJhZ01vZEdlbihcclxuICAgIHpvbmUsXHJcbiAgICB6b25lW2luZGV4XS5pbnN0cnVtZW50R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4ICsgMV0gPyB6b25lW2luZGV4ICsgMV0uaW5zdHJ1bWVudEdlbmVyYXRvckluZGV4IDogaW5zdHJ1bWVudFpvbmVHZW5lcmF0b3IubGVuZ3RoLFxyXG4gICAgaW5zdHJ1bWVudFpvbmVHZW5lcmF0b3JcclxuICApXHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZW5lcmF0b3I6IG1vZGdlbi5tb2RnZW4sXHJcbiAgICBnZW5lcmF0b3JJbmZvOiBtb2RnZW4ubW9kZ2VuSW5mb1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlSW5zdHJ1bWVudE1vZHVsYXRvcih6b25lOiB7aW5zdHJ1bWVudE1vZHVsYXRvckluZGV4OiBudW1iZXIsIHByZXNldE1vZHVsYXRvckluZGV4OiBudW1iZXJ9W10sIGluZGV4OiBudW1iZXIsIGluc3RydW1lbnRab25lTW9kdWxhdG9yOiB7fVtdKSB7XHJcbiAgY29uc3QgbW9kZ2VuID0gY3JlYXRlQmFnTW9kR2VuKFxyXG4gICAgem9uZSxcclxuICAgIHpvbmVbaW5kZXhdLnByZXNldE1vZHVsYXRvckluZGV4LFxyXG4gICAgem9uZVtpbmRleCArIDFdID8gem9uZVtpbmRleCArIDFdLmluc3RydW1lbnRNb2R1bGF0b3JJbmRleCA6IGluc3RydW1lbnRab25lTW9kdWxhdG9yLmxlbmd0aCxcclxuICAgIGluc3RydW1lbnRab25lTW9kdWxhdG9yXHJcbiAgKVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgbW9kdWxhdG9yOiBtb2RnZW4ubW9kZ2VuLFxyXG4gICAgbW9kdWxhdG9ySW5mbzogbW9kZ2VuLm1vZGdlbkluZm9cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVByZXNldEdlbmVyYXRvcih6b25lOiB7cHJlc2V0R2VuZXJhdG9ySW5kZXg6IG51bWJlcn1bXSwgaW5kZXg6IG51bWJlciwgcHJlc2V0Wm9uZUdlbmVyYXRvcjoge31bXSk6IHtnZW5lcmF0b3I6IE9iamVjdCwgZ2VuZXJhdG9ySW5mbzogT2JqZWN0W119IHtcclxuICBjb25zdCBtb2RnZW4gPSBjcmVhdGVCYWdNb2RHZW4oXHJcbiAgICB6b25lLFxyXG4gICAgem9uZVtpbmRleF0ucHJlc2V0R2VuZXJhdG9ySW5kZXgsXHJcbiAgICB6b25lW2luZGV4ICsgMV0gPyB6b25lW2luZGV4ICsgMV0ucHJlc2V0R2VuZXJhdG9ySW5kZXggOiBwcmVzZXRab25lR2VuZXJhdG9yLmxlbmd0aCxcclxuICAgIHByZXNldFpvbmVHZW5lcmF0b3JcclxuICApXHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZW5lcmF0b3I6IG1vZGdlbi5tb2RnZW4sXHJcbiAgICBnZW5lcmF0b3JJbmZvOiBtb2RnZW4ubW9kZ2VuSW5mb1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlUHJlc2V0TW9kdWxhdG9yKHpvbmU6IHtwcmVzZXRNb2R1bGF0b3JJbmRleDogbnVtYmVyfVtdLCBpbmRleDogbnVtYmVyLCBwcmVzZXRab25lTW9kdWxhdG9yOiB7fVtdKSB7XHJcbiAgY29uc3QgbW9kZ2VuID0gY3JlYXRlQmFnTW9kR2VuKFxyXG4gICAgem9uZSxcclxuICAgIHpvbmVbaW5kZXhdLnByZXNldE1vZHVsYXRvckluZGV4LFxyXG4gICAgem9uZVtpbmRleCArIDFdID8gem9uZVtpbmRleCArIDFdLnByZXNldE1vZHVsYXRvckluZGV4IDogcHJlc2V0Wm9uZU1vZHVsYXRvci5sZW5ndGgsXHJcbiAgICBwcmVzZXRab25lTW9kdWxhdG9yXHJcbiAgKVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgbW9kdWxhdG9yOiBtb2RnZW4ubW9kZ2VuLFxyXG4gICAgbW9kdWxhdG9ySW5mbzogbW9kZ2VuLm1vZGdlbkluZm9cclxuICB9XHJcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc291bmRfZm9udC50cyIsImltcG9ydCBTeW50aGVzaXplciBmcm9tIFwiLi9zb3VuZF9mb250X3N5bnRoLnRzXCJcclxuaW1wb3J0IFByb2dyYW1OYW1lcyBmcm9tIFwiLi9wcm9ncmFtX25hbWVzLnRzXCJcclxuaW1wb3J0IHsgRE9NRWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuZnVuY3Rpb24gcmVuZGVyKHN0cikge1xyXG4gIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gIHdyYXBwZXIuaW5uZXJIVE1MID0gc3RyLnJlcGxhY2UoL15cXHMrLywgXCJcIik7XHJcbiAgcmV0dXJuIHdyYXBwZXIuZmlyc3RFbGVtZW50Q2hpbGQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbmRlcktleXMoKSB7XHJcbiAgbGV0IGh0bWwgPSBcIlwiO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMTI4OyBpKyspIHtcclxuICAgIGNvbnN0IG4gPSBpICUgMTI7XHJcbiAgICBjb25zdCBpc0JsYWNrID0gWzEsIDMsIDYsIDgsIDEwXS5pbmNsdWRlcyhuKTtcclxuICAgIGh0bWwgKz0gYDxkaXYgY2xhc3M9XCJrZXkgJHtpc0JsYWNrID8gXCJibGFja1wiIDogXCJ3aGl0ZVwifVwiPjwvZGl2PmA7XHJcbiAgfVxyXG4gIHJldHVybiBodG1sXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbmRlclByb2dyYW1PcHRpb25zKHByb2dyYW1OYW1lcywgYmFuaykge1xyXG4gIGxldCBodG1sID0gXCJcIlxyXG4gIGNvbnN0IG5hbWVzID0gcHJvZ3JhbU5hbWVzW2JhbmtdXHJcbiAgZm9yIChsZXQgaSBpbiBuYW1lcykge1xyXG4gICAgY29uc3QgbmFtZSA9IG5hbWVzW2ldXHJcbiAgICBodG1sICs9IGA8b3B0aW9uIHZhbHVlPVwiJHtpfVwiPiR7aX06ICR7bmFtZX08L29wdGlvbj5gXHJcbiAgfVxyXG4gIHJldHVybiBgPHNlbGVjdD4ke2h0bWx9PC9zZWxlY3Q+YDtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVuZGVySW5zdHJ1bWVudChwcm9ncmFtKSB7XHJcbiAgcmV0dXJuIHJlbmRlcihgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5zdHJ1bWVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbVwiPiR7cHJvZ3JhbX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInZvbHVtZVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGFucG90XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwaXRjaEJlbmRcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBpdGNoQmVuZFNlbnNpdGl2aXR5XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJrZXlzXCI+JHtyZW5kZXJLZXlzKCl9PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgKVxyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9ncmFtTmFtZXNGcm9tQmFua1NldChiYW5rU2V0KSB7XHJcbiAgcmV0dXJuIGJhbmtTZXQubWFwKGJhbmsgPT4gYmFuay5tYXAocyA9PiBzLm5hbWUpKVxyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVByb2dyYW1OYW1lcyhsZWZ0OiB7W2luZGV4OiBudW1iZXJdOiBzdHJpbmdbXX0sIHJpZ2h0OiB7W2luZGV4OiBudW1iZXJdOiBzdHJpbmdbXX0pIHtcclxuICBmdW5jdGlvbiBtZXJnZWRLZXlzKGEsIGIpIHtcclxuICAgIHJldHVybiBuZXcgU2V0KFsuLi5PYmplY3Qua2V5cyhhKSwgLi4uT2JqZWN0LmtleXMoYildKVxyXG4gIH1cclxuICBjb25zdCBiYW5rcyA9IG1lcmdlZEtleXMobGVmdCwgcmlnaHQpXHJcbiAgY29uc3QgcmVzdWx0ID0ge31cclxuICBiYW5rcy5mb3JFYWNoKGJhbmsgPT4ge1xyXG4gICAgY29uc3QgbCA9IGxlZnRbYmFua10gfHwgW11cclxuICAgIGNvbnN0IHIgPSByaWdodFtiYW5rXSB8fCBbXVxyXG4gICAgY29uc3QgbGlzdDogeyBbaW5kZXg6IG51bWJlcl06IHN0cmluZ30gPSB7fVxyXG4gICAgY29uc3QgcHJvZ3JhbXMgPSBtZXJnZWRLZXlzKGwsIHIpXHJcbiAgICBwcm9ncmFtcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICBsaXN0W3BdID0gYCR7bFtwXSB8fCBcIk5vbmVcIn0gKCR7cltwXSB8fCBcIk5vbmVcIn0pYFxyXG4gICAgfSlcclxuICAgIHJlc3VsdFtiYW5rXSA9IGxpc3RcclxuICB9KVxyXG4gIHJldHVybiByZXN1bHRcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmlldyB7XHJcbiAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50XHJcbiAgcHJpdmF0ZSBkcmFnOiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgZHJhdyhzeW50aDogU3ludGhlc2l6ZXIpOiBFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQgPSByZW5kZXIoYDxkaXYgLz5gKTtcclxuICAgIGNvbnN0IHByb2dyYW1OYW1lcyA9IG1lcmdlUHJvZ3JhbU5hbWVzKHByb2dyYW1OYW1lc0Zyb21CYW5rU2V0KHN5bnRoLnNvdW5kRm9udC5iYW5rU2V0KSwgUHJvZ3JhbU5hbWVzKVxyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkge1xyXG4gICAgICBjb25zdCBiYW5rID0gaSAhPT0gOSA/IDAgOiAxMjhcclxuICAgICAgY29uc3QgcHJvZ3JhbSA9IHJlbmRlclByb2dyYW1PcHRpb25zKHByb2dyYW1OYW1lcywgYmFuaylcclxuICAgICAgY29uc3QgaXRlbSA9IHJlbmRlckluc3RydW1lbnQocHJvZ3JhbSlcclxuXHJcbiAgICAgIGNvbnN0IGNoYW5uZWwgPSBpO1xyXG4gICAgICBjb25zdCBzZWxlY3QgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcpO1xyXG4gICAgICBpZiAoc2VsZWN0KSB7XHJcbiAgICAgICAgc2VsZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGV2ZW50ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudFxyXG4gICAgICAgICAgc3ludGgucHJvZ3JhbUNoYW5nZShjaGFubmVsLCBwYXJzZUludCh0YXJnZXQudmFsdWUsIDEwKSk7XHJcbiAgICAgICAgfSwgZmFsc2UpO1xyXG4gICAgICAgIHNlbGVjdC5zZWxlY3RlZEluZGV4ID0gc3ludGguY2hhbm5lbHNbaV0uaW5zdHJ1bWVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgbm90ZXMgPSBpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoXCIua2V5XCIpO1xyXG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDEyODsgKytqKSB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gajtcclxuXHJcbiAgICAgICAgbm90ZXNbal0uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgZXZlbnQgPT4ge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIHRoaXMuZHJhZyA9IHRydWU7XHJcbiAgICAgICAgICBzeW50aC5ub3RlT24oY2hhbm5lbCwga2V5LCAxMjcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG5vdGVzW2pdLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIGV2ZW50ID0+IHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5kcmFnKSB7XHJcbiAgICAgICAgICAgIHN5bnRoLm5vdGVPbihjaGFubmVsLCBrZXksIDEyNyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbm90ZXNbal0uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBldmVudCA9PiB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgc3ludGgubm90ZU9mZihjaGFubmVsLCBrZXksIDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG5vdGVzW2pdLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBldmVudCA9PiB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgdGhpcy5kcmFnID0gZmFsc2U7XHJcbiAgICAgICAgICBzeW50aC5ub3RlT2ZmKGNoYW5uZWwsIGtleSwgMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoaXRlbSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZWxlbWVudDtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpIHtcclxuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpO1xyXG4gICAgdGhpcy5lbGVtZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEluc3RydW1lbnRFbGVtZW50KGNoYW5uZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5pbnN0cnVtZW50XCIpW2NoYW5uZWxdXHJcbiAgfVxyXG5cclxuICBnZXRLZXlFbGVtZW50KGNoYW5uZWwsIGtleSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5zdHJ1bWVudEVsZW1lbnQoY2hhbm5lbCkucXVlcnlTZWxlY3RvckFsbChcIi5rZXlcIilba2V5XVxyXG4gIH1cclxuXHJcbiAgbm90ZU9uKGNoYW5uZWwsIGtleSkge1xyXG4gICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0S2V5RWxlbWVudChjaGFubmVsLCBrZXkpLmNsYXNzTGlzdC5hZGQoJ25vdGUtb24nKTtcclxuICB9XHJcblxyXG4gIG5vdGVPZmYoY2hhbm5lbCwga2V5KSB7XHJcbiAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZXRLZXlFbGVtZW50KGNoYW5uZWwsIGtleSkuY2xhc3NMaXN0LnJlbW92ZSgnbm90ZS1vbicpO1xyXG4gIH1cclxuXHJcbiAgcHJvZ3JhbUNoYW5nZShjaGFubmVsLCBpbnN0cnVtZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0OiBIVE1MU2VsZWN0RWxlbWVudCA9IHRoaXMuZ2V0SW5zdHJ1bWVudEVsZW1lbnQoY2hhbm5lbCkucXVlcnlTZWxlY3RvcihcIi5wcm9ncmFtIHNlbGVjdFwiKVxyXG5cclxuICAgIGlmIChzZWxlY3QpIHtcclxuICAgICAgc2VsZWN0LnZhbHVlID0gaW5zdHJ1bWVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZvbHVtZUNoYW5nZShjaGFubmVsLCB2b2x1bWUpIHtcclxuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdldEluc3RydW1lbnRFbGVtZW50KGNoYW5uZWwpLnF1ZXJ5U2VsZWN0b3IoXCIudm9sdW1lXCIpLnRleHRDb250ZW50ID0gdm9sdW1lO1xyXG4gIH1cclxuXHJcbiAgcGFucG90Q2hhbmdlKGNoYW5uZWwsIHBhbnBvdCkge1xyXG4gICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0SW5zdHJ1bWVudEVsZW1lbnQoY2hhbm5lbCkucXVlcnlTZWxlY3RvcihcIi5wYW5wb3RcIikudGV4dENvbnRlbnQgPSBwYW5wb3Q7XHJcbiAgfVxyXG5cclxuICBwaXRjaEJlbmQoY2hhbm5lbCwgY2FsY3VsYXRlZFBpdGNoKSB7XHJcbiAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZXRJbnN0cnVtZW50RWxlbWVudChjaGFubmVsKS5xdWVyeVNlbGVjdG9yKFwiLnBpdGNoQmVuZFwiKS50ZXh0Q29udGVudCA9IGNhbGN1bGF0ZWRQaXRjaDtcclxuICB9XHJcblxyXG4gIHBpdGNoQmVuZFNlbnNpdGl2aXR5KGNoYW5uZWwsIHNlbnNpdGl2aXR5KSB7XHJcbiAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZXRJbnN0cnVtZW50RWxlbWVudChjaGFubmVsKS5xdWVyeVNlbGVjdG9yKFwiLnBpdGNoQmVuZFNlbnNpdGl2aXR5XCIpLnRleHRDb250ZW50ID0gc2Vuc2l0aXZpdHk7XHJcbiAgfVxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zeW50aF92aWV3LnRzIiwiY29uc3QgUHJvZ3JhbU5hbWVzOiB7IFtpbmRleDogbnVtYmVyXTogc3RyaW5nW10gfSA9IHtcclxuICAwOiBbXHJcbiAgICBcIkFjb3VzdGljIFBpYW5vXCIsXHJcbiAgICBcIkJyaWdodCBQaWFub1wiLFxyXG4gICAgXCJFbGVjdHJpYyBHcmFuZCBQaWFub1wiLFxyXG4gICAgXCJIb25reS10b25rIFBpYW5vXCIsXHJcbiAgICBcIkVsZWN0cmljIFBpYW5vXCIsXHJcbiAgICBcIkVsZWN0cmljIFBpYW5vIDJcIixcclxuICAgIFwiSGFycHNpY2hvcmRcIixcclxuICAgIFwiQ2xhdmlcIixcclxuICAgIFwiQ2VsZXN0YVwiLFxyXG4gICAgXCJHbG9ja2Vuc3BpZWxcIixcclxuICAgIFwiTXVzaWNhbCBib3hcIixcclxuICAgIFwiVmlicmFwaG9uZVwiLFxyXG4gICAgXCJNYXJpbWJhXCIsXHJcbiAgICBcIlh5bG9waG9uZVwiLFxyXG4gICAgXCJUdWJ1bGFyIEJlbGxcIixcclxuICAgIFwiRHVsY2ltZXJcIixcclxuICAgIFwiRHJhd2JhciBPcmdhblwiLFxyXG4gICAgXCJQZXJjdXNzaXZlIE9yZ2FuXCIsXHJcbiAgICBcIlJvY2sgT3JnYW5cIixcclxuICAgIFwiQ2h1cmNoIG9yZ2FuXCIsXHJcbiAgICBcIlJlZWQgb3JnYW5cIixcclxuICAgIFwiQWNjb3JkaW9uXCIsXHJcbiAgICBcIkhhcm1vbmljYVwiLFxyXG4gICAgXCJUYW5nbyBBY2NvcmRpb25cIixcclxuICAgIFwiQWNvdXN0aWMgR3VpdGFyIChueWxvbilcIixcclxuICAgIFwiQWNvdXN0aWMgR3VpdGFyIChzdGVlbClcIixcclxuICAgIFwiRWxlY3RyaWMgR3VpdGFyIChqYXp6KVwiLFxyXG4gICAgXCJFbGVjdHJpYyBHdWl0YXIgKGNsZWFuKVwiLFxyXG4gICAgXCJFbGVjdHJpYyBHdWl0YXIgKG11dGVkKVwiLFxyXG4gICAgXCJPdmVyZHJpdmVuIEd1aXRhclwiLFxyXG4gICAgXCJEaXN0b3J0aW9uIEd1aXRhclwiLFxyXG4gICAgXCJHdWl0YXIgaGFybW9uaWNzXCIsXHJcbiAgICBcIkFjb3VzdGljIEJhc3NcIixcclxuICAgIFwiRWxlY3RyaWMgQmFzcyAoZmluZ2VyKVwiLFxyXG4gICAgXCJFbGVjdHJpYyBCYXNzIChwaWNrKVwiLFxyXG4gICAgXCJGcmV0bGVzcyBCYXNzXCIsXHJcbiAgICBcIlNsYXAgQmFzcyAxXCIsXHJcbiAgICBcIlNsYXAgQmFzcyAyXCIsXHJcbiAgICBcIlN5bnRoIEJhc3MgMVwiLFxyXG4gICAgXCJTeW50aCBCYXNzIDJcIixcclxuICAgIFwiVmlvbGluXCIsXHJcbiAgICBcIlZpb2xhXCIsXHJcbiAgICBcIkNlbGxvXCIsXHJcbiAgICBcIkRvdWJsZSBiYXNzXCIsXHJcbiAgICBcIlRyZW1vbG8gU3RyaW5nc1wiLFxyXG4gICAgXCJQaXp6aWNhdG8gU3RyaW5nc1wiLFxyXG4gICAgXCJPcmNoZXN0cmFsIEhhcnBcIixcclxuICAgIFwiVGltcGFuaVwiLFxyXG4gICAgXCJTdHJpbmcgRW5zZW1ibGUgMVwiLFxyXG4gICAgXCJTdHJpbmcgRW5zZW1ibGUgMlwiLFxyXG4gICAgXCJTeW50aCBTdHJpbmdzIDFcIixcclxuICAgIFwiU3ludGggU3RyaW5ncyAyXCIsXHJcbiAgICBcIlZvaWNlIEFhaHNcIixcclxuICAgIFwiVm9pY2UgT29oc1wiLFxyXG4gICAgXCJTeW50aCBWb2ljZVwiLFxyXG4gICAgXCJPcmNoZXN0cmEgSGl0XCIsXHJcbiAgICBcIlRydW1wZXRcIixcclxuICAgIFwiVHJvbWJvbmVcIixcclxuICAgIFwiVHViYVwiLFxyXG4gICAgXCJNdXRlZCBUcnVtcGV0XCIsXHJcbiAgICBcIkZyZW5jaCBob3JuXCIsXHJcbiAgICBcIkJyYXNzIFNlY3Rpb25cIixcclxuICAgIFwiU3ludGggQnJhc3MgMVwiLFxyXG4gICAgXCJTeW50aCBCcmFzcyAyXCIsXHJcbiAgICBcIlNvcHJhbm8gU2F4XCIsXHJcbiAgICBcIkFsdG8gU2F4XCIsXHJcbiAgICBcIlRlbm9yIFNheFwiLFxyXG4gICAgXCJCYXJpdG9uZSBTYXhcIixcclxuICAgIFwiT2JvZVwiLFxyXG4gICAgXCJFbmdsaXNoIEhvcm5cIixcclxuICAgIFwiQmFzc29vblwiLFxyXG4gICAgXCJDbGFyaW5ldFwiLFxyXG4gICAgXCJQaWNjb2xvXCIsXHJcbiAgICBcIkZsdXRlXCIsXHJcbiAgICBcIlJlY29yZGVyXCIsXHJcbiAgICBcIlBhbiBGbHV0ZVwiLFxyXG4gICAgXCJCbG93biBCb3R0bGVcIixcclxuICAgIFwiU2hha3VoYWNoaVwiLFxyXG4gICAgXCJXaGlzdGxlXCIsXHJcbiAgICBcIk9jYXJpbmFcIixcclxuICAgIFwiTGVhZCAxIChzcXVhcmUpXCIsXHJcbiAgICBcIkxlYWQgMiAoc2F3dG9vdGgpXCIsXHJcbiAgICBcIkxlYWQgMyAoY2FsbGlvcGUpXCIsXHJcbiAgICBcIkxlYWQgNCAoY2hpZmYpXCIsXHJcbiAgICBcIkxlYWQgNSAoY2hhcmFuZylcIixcclxuICAgIFwiTGVhZCA2ICh2b2ljZSlcIixcclxuICAgIFwiTGVhZCA3IChmaWZ0aHMpXCIsXHJcbiAgICBcIkxlYWQgOCAoYmFzcyArIGxlYWQpXCIsXHJcbiAgICBcIlBhZCAxIChGYW50YXNpYSlcIixcclxuICAgIFwiUGFkIDIgKHdhcm0pXCIsXHJcbiAgICBcIlBhZCAzIChwb2x5c3ludGgpXCIsXHJcbiAgICBcIlBhZCA0IChjaG9pcilcIixcclxuICAgIFwiUGFkIDUgKGJvd2VkKVwiLFxyXG4gICAgXCJQYWQgNiAobWV0YWxsaWMpXCIsXHJcbiAgICBcIlBhZCA3IChoYWxvKVwiLFxyXG4gICAgXCJQYWQgOCAoc3dlZXApXCIsXHJcbiAgICBcIkZYIDEgKHJhaW4pXCIsXHJcbiAgICBcIkZYIDIgKHNvdW5kdHJhY2spXCIsXHJcbiAgICBcIkZYIDMgKGNyeXN0YWwpXCIsXHJcbiAgICBcIkZYIDQgKGF0bW9zcGhlcmUpXCIsXHJcbiAgICBcIkZYIDUgKGJyaWdodG5lc3MpXCIsXHJcbiAgICBcIkZYIDYgKGdvYmxpbnMpXCIsXHJcbiAgICBcIkZYIDcgKGVjaG9lcylcIixcclxuICAgIFwiRlggOCAoc2NpLWZpKVwiLFxyXG4gICAgXCJTaXRhclwiLFxyXG4gICAgXCJCYW5qb1wiLFxyXG4gICAgXCJTaGFtaXNlblwiLFxyXG4gICAgXCJLb3RvXCIsXHJcbiAgICBcIkthbGltYmFcIixcclxuICAgIFwiQmFncGlwZVwiLFxyXG4gICAgXCJGaWRkbGVcIixcclxuICAgIFwiU2hhbmFpXCIsXHJcbiAgICBcIlRpbmtsZSBCZWxsXCIsXHJcbiAgICBcIkFnb2dvXCIsXHJcbiAgICBcIlN0ZWVsIERydW1zXCIsXHJcbiAgICBcIldvb2RibG9ja1wiLFxyXG4gICAgXCJUYWlrbyBEcnVtXCIsXHJcbiAgICBcIk1lbG9kaWMgVG9tXCIsXHJcbiAgICBcIlN5bnRoIERydW1cIixcclxuICAgIFwiUmV2ZXJzZSBDeW1iYWxcIixcclxuICAgIFwiR3VpdGFyIEZyZXQgTm9pc2VcIixcclxuICAgIFwiQnJlYXRoIE5vaXNlXCIsXHJcbiAgICBcIlNlYXNob3JlXCIsXHJcbiAgICBcIkJpcmQgVHdlZXRcIixcclxuICAgIFwiVGVsZXBob25lIFJpbmdcIixcclxuICAgIFwiSGVsaWNvcHRlclwiLFxyXG4gICAgXCJBcHBsYXVzZVwiLFxyXG4gICAgXCJHdW5zaG90XCJcclxuICBdLCAxMjg6IFtcIlJoeXRobSBUcmFja1wiXVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBQcm9ncmFtTmFtZXNcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcHJvZ3JhbV9uYW1lcy50cyIsImltcG9ydCBTeW50aGVzaXplciBmcm9tIFwiLi9zb3VuZF9mb250X3N5bnRoXCJcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1pZGlNZXNzYWdlSGFuZGxlciB7XHJcbiAgcHJpdmF0ZSBScG5Nc2IgPSBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF1cclxuICBwcml2YXRlIFJwbkxzYiA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXVxyXG4gIHN5bnRoOiBTeW50aGVzaXplclxyXG5cclxuICBwcm9jZXNzTWlkaU1lc3NhZ2UobWVzc2FnZTogbnVtYmVyW10pIHtcclxuICAgIGNvbnN0IGNoYW5uZWwgPSBtZXNzYWdlWzBdICYgMHgwZlxyXG4gICAgY29uc3QgeyBzeW50aCB9ID0gdGhpc1xyXG5cclxuICAgIGlmICghc3ludGgpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChtZXNzYWdlWzBdICYgMHhmMCkge1xyXG4gICAgICBjYXNlIDB4ODA6IC8vIE5vdGVPZmY6IDhuIGtrIHZ2XHJcbiAgICAgICAgc3ludGgubm90ZU9mZihjaGFubmVsLCBtZXNzYWdlWzFdLCBtZXNzYWdlWzJdKVxyXG4gICAgICAgIGJyZWFrXHJcbiAgICAgIGNhc2UgMHg5MDogLy8gTm90ZU9uOiA5biBrayB2dlxyXG4gICAgICAgIGlmIChtZXNzYWdlWzJdID4gMCkge1xyXG4gICAgICAgICAgc3ludGgubm90ZU9uKGNoYW5uZWwsIG1lc3NhZ2VbMV0sIG1lc3NhZ2VbMl0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHN5bnRoLm5vdGVPZmYoY2hhbm5lbCwgbWVzc2FnZVsxXSwgMClcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWtcclxuICAgICAgY2FzZSAweEIwOiAvLyBDb250cm9sIENoYW5nZTogQm4gY2MgZGRcclxuICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VbMV0pIHtcclxuICAgICAgICAgIGNhc2UgMHgwNjogLy8gRGF0YSBFbnRyeTogQm4gMDYgZGRcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLlJwbk1zYltjaGFubmVsXSkge1xyXG4gICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5ScG5Mc2JbY2hhbm5lbF0pIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAwOiAvLyBQaXRjaCBCZW5kIFNlbnNpdGl2aXR5XHJcbiAgICAgICAgICAgICAgICAgICAgc3ludGgucGl0Y2hCZW5kU2Vuc2l0aXZpdHkoY2hhbm5lbCwgbWVzc2FnZVsyXSlcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0OiBcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICBkZWZhdWx0OiBcclxuICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgIGNhc2UgMHgwNzogLy8gVm9sdW1lIENoYW5nZTogQm4gMDcgZGRcclxuICAgICAgICAgICAgc3ludGgudm9sdW1lQ2hhbmdlKGNoYW5uZWwsIG1lc3NhZ2VbMl0pXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBjYXNlIDB4MEE6IC8vIFBhbnBvdCBDaGFuZ2U6IEJuIDBBIGRkXHJcbiAgICAgICAgICAgIHN5bnRoLnBhbnBvdENoYW5nZShjaGFubmVsLCBtZXNzYWdlWzJdKVxyXG4gICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgY2FzZSAweDc4OiAvLyBBbGwgU291bmQgT2ZmOiBCbiA3OCAwMFxyXG4gICAgICAgICAgICBzeW50aC5hbGxTb3VuZE9mZihjaGFubmVsKVxyXG4gICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgY2FzZSAweDc5OiAvLyBSZXNldCBBbGwgQ29udHJvbDogQm4gNzkgMDBcclxuICAgICAgICAgICAgc3ludGgucmVzZXRBbGxDb250cm9sKGNoYW5uZWwpXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBjYXNlIDB4MjA6IC8vIEJhbmtTZWxlY3RcclxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcImJhbmtzZWxlY3Q6XCIsIGNoYW5uZWwsIG1lc3NhZ2VbMl0pXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBjYXNlIDB4NjQ6IC8vIFJQTiBNU0JcclxuICAgICAgICAgICAgdGhpcy5ScG5Nc2JbY2hhbm5lbF0gPSBtZXNzYWdlWzJdXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBjYXNlIDB4NjU6IC8vIFJQTiBMU0JcclxuICAgICAgICAgICAgdGhpcy5ScG5Mc2JbY2hhbm5lbF0gPSBtZXNzYWdlWzJdXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgLy8gbm90IHN1cHBvcnRlZFxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVha1xyXG4gICAgICBjYXNlIDB4QzA6IC8vIFByb2dyYW0gQ2hhbmdlOiBDbiBwcFxyXG4gICAgICAgIHN5bnRoLnByb2dyYW1DaGFuZ2UoY2hhbm5lbCwgbWVzc2FnZVsxXSlcclxuICAgICAgICBicmVha1xyXG4gICAgICBjYXNlIDB4RTA6IC8vIFBpdGNoIEJlbmRcclxuICAgICAgICBzeW50aC5waXRjaEJlbmQoY2hhbm5lbCwgbWVzc2FnZVsxXSwgbWVzc2FnZVsyXSlcclxuICAgICAgICBicmVha1xyXG4gICAgICBjYXNlIDB4ZjA6IC8vIFN5c3RlbSBFeGNsdXNpdmUgTWVzc2FnZVxyXG4gICAgICAgIC8vIElEIG51bWJlclxyXG4gICAgICAgIHN3aXRjaCAobWVzc2FnZVsxXSkge1xyXG4gICAgICAgICAgY2FzZSAweDdlOiAvLyBub24tcmVhbHRpbWVcclxuICAgICAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgY2FzZSAweDdmOiAvLyByZWFsdGltZVxyXG4gICAgICAgICAgICAvLyBjb25zdCBkZXZpY2UgPSBtZXNzYWdlWzJdXHJcbiAgICAgICAgICAgIC8vIHN1YiBJRCAxXHJcbiAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZVszXSkge1xyXG4gICAgICAgICAgICAgIGNhc2UgMHgwNDogLy8gZGV2aWNlIGNvbnRyb2xcclxuICAgICAgICAgICAgICAgIC8vIHN1YiBJRCAyXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VbNF0pIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAweDAxOiB7IC8vIG1hc3RlciB2b2x1bWVcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2x1bWUgPSBtZXNzYWdlWzVdICsgKG1lc3NhZ2VbNl0gPDwgNylcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBNQVhfVk9MVU1FID0gMHg0MDAwIC0gMVxyXG4gICAgICAgICAgICAgICAgICAgIHN5bnRoLnNldE1hc3RlclZvbHVtZSh2b2x1bWUgLyBNQVhfVk9MVU1FKVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBkZWZhdWx0OiBcclxuICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWtcclxuICAgICAgZGVmYXVsdDogLy8gbm90IHN1cHBvcnRlZFxyXG4gICAgICAgIGJyZWFrXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9taWRpX21lc3NhZ2VfaGFuZGxlci50cyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file